diff --git a/.env.dev b/.env.dev
index e338032..bf8c776 100644
--- a/.env.dev
+++ b/.env.dev
@@ -1,16 +1,104 @@
-LOG_LEVEL=info
+# =============================================================================
+# BACKEND ENVIRONMENT CONFIGURATION
+# =============================================================================
+# This file contains all environment variables used by the NestJS backend.
+# Copy this file to .env and update the values according to your environment.
+# =============================================================================
+
+# -----------------------------------------------------------------------------
+# GENERAL CONFIGURATION
+# From: apps/backend/src/config/general.config.ts
+# -----------------------------------------------------------------------------
+
+# Server hostname - the address or the domain name where the backend server
+# will run
HOSTNAME=localhost
-PROTOCOL=http
-PORT=3001
-REVERSE_PROXY_PORT=8081
-STORAGE_PROVIDER=filesystem
-KV_STORE_URL=redis://localhost:6379
-KV_STORE_DEFAULT_TTL=0
-CORS_ALLOWED_ORIGINS=http://localhost:8081
+
+# Server port - The port on which the backend server will run
+# Default: 3000
+PORT=3000
+
+# Frontend dev server port for 'pnpm dev'
+# Should match the app's serving port:
+# Local: matches PORT env variable
+# Production: typically 80 (HTTP) or 443 (HTTPS)
+# Behind proxy: matches reverse proxy port
+REVERSE_PROXY_PORT=8080
+
+# Node environment
+# Valid values: development, production, test, staging
+# Default: development
+NODE_ENV=development
+
+# Pino log level
+# Valid values: trace, debug, info, warn, error, fatal
+LOG_LEVEL=info
+
+# CORS allowed origins - comma-separated list of allowed origins
+# Multiple origins example: http://localhost:3000,https://app.example.com
+# Default: http://localhost:3000
+CORS_ALLOWED_ORIGINS=http://localhost:3000
+
+# -----------------------------------------------------------------------------
+# DATABASE CONFIGURATION
+# From: apps/backend/src/config/db.config.ts
+# -----------------------------------------------------------------------------
+
+# PostgreSQL host address
+# Default: localhost
+DATABASE_HOST=localhost
+
+# PostgreSQL port
+# Default: 5432
+DATABASE_PORT=5432
+
+# Database name
+# Default: app
+DATABASE_NAME=app
+
+# Database username
+# Default: dev
+DATABASE_USERNAME=dev
+
+# Database password
+# Default: dev
+DATABASE_PASSWORD=dev
+
+# Enable SSL for database connection
+# Accepts: true, false, yes, no, 1, 0
+# Default: false
+DATABASE_SSL=false
+
+# Enable database query logging
+# Useful for debugging but can be verbose in production
+# Accepts: true, false, yes, no, 1, 0
+# Default: false
+DATABASE_LOGGING=false
+
+# -----------------------------------------------------------------------------
+# AUTHENTICATION CONFIGURATION
+# From: apps/backend/src/config/auth.config.ts
+# -----------------------------------------------------------------------------
+
+# Bcrypt salt rounds for password hashing
+# Higher values are more secure but slower (10-12 recommended for production)
+# Default: 10
AUTH_SALT_ROUNDS=10
-AUTH_JWT_SECRET=dev_secret123.
-AUTH_JWT_ISSUER=app_starter
-AUTH_JWT_COOKIE_NAME=access_token
-AUTH_JWT_COOKIE_SECRET=dev_cookie_sign_secret123.
-FORCE_COLOR=1
-ENABLE_TEST_API_ENDPOINTS=true
+
+# JWT issuer - identifies who issued the token
+# Default: App
+AUTH_JWT_ISSUER=App
+
+# JWT secret key - MUST be changed in production
+# Used to sign and verify JWT tokens
+# Default: auth-jwt-secret
+AUTH_JWT_SECRET=auth-jwt-secret
+
+# JWT token expiration time
+# Uses ms library format: 7d, 24h, 2h, 1m, etc.
+# Default: 7d
+AUTH_JWT_EXPIRES_IN=7d
+
+# Name of the authentication cookie
+# Default: access_token
+AUTH_COOKIE_NAME=access_token
diff --git a/.env.example b/.env.example
index 6169cc6..12db944 100644
--- a/.env.example
+++ b/.env.example
@@ -1,143 +1,146 @@
-# dotenv-linter:off UnorderedKey
+# =============================================================================
+# BACKEND ENVIRONMENT CONFIGURATION
+# =============================================================================
+# This file contains all environment variables used by the NestJS backend.
+# Copy this file to .env and update the values according to your environment.
+# =============================================================================
-# Logger
-LOG_LEVEL=info
+# -----------------------------------------------------------------------------
+# GENERAL CONFIGURATION
+# From: apps/backend/src/config/general.config.ts
+# -----------------------------------------------------------------------------
-# -------------------------------------------------------------------
-# Server configuration
-# -------------------------------------------------------------------
-# Set to page DNS record once deployed
+# Server hostname - the address or the domain name where the backend server
+# will run
HOSTNAME=localhost
-# Server port
+
+# Server port - The port on which the backend server will run
+# Default: 3000
PORT=3000
-# Protocol is used to generate the app URL.
-# If omitted, if HOSTNAME is set to local address it will be set to http,
-# otherwise it will be set to https.
-PROTOCOL=http
-# Port on which the app is available to the end user. In development
-# mode, this configures the vite dev server which servers the application
-# frontend. In production, this configures the port on which the app is
-# available to the end user (443, if app is deployed with https configured).
+
+# Frontend dev server port for 'pnpm dev'
+# Should match the app's serving port:
+# Local: matches PORT env variable
+# Production: typically 80 (HTTP) or 443 (HTTPS)
+# Behind proxy: matches reverse proxy port
REVERSE_PROXY_PORT=8080
-# If the app is behind a reverse proxy and rate limiting is enabled
-# See https://expressjs.com/en/guide/behind-proxies.html
-REVERSE_PROXY_TRUST=false
-
-# -------------------------------------------------------------------
-# Database configuration
-# -------------------------------------------------------------------
-# You can pass the database connection string
-DATABASE_URI=postgres://user:pass@hostname:port/database
-# or individual database connection parameters
-# DATABASE_NAME=app_starter
-# DATABASE_USER=dev
-# DATABASE_PASSWORD=dev
-# DATABASE_HOST=localhost
-# DATABASE_PORT=5432
-# DATABASE_ADAPTER=postgres
-
-# -------------------------------------------------------------------
-# In-memory store configuration
-# -------------------------------------------------------------------
-# If KV_STORE_URL is omitted, in-memory store is used
-# Example config:
-# redis://user:pass@localhost:6379
-# See https://github.com/jaredwray/keyv/blob/main/packages/keyv/README.md#usage
-KV_STORE_URL=
-# ttl - time to live measured in seconds
-# records do not expire by default
-KV_STORE_DEFAULT_TTL=0
-
-# -------------------------------------------------------------------
-# Security and authentication
-# -------------------------------------------------------------------
-# Origins allowed in CORS requests. Multiple origins can be listed by using
-# comma as a separator. In development, this matches vite dev server address:
-CORS_ALLOWED_ORIGINS=http://localhost:8080
+
+# Node environment
+# Valid values: development, production, test, staging
+# Default: development
+NODE_ENV=development
+
+# Pino log level
+# Valid values: trace, debug, info, warn, error, fatal
+LOG_LEVEL=info
+
+# CORS allowed origins - comma-separated list of allowed origins
+# Multiple origins example: http://localhost:3000,https://app.example.com
+# Default: http://localhost:3000
+CORS_ALLOWED_ORIGINS=http://localhost:3000
+
+# -----------------------------------------------------------------------------
+# DATABASE CONFIGURATION
+# From: apps/backend/src/config/db.config.ts
+# -----------------------------------------------------------------------------
+
+# PostgreSQL host address
+# Default: localhost
+DATABASE_HOST=localhost
+
+# PostgreSQL port
+# Default: 5432
+DATABASE_PORT=5432
+
+# Database name
+# Default: app
+DATABASE_NAME=app
+
+# Database username
+# Default: dev
+DATABASE_USERNAME=dev
+
+# Database password
+# Default: dev
+DATABASE_PASSWORD=dev
+
+# Enable SSL for database connection
+# Accepts: true, false, yes, no, 1, 0
+# Default: false
+DATABASE_SSL=false
+
+# Enable database query logging
+# Useful for debugging but can be verbose in production
+# Accepts: true, false, yes, no, 1, 0
+# Default: false
+DATABASE_LOGGING=false
+
+# -----------------------------------------------------------------------------
+# AUTHENTICATION CONFIGURATION
+# From: apps/backend/src/config/auth.config.ts
+# -----------------------------------------------------------------------------
+
# Bcrypt salt rounds for password hashing
-# For more information see https://www.npmjs.com/package/bcrypt
+# Higher values are more secure but slower (10-12 recommended for production)
+# Default: 10
AUTH_SALT_ROUNDS=10
-# JWT tokens are used to authenticate requests to the API.
-# For more information see https://www.npmjs.com/package/jsonwebtoken.
-AUTH_JWT_SECRET=example_secret123!
-AUTH_JWT_ISSUER=app_starter
-AUTH_JWT_COOKIE_NAME=access_token
-AUTH_JWT_COOKIE_SECRET=example_cookie_sign_secret123!
-# Enable rate limiting for authentication routes
-# Make sure you configure REVERSE_PROXY_TRUST
-ENABLE_RATE_LIMITING=false
-
-# -------------------------------------------------------------------
-# OIDC
-# -------------------------------------------------------------------
-# Configuration can be skipped if OIDC is not used
-# NUXT_PUBLIC_OIDC_ENABLED=0
-# OIDC_ALLOW_SIGNUP=0
-# NUXT_PUBLIC_OIDC_LOGIN_TEXT=Sign in with OIDC
-# OIDC_DEFAULT_ROLE=ADMIN
-# OIDC_CLIENT_ID=
-# OIDC_CLIENT_SECRET=
-# OIDC_ISSUER=
-# OIDC_JWKS_URL=
-# OIDC_AUTHORIZATION_ENDPOINT=
-# OIDC_TOKEN_ENDPOINT=
-# OIDC_USERINFO_ENDPOINT=
-# NUXT_PUBLIC_OIDC_LOGOUT_ENABLED=1
-# OIDC_LOGOUT_ENDPOINT=
-# Use OIDC_POST_LOGOUT_URI_KEY if OIDC provider uses post logout uri key not
-# aligned with OIDC RP-Initiated Logout standard key (post_logout_redirect_uri)
-# OIDC_POST_LOGOUT_URI_KEY=
-# OIDC_SESSION_SECRET=
-
-# -------------------------------------------------------------------
-# Email configuration for sending notifications
-# -------------------------------------------------------------------
-EMAIL_SENDER_NAME=App
-EMAIL_SENDER_ADDRESS=app_starter@example.com
-EMAIL_USER=
-EMAIL_PASSWORD=
-EMAIL_HOST=email-smtp.us-east-1.amazonaws.com
-# Can be omitted if using SSL
-EMAIL_PORT=
-EMAIL_SSL=1
-EMAIL_TLS=
-
-# -------------------------------------------------------------------
-# File storage configuration
-# -------------------------------------------------------------------
-# Supports two storage providers: Amazon S3 and filesystem.
-# Can be set to amazon or filesystem
-STORAGE_PROVIDER=filesystem
-# If filesystem provider is used, this is the path where files will be stored
-STORAGE_PATH=data
-# If amazon provider is used, these are the credentials for the S3 bucket
-# STORAGE_KEY=
-# STORAGE_SECRET=
-# STORAGE_REGION=us-east-1
-# STORAGE_BUCKET=my-bucket
-
-# -------------------------------------------------------------------
-# OAuth2 client credentials for authenticating with end-system
-# -------------------------------------------------------------------
-# CONSUMER_CLIENT_ID=app_dev_id
-# CONSUMER_CLIENT_SECRET=app_dev_secret
-# CONSUMER_CLIENT_TOKEN_HOST=http://127.0.0.1:3000
-# CONSUMER_CLIENT_TOKEN_PATH=/api/oauth2/token
-
-# -------------------------------------------------------------------
-# Open AI configuration, optional
-# -------------------------------------------------------------------
-# Backend
-AI_MODEL_ID=gpt-4o
-AI_SECRET_KEY=
-
-# -------------------------------------------------------------------
-# Test configuration
-# -------------------------------------------------------------------
-# Warning: Enabling test routes will expose data manipulation endpoints
-# including the ability to reset the database.
-# ENABLE_TEST_API_ENDPOINTS=
-
-# Force color output (for logs)
-# https://nodejs.org/api/tty.html#writestreamgetcolordepthenv
-FORCE_COLOR=1
+
+# JWT issuer - identifies who issued the token
+# Default: App
+AUTH_JWT_ISSUER=App
+
+# JWT secret key - MUST be changed in production
+# Used to sign and verify JWT tokens
+# Default: auth-jwt-secret
+AUTH_JWT_SECRET=auth-jwt-secret
+
+# JWT token expiration time
+# Uses ms library format: 7d, 24h, 2h, 1m, etc.
+# Default: 7d
+AUTH_JWT_EXPIRES_IN=7d
+
+# Name of the authentication cookie
+# Default: access_token
+AUTH_COOKIE_NAME=access_token
+
+# -----------------------------------------------------------------------------
+# MAIL CONFIGURATION
+# From: apps/backend/src/config/mail.config.ts
+# -----------------------------------------------------------------------------
+
+# SMTP server host
+# Default: email-smtp.us-east-1.amazonaws.com
+MAIL_HOST=email-smtp.us-east-1.amazonaws.com
+
+# SMTP server port
+# Common ports: 25 (unencrypted), 587 (TLS), 465 (SSL)
+# Default: null (will use provider's default)
+MAIL_PORT=587
+
+# SMTP authentication username
+# Leave empty if authentication is not required
+# Default: empty
+MAIL_USER=
+
+# SMTP authentication password
+# Leave empty if authentication is not required
+# Default: empty
+MAIL_PASSWORD=
+
+# Use SSL/TLS for SMTP connection
+# Accepts: true, false, yes, no, 1, 0
+# Default: false
+MAIL_SECURE=false
+
+# Default sender name
+# Default: App
+MAIL_FROM_NAME=App
+
+# Default sender email address
+# Default: noreply@example.com
+MAIL_FROM_EMAIL=noreply@example.com
+
+# Sentry DSN for error tracking and performance monitoring
+# Get your DSN from https://sentry.io/settings/projects/your-project/keys/
+# Leave empty to disable Sentry
+# SENTRY_DSN=https://your-dsn-here@o1234567.ingest.sentry.io/1234567
diff --git a/.github/actions/run/action.yml b/.github/actions/run/action.yml
index 34b6ed0..3a0eccf 100644
--- a/.github/actions/run/action.yml
+++ b/.github/actions/run/action.yml
@@ -5,7 +5,7 @@ runs:
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
- node-version: 22.11.0
+ node-version: 24.10.0
cache: 'pnpm'
cache-dependency-path: './pnpm-lock.yaml'
- name: Install dependencies
@@ -32,9 +32,9 @@ runs:
- name: Configure env and build
shell: bash
run: pnpm setup:dev --ci
- - name: Migrate DB
+ - name: Reset DB
shell: bash
- run: pnpm db:migrate
+ run: pnpm db:reset
- name: Seed DB
shell: bash
run: pnpm seed
diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml
index 6f968e4..2debd26 100644
--- a/.github/actions/setup/action.yml
+++ b/.github/actions/setup/action.yml
@@ -6,7 +6,7 @@ runs:
- name: Setup node to enable caching
uses: actions/setup-node@v4
with:
- node-version: 22.11.0
+ node-version: 24.10.0
cache: 'pnpm'
cache-dependency-path: './pnpm-lock.yaml'
- name: Install dependencies
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 677f249..2e16a0f 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -61,11 +61,11 @@ jobs:
- name: Set up Node
uses: actions/setup-node@v3
with:
- node-version: 22
+ node-version: 24.10.0
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
- version: 9.0.6
+ version: 10.17.1
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 0c106fc..e4b6a06 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -23,7 +23,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v3
with:
- node-version: 22
+ node-version: 24.10.0
cache: pnpm
- name: Setup Pages
uses: actions/configure-pages@v3
diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
index 579c947..baa4c16 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/pr.yml
@@ -1,6 +1,6 @@
name: PR checks
env:
- PLAYWRIGHT_VERSION: 1.46.1
+ PLAYWRIGHT_VERSION: 1.56.0
on:
push:
branches: [ main, develop ]
@@ -30,52 +30,66 @@ jobs:
- name: Setup app .env
run: |
touch .env
- echo "EMAIL_SENDER_NAME=App" >> .env
- echo "EMAIL_SENDER_ADDRESS=app@myappdomain.com" >> .env
- echo "EMAIL_USER=${{ secrets.EMAIL_USER }}" >> .env
- echo "EMAIL_PASSWORD=${{ secrets.EMAIL_PASSWORD }}" >> .env
- echo "EMAIL_HOST=sandbox.smtp.mailtrap.io" >> .env
- echo "NUXT_PUBLIC_OIDC_ENABLED=${{ vars.NUXT_PUBLIC_OIDC_ENABLED }}" >> .env
- echo "OIDC_ALLOW_SIGNUP=${{ vars.OIDC_ALLOW_SIGNUP }}" >> .env
- echo "OIDC_CLIENT_ID=${{ secrets.OIDC_CLIENT_ID }}" >> .env
- echo "OIDC_CLIENT_SECRET=${{ secrets.OIDC_CLIENT_SECRET }}" >> .env
- echo "OIDC_ISSUER=${{ vars.OIDC_ISSUER }}" >> .env
- echo "OIDC_JWKS_URL=${{ vars.OIDC_JWKS_URL }}" >> .env
- echo "OIDC_AUTHORIZATION_ENDPOINT=${{ vars.OIDC_AUTHORIZATION_ENDPOINT }}" >> .env
- echo "OIDC_TOKEN_ENDPOINT=${{ vars.OIDC_TOKEN_ENDPOINT }}" >> .env
- echo "OIDC_USERINFO_ENDPOINT=${{ vars.OIDC_USERINFO_ENDPOINT }}" >> .env
- echo "OIDC_SESSION_SECRET=${{ secrets.OIDC_SESSION_SECRET }}" >> .env
+ echo "HOSTNAME=localhost" >> .env
+ echo "PORT=3000" >> .env
+ echo "REVERSE_PROXY_PORT=3000" >> .env
+ echo "NODE_ENV=production" >> .env
+ echo "LOG_LEVEL=debug" >> .env
+ echo "CORS_ALLOWED_ORIGINS=http://localhost:3000" >> .env
+ echo "DATABASE_HOST=localhost" >> .env
+ echo "DATABASE_PORT=5432" >> .env
+ echo "DATABASE_NAME=app" >> .env
+ echo "DATABASE_USERNAME=dev" >> .env
+ echo "DATABASE_PASSWORD=dev" >> .env
+ echo "DATABASE_SSL=false" >> .env
+ echo "DATABASE_LOGGING=false" >> .env
+ echo "AUTH_SALT_ROUNDS=10" >> .env
+ echo "AUTH_JWT_ISSUER=App" >> .env
+ echo "AUTH_JWT_SECRET=auth-jwt-secret" >> .env
+ echo "AUTH_JWT_EXPIRES_IN=7d" >> .env
+ echo "AUTH_COOKIE_NAME=access_token" >> .env
+ echo "MAIL_FROM_NAME=App" >> .env
+ echo "MAIL_FROM_EMAIL=app@myappdomain.com" >> .env
+ echo "MAIL_USER=${{ secrets.MAIL_USER }}" >> .env
+ echo "MAIL_PASSWORD=${{ secrets.MAIL_PASSWORD }}" >> .env
+ echo "MAIL_HOST=sandbox.smtp.mailtrap.io" >> .env
+ echo "MAIL_PORT=2525" >> .env
+ echo "MAIL_SECURE=false" >> .env
- name: Setup E2E .env
run: |
touch ./tests/.env
echo "MAILTRAP_ACCOUNT_ID=${{ secrets.MAILTRAP_ACCOUNT_ID }}" >> ./tests/.env
echo "MAILTRAP_TOKEN=${{ secrets.MAILTRAP_TOKEN }}" >> ./tests/.env
echo "MAILTRAP_INBOX_ID=${{ secrets.MAILTRAP_INBOX_ID }}" >> ./tests/.env
- echo "MAILTRAP_INBOX_NAME=e2e" >> ./tests/.env
+ echo "MAILTRAP_INBOX_NAME=odma-e2e" >> ./tests/.env
echo "PERCY_TOKEN=${{ secrets.PERCY_TOKEN }}" >> ./tests/.env
- echo "OIDC_TEST_USER_EMAIL=${{ secrets.OIDC_TEST_USER_EMAIL }}" >> ./tests/.env
- echo "OIDC_TEST_USER_PASSWORD=${{ secrets.OIDC_TEST_USER_PASSWORD }}" >> ./tests/.env
+ - name: Setup backend test .env
+ run: |
+ cp ./apps/backend/test.env.example ./apps/backend/.env.test
- name: Install, build, seed, and start server
uses: ./.github/actions/run
- name: Check if platform is running
uses: indiesdev/curl@v1.1
with:
- url: http://localhost:3001/api/healthcheck
+ url: http://localhost:3000/api/healthcheck
method: "GET"
accept: 200
- # Disabled until configuration is provided
- # - name: Run functional tests
- # shell: bash
- # run: pnpm e2e:functional
+ - name: Run integration (API) tests
+ shell: bash
+ run: cd ./apps/backend && pnpm test:e2e
+ - name: Run functional tests
+ shell: bash
+ run: pnpm e2e:functional
+ # Disabled until credentials for Percy are provided
# - name: Run visual tests
# shell: bash
# run: pnpm e2e:visual
- # - name: Run a11y tests
- # shell: bash
- # run: pnpm e2e:a11y
- # - uses: actions/upload-artifact@v3
- # if: always()
- # with:
- # name: playwright-report
- # path: ./tests/playwright-report/
- # retention-days: 1
+ - name: Run a11y tests
+ shell: bash
+ run: pnpm e2e:a11y
+ - uses: actions/upload-artifact@v4
+ if: always()
+ with:
+ name: playwright-report
+ path: ./tests/playwright-report/
+ retention-days: 1
diff --git a/.gitignore b/.gitignore
index 687e8b8..54f37d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,24 +1,102 @@
-# Node
-node_modules
-
-# IDEs and editors
-.classpath
-.project
-/.idea
-*.launch
-.c9/
-.settings/
-*.sublime-workspace
-
-# IDE - VSCode
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/extensions.json
-!.vscode/launch.json
-
-# OS
-.DS_Store
+# Dependencies
+node_modules/
+**/node_modules/
+
+# Build outputs
+dist/
+build/
+.output/
+.next/
+.nuxt/
+.cache/
+.parcel-cache/
-# Config
+# Environment files
.env
+.env.*
+!.env.example
+**/.env
+**/.env.*
+!**/.env.example
+
+# Logs
+logs/
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Coverage directory used by tools like istanbul
+coverage/
+*.lcov
+.nyc_output/
+
+# Database files
+*.db
+*.sqlite
+*.sqlite3
+database.sqlite
+prisma/dev.db*
+
+# Uploads and temporary files
+uploads/
+tmp/
+temp/
+
+# OS generated files
+.DS_Store
+.DS_Store?
+._*
+.Spotlight-V100
+.Trashes
+ehthumbs.db
+Thumbs.db
+
+# IDE files
+.vscode/
+.idea/
+*.swp
+*.swo
+*~
+.fleet/
+
+# Package manager files
+.pnpm-debug.log*
+.yarn/
+.pnp.*
+yarn-error.log
+
+# Test results
+test-results/
+playwright-report/
+playwright/.cache/
+
+# TypeScript
+*.tsbuildinfo
+
+# Optional caches
+.eslintcache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Backup files
+*.backup
+*.bak
+*.tmp
+
+# Local development
+.local/
+local/
+
+# Generated documentation
+docs/build/
diff --git a/.prettierrc b/.prettierrc
index 9409967..0a6bf95 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1,5 +1,8 @@
{
- "singleQuote": true,
+ "semi": true,
"trailingComma": "all",
- "printWidth": 80
+ "singleQuote": true,
+ "printWidth": 80,
+ "tabWidth": 2,
+ "arrowParens": "always"
}
diff --git a/Dockerfile b/Dockerfile
index f440f0d..cbd6417 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,5 @@
ARG PNPM_HOME="/root/.local/share/pnpm"
-ARG PNPM_VERSION="9.0.6"
+ARG PNPM_VERSION="10.17.1"
FROM node:22.11.0-alpine3.18
# Prerequisites
diff --git a/LICENSE b/LICENSE
index 13d1021..9cf1062 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,7 +1,5 @@
MIT License
-Copyright (c) 2017 ExtensionEngine, LLC
-
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
diff --git a/README.md b/README.md
index 7f04c98..9f1e906 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,522 @@
+# Odma
+
-
App starter
+

+
+ **Full-Stack Application Template**
+
+ *Get productive right away with auth, user management, and API-first architecture*
+
+ > **Odma** means "right away" in Dalmatian
+
+[](https://www.typescriptlang.org/)
+[](https://nestjs.com/)
+[](https://nuxt.com/)
+[](https://www.postgresql.org/)
+
+
+
+---
+
+## What This Is
+
+Odma is a full-stack application starter that includes all the foundational
+components most modern applications need. Rather than starting from scratch,
+you get a working system that demonstrates best practices for building scalable
+web applications with proper architecture, security, testing, and deployment
+infrastructure.
+
+The user management module serves as a practical showcase of how all the pieces
+work together - from database design and API endpoints to frontend interfaces
+and testing strategies.
+
+### What You Get
+
+- **Basic Auth System** - Local login/signup, JWT sessions, role-based access
+- **User Management Example** - Full CRUD operations, user invitations, role management
+- **API-First Architecture** - OpenAPI specification with auto-generated typed client
+- **Production Security** - Input validation, rate limiting, secure headers, audit logging
+- **Comprehensive Testing** - Backend API tests, E2E browser testing, visual regression, a11y
+- **Monitoring & Observability** - Sentry error tracking, performance profiling, structured logging
+- **Infrastructure as Code** - Docker containers, AWS deployment scripts, health monitoring
+- **Development Tools** - Hot reload, type safety, automated API client generation, one-command setup
+
+---
+
+## Technology Stack
+
+### Backend (`/apps/backend`)
+
+- **[NestJS](https://nestjs.com/)** - Node.js framework with dependency injection, decorators, and module system
+- **[PostgreSQL](https://www.postgresql.org/)** - Primary database with full ACID compliance
+- **[MikroORM](https://mikro-orm.io/)** - TypeScript ORM handling migrations, entities, and query building
+- **[Passport.js](https://www.passportjs.org/)** - Authentication strategies for JWT tokens and local credentials
+- **[Pino](https://getpino.io/)** - JSON logging with request correlation IDs
+- **[Swagger/OpenAPI](https://swagger.io/)** - API specification generation from TypeScript decorators
+- **[Sentry](https://sentry.io/)** - Exception tracking, performance profiling, and alerting
+
+### Frontend (`/apps/frontend`)
+
+- **[Nuxt](https://nuxt.com/)** - Vue.js meta-framework running in SPA mode
+- **[Vue](https://vuejs.org/)** - Component framework with Composition API
+- **[Vuetify](https://vuetifyjs.com/)** - Material Design component library with theming
+- **[Pinia](https://pinia.vuejs.org/)** - Client-side state management with TypeScript support
+- **[VeeValidate](https://vee-validate.logaretm.com/)** - Form validation integrated with Yup schemas
+- **[Axios](https://axios-http.com/)** - HTTP client with request/response interceptors
+
+### Testing (`/tests`)
+
+- **[Playwright](https://playwright.dev/)** - Browser automation for user workflow testing
+- **[Jest](https://jestjs.io/)** - Backend API integration testing with database cleanup
+- **[Percy](https://percy.io/)** - Visual diff testing for UI regression detection
+- **[axe-core](https://github.com/dequelabs/axe-core)** - Automated a11y compliance checking
+
+### Infrastructure
+
+- **[Docker](https://www.docker.com/)** - Containerization with multi-stage builds for optimized images
+- **[Pulumi](https://www.pulumi.com/)** - TypeScript-based infrastructure provisioning for AWS
+
+### Tooling
+
+- **[PNPM](https://pnpm.io/)** - Package manager with workspace support and efficient storage
+- **[ESLint](https://eslint.org/)** + **[Prettier](https://prettier.io/)** - Code linting and formatting
+
+---
+
+## Getting Started
+
+### Prerequisites
+
+- Node.js 18+ and PNPM 8+
+- Docker and Docker Compose
+- PostgreSQL 16+ (or use Docker)
+
+### Automated Setup
+
+```bash
+git clone
+cd odma
+pnpm setup:dev
+```
+
+This script will:
+
+- Install all dependencies across workspaces
+- Generate environment configuration
+- Start required services (PostgreSQL, Redis)
+- Run database migrations and seeding
+- Launch development servers
+
+### Manual Setup
+
+```bash
+# Install dependencies
+pnpm i
+
+# Configure environment
+cp .env.example .env
+# Edit .env with your database credentials and API keys
+
+# Start services
+docker-compose -f docker-compose.dev.yaml up -d
+
+# Setup database
+pnpm --filter backend migration:up
+pnpm --filter backend seeder:run
+
+# Start development
+pnpm dev
+```
+
+### Access Points
+
+- **Frontend**: http://localhost:8080
+- **Backend API**: http://localhost:3000
+- **API Documentation**: http://localhost:3000/api/docs
+- **Database**: postgresql://dev:dev@localhost:5432/odma
+
+---
+
+## Authentication & Security
+
+### Authentication Methods
+
+- **Local Auth** - Email/password with JWT tokens
+- **Session Management** - HTTP-only cookies with CSRF protection
+
+### Security Features
+
+- **Role-Based Access Control** - ADMIN and USER roles with guards
+- **Input Validation** - Global validation pipes with class-validator
+- **Rate Limiting** - 100 requests per minute throttling
+- **XSS Protection** - Input sanitization and secure headers
+- **CORS Configuration**
+
+### Default Users (Development)
+
+```
+Admin: admin@example.com / admin123!
+```
+
+---
+
+## API-First Development
+
+### OpenAPI Specification
+
+The backend automatically generates OpenAPI specifications from NestJS decorators, providing:
+
+- **Live Documentation** at `/api/docs` with Swagger UI
+- **Type-safe API contracts** from TypeScript DTOs
+- **Request/response validation** at runtime
+
+### Custom API Client Generator
+
+One of the key innovations is the custom-built API client generator (`packages/api-client-generator`) that:
+
+- **Reads OpenAPI specs** from the backend and generates TypeScript clients
+- **Creates typed methods** for every API endpoint with full parameter types
+- **Provides both standard and raw responses** for flexibility
+- **Watches for changes** in development for automatic regeneration
+- **Generates TypeScript interfaces** for all DTOs and responses
+
+```typescript
+// Auto-generated typed client with full IntelliSense
+import { createApiClient } from 'app-api-client';
+
+const api = await createApiClient({ axiosClient });
+
+// Typed method calls with parameter validation
+const user = await api.auth.login({
+ body: { email: 'user@example.com', password: 'password123' },
+});
+
+// Access raw Axios responses when needed
+const response = await api.auth.login.raw({ body: credentials });
+
+// Automatic error handling with typed errors
+try {
+ await api.user.update({ path: { id: '123' }, body: updateData });
+} catch (error) {
+ console.log(error.code, error.details); // Typed error properties
+}
+```
+
+### API Client Generation
+
+```bash
+# Generate API client from OpenAPI spec
+pnpm api:client:generate
+
+# Watch mode for development
+pnpm api:client:watch
+```
+
+---
+
+## Testing
+
+This project uses a multi-layered testing approach that validates functionality from the database layer up through complete user workflows in browsers.
+
+### Testing Architecture
+
+The testing system is designed around two main areas:
+
+1. **Backend integration testing** (`/apps/backend/test`) - Tests the API endpoints, business logic, and database interactions
+2. **E2E testing** (`/tests`) - Tests complete user workflows through browser automation
+
+### Backend Integration Testing (Jest)
+
+```bash
+# Integration tests with database
+pnpm --filter backend test:e2e
+
+# Watch mode during development
+pnpm --filter backend test:watch
+
+# Coverage report
+pnpm --filter backend test:cov
+```
+
+**Test coverage includes:**
+
+- **Authentication API** - Login, JWT validation, password reset flows
+- **User management** - CRUD operations, role assignments, soft deletion
+- **Access control** - Role-based permissions and admin-only endpoints
+- **Data validation** - Input sanitization and database constraints
+- **Email workflows** - Password reset and invitation email sending
+
+**Test patterns:**
+
+- Each test gets a fresh database instance
+- Test fixtures provide reusable authentication and user data
+- API requests are made using supertest with cookie session handling
+- Database state is validated alongside API responses
+
+### Frontend E2E Testing (Playwright)
+
+Browser tests validate complete user workflows across multiple browsers:
+
+```bash
+# Run all E2E tests
+pnpm test:e2e
+
+# Run specific test file
+pnpm test:e2e tests/specs/file.ts
+```
+
+**Test coverage includes:**
+
+- **Authentication flows** - Login, logout, forgot password workflows
+- **Users domain** - User management, role changes, user invitations
+
+### Visual & Accessibility Testing
+
+Additional test layers ensure UI consistency and compliance:
+
+```bash
+# Visual regression testing
+pnpm test:visual
+
+# Accessibility compliance
+pnpm test:a11y
+```
+
+**Visual testing:**
+
+- Screenshots are captured during E2E tests
+- Percy compares against baseline images
+- Flags visual regressions across browsers and viewports
+
+**Accessibility testing:**
+
+- axe-core runs automated compliance checks
+- Tests against WCAG 2.1 guidelines
+- Validates keyboard navigation and screen reader support
+
+### Test Infrastructure
+
+**Database management:**
+
+- Each backend test gets an isolated database
+- Migrations run automatically before tests
+- Database cleanup happens after each test suite
+
+**Email testing:**
+
+- Mailtrap catches all outbound emails during testing
+- Email content and delivery are validated in tests
+- No actual emails are sent during test runs
+
+### CI/CD Integration
+
+The test infrastructure supports:
+
+- **Parallel job execution** for faster CI runs
+- **Database services** in GitHub Actions
+- **Cross-browser testing** with Playwright
+- **Test artifacts** and reporting
+
+---
+
+## Docker & Containerization
+
+### Development Services
+
+```bash
+# Start all development services
+docker-compose -f docker-compose.dev.yaml up
+
+# Services included:
+# - PostgreSQL 16 (port 5432)
+# - Redis 7.4 (port 6379)
+```
+
+## Infrastructure & Deployment
+
+### AWS Infrastructure with Pulumi
+
+```bash
+cd infrastructure
+
+# Configure AWS credentials
+aws configure
+
+# Deploy infrastructure
+pulumi up
+
+# Outputs: VPC, RDS, Load Balancer, ECS Services
+```
+
+### Infrastructure Components
+
+- **๐ VPC** - Isolated network with public/private subnets
+- **๐๏ธ RDS PostgreSQL** - Managed database with backups
+- **โ๏ธ Application Load Balancer** - SSL termination and routing
+- **๐ ECS Fargate** - Serverless container deployment
+- **๐ Security Groups** - Network-level security
+
+### Environment Management
+
+- **๐ Development** - Local Docker services
+- **๐ Staging/Production** - AWS ECS with RDS
+- **๐ง Configuration** - Environment-specific variables
+- **๐๏ธ Secrets** - AWS Systems Manager Parameter Store
+
+---
+
+## Monitoring & Observability
+
+### Sentry Integration
+
+- **๐ Error Tracking** - Real-time exception monitoring
+- **๐ Performance Monitoring** - Request duration and database query tracking
+- **๐ Profiling** - CPU profiling for performance bottlenecks
+- **๐จ Alerting** - Email and Slack notifications
+
+### Health Monitoring
+
+- **โค๏ธ Health Checks** - `/api/health/live` and `/api/health/ready`
+- **๐ Metrics** - Application and infrastructure metrics
+- **๐ Request Tracing** - Correlation IDs for debugging
+
+---
+
+## Documentation
+
+### VitePress Documentation Site
+
+```bash
+# Start documentation server
+pnpm docs:dev
+
+# Build documentation
+pnpm docs:build
+```
+
+---
+
+## Project Structure
+
+```
+odma/
+โโโ ๐ฑ apps/
+โ โโโ backend/ # NestJS API server
+โ โโโ frontend/ # Nuxt 3 SPA client
+โโโ ๐ฆ packages/ # Shared libraries
+โ โโโ api-client-generator/ # Custom OpenAPI client generator
+โ โโโ app-api-client/ # Generated API client
+โ โโโ app-config/ # Environment configuration
+โ โโโ app-interfaces/ # Shared TypeScript types
+โ โโโ app-vue-components/ # Reusable Vue components
+โ โโโ app-seed/ # Database seeding utilities
+โโโ ๐งช tests/ # Playwright E2E tests
+โโโ ๐๏ธ infrastructure/ # Pulumi AWS infrastructure
+โโโ ๐ docs/ # VitePress documentation
+โโโ ๐ ๏ธ scripts/ # Development automation
+โโโ ๐ณ docker-compose.*.yaml # Development services
+```
+
+---
+
+### Development Features
+
+- **๐ฅ Hot Reload** - Backend and frontend auto-restart
+- **๐ Type Safety** - End-to-end TypeScript
+- **๐ Auto-completion** - Full IntelliSense support
+- **๐ซ Pre-commit Hooks** - Automated code quality checks
+- **๐ Bundle Analysis** - Frontend build optimization
+
+---
+
+## Configuration
+
+### Environment Variables
+
+Copy `.env.example` to `.env` and configure:
+
+---
+
+## Troubleshooting
+
+### Common Issues
+
+**Port already in use:**
+
+```bash
+# Kill process on port 3000 or 3001
+lsof -ti:3000 | xargs kill -9
+lsof -ti:3001 | xargs kill -9
+```
+
+**Database connection errors:**
+
+```bash
+# Ensure PostgreSQL is running
+docker-compose -f docker-compose.dev.yaml up -d
+
+# Reset database if corrupted
+pnpm --filter backend schema:drop
+pnpm --filter backend migration:up
+pnpm --filter backend seeder:run
+```
+
+**API client out of sync:**
+
+```bash
+# Regenerate API client after backend changes
+pnpm api:client:generate
+
+# Or run in watch mode during development
+pnpm api:client:watch
+```
+
+**TypeScript errors after dependency updates:**
+
+```bash
+# Clear all caches and reinstall
+pnpm store prune
+rm -rf node_modules pnpm-lock.yaml
+pnpm install
+```
+
+**Sentry not working:**
+
+- Check that `SENTRY_DSN` is set in your `.env` file
+- Verify the DSN is valid from your Sentry project settings
+- In development, check logs for "Sentry instrumentation initialized"
+
+**Email not sending:**
+
+- Verify Mailtrap credentials in `.env`
+- Check `MAIL_HOST`, `MAIL_USER`, and `MAIL_PASSWORD` are correct
+- For production, configure your SMTP provider
+
+---
+
+## License
+
+This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
+
+---
+
+## Acknowledgments
+
+Built with โค๏ธ using modern open-source technologies:
+
+- [NestJS](https://nestjs.com/) for the robust backend framework
+- [Nuxt](https://nuxt.com/) for the powerful frontend framework
+- [Vuetify](https://vuetifyjs.com/) for the beautiful Material Design components
+- [Playwright](https://playwright.dev/) for reliable end-to-end testing
+
+---
+
+
diff --git a/apps/backend/README.md b/apps/backend/README.md
new file mode 100644
index 0000000..0db498a
--- /dev/null
+++ b/apps/backend/README.md
@@ -0,0 +1,181 @@
+# Backend API
+
+Production-ready NestJS application with authentication, user management,
+and security-first design.
+
+## ๐ Architecture Overview
+
+This backend is a well-structured NestJS application built with enterprise-grade security and scalability in mind.
+
+### **Core Framework & Technologies**
+- **NestJS** v11.1.6 with TypeScript
+- **MikroORM** v6.5.6 with PostgreSQL driver
+- **Passport.js** for authentication (JWT + Local strategies)
+- **Pino** for structured logging
+- **Jest** for testing with comprehensive e2e test suite
+
+### **Key Modules**
+- **Auth Module** (`src/modules/auth/`): JWT authentication, login/logout, password reset
+- **User Module** (`src/modules/user/`): User CRUD operations, profile management
+- **Mail Module** (`src/modules/mail/`): Email templates and sending (with Handlebars)
+- **Health Module** (`src/modules/health/`): Health check endpoints
+
+### **Security Features**
+- Global JWT authentication guard
+- Role-based access control (ADMIN/USER roles)
+- Input validation with class-validator
+- Helmet.js for security headers
+- Rate limiting with Throttler
+- XSS protection validators
+- Password hashing with bcrypt
+
+### **Database & ORM**
+- PostgreSQL with MikroORM
+- User entity with roles, soft delete capability
+- Migration and seeding system
+- Custom repository pattern
+
+### **Development Features**
+- Swagger API documentation
+- Hot reload development mode
+- Comprehensive e2e test suite
+- TypeScript path mapping
+- Pino pretty logging for development
+
+## ๐ ๏ธ Quick Start
+
+### 1. Setup Environment
+
+```bash
+# Install dependencies
+pnpm install
+
+# Configure environment (see ../../.env.example for all options)
+cp ../../.env.example ../../.env
+```
+
+### 2. Database Setup
+
+```bash
+# Create schema and run migrations
+pnpm schema:create
+pnpm migration:up
+
+# Seed initial data (creates admin user)
+pnpm seeder:run
+```
+
+### 3. Start Development
+
+```bash
+pnpm dev
+```
+
+API available at `http://localhost:3000/api` โข Docs at `/api/docs`
+
+## ๐งช Testing
+
+Comprehensive E2E test suite covering authentication, authorization, security,
+and data integrity.
+
+```bash
+# Setup test environment (uses in-memory SQLite)
+cp test.env.example .env.test
+
+# Run tests
+pnpm test:e2e # All E2E tests
+pnpm test:e2e:cov # With coverage
+pnpm test:e2e:watch # Watch mode
+```
+
+**Coverage**: Authentication (95%+), User Management (100%), Security (100%),
+API Validation (95%+)
+
+See [test/README.md](./test/README.md) for detailed testing documentation.
+
+## ๐ Development Scripts
+
+```bash
+# Development
+pnpm dev # Start with hot reload
+pnpm start:debug # Start with debugger
+
+# Database
+pnpm migration:create # Create migration
+pnpm migration:up # Run migrations
+pnpm schema:fresh # Reset database
+pnpm seeder:run # Seed data
+
+pnpm build # Production build
+```
+
+## ๐ง Configuration
+
+Environment-based configuration with Joi validation.
+See `../../.env.example` for all available options.
+
+**Key Configuration Areas**:
+
+- Database connection and pooling
+- JWT secrets and cookie security
+- SMTP email settings
+- CORS and security headers
+- Logging levels and formats
+
+## ๐ API Overview
+
+### Authentication Endpoints
+
+```
+POST /api/auth/login # Login with email/password
+GET /api/auth/logout # Logout (clears cookies)
+POST /api/auth/forgot-password # Request password reset
+POST /api/auth/reset-password # Reset with token
+POST /api/auth/change-password # Change password (authenticated)
+```
+
+### User Management (Admin Only)
+
+```
+GET /api/users # List with search/pagination
+POST /api/users # Create user
+GET /api/users/:id # Get user details
+PATCH /api/users/:id # Update user
+DELETE /api/users/:id # Soft delete
+POST /api/users/:id/restore # Restore deleted user
+```
+
+### Profile Management
+
+```
+GET /api/me # Current user profile
+PATCH /api/me # Update profile (restricted fields)
+```
+
+### System
+
+```
+GET /api/health # Health check for monitoring
+```
+
+## ๐ Production Deployment
+
+### Build & Environment
+
+```bash
+pnpm build # Creates dist/ folder
+```
+
+**Required Environment**: Strong JWT secrets, secure database connection,
+SMTP configuration, appropriate log levels.
+
+**Production Features**: Health checks, structured logging, Swagger docs,
+rate limiting, security headers, error handling.
+
+## ๐ค Contributing
+
+1. Create feature branch with comprehensive tests
+2. Run full test suite: `pnpm test:e2e`
+3. Lint code: `pnpm lint`
+4. Ensure 90%+ test coverage
+5. Follow TypeScript strict mode and NestJS patterns
diff --git a/apps/backend/app.ts b/apps/backend/app.ts
deleted file mode 100644
index ea9bdb5..0000000
--- a/apps/backend/app.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-import { fileURLToPath } from 'node:url';
-import path from 'node:path';
-import bodyParser from 'body-parser';
-import cookieParser from 'cookie-parser';
-import cors from 'cors';
-import express from 'express';
-import helmet from 'helmet';
-import history from 'connect-history-api-fallback';
-import qs from 'qs';
-
-import auth from './shared/auth/index.js';
-import origin from './shared/origin.js';
-import router from './router.js';
-import { createHttpLogger } from '#logger';
-import config from '#config';
-
-const { STORAGE_PATH } = process.env;
-
-const __dirname = path.dirname(fileURLToPath(import.meta.url));
-const app = express();
-
-const configCookie = JSON.stringify(
- Object.fromEntries(
- Object.entries(process.env).filter(([key]) =>
- key.startsWith('NUXT_PUBLIC_'),
- ),
- ),
-);
-
-if (config.general.reverseProxyPolicy)
- app.set('trust proxy', config.general.reverseProxyPolicy);
-
-// eslint-disable-next-line @typescript-eslint/no-unused-expressions
-config.auth.oidc.enabled
- && (await (async () => {
- const { default: consolidate } = await import('consolidate');
- const { default: session } = await import('express-session');
- app.engine('mustache', consolidate.mustache);
- app.set('view engine', 'mustache');
- app.use(session(config.auth.session));
- })());
-
-app.use(
- helmet({
- // TODO: Reevaluate and enable, for now, disabled as it breaks a lot of things
- contentSecurityPolicy: false,
- }),
-);
-
-// Patch Express 5 query parser (not parsing arrays properly).
-app.use((req, _res, next) => {
- const { query } = req;
- if (query) Object.defineProperty(req, 'query', { value: qs.parse(query) });
- next();
-});
-
-app.use(cors({ origin: config.auth.corsAllowedOrigins, credentials: true }));
-app.use(cookieParser(config.auth.jwt.cookie.secret));
-app.use(bodyParser.json({ limit: '50mb' }));
-app.use(bodyParser.urlencoded({ extended: true }));
-app.use(auth.initialize());
-app.use(origin());
-app.use(
- history({
- rewrites: [
- {
- from: /^\/api\/.*$/,
- to: (context) => context.parsedUrl.path,
- },
- ],
- }),
-);
-app.use(
- express.static(path.join(__dirname, '../frontend/.output/public'), {
- setHeaders: (res, path) => {
- if (!path.endsWith('/public/index.html')) return;
- return res.cookie('config', configCookie);
- },
- }),
-);
-
-if (STORAGE_PATH) app.use(express.static(STORAGE_PATH));
-
-// Mount main router.
-app.use('/api', createHttpLogger(), router);
-
-// Global error handler.
-app.use(errorHandler);
-
-// Handle non-existing routes.
-app.use((_req, res) => res.status(404).end());
-
-export default app;
-
-function errorHandler(err, req, res, _next) {
- if (!err.status || err.status === 500) {
- req.log.error({ err });
- res.status(500).end();
- return;
- }
- const { status, message } = err;
- res.status(err.status).json({ error: { status, message } });
-}
diff --git a/apps/backend/config/ai.js b/apps/backend/config/ai.js
deleted file mode 100644
index 1523829..0000000
--- a/apps/backend/config/ai.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export const secretKey = process.env.AI_SECRET_KEY;
-export const modelId = process.env.AI_MODEL_ID;
-export const isEnabled = secretKey && modelId;
diff --git a/apps/backend/config/auth.js b/apps/backend/config/auth.js
deleted file mode 100644
index 1ac8402..0000000
--- a/apps/backend/config/auth.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import { role as roleConfig } from '@app/config';
-import yn from 'yn';
-
-const { env } = process;
-const { user: role } = roleConfig;
-
-export const corsAllowedOrigins = (env.CORS_ALLOWED_ORIGINS || '')
- .split(',')
- .filter((s) => s)
- .map((s) => s.trim());
-
-export const saltRounds = parseInt(env.AUTH_SALT_ROUNDS, 10) || 10;
-
-export const jwt = {
- cookie: {
- name: env.AUTH_JWT_COOKIE_NAME || 'access_token',
- secret: env.AUTH_JWT_COOKIE_SECRET,
- signed: !!env.AUTH_JWT_COOKIE_SECRET,
- secure: env.PROTOCOL === 'https' && env.HOSTNAME !== 'localhost',
- httpOnly: true,
- },
- secret: env.AUTH_JWT_SECRET,
- issuer: env.AUTH_JWT_ISSUER,
-};
-
-export const oidc = {
- enabled: yn(env.NUXT_PUBLIC_OIDC_ENABLED),
- clientID: env.OIDC_CLIENT_ID,
- clientSecret: env.OIDC_CLIENT_SECRET,
- issuer: env.OIDC_ISSUER,
- jwksURL: env.OIDC_JWKS_URL,
- authorizationEndpoint: env.OIDC_AUTHORIZATION_ENDPOINT,
- tokenEndpoint: env.OIDC_TOKEN_ENDPOINT,
- userInfoEndpoint: env.OIDC_USERINFO_ENDPOINT,
- logoutEndpoint: env.OIDC_LOGOUT_ENDPOINT,
- postLogoutUriKey: env.OIDC_POST_LOGOUT_URI_KEY,
- enableSignup: yn(env.OIDC_ALLOW_SIGNUP),
- defaultRole:
- Object.values(role).find((it) => it === env.OIDC_DEFAULT_ROLE) || role.USER,
-};
-
-export const session = {
- resave: false,
- saveUninitialized: false,
- secret: env.OIDC_SESSION_SECRET,
- proxy: true,
- cookie: { secure: false },
-};
diff --git a/apps/backend/config/consumer.js b/apps/backend/config/consumer.js
deleted file mode 100644
index 2d67d83..0000000
--- a/apps/backend/config/consumer.js
+++ /dev/null
@@ -1,20 +0,0 @@
-const { env } = process;
-
-export const clientId = env.CONSUMER_CLIENT_ID;
-
-export const clientSecret = env.CONSUMER_CLIENT_SECRET;
-
-export const tokenHost = env.CONSUMER_CLIENT_TOKEN_HOST;
-
-export const tokenPath = env.CONSUMER_CLIENT_TOKEN_PATH;
-
-export const isAuthConfigured =
- clientId && clientSecret && tokenHost && tokenPath;
-
-export default {
- isAuthConfigured,
- clientId,
- clientSecret,
- tokenHost,
- tokenPath,
-};
diff --git a/apps/backend/config/database.js b/apps/backend/config/database.js
deleted file mode 100644
index ceb3e61..0000000
--- a/apps/backend/config/database.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import 'dotenv/config';
-
-const config = {
- url: process.env.POSTGRES_URI,
- dialect: 'postgres',
-};
-
-export const development = config;
-
-export const test = config;
-
-export const production = config;
diff --git a/apps/backend/config/general.js b/apps/backend/config/general.js
deleted file mode 100644
index a3e4321..0000000
--- a/apps/backend/config/general.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import yn from 'yn';
-
-function isNumeric(input) {
- if (typeof input !== 'string') return false;
- return !isNaN(input) && !isNaN(parseFloat(input));
-}
-
-function parseProxyPolicy(policy) {
- if (isNumeric(policy)) return parseInt(policy, 10);
- const parsedBoolean = yn(policy);
- if (parsedBoolean !== undefined) return parsedBoolean;
- // If the policy is not a boolean or a number, return the original value
- return policy;
-}
-
-const env = process.env;
-
-export const enableRateLimiting = yn(env.ENABLE_RATE_LIMITING);
-export const reverseProxyPolicy = parseProxyPolicy(env.REVERSE_PROXY_TRUST);
diff --git a/apps/backend/config/index.js b/apps/backend/config/index.js
deleted file mode 100644
index 1784e74..0000000
--- a/apps/backend/config/index.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import resolveUrl from '@app/config/src/url.js';
-
-import * as ai from './ai.js';
-import * as auth from './auth.js';
-import * as consumer from './consumer.js';
-import * as general from './general.js';
-import * as mail from './mail.js';
-import * as storage from './storage.js';
-import * as kvStore from './kvStore.js';
-import * as test from './test.js';
-
-const env = process.env;
-const isProduction = env.NODE_ENV === 'production';
-const packageName = env.npm_package_name;
-const packageVersion = env.npm_package_version;
-
-const { hostname, protocol, port, origin } = resolveUrl(env);
-
-export {
- packageName,
- packageVersion,
- isProduction,
- ai,
- auth,
- consumer,
- general,
- hostname,
- kvStore,
- mail,
- origin,
- port,
- protocol,
- storage,
- test,
-};
-
-export default {
- packageName,
- packageVersion,
- isProduction,
- ai,
- auth,
- consumer,
- general,
- hostname,
- kvStore,
- mail,
- origin,
- port,
- protocol,
- storage,
- test,
-};
diff --git a/apps/backend/config/kvStore.js b/apps/backend/config/kvStore.js
deleted file mode 100644
index 016b654..0000000
--- a/apps/backend/config/kvStore.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import KeyvRedis from '@keyv/redis';
-
-export const providerUrl = process.env.KV_STORE_URL || undefined;
-export const ttl = parseInt(process.env.KV_STORE_DEFAULT_TTL, 10) || 0;
-
-export const store =
- providerUrl && providerUrl.startsWith('redis://')
- ? new KeyvRedis(providerUrl)
- : undefined;
-
-export const keyvDefaultConfig = { ttl, ...(store && { store }) };
diff --git a/apps/backend/config/mail.js b/apps/backend/config/mail.js
deleted file mode 100644
index 60bdcfd..0000000
--- a/apps/backend/config/mail.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import yn from 'yn';
-
-export const sender = {
- name: process.env.EMAIL_SENDER_NAME,
- address: process.env.EMAIL_SENDER_ADDRESS,
-};
-
-export const user = process.env.EMAIL_USER;
-
-export const password = process.env.EMAIL_PASSWORD;
-
-export const host = process.env.EMAIL_HOST;
-
-export const port = process.env.EMAIL_PORT || null;
-
-export const ssl = yn(process.env.EMAIL_SSL);
-
-export const tls = yn(process.env.EMAIL_TLS);
diff --git a/apps/backend/config/storage.js b/apps/backend/config/storage.js
deleted file mode 100644
index 42e0508..0000000
--- a/apps/backend/config/storage.js
+++ /dev/null
@@ -1,14 +0,0 @@
-export const protocol = 'storage://';
-export const provider = process.env.STORAGE_PROVIDER;
-
-export const amazon = {
- endpoint: process.env.STORAGE_ENDPOINT,
- region: process.env.STORAGE_REGION,
- bucket: process.env.STORAGE_BUCKET,
- key: process.env.STORAGE_KEY,
- secret: process.env.STORAGE_SECRET,
-};
-
-export const filesystem = {
- path: process.env.STORAGE_PATH,
-};
diff --git a/apps/backend/config/test.js b/apps/backend/config/test.js
deleted file mode 100644
index 02d3056..0000000
--- a/apps/backend/config/test.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import yn from 'yn';
-
-export const isSeedApiEnabled = yn(process.env.ENABLE_TEST_API_ENDPOINTS);
diff --git a/apps/backend/index.ts b/apps/backend/index.ts
deleted file mode 100644
index 3b175ea..0000000
--- a/apps/backend/index.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-/* eslint-disable */
-import boxen, { type Options as BoxenOptions } from 'boxen';
-import Promise from 'bluebird';
-
-import app from './app.ts';
-import config from '#config';
-import { createLogger } from '#logger';
-
-
-// This needs to be done before db models get loaded!
-Promise.config({ longStackTraces: !config.isProduction });
-import database from './shared/database/index.js';
-/* eslint-enable */
-
-const logger = createLogger();
-database
- .initialize()
- .then(() => logger.info('Database initialized'))
- .then(() => app.listen(config.port))
- .then(() => {
- logger.info(`Server listening on port ${config.port}`);
- welcome(config.packageName, config.packageVersion);
- })
- .catch((err) => logger.error({ err }));
-
-const message = (name, version) => `${name} v${version} ๐`.trim();
-
-function welcome(name, version) {
- const options = {
- padding: 2,
- margin: 1,
- borderStyle: 'double',
- borderColor: 'blue',
- align: 'left',
- } as BoxenOptions;
- console.log(boxen(message(name, version), options));
-}
diff --git a/apps/backend/mikro-orm.config.ts b/apps/backend/mikro-orm.config.ts
new file mode 100644
index 0000000..15f7b41
--- /dev/null
+++ b/apps/backend/mikro-orm.config.ts
@@ -0,0 +1,26 @@
+import { defineConfig, PostgreSqlDriver } from '@mikro-orm/postgresql';
+import mikroOrmConfig from './src/config/mikro-orm.config';
+import dbConfig from './src/config/db.config';
+import * as dotenv from 'dotenv';
+import * as path from 'path';
+
+dotenv.config({ path: path.resolve(__dirname, '../../.env') });
+
+// Since the configs use registerAs, we need to call the returned function
+// The registerAs function returns a factory function
+const mikroConfigFactory = mikroOrmConfig as any;
+const dbConfigFactory = dbConfig as any;
+
+const mikroConfig =
+ typeof mikroConfigFactory === 'function'
+ ? mikroConfigFactory()
+ : mikroConfigFactory;
+
+const databaseConfig =
+ typeof dbConfigFactory === 'function' ? dbConfigFactory() : dbConfigFactory;
+
+export default defineConfig({
+ driver: PostgreSqlDriver,
+ ...mikroConfig,
+ ...databaseConfig,
+} as Parameters[0]);
diff --git a/apps/backend/nest-cli.json b/apps/backend/nest-cli.json
new file mode 100644
index 0000000..1b72105
--- /dev/null
+++ b/apps/backend/nest-cli.json
@@ -0,0 +1,22 @@
+{
+ "$schema": "https://json.schemastore.org/nest-cli",
+ "collection": "@nestjs/schematics",
+ "sourceRoot": "src",
+ "compilerOptions": {
+ "deleteOutDir": true,
+ "webpack": false,
+ "tsConfigPath": "tsconfig.json",
+ "assets": [
+ {
+ "include": "**/*.template.html",
+ "outDir": "dist/src",
+ "watchAssets": true
+ },
+ {
+ "include": "**/*.template.txt",
+ "outDir": "dist/src",
+ "watchAssets": true
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/apps/backend/nodemon.json b/apps/backend/nodemon.json
deleted file mode 100644
index 56f2e1f..0000000
--- a/apps/backend/nodemon.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "watch": ["*.*"],
- "ignore": ["build", "data", "dist", "*.config.js"],
- "env": {
- "NODE_ENV": "development"
- }
-}
diff --git a/apps/backend/oidc/index.js b/apps/backend/oidc/index.js
deleted file mode 100644
index 53707b9..0000000
--- a/apps/backend/oidc/index.js
+++ /dev/null
@@ -1,61 +0,0 @@
-import express from 'express';
-import { errors as OIDCError } from 'openid-client';
-import auth from '../shared/auth/index.js';
-
-import { requestLimiter } from '../shared/request/mw.js';
-import { origin } from '#config';
-
-const router = express.Router();
-const { authenticate, logout } = auth;
-
-const ACCESS_DENIED_ROUTE = `${origin}/auth?accessDenied=`;
-
-const OIDCErrors = [OIDCError.OPError, OIDCError.RPError];
-const scope = ['openid', 'profile', 'email'].join(' ');
-
-const isResign = ({ query }) => query.resign === 'true';
-const isLogoutRequest = ({ query }) => query.action === 'logout';
-const getPromptParams = (req) => (isResign(req) ? { prompt: 'login' } : {});
-
-const isOIDCError = (err) => OIDCErrors.some((Ctor) => err instanceof Ctor);
-
-router
- .use(requestLimiter())
- .get('/', authRequestHandler)
- .get('/callback', idpCallbackHandler, (_, res) => res.redirect(origin))
- .use(accessDeniedHandler);
-
-export default {
- path: '/oidc',
- router,
-};
-
-// Initiate login and logout actions
-function authRequestHandler(req, res, next) {
- const strategy = req.passport.strategy('oidc');
- if (isLogoutRequest(req)) return strategy.logout()(req, res, next);
- const params = {
- session: true,
- scope,
- ...getPromptParams(req),
- };
- return authenticate('oidc', params)(req, res, next);
-}
-
-// Triggered upon OIDC provider response
-function idpCallbackHandler(req, res, next) {
- if (!isLogoutRequest(req)) return login(req, res, next);
- return logout({ middleware: true })(req, res, next);
-}
-
-function accessDeniedHandler(err, _req, res, next) {
- if (!isOIDCError(err)) return res.redirect(ACCESS_DENIED_ROUTE + err.email);
- return next(err);
-}
-
-function login(req, res, next) {
- const params = { session: true, setCookie: true };
- authenticate('oidc', params)(req, res, (err) =>
- err ? next(err) : res.redirect(origin),
- );
-}
diff --git a/apps/backend/openapi.json b/apps/backend/openapi.json
new file mode 100644
index 0000000..48312e1
--- /dev/null
+++ b/apps/backend/openapi.json
@@ -0,0 +1,1006 @@
+{
+ "openapi": "3.0.0",
+ "paths": {
+ "/api/auth/login": {
+ "post": {
+ "operationId": "Auth_login",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/LoginDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "User logged in successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/LoginResponseDto"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The email or password you entered is incorrect."
+ }
+ },
+ "summary": "User login",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/auth/logout": {
+ "get": {
+ "operationId": "Auth_logout",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User logged out successfully"
+ }
+ },
+ "summary": "User logout",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/auth/change-password": {
+ "post": {
+ "operationId": "Auth_changePassword",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChangePasswordDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Password changed successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChangePasswordResponseDto"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Current password is incorrect!"
+ }
+ },
+ "summary": "Change current password",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/auth/forgot-password": {
+ "post": {
+ "operationId": "Auth_forgotPassword",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ForgotPasswordDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Password reset email sent if user exists"
+ }
+ },
+ "summary": "Request password reset",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/auth/reset-password": {
+ "post": {
+ "operationId": "Auth_resetPassword",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResetPasswordDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "Password reset successfully"
+ },
+ "400": {
+ "description": "Invalid or expired token"
+ }
+ },
+ "summary": "Reset password with token",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/auth/reset-password/token-status": {
+ "post": {
+ "operationId": "Auth_validateResetToken",
+ "parameters": [],
+ "responses": {
+ "202": {
+ "description": "Token is valid"
+ }
+ },
+ "summary": "Validate reset token",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/me": {
+ "get": {
+ "operationId": "CurrentUser_get",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Current user profile",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ }
+ },
+ "summary": "Get current user profile",
+ "tags": [
+ "me"
+ ]
+ },
+ "patch": {
+ "operationId": "CurrentUser_update",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateProfileDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated user profile",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ }
+ },
+ "summary": "Update user profile",
+ "tags": [
+ "me"
+ ]
+ }
+ },
+ "/api/users": {
+ "get": {
+ "operationId": "User_fetch",
+ "parameters": [
+ {
+ "name": "email",
+ "required": false,
+ "in": "query",
+ "description": "Find by exact email",
+ "schema": {
+ "example": "admin@example.com",
+ "type": "string"
+ }
+ },
+ {
+ "name": "search",
+ "required": false,
+ "in": "query",
+ "description": "Search term for email, first name, or last name",
+ "schema": {
+ "example": "john",
+ "type": "string"
+ }
+ },
+ {
+ "name": "includeArchived",
+ "required": false,
+ "in": "query",
+ "description": "Include soft-deleted users",
+ "schema": {
+ "default": false,
+ "example": false,
+ "type": "boolean"
+ }
+ },
+ {
+ "name": "page",
+ "required": false,
+ "in": "query",
+ "description": "Page number",
+ "schema": {
+ "minimum": 1,
+ "default": 1,
+ "type": "number"
+ }
+ },
+ {
+ "name": "limit",
+ "required": false,
+ "in": "query",
+ "description": "Number of items per page",
+ "schema": {
+ "minimum": 1,
+ "maximum": 100,
+ "default": 20,
+ "type": "number"
+ }
+ },
+ {
+ "name": "sortBy",
+ "required": false,
+ "in": "query",
+ "description": "Field to sort by",
+ "schema": {
+ "default": "createdAt",
+ "type": "string",
+ "enum": [
+ "id",
+ "email",
+ "firstName",
+ "lastName",
+ "createdAt",
+ "updatedAt"
+ ]
+ }
+ },
+ {
+ "name": "sortOrder",
+ "required": false,
+ "in": "query",
+ "description": "Sort order",
+ "schema": {
+ "default": "DESC",
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ]
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of users",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PaginatedUsersDto"
+ }
+ }
+ }
+ }
+ },
+ "summary": "List users",
+ "tags": [
+ "users"
+ ]
+ },
+ "post": {
+ "operationId": "User_create",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateUserDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "User created successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "User already exists"
+ }
+ },
+ "summary": "Create or invite user (Admin only)",
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/api/users/{id}": {
+ "get": {
+ "operationId": "User_get",
+ "parameters": [
+ {
+ "name": "id",
+ "required": true,
+ "in": "path",
+ "description": "User ID",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "User found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "User not found"
+ }
+ },
+ "summary": "Get user by ID (Admin only)",
+ "tags": [
+ "users"
+ ]
+ },
+ "patch": {
+ "operationId": "User_update",
+ "parameters": [
+ {
+ "name": "id",
+ "required": true,
+ "in": "path",
+ "description": "User ID",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateUserDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "User updated successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden"
+ },
+ "404": {
+ "description": "User not found"
+ }
+ },
+ "summary": "Update user by ID",
+ "tags": [
+ "users"
+ ]
+ },
+ "delete": {
+ "operationId": "User_remove",
+ "parameters": [
+ {
+ "name": "id",
+ "required": true,
+ "in": "path",
+ "description": "User ID",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User deleted successfully"
+ },
+ "404": {
+ "description": "User not found"
+ }
+ },
+ "summary": "Delete user (Admin only)",
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/api/users/{id}/restore": {
+ "post": {
+ "operationId": "User_restore",
+ "parameters": [
+ {
+ "name": "id",
+ "required": true,
+ "in": "path",
+ "description": "User ID",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "User restored successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "User not found"
+ }
+ },
+ "summary": "Restore soft-deleted user (Admin only)",
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/api/users/{id}/reinvite": {
+ "post": {
+ "operationId": "User_reinvite",
+ "parameters": [
+ {
+ "name": "id",
+ "required": true,
+ "in": "path",
+ "description": "User ID",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Invitation sent"
+ },
+ "404": {
+ "description": "User not found"
+ }
+ },
+ "summary": "Reinvite user (Admin only)",
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/api/healthcheck": {
+ "get": {
+ "operationId": "Health_healthCheck",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Service is healthy"
+ }
+ },
+ "summary": "Basic health check",
+ "tags": [
+ "health"
+ ]
+ }
+ },
+ "/api/health/live": {
+ "get": {
+ "operationId": "Health_liveness",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Service is alive"
+ }
+ },
+ "summary": "Liveness probe",
+ "tags": [
+ "health"
+ ]
+ }
+ },
+ "/api/health/ready": {
+ "get": {
+ "operationId": "Health_readiness",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Service is ready"
+ },
+ "503": {
+ "description": "Service is not ready"
+ }
+ },
+ "summary": "Readiness probe",
+ "tags": [
+ "health"
+ ]
+ }
+ },
+ "/api/sentry/debug": {
+ "get": {
+ "operationId": "Health_sentryDebug",
+ "parameters": [],
+ "responses": {
+ "500": {
+ "description": "Test error thrown for Sentry"
+ }
+ },
+ "summary": "Test Sentry error capture (development only)",
+ "tags": [
+ "health"
+ ]
+ }
+ },
+ "/api/sentry/message": {
+ "get": {
+ "operationId": "Health_sentryMessage",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Test message sent to Sentry"
+ }
+ },
+ "summary": "Test Sentry message capture (development only)",
+ "tags": [
+ "health"
+ ]
+ }
+ },
+ "/api/seed/reset": {
+ "post": {
+ "description": "Clears all data and reseeds with base admin user. Only in non prod env.",
+ "operationId": "Seed_resetDatabase",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Database reset successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SeedResponseDto"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden - not available in production"
+ }
+ },
+ "summary": "Reset database with base seed data",
+ "tags": [
+ "seed"
+ ]
+ }
+ },
+ "/api/seed/user": {
+ "post": {
+ "description": "Creates a test user with random data",
+ "operationId": "Seed_seedUser",
+ "parameters": [],
+ "responses": {
+ "201": {
+ "description": "Test user created successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SeedResponseDto"
+ }
+ }
+ }
+ }
+ },
+ "summary": "Create a single test user",
+ "tags": [
+ "seed"
+ ]
+ }
+ }
+ },
+ "info": {
+ "title": "API",
+ "description": "API documentation",
+ "version": "1.0",
+ "contact": {}
+ },
+ "tags": [
+ {
+ "name": "auth",
+ "description": "Authentication endpoints"
+ },
+ {
+ "name": "me",
+ "description": "Current user profile endpoints"
+ },
+ {
+ "name": "users",
+ "description": "User management endpoints"
+ },
+ {
+ "name": "health",
+ "description": "Health check endpoints"
+ }
+ ],
+ "servers": [],
+ "components": {
+ "securitySchemes": {
+ "bearer": {
+ "scheme": "bearer",
+ "bearerFormat": "JWT",
+ "type": "http"
+ }
+ },
+ "schemas": {
+ "LoginDto": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User email address",
+ "example": "user@example.com"
+ },
+ "password": {
+ "type": "string",
+ "description": "User password",
+ "example": "password123",
+ "minLength": 8
+ }
+ },
+ "required": [
+ "email",
+ "password"
+ ]
+ },
+ "UserDto": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "number"
+ },
+ "email": {
+ "type": "string"
+ },
+ "role": {
+ "type": "string",
+ "enum": [
+ "ADMIN",
+ "USER"
+ ]
+ },
+ "firstName": {
+ "type": "string"
+ },
+ "lastName": {
+ "type": "string"
+ },
+ "fullName": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "imgUrl": {
+ "type": "string"
+ },
+ "createdAt": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "updatedAt": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "deletedAt": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "email",
+ "role",
+ "firstName",
+ "lastName",
+ "fullName",
+ "label",
+ "imgUrl",
+ "createdAt",
+ "updatedAt",
+ "deletedAt"
+ ]
+ },
+ "LoginResponseDto": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "$ref": "#/components/schemas/UserDto"
+ },
+ "accessToken": {
+ "type": "string",
+ "description": "JWT access token"
+ },
+ "expiresInMs": {
+ "type": "number",
+ "description": "Token expiration time in milliseconds"
+ }
+ },
+ "required": [
+ "user",
+ "accessToken",
+ "expiresInMs"
+ ]
+ },
+ "ChangePasswordDto": {
+ "type": "object",
+ "properties": {
+ "currentPassword": {
+ "type": "string",
+ "description": "Current password",
+ "example": "OldPassword123"
+ },
+ "newPassword": {
+ "type": "string",
+ "description": "New password",
+ "minLength": 8,
+ "example": "NewSecureP@ssw0rd"
+ }
+ },
+ "required": [
+ "currentPassword",
+ "newPassword"
+ ]
+ },
+ "ChangePasswordResponseDto": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Success message"
+ }
+ },
+ "required": [
+ "message"
+ ]
+ },
+ "ForgotPasswordDto": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email address to send reset link to",
+ "example": "user@example.com"
+ }
+ },
+ "required": [
+ "email"
+ ]
+ },
+ "ResetPasswordDto": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string",
+ "description": "Password reset token",
+ "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
+ },
+ "newPassword": {
+ "type": "string",
+ "description": "New password",
+ "example": "NewSecureP@ssw0rd",
+ "minLength": 8
+ }
+ },
+ "required": [
+ "token",
+ "newPassword"
+ ]
+ },
+ "UpdateProfileDto": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User email address",
+ "example": "user@example.com"
+ },
+ "firstName": {
+ "type": "string",
+ "description": "User first name",
+ "example": "John"
+ },
+ "lastName": {
+ "type": "string",
+ "description": "User last name",
+ "example": "Doe"
+ },
+ "imgUrl": {
+ "type": "string",
+ "description": "User avatar as data URL (base64 encoded image)",
+ "example": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIpQBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpdmZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoePPQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKcTNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jcW+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQjLYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII="
+ }
+ }
+ },
+ "PaginatedUsersDto": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ },
+ "total": {
+ "type": "number",
+ "description": "Total number of items",
+ "example": 100
+ },
+ "limit": {
+ "type": "number",
+ "description": "Number of items per page",
+ "example": 20
+ },
+ "page": {
+ "type": "number",
+ "description": "Current page number",
+ "example": 1
+ },
+ "totalPages": {
+ "type": "number",
+ "description": "Total number of pages",
+ "example": 5
+ },
+ "hasPrevious": {
+ "type": "boolean",
+ "description": "Has previous page",
+ "example": false
+ },
+ "hasNext": {
+ "type": "boolean",
+ "description": "Has next page",
+ "example": true
+ }
+ },
+ "required": [
+ "data",
+ "total",
+ "limit",
+ "page",
+ "totalPages",
+ "hasPrevious",
+ "hasNext"
+ ]
+ },
+ "CreateUserDto": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User email address",
+ "example": "user@example.com"
+ },
+ "firstName": {
+ "type": "string",
+ "description": "User first name",
+ "example": "John"
+ },
+ "lastName": {
+ "type": "string",
+ "description": "User last name",
+ "example": "Doe"
+ },
+ "role": {
+ "type": "string",
+ "description": "User role",
+ "enum": [
+ "ADMIN",
+ "USER"
+ ],
+ "example": "USER"
+ }
+ },
+ "required": [
+ "email"
+ ]
+ },
+ "UpdateUserDto": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User email address",
+ "example": "user@example.com"
+ },
+ "firstName": {
+ "type": "string",
+ "description": "User first name",
+ "example": "John"
+ },
+ "lastName": {
+ "type": "string",
+ "description": "User last name",
+ "example": "Doe"
+ },
+ "imgUrl": {
+ "type": "string",
+ "description": "User avatar as data URL (base64 encoded image)",
+ "example": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIpQBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpdmZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoePPQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKcTNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jcW+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQjLYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII="
+ },
+ "role": {
+ "type": "string",
+ "description": "User role (admin only)",
+ "enum": [
+ "ADMIN",
+ "USER"
+ ],
+ "example": "USER"
+ }
+ }
+ },
+ "SeedResponseDto": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Result message"
+ },
+ "data": {
+ "type": "object",
+ "description": "Response data"
+ }
+ },
+ "required": [
+ "message"
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/apps/backend/package.json b/apps/backend/package.json
index 9b3b2c8..a592d60 100644
--- a/apps/backend/package.json
+++ b/apps/backend/package.json
@@ -1,117 +1,137 @@
{
- "name": "app-backend",
- "version": "0.0.1",
- "codename": "X",
- "type": "module",
- "imports": {
- "#config": "./config/index.js",
- "#config/*": "./config/*",
- "#logger": "./shared/logger.js"
- },
+ "name": "app-starter/backend",
+ "version": "1.0.0",
+ "description": "NestJS backend with MikroORM",
+ "author": "",
+ "private": true,
+ "license": "MIT",
"scripts": {
- "dev": "nodemon --import ./script/preflight.js --experimental-strip-types ./index.ts || exit 0",
- "start": "node --import ./script/preflight.js --experimental-strip-types ./index.ts",
- "debug:server": "nodemon --inspect --import ./script/preflight.js --experimental-strip-types ./index.ts ./index.js",
- "db": "node --import ./script/preflight.js ./script/sequelize.js",
- "db:reset": "pnpm db drop && pnpm db create && pnpm db migrate",
- "db:seed": "pnpm db seed:all",
- "add:admin": "node --import ./script/preflight.js ./script/addAdmin.js",
- "invite:admin": "node --import ./script/preflight.js ./script/inviteAdmin.js",
- "integration:add": "node --import ./script/preflight.js ./script/addIntegration.js",
- "integration:token": "node --import ./script/preflight.js ./script/generateIntegrationToken.js"
+ "build": "nest build",
+ "openapi:generate": "node scripts/generate-openapi.js",
+ "dev": "dotenv -e ../../.env -- nest start --watch",
+ "start": "dotenv -e ../../.env -- node dist/src/main",
+ "start:dev": "nest start --watch",
+ "start:debug": "nest start --debug --watch",
+ "start:prod": "node dist/src/main",
+ "test": "jest",
+ "test:watch": "jest --watch",
+ "test:cov": "jest --coverage",
+ "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
+ "test:e2e": "jest --config ./test/jest-e2e.json",
+ "test:e2e:watch": "jest --config ./test/jest-e2e.json --watch",
+ "test:e2e:cov": "jest --config ./test/jest-e2e.json --coverage",
+ "migration:create": "mikro-orm migration:create",
+ "migration:up": "mikro-orm migration:up",
+ "migration:down": "mikro-orm migration:down",
+ "migration:list": "mikro-orm migration:list",
+ "migration:check": "mikro-orm migration:check",
+ "schema:create": "mikro-orm schema:create --run",
+ "schema:drop": "mikro-orm schema:drop --run",
+ "schema:update": "mikro-orm schema:update --run",
+ "schema:fresh": "mikro-orm schema:fresh --run",
+ "seeder:run": "mikro-orm seeder:run",
+ "cache:clear": "mikro-orm cache:clear"
},
"dependencies": {
- "@app/config": "workspace:*",
- "@app/seed": "workspace:*",
- "@aws-sdk/client-s3": "^3.687.0",
- "@aws-sdk/lib-storage": "^3.687.0",
- "@aws-sdk/s3-request-presigner": "^3.687.0",
- "@aws-sdk/util-format-url": "^3.686.0",
- "@faker-js/faker": "^8.4.1",
- "@keyv/redis": "^3.0.1",
- "@paralleldrive/cuid2": "^2.2.2",
- "JSONStream": "^1.3.5",
- "auto-bind": "^5.0.1",
- "axios": "^1.7.7",
- "bcrypt": "^5.1.1",
- "bluebird": "^3.7.2",
- "body-parser": "^1.20.3",
- "boxen": "^7.1.1",
- "change-case": "^5.4.4",
- "cheerio": "1.0.0-rc.12",
- "connect-history-api-fallback": "^2.0.0",
- "consolidate": "^1.0.4",
+ "@app/config": "workspace:^",
+ "@app/seed": "workspace:^",
+ "@mikro-orm/cli": "^6.5.8",
+ "@mikro-orm/core": "^6.5.8",
+ "@mikro-orm/migrations": "^6.5.8",
+ "@mikro-orm/nestjs": "^6.1.1",
+ "@mikro-orm/postgresql": "^6.5.8",
+ "@mikro-orm/reflection": "^6.5.8",
+ "@mikro-orm/seeder": "^6.5.8",
+ "@mikro-orm/sql-highlighter": "^1.0.1",
+ "@nestjs/common": "^11.1.6",
+ "@nestjs/config": "^4.0.2",
+ "@nestjs/core": "^11.1.6",
+ "@nestjs/jwt": "^11.0.1",
+ "@nestjs/passport": "^11.0.5",
+ "@nestjs/platform-express": "^11.1.6",
+ "@nestjs/serve-static": "^5.0.4",
+ "@nestjs/swagger": "^11.2.0",
+ "@nestjs/throttler": "^6.4.0",
+ "@sentry/nestjs": "^10.19.0",
+ "@sentry/profiling-node": "^10.19.0",
+ "@types/handlebars": "^4.1.0",
+ "bcrypt": "^6.0.0",
+ "casual": "^1.6.2",
+ "class-transformer": "^0.5.1",
+ "class-validator": "^0.14.2",
+ "common-tags": "^1.8.2",
"cookie-parser": "^1.4.7",
- "cors": "^2.8.5",
- "date-fns": "^2.30.0",
- "dotenv": "^16.4.5",
- "emailjs": "^4.0.3",
- "express": "5.0.0",
- "express-rate-limit": "^7.4.1",
- "express-session": "^1.18.1",
- "fecha": "^4.2.3",
- "fs-blob-store": "^6.0.0",
- "gravatar": "^1.8.2",
- "hash-obj": "^4.0.0",
- "hashids": "^2.3.0",
- "helmet": "^7.1.0",
- "html-to-text": "^9.0.5",
- "http-errors": "^2.0.0",
- "http-status-codes": "^2.3.0",
- "jsonwebtoken": "^9.0.2",
- "jszip": "^3.10.1",
- "keyv": "^5.1.3",
- "lodash": "^4.17.21",
- "luxon": "^3.5.0",
- "mime-types": "^2.1.35",
- "minimist": "^1.2.8",
- "mjml": "^4.15.3",
- "mkdirp": "^3.0.1",
- "multer": "^1.4.5-lts.1",
- "mustache": "^4.2.0",
- "openai": "^4.71.1",
- "openid-client": "^5.7.0",
- "passport": "^0.6.0",
+ "handlebars": "^4.7.8",
+ "helmet": "^8.1.0",
+ "joi": "^18.0.1",
+ "ms": "^2.1.3",
+ "multer": "^2.0.2",
+ "nestjs-pino": "^4.4.1",
+ "nodemailer": "^7.0.9",
+ "passport": "^0.7.0",
"passport-jwt": "^4.0.1",
"passport-local": "^1.0.0",
- "path-exists": "^5.0.0",
- "pg": "^8.13.1",
- "pg-query-stream": "^4.7.1",
- "pino": "^9.5.0",
- "pino-http": "^10.3.0",
- "pino-pretty": "^12.0.0",
- "pkg-dir": "^8.0.0",
- "promise-queue": "^2.2.5",
- "qs": "^6.13.0",
- "randomstring": "^1.3.0",
- "read-pkg-up": "^10.1.0",
- "safe-require": "^1.0.4",
- "semver": "^7.6.3",
- "sequelize": "^6.37.5",
- "sequelize-replace-enum-postgres": "^1.6.0",
- "simple-oauth2": "^5.1.0",
- "to-case": "^2.0.0",
- "untildify": "^5.0.0",
- "url-join": "^5.0.0",
- "url-parse": "^1.5.10",
- "uuid": "^10.0.0",
- "yn": "^5.0.0",
- "yup": "^1.4.0"
+ "pino-pretty": "^13.1.2",
+ "reflect-metadata": "^0.2.2",
+ "rxjs": "^7.8.2",
+ "swagger-ui-express": "^5.0.1",
+ "uuid": "^13.0.0",
+ "yn": "^5.1.0"
},
"devDependencies": {
- "@types/bluebird": "^3.5.42",
- "@types/express": "^5.0.0",
- "dargs": "^8.1.0",
- "del-cli": "^5.1.0",
- "dotenv-cli": "^7.4.2",
- "nodemon": "^3.1.7",
- "sequelize-cli": "^6.6.2",
- "terser": "^5.36.0",
- "umzug": "^3.8.2"
+ "@libsql/client": "^0.15.15",
+ "@mikro-orm/libsql": "^6.5.8",
+ "@nestjs/cli": "^11.0.10",
+ "@nestjs/schematics": "^11.0.9",
+ "@nestjs/testing": "^11.1.6",
+ "@types/bcrypt": "^6.0.0",
+ "@types/cookie-parser": "^1.4.9",
+ "@types/express": "^5.0.3",
+ "@types/jest": "^30.0.0",
+ "@types/jsonwebtoken": "^9.0.10",
+ "@types/multer": "^2.0.0",
+ "@types/node": "^24.7.2",
+ "@types/nodemailer": "^7.0.2",
+ "@types/passport-jwt": "^4.0.1",
+ "@types/passport-local": "^1.0.38",
+ "@types/set-cookie-parser": "^2.4.10",
+ "@types/supertest": "^6.0.3",
+ "@types/uuid": "^11.0.0",
+ "dotenv-cli": "^10.0.0",
+ "jest": "^30.2.0",
+ "jsonwebtoken": "^9.0.2",
+ "prettier": "^3.6.2",
+ "set-cookie-parser": "^2.7.1",
+ "source-map-support": "^0.5.21",
+ "supertest": "^7.1.4",
+ "ts-jest": "^29.4.5",
+ "ts-loader": "^9.5.4",
+ "ts-node": "^10.9.2",
+ "tsconfig-paths": "^4.2.0",
+ "typescript": "^5.9.3"
+ },
+ "jest": {
+ "moduleFileExtensions": [
+ "js",
+ "json",
+ "ts"
+ ],
+ "rootDir": "src",
+ "testRegex": ".*\\.spec\\.ts$",
+ "transform": {
+ "^.+\\.(t|j)s$": "ts-jest"
+ },
+ "collectCoverageFrom": [
+ "**/*.(t|j)s"
+ ],
+ "coverageDirectory": "../coverage",
+ "testEnvironment": "node"
},
- "engines": {
- "node": ">= 22.6.0",
- "npm": ">= 9.6.0",
- "postgres": ">= 9.4"
+ "mikro-orm": {
+ "useTsNode": true,
+ "configPaths": [
+ "./mikro-orm.config.ts",
+ "./dist/mikro-orm.config.js"
+ ]
}
}
diff --git a/apps/backend/router.js b/apps/backend/router.js
deleted file mode 100644
index 8237f34..0000000
--- a/apps/backend/router.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import express from 'express';
-import ai from './shared/ai/index.js';
-import authenticator from './shared/auth/index.js';
-import { extractAuthData } from './shared/auth/mw.js';
-import seedRouter from './tests/api/index.js';
-import user from './user/index.js';
-import {
- ai as aiConfig,
- auth as authConfig,
- test as testConfig,
-} from '#config';
-
-const { authenticate } = authenticator;
-const router = express.Router();
-router.use(processBody);
-router.use(extractAuthData);
-
-// Public routes:
-router.get('/healthcheck', (_req, res) => {
- res.status(200).json({ status: 'ok' });
-});
-
-router.use(user.path, user.router);
-
-// SSO routes:
-authConfig.oidc.enabled &&
- (await (async () => {
- const { default: oidc } = await import('./oidc/index.js');
- router.use(oidc.path, oidc.router);
- })());
-
-// Protected routes:
-router.use(authenticate('jwt'));
-
-if (aiConfig.isEnabled) router.use(ai.path, ai.router);
-if (testConfig.isSeedApiEnabled) router.use(seedRouter.path, seedRouter.router);
-
-export default router;
-
-function processBody(req, _res, next) {
- const { body } = req;
- if (body && body.email) body.email = body.email.toLowerCase();
- next();
-}
diff --git a/apps/backend/script/addAdmin.js b/apps/backend/script/addAdmin.js
deleted file mode 100644
index 97442c9..0000000
--- a/apps/backend/script/addAdmin.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import 'dotenv/config';
-
-import roleConfig from '@app/config/src/role.js';
-
-// Dynamic import is needed in order for the `enabled` flag to be respected
-const { default: db } = await import('../shared/database/index.js');
-
-const { User } = db;
-const { user: role } = roleConfig;
-
-const args = process.argv.slice(2);
-if (args.length !== 2) {
- console.error('You must supply two arguments - email and password');
- process.exit(1);
-}
-
-const email = args[0];
-const password = args[1];
-
-User.create({ email, password, role: role.ADMIN })
- .then((user) => {
- console.log(`Administrator created: ${user.email}`);
- process.exit(0);
- })
- .catch((err) => {
- console.error(err.message);
- process.exit(1);
- });
diff --git a/apps/backend/script/addIntegration.js b/apps/backend/script/addIntegration.js
deleted file mode 100644
index f776c22..0000000
--- a/apps/backend/script/addIntegration.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import 'dotenv/config';
-
-import roleConfig from '@app/config/src/role.js';
-
-// Dynamic import is needed in order for the `enabled` flag to be respected
-const { default: db } = await import('../shared/database/index.js');
-
-const { User } = db;
-const { user: role } = roleConfig;
-
-User.findOne({ where: { role: role.INTEGRATION } })
- .then((user) => {
- if (!user) return true;
- console.log('Integration already exists');
- process.exit(0);
- })
- .then(() => User.create({ role: role.INTEGRATION }))
- .then((user) => {
- console.log(`Integration user created: ${user.id}`);
- process.exit(0);
- })
- .catch((err) => {
- console.error(err.message);
- process.exit(1);
- });
diff --git a/apps/backend/script/generateIntegrationToken.js b/apps/backend/script/generateIntegrationToken.js
deleted file mode 100644
index 30c9a17..0000000
--- a/apps/backend/script/generateIntegrationToken.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import 'dotenv/config';
-
-// Dynamic import is needed in order for the `enabled` flag to be respected
-const { default: db } = await import('../shared/database/index.js');
-
-const { User } = db;
-
-User.findOne({ where: { role: 'INTEGRATION' } })
- .then((user) => user.createToken({}))
- .then((token) => {
- console.log(`Integration token generated: ${token}`);
- process.exit(0);
- })
- .catch((err) => {
- console.error(err.message || err);
- process.exit(1);
- });
diff --git a/apps/backend/script/inviteAdmin.js b/apps/backend/script/inviteAdmin.js
deleted file mode 100644
index 36a9542..0000000
--- a/apps/backend/script/inviteAdmin.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import 'dotenv/config';
-
-import roleConfig from '@app/config/src/role.js';
-import Deferred from '../shared/util/Deferred.js';
-
-// Dynamic import is needed in order for the `enabled` flag to be respected
-const { default: db } = await import('../shared/database/index.js');
-
-const { User } = db;
-const { user: role } = roleConfig;
-
-const args = process.argv.slice(2);
-if (args.length !== 1) {
- console.error('You must supply email');
- process.exit(1);
-}
-
-const email = args[0];
-const mailing = new Deferred();
-
-User.invite({ email, role: role.ADMIN }, mailing.callback)
- .then((user) => Promise.all([user, mailing.promise]))
- .then(([user]) => {
- console.log(`Invitation sent to ${user.email} for Admin role.`);
- process.exit(0);
- })
- .catch((err) => {
- console.error(err.message);
- process.exit(1);
- });
diff --git a/apps/backend/script/preflight.js b/apps/backend/script/preflight.js
deleted file mode 100644
index a33e280..0000000
--- a/apps/backend/script/preflight.js
+++ /dev/null
@@ -1,41 +0,0 @@
-import path from 'node:path';
-import boxen from 'boxen';
-import dotenv from 'dotenv';
-import { packageDirectory } from 'pkg-dir';
-import { readPackageUpSync } from 'read-pkg-up';
-import semver from 'semver';
-
-const { packageJson: pkg } = readPackageUpSync();
-
-// App root
-const appDirectory = await packageDirectory();
-// Monorepo root
-const projectDirectory = await packageDirectory({
- cwd: path.join(appDirectory, '..'),
-});
-
-const dotenvLocation = path.join(projectDirectory, '.env');
-dotenv.config({ path: dotenvLocation });
-
-(function preflight() {
- const engines = pkg.engines || {};
- if (!engines.node) return;
- const checkPassed = semver.satisfies(process.versions.node, engines.node);
- if (checkPassed) return;
- warn(engines.node);
- console.error(' โ Exiting due to engine requirement check failure...\n');
- process.exit(1);
-})();
-
-function warn(range, current = process.version, name = pkg.name) {
- const options = {
- borderColor: 'red',
- borderStyle: 'single',
- padding: 1,
- margin: 1,
- float: 'left',
- align: 'center',
- };
- const message = `๐จ ${name} requires node ${range}\n current version is ${current}`;
- console.error(boxen(message, options));
-}
diff --git a/apps/backend/script/sequelize.js b/apps/backend/script/sequelize.js
deleted file mode 100644
index f7ce6d3..0000000
--- a/apps/backend/script/sequelize.js
+++ /dev/null
@@ -1,67 +0,0 @@
-import { createRequire } from 'node:module';
-import path from 'node:path';
-import dargs from 'dargs';
-import dotenv from 'dotenv';
-import minimist from 'minimist';
-import { packageDirectory } from 'pkg-dir';
-import safeRequire from 'safe-require';
-
-// App root
-const appDirectory = await packageDirectory();
-// Monorepo root
-const projectDirectory = await packageDirectory({
- cwd: path.join(appDirectory, '..'),
-});
-const dotenvLocation = path.join(projectDirectory, '.env');
-dotenv.config({ path: dotenvLocation });
-
-const require = createRequire(import.meta.url);
-
-const actions = ['migrate', 'seed', 'create', 'drop'];
-const isAction = (cmd) => actions.some((it) => cmd.startsWith(it));
-
-// Load config.
-const config = safeRequire(path.join(process.cwd(), 'sequelize.config.cjs'));
-if (!config) {
- console.error('Error: `sequelize.config.cjs` not found');
- process.exit(1);
-}
-
-const argv = minimist(process.argv.slice(2));
-process.argv.length = 2;
-
-// Resolve command with arguments.
-const args = getArgs(argv);
-process.argv.push(...args);
-
-// Resolve options.
-const options = Object.assign({}, config, getOptions(argv));
-process.argv.push(...dargs(options));
-
-// Make it rain!
-
-require('sequelize-cli/lib/sequelize');
-
-function getArgs(argv) {
- let [cmd, ...args] = argv._;
- if (!cmd) return args;
- if (isAction(cmd)) cmd = `db:${cmd}`;
- return [cmd, ...args];
-}
-
-function getOptions(argv) {
- return reduce(
- argv,
- (acc, val, key) => {
- if (['_', '--'].includes(key)) return acc;
- return Object.assign(acc, { [key]: val });
- },
- {},
- );
-}
-
-function reduce(obj, callback, initialValue) {
- return Object.keys(obj).reduce((acc, key) => {
- return callback(acc, obj[key], key);
- }, initialValue);
-}
diff --git a/apps/backend/scripts/generate-openapi.js b/apps/backend/scripts/generate-openapi.js
new file mode 100755
index 0000000..f4002ea
--- /dev/null
+++ b/apps/backend/scripts/generate-openapi.js
@@ -0,0 +1,41 @@
+import { resolve, join } from 'node:path';
+import { fileURLToPath } from 'node:url';
+
+const __dirname = fileURLToPath(new URL('.', import.meta.url));
+const backendDir = resolve(__dirname, '../');
+
+async function generateOpenApi() {
+ console.log('๐ Generating OpenAPI specification...');
+
+ try {
+ // Import from dist (compiled) backend code
+ const { AppModule } = await import(
+ join(backendDir, 'dist/src/app.module.js')
+ );
+ const { NestFactory } = await import('@nestjs/core');
+ const { generateOpenApiDocument, saveOpenApiSpec } = await import(
+ join(backendDir, 'dist/src/utils/openapi.js')
+ );
+ // Create app instance for spec generation only
+ const app = await NestFactory.create(AppModule, {
+ logger: false,
+ abortOnError: false,
+ });
+ app.setGlobalPrefix('api');
+ const document = generateOpenApiDocument(app);
+ const success = saveOpenApiSpec(document);
+ await app.close();
+ if (success) {
+ console.log('โ
OpenAPI specification generated successfully');
+ } else {
+ console.error('โ Failed to save OpenAPI specification');
+ process.exit(1);
+ }
+ } catch (error) {
+ console.error('โ Error generating OpenAPI spec:', error.message);
+ console.log('๐ก Make sure the backend is built first: pnpm build');
+ process.exit(1);
+ }
+}
+
+generateOpenApi();
diff --git a/apps/backend/sequelize.config.cjs b/apps/backend/sequelize.config.cjs
deleted file mode 100644
index ad18ecc..0000000
--- a/apps/backend/sequelize.config.cjs
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-
-require('dotenv').config({ path: process.env.DOTENV_CONFIG_PATH });
-const path = require('path');
-
-module.exports = {
- config: path.join(__dirname, './shared/database/config.js'),
- seedersPath: path.join(__dirname, './shared/database/seeds'),
- migrationsPath: path.join(__dirname, './shared/database/migrations'),
-};
diff --git a/apps/backend/shared/ai/ai.controller.js b/apps/backend/shared/ai/ai.controller.js
deleted file mode 100644
index cd71e3a..0000000
--- a/apps/backend/shared/ai/ai.controller.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import AIService from './ai.service.js';
-
-async function prompt(req, res) {
- const data = await AIService.requestCompletion(req.body?.input);
- res.json({ data });
-}
-
-export default {
- prompt,
-};
diff --git a/apps/backend/shared/ai/ai.service.js b/apps/backend/shared/ai/ai.service.js
deleted file mode 100644
index 4ce103e..0000000
--- a/apps/backend/shared/ai/ai.service.js
+++ /dev/null
@@ -1,67 +0,0 @@
-import isString from 'lodash/isString.js';
-import OpenAI from 'openai';
-
-import { createLogger } from '#logger';
-import { ai as aiConfig } from '#config';
-
-const logger = createLogger('ai');
-
-const systemPrompt = `
- The following is a conversation with an AI assistant.
- The assistant is helpful, creative, clever, and very friendly.
-
- Rules:
- - Use the User rules to generate the content
- - Generated content should have a friendly tone and be easy to understand
- - Generated content should not include any offensive language or content
- - Only return JSON objects`;
-
-const parseResponse = (val) => {
- const content = val?.choices?.[0]?.message?.content;
- logger.info('Response content', content);
- try {
- if (!isString(content)) return content;
- return JSON.parse(content);
- } catch {
- logger.info('Unable to parse response', content);
- throw new Error('Invalid AI response', content);
- }
-};
-
-class AIService {
- #openai;
-
- constructor() {
- this.#openai = new OpenAI({ apiKey: aiConfig.secretKey });
- }
-
- async requestCompletion(prompt) {
- logger.info('Completion request', prompt);
- const completion = await this.#openai.chat.completions.create({
- model: aiConfig.modelId,
- temperature: 0.5,
- response_format: { type: 'json_object' },
- messages: [
- { role: 'system', content: systemPrompt },
- { role: 'user', content: prompt },
- ],
- });
- logger.info('Completion response', completion);
- return parseResponse(completion);
- }
-
- async generateImage(prompt) {
- const { data } = await this.#openai.images.generate({
- prompt,
- model: 'dall-e-3',
- n: 1, // amount of images, max 1 for dall-e-3
- quality: 'hd', // 'standard' | 'hd',
- size: '1024x1024',
- style: 'natural',
- });
- const url = new URL(data[0].url);
- return url;
- }
-}
-
-export default aiConfig.secretKey ? new AIService() : {};
diff --git a/apps/backend/shared/ai/index.js b/apps/backend/shared/ai/index.js
deleted file mode 100644
index 3ba6085..0000000
--- a/apps/backend/shared/ai/index.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import express from 'express';
-import ctrl from './ai.controller.js';
-
-const router = express.Router();
-
-router.post('/prompt', ctrl.prompt);
-
-export default {
- path: '/ai',
- router,
-};
diff --git a/apps/backend/shared/auth/audience.js b/apps/backend/shared/auth/audience.js
deleted file mode 100644
index 4160240..0000000
--- a/apps/backend/shared/auth/audience.js
+++ /dev/null
@@ -1,6 +0,0 @@
-export default {
- Scope: {
- Access: 'scope:access',
- Setup: 'scope:setup',
- },
-};
diff --git a/apps/backend/shared/auth/authenticator.js b/apps/backend/shared/auth/authenticator.js
deleted file mode 100644
index 2e74862..0000000
--- a/apps/backend/shared/auth/authenticator.js
+++ /dev/null
@@ -1,83 +0,0 @@
-import { IncomingMessage } from 'http';
-import addDays from 'date-fns/addDays/index.js';
-import { Authenticator } from 'passport';
-import autobind from 'auto-bind';
-import Audience from './audience.js';
-import { auth as config } from '#config';
-
-const isFunction = (arg) => typeof arg === 'function';
-
-class Auth extends Authenticator {
- constructor() {
- super();
- autobind(this);
- }
-
- initialize(options = {}) {
- Object.defineProperty(IncomingMessage.prototype, 'passport', {
- get: () => this,
- });
- return super.initialize(options);
- }
-
- authenticate(strategy, ...args) {
- const [options, callback] = parseAuthenticateOptions(args);
- // The passport started to be explicit about the session from v0.6.0, and since most of our
- // authentication strategies are stateless, we are opting to avoid session by default
- if (options.session === undefined) options.session = false;
- // NOTE: Setup passport to forward errors down the middleware chain
- // https://github.com/jaredhanson/passport/blob/ad5fe1df/lib/middleware/authenticate.js#L171
- if (options.failWithError !== false) options.failWithError = true;
- const authenticateUser = super.authenticate(strategy, options, callback);
- return (req, res, next) => {
- const authenticateCallback = options.setCookie
- ? this._wrapAuthenticateCallback(req, res, next, strategy)
- : next;
- return authenticateUser(req, res, authenticateCallback);
- };
- }
-
- _wrapAuthenticateCallback(req, res, next, strategy) {
- return (...args) => {
- if (args.length > 0) return next(args[0]);
- const { user } = req;
- const token = user.createToken({
- audience: Audience.Scope.Access,
- expiresIn: '5 days',
- });
- const { name, signed, secure, httpOnly } = config.jwt.cookie;
- const expires = addDays(new Date(), 5);
- const options = { signed, secure, expires, httpOnly };
- res.cookie(name, token, options);
- const authData = { strategy, [strategy]: user.authData };
- res.cookie('auth', authData, options);
- req.authData = authData;
- return next();
- };
- }
-
- logout({ middleware = false } = {}) {
- return (_, res, next) => {
- res.clearCookie(config.jwt.cookie.name);
- res.clearCookie('auth');
- return middleware ? next() : res.end();
- };
- }
-
- strategy(strategyName) {
- const strategy = this._strategy(strategyName);
- if (!strategy) {
- throw new Error(
- `Error: Unknown authentication strategy "${strategyName}"`,
- );
- }
- return strategy;
- }
-}
-
-export default new Auth();
-
-function parseAuthenticateOptions(args) {
- if (isFunction(args[0])) return [{}, args[0]];
- return [args[0] || {}, args[1]];
-}
diff --git a/apps/backend/shared/auth/index.js b/apps/backend/shared/auth/index.js
deleted file mode 100644
index cfdb82f..0000000
--- a/apps/backend/shared/auth/index.js
+++ /dev/null
@@ -1,115 +0,0 @@
-import path from 'node:path';
-import { ExtractJwt, Strategy as JwtStrategy } from 'passport-jwt';
-import get from 'lodash/get.js';
-import jwt from 'jsonwebtoken';
-import LocalStrategy from 'passport-local';
-import db from '../database/index.js';
-import Audience from './audience.js';
-import auth from './authenticator.js';
-import OIDCStrategy from './oidc.js';
-import { auth as config, origin } from '#config';
-
-const { User } = db;
-const options = {
- usernameField: 'email',
- session: false,
-};
-
-auth.use(
- new LocalStrategy(options, (email, password, done) => {
- return User.unscoped()
- .findOne({ where: { email } })
- .then((user) => user && user.authenticate(password))
- .then((user) => done(null, user || false))
- .error((err) => done(err, false));
- }),
-);
-
-auth.use(
- new JwtStrategy(
- {
- ...config.jwt,
- audience: Audience.Scope.Access,
- jwtFromRequest: ExtractJwt.fromExtractors([
- extractJwtFromCookie,
- ExtractJwt.fromBodyField('token'),
- ]),
- secretOrKey: config.jwt.secret,
- },
- verifyJWT,
- ),
-);
-
-auth.use(
- 'token',
- new JwtStrategy(
- {
- ...config.jwt,
- audience: Audience.Scope.Setup,
- jwtFromRequest: ExtractJwt.fromBodyField('token'),
- secretOrKeyProvider,
- },
- verifyJWT,
- ),
-);
-
-config.oidc.enabled &&
- auth.use(
- 'oidc',
- new OIDCStrategy(
- {
- ...config.oidc,
- callbackURL: apiUrl('/oidc/callback'),
- },
- verifyOIDC,
- ),
- );
-
-auth.serializeUser((user, done) => done(null, user));
-auth.deserializeUser((user, done) => done(null, user));
-
-export default auth;
-
-function verifyJWT(payload, done) {
- return User.unscoped()
- .findByPk(payload.id)
- .then((user) => done(null, user || false))
- .error((err) => done(err, false));
-}
-
-function verifyOIDC(tokenSet, profile, done) {
- return findOrCreateOIDCUser(profile)
- .then((user) => {
- user.authData = { tokenSet };
- done(null, user);
- })
- .catch((err) => done(Object.assign(err, { email: profile.email }), false));
-}
-
-function extractJwtFromCookie(req) {
- const path = config.jwt.cookie.signed ? 'signedCookies' : 'cookies';
- return get(req[path], config.jwt.cookie.name, null);
-}
-
-function secretOrKeyProvider(_, rawToken, done) {
- const { id } = jwt.decode(rawToken) || {};
- return User.unscoped()
- .findByPk(id, { rejectOnEmpty: true })
- .then((user) => user.getTokenSecret())
- .then((secret) => done(null, secret))
- .catch((err) => done(err));
-}
-
-function apiUrl(pathname) {
- return new URL(path.join('/api', pathname), origin).href;
-}
-
-function findOrCreateOIDCUser({ email, firstName, lastName }) {
- if (!config.oidc.enableSignup) {
- return User.findOne({ where: { email }, rejectOnEmpty: true });
- }
- const defaults = { firstName, lastName, role: config.oidc.defaultRole };
- return User.findOrCreate({ where: { email }, defaults }).then(
- ([user]) => user,
- );
-}
diff --git a/apps/backend/shared/auth/mw.js b/apps/backend/shared/auth/mw.js
deleted file mode 100644
index cdb84fa..0000000
--- a/apps/backend/shared/auth/mw.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import get from 'lodash/get.js';
-import roleConfig from '@app/config/src/role.js';
-import { StatusCodes } from 'http-status-codes';
-import { createError } from '../error/helpers.js';
-import { auth as authConfig } from '#config';
-
-const { user: role } = roleConfig;
-
-function authorize(...allowed) {
- allowed.push(role.ADMIN);
- return ({ user }, _res, next) => {
- if (user && allowed.includes(user.role)) return next();
- return createError(StatusCodes.UNAUTHORIZED, 'Access restricted');
- };
-}
-
-function extractAuthData(req, _res, next) {
- const path = authConfig.jwt.cookie.signed ? 'signedCookies' : 'cookies';
- req.authData = get(req[path], 'auth', null);
- return next();
-}
-
-export { authorize, extractAuthData };
diff --git a/apps/backend/shared/auth/oidc.js b/apps/backend/shared/auth/oidc.js
deleted file mode 100644
index ed72af7..0000000
--- a/apps/backend/shared/auth/oidc.js
+++ /dev/null
@@ -1,86 +0,0 @@
-import { URL } from 'node:url';
-import { Strategy as BaseOIDCStrategy, Issuer } from 'openid-client';
-
-export default class OIDCStrategy extends BaseOIDCStrategy {
- constructor(options, verify) {
- const issuer = createIssuer(options);
- const client = createClient(issuer, options);
- super({ client }, function (tokenSet, userInfo, done) {
- const profile = parseUserInfo(userInfo);
- return verify.call(this, tokenSet, profile, done);
- });
- this.options = options;
- }
-
- get client() {
- return this._client;
- }
-
- get issuer() {
- return this._issuer;
- }
-
- get isLogoutEnabled() {
- return this.options.logoutEnabled;
- }
-
- logoutUrl({ oidcData, ...params } = {}) {
- const { client } = this;
- const url = new URL(
- client.endSessionUrl({
- ...params,
- client_id: client.client_id,
- id_token_hint: oidcData.tokenSet.id_token,
- }),
- );
- const customRedirectUriKey = this.options.postLogoutUriKey;
- if (!customRedirectUriKey) return url.href;
- const redirectUri = url.searchParams.get('post_logout_redirect_uri');
- url.searchParams.set(customRedirectUriKey, redirectUri);
- return url.href;
- }
-
- logout(params) {
- return (req, res) => {
- req.logout(() => {
- const { oidc: oidcData } = req.authData || {};
- res.redirect(this.logoutUrl({ ...params, oidcData }));
- });
- };
- }
-}
-
-function createIssuer(options) {
- return new Issuer({
- issuer: options.issuer,
- jwks_uri: options.jwksURL,
- authorization_endpoint: options.authorizationEndpoint,
- token_endpoint: options.tokenEndpoint,
- userinfo_endpoint: options.userInfoEndpoint,
- end_session_endpoint: options.logoutEndpoint,
- });
-}
-
-function createClient(issuer, { callbackURL, clientID, clientSecret }) {
- const redirectUri = new URL(callbackURL);
- const postLogoutRedirectUri = new URL(callbackURL);
- postLogoutRedirectUri.searchParams.set('action', 'logout');
- return new issuer.Client({
- client_id: clientID,
- client_secret: clientSecret,
- redirect_uris: [redirectUri.href],
- post_logout_redirect_uris: [postLogoutRedirectUri.href],
- response_types: ['code'],
- });
-}
-
-function parseUserInfo(userInfo) {
- return {
- id: userInfo.sub,
- username: userInfo.username,
- email: userInfo.email,
- firstName: userInfo.given_name,
- lastName: userInfo.family_name,
- verified: userInfo.email_verified,
- };
-}
diff --git a/apps/backend/shared/database/config.js b/apps/backend/shared/database/config.js
deleted file mode 100644
index 24668b6..0000000
--- a/apps/backend/shared/database/config.js
+++ /dev/null
@@ -1,46 +0,0 @@
-import 'dotenv/config';
-import yn from 'yn';
-
-import { createLogger, Level } from '#logger';
-
-const isProduction = process.env.NODE_ENV === 'production';
-const logger = createLogger('db', { level: Level.DEBUG });
-
-const config = parseConfig();
-const migrationStorageTableName = 'sequelize_meta';
-const benchmark = !isProduction;
-
-function logging(query, time) {
- const info = { query };
- if (time) info.duration = `${time}ms`;
- return logger.debug(info);
-}
-
-export default {
- ...config,
- migrationStorageTableName,
- benchmark,
- logging,
-};
-
-function parseConfig(config = process.env) {
- const DATABASE_URI = config.DATABASE_URI || config.POSTGRES_URI;
- if (DATABASE_URI) return { url: DATABASE_URI };
- if (!config.DATABASE_NAME) {
- throw new TypeError(
- `Invalid \`DATABASE_NAME\` provided: ${config.DATABASE_NAME}`,
- );
- }
- const dialectOptions = yn(config.DATABASE_SSL)
- ? { ssl: { require: true, rejectUnauthorized: false } }
- : {};
- return {
- database: config.DATABASE_NAME,
- username: config.DATABASE_USER,
- password: config.DATABASE_PASSWORD,
- host: config.DATABASE_HOST,
- port: config.DATABASE_PORT,
- dialect: config.DATABASE_ADAPTER || 'postgres',
- dialectOptions,
- };
-}
diff --git a/apps/backend/shared/database/helpers.js b/apps/backend/shared/database/helpers.js
deleted file mode 100644
index f72c56f..0000000
--- a/apps/backend/shared/database/helpers.js
+++ /dev/null
@@ -1,113 +0,0 @@
-import { Op, Sequelize, Utils } from 'sequelize';
-import get from 'lodash/get.js';
-import has from 'lodash/has.js';
-import inRange from 'lodash/inRange.js';
-import last from 'lodash/last.js';
-import mapValues from 'lodash/mapValues.js';
-
-const { SequelizeMethod } = Utils;
-const isFunction = (arg) => typeof arg === 'function';
-const notEmpty = (input) => input.length > 0;
-const sql = { concat, where };
-
-export { sql, getValidator, setLogging, wrapMethods, parsePath };
-
-export function build(Model) {
- return {
- column: (col, model) => dbColumn(col, model || Model),
- ...mapValues(sqlFunctions, (it) => buildSqlFunc(it, Model)),
- };
-}
-
-const dbColumn = (col, Model) => {
- if (col instanceof SequelizeMethod) return col;
- const name = get(Model, `rawAttributes.${col}.field`, col);
- return Sequelize.col(name);
-};
-
-function parsePath(path, Model) {
- if (!path.includes('.')) return [dbColumn(path, Model)];
- const [alias, ...columns] = path.split('.');
- const { target: model } = Model.associations[alias];
- return [{ model, as: alias }, ...parsePath(columns.join('.'), model)];
-}
-
-const sqlFunctions = {
- min: 'MIN',
- max: 'MAX',
- average: 'AVG',
- count: 'COUNT',
- distinct: 'DISTINCT',
- sum: 'SUM',
-};
-
-function buildSqlFunc(name, Model) {
- return (col, model) => Sequelize.fn(name, dbColumn(col, model || Model));
-}
-
-function getValidator(Model, attribute) {
- return function validate(input) {
- const validator = Model.prototype.validators[attribute];
- if (!validator || !validator.len) {
- return notEmpty(input) || `"${attribute}" can not be empty`;
- }
- const [min, max] = validator.len;
- return (
- inRange(input.length, min, max) ||
- `"${attribute}" must be between ${min} and ${max} characters long`
- );
- };
-}
-
-function setLogging(Model, state) {
- const { options } = Model.sequelize;
- options.logging = state;
- return options.logging;
-}
-
-function concat(...args) {
- const options = has(last(args), 'separator') ? args.pop() : {};
- if (!options.separator) return Sequelize.fn('concat', ...args);
- return Sequelize.fn('concat_ws', options.separator, ...args);
-}
-
-// NOTE: Fixes https://github.com/sequelize/sequelize/issues/6440
-function where(attribute, logic, options = {}) {
- const { comparator = '=', scope = false } = options;
- const where = Sequelize.where(attribute, comparator, logic);
- return !scope ? where : { [Op.and]: [where] };
-}
-
-function wrapMethods(Model, Promise) {
- let Ctor = Model;
- do {
- const methods = getMethods(Ctor.prototype);
- const staticMethods = getMethods(Ctor);
- [...methods, ...staticMethods].forEach((method) =>
- wrapMethod(method, Promise),
- );
- Ctor = Object.getPrototypeOf(Ctor);
- } while (Ctor !== Sequelize.Model && Ctor !== Function.prototype);
- return Model;
-}
-
-function wrapMethod({ key, value, target }, Promise) {
- target[key] = function () {
- const result = value.apply(this, arguments);
- if (!result || !isFunction(result.catch)) return result;
- return Promise.resolve(result);
- };
-}
-
-function getMethods(object) {
- return getProperties(object).filter(
- ({ key, value }) => isFunction(value) && key !== 'constructor',
- );
-}
-
-function getProperties(object) {
- return Reflect.ownKeys(object).map((key) => {
- const { value } = Reflect.getOwnPropertyDescriptor(object, key);
- return { key, value, target: object };
- });
-}
diff --git a/apps/backend/shared/database/hooks.js b/apps/backend/shared/database/hooks.js
deleted file mode 100644
index a21756a..0000000
--- a/apps/backend/shared/database/hooks.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import { hooks } from 'sequelize/lib/hooks';
-import mapValues from 'lodash/mapValues.js';
-
-const Hooks = mapValues(hooks, (_, key) => key);
-
-Hooks.withType = (hookType, hook) => {
- return function (...args) {
- return hook.call(this, hookType, ...args);
- };
-};
-
-export default Hooks;
diff --git a/apps/backend/shared/database/index.js b/apps/backend/shared/database/index.js
deleted file mode 100644
index 4fe4ceb..0000000
--- a/apps/backend/shared/database/index.js
+++ /dev/null
@@ -1,167 +0,0 @@
-import { createRequire } from 'node:module';
-import path from 'node:path';
-import invoke from 'lodash/invoke.js';
-import forEach from 'lodash/forEach.js';
-import { SequelizeStorage, Umzug } from 'umzug';
-import pick from 'lodash/pick.js';
-import Promise from 'bluebird';
-import semver from 'semver';
-import Sequelize from 'sequelize';
-import sequelizeConfig from '../../sequelize.config.cjs';
-
-// Require models.
-
-import User from '../../user/user.model.js';
-import Hooks from './hooks.js';
-import config from './config.js';
-import { wrapMethods } from './helpers.js';
-import { createLogger } from '#logger';
-
-const require = createRequire(import.meta.url);
-const pkg = require('../../package.json');
-
-const logger = createLogger('db');
-const isProduction = process.env.NODE_ENV === 'production';
-const sequelize = createConnection(config);
-const { migrationsPath } = sequelizeConfig;
-
-function initialize() {
- const umzug = new Umzug({
- context: sequelize.getQueryInterface(),
- storage: new SequelizeStorage({
- sequelize,
- tableName: config.migrationStorageTableName,
- }),
- migrations: {
- glob: path.join(migrationsPath, '*.js'),
- resolve: ({ name, path, context }) => {
- // Sequilize-CLI generates migrations that require
- // two parameters be passed to the up and down methods
- // but by default Umzug will only pass the first
- const migration = require(path || '');
- return {
- name,
- up: async () => migration.up(context, Sequelize),
- down: async () => migration.down(context, Sequelize),
- };
- },
- },
- logger,
- });
-
- umzug.on('migrating', (m) =>
- logger.info({ migration: m }, 'โฌ๏ธ Migrating:', m),
- );
- umzug.on('migrated', (m) =>
- logger.info({ migration: m }, 'โฌ๏ธ Migrated:', m),
- );
- umzug.on('reverting', (m) =>
- logger.info({ migration: m }, 'โฌ๏ธ Reverting:', m),
- );
- umzug.on('reverted', (m) =>
- logger.info({ migration: m }, 'โฌ๏ธ Reverted:', m),
- );
-
- return sequelize
- .authenticate()
- .then(() => logger.info(getConfig(sequelize), '๐๏ธ Connected to database'))
- .then(() => checkPostgreVersion(sequelize))
- .then(() => !isProduction && umzug.up())
- .then(() => umzug.executed())
- .then((migrations) => {
- const files = migrations.map((it) => it.name);
- if (!files.length) return;
- logger.info(
- { migrations: files },
- '๐๏ธ Executed migrations:\n',
- files.join('\n'),
- );
- });
-}
-
-/**
- * Revision needs to be before Content Element to ensure its hooks are triggered
- * first. This is a temporary fix until a new system for setting up hooks is in
- * place.
- */
-const models = {
- User: defineModel(User),
-};
-
-function defineModel(Model, connection = sequelize) {
- const { DataTypes } = connection.Sequelize;
- const fields = invoke(Model, 'fields', DataTypes, connection) || {};
- const options = invoke(Model, 'options') || {};
- Object.assign(options, { sequelize: connection });
- return Model.init(fields, options);
-}
-
-forEach(models, (model) => {
- invoke(model, 'associate', models);
- addHooks(model, Hooks, models);
- addScopes(model, models);
- wrapMethods(model, Promise);
-});
-
-function addHooks(model, Hooks, models) {
- const hooks = invoke(model, 'hooks', Hooks, models);
- forEach(hooks, (it, type) => model.addHook(type, it));
-}
-
-function addScopes(model, models) {
- const scopes = invoke(model, 'scopes', models);
- forEach(scopes, (it, name) => model.addScope(name, it, { override: true }));
-}
-
-const db = {
- Sequelize,
- sequelize,
- initialize,
- ...models,
-};
-
-wrapMethods(Sequelize.Model, Promise);
-// Patch Sequelize#method to support getting models by class name.
-sequelize.model = (name) => sequelize.models[name] || db[name];
-
-function createConnection(config) {
- if (!config.url) return new Sequelize(config);
- return new Sequelize(config.url, config);
-}
-
-function getConfig(sequelize) {
- // NOTE: List public fields: https://git.io/fxVG2
- return pick(sequelize.config, [
- 'database',
- 'username',
- 'host',
- 'port',
- 'protocol',
- 'pool',
- 'native',
- 'ssl',
- 'replication',
- 'dialectModulePath',
- 'keepDefaultTimezone',
- 'dialectOptions',
- ]);
-}
-
-function checkPostgreVersion(sequelize) {
- return sequelize
- .getQueryInterface()
- .databaseVersion()
- .then((version) => {
- logger.info({ version }, 'PostgreSQL version:', version);
- const range = pkg.engines && pkg.engines.postgres;
- if (!range) return;
- if (semver.satisfies(semver.coerce(version), range)) return;
- const err = new Error(`"${pkg.name}" requires PostgreSQL ${range}`);
- logger.error({ version, required: range }, err.message);
- return Promise.reject(err);
- });
-}
-
-export { Sequelize, sequelize, initialize, models };
-
-export default db;
diff --git a/apps/backend/shared/database/migrations/20181115140901-create-user.js b/apps/backend/shared/database/migrations/20181115140901-create-user.js
deleted file mode 100644
index 1834274..0000000
--- a/apps/backend/shared/database/migrations/20181115140901-create-user.js
+++ /dev/null
@@ -1,50 +0,0 @@
-'use strict';
-
-const TABLE_NAME = 'user';
-
-module.exports = {
- up: async (qi, Sequelize) => {
- await qi.sequelize.query('CREATE EXTENSION IF NOT EXISTS "uuid-ossp";');
- await qi.createTable(TABLE_NAME, {
- id: {
- type: Sequelize.INTEGER,
- primaryKey: true,
- autoIncrement: true,
- },
- uid: {
- type: Sequelize.UUID,
- unique: true,
- allowNull: false,
- defaultValue: Sequelize.literal('uuid_generate_v4()'),
- },
- email: {
- type: Sequelize.STRING,
- unique: true,
- },
- password: {
- type: Sequelize.STRING,
- },
- role: {
- type: Sequelize.ENUM('ADMIN', 'USER', 'INTEGRATION'),
- },
- first_name: { type: Sequelize.STRING(50) },
- last_name: { type: Sequelize.STRING(50) },
- img_url: { type: Sequelize.TEXT },
- createdAt: {
- type: Sequelize.DATE,
- field: 'created_at',
- allowNull: false,
- },
- updatedAt: {
- type: Sequelize.DATE,
- field: 'updated_at',
- allowNull: false,
- },
- deletedAt: {
- type: Sequelize.DATE,
- field: 'deleted_at',
- },
- });
- },
- down: (queryInterface) => queryInterface.dropTable(TABLE_NAME),
-};
diff --git a/apps/backend/shared/database/migrations/package.json b/apps/backend/shared/database/migrations/package.json
deleted file mode 100644
index 5bbefff..0000000
--- a/apps/backend/shared/database/migrations/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "type": "commonjs"
-}
diff --git a/apps/backend/shared/database/pagination.js b/apps/backend/shared/database/pagination.js
deleted file mode 100644
index 5710d44..0000000
--- a/apps/backend/shared/database/pagination.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import pick from 'lodash/pick.js';
-import { parsePath } from './helpers.js';
-
-const parseOptions = ({ limit, offset, sortOrder }) => ({
- limit: parseInt(limit, 10) || 100,
- offset: parseInt(offset, 10) || 0,
- sortOrder: sortOrder || 'ASC',
-});
-
-function processPagination(Model) {
- return (req, _, next) => {
- const options = parseOptions(req.query);
- Object.assign(req.query, options);
- req.options = pick(options, ['limit', 'offset']);
- const { sortBy } = req.query;
- if (sortBy) {
- req.options.order = [[...parsePath(sortBy, Model), options.sortOrder]];
- }
- next();
- };
-}
-
-export { processPagination };
diff --git a/apps/backend/shared/database/seeds/20181115140901-insert-users.js b/apps/backend/shared/database/seeds/20181115140901-insert-users.js
deleted file mode 100644
index 741f628..0000000
--- a/apps/backend/shared/database/seeds/20181115140901-insert-users.js
+++ /dev/null
@@ -1,31 +0,0 @@
-'use strict';
-
-const bcrypt = require('bcrypt');
-const Promise = require('bluebird');
-const users = require('@app/seed/user.json');
-
-module.exports = {
- up(queryInterface) {
- const now = new Date();
- const rows = users.map((user) => ({
- ...user,
- created_at: now,
- updated_at: now,
- }));
- return import('../../../config/index.js')
- .then(({ auth: config }) =>
- Promise.map(rows, (user) => encryptPassword(user, config.saltRounds)),
- )
- .then((users) => queryInterface.bulkInsert('user', users));
- },
- down(queryInterface) {
- return queryInterface.bulkDelete('user');
- },
-};
-
-function encryptPassword(user, saltRounds) {
- return bcrypt
- .hash(user.password, saltRounds)
- .then((password) => (user.password = password))
- .then(() => user);
-}
diff --git a/apps/backend/shared/database/seeds/package.json b/apps/backend/shared/database/seeds/package.json
deleted file mode 100644
index 5bbefff..0000000
--- a/apps/backend/shared/database/seeds/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "type": "commonjs"
-}
diff --git a/apps/backend/shared/error/helpers.js b/apps/backend/shared/error/helpers.js
deleted file mode 100644
index dc682dd..0000000
--- a/apps/backend/shared/error/helpers.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import httpError from 'http-errors';
-
-function validationError(err) {
- const code = 400;
- return Promise.reject(httpError(code, err.message, { validation: true }));
-}
-
-function createError(code = 400, message = 'An error has occured') {
- return Promise.reject(httpError(code, message, { custom: true }));
-}
-
-export { createError, validationError };
diff --git a/apps/backend/shared/logger.js b/apps/backend/shared/logger.js
deleted file mode 100644
index 7f2ac7f..0000000
--- a/apps/backend/shared/logger.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import pino from 'pino';
-import pinoHttp from 'pino-http';
-
-import { isProduction } from '#config';
-
-export const Level = {
- Fatal: 'fatal',
- Error: 'error',
- Warn: 'warn',
- Info: 'info',
- Debug: 'debug',
- Trace: 'trace',
- Silent: 'silent',
-};
-
-const prettyTransport = {
- target: 'pino-pretty',
- options: { colorize: true },
-};
-
-const transport = isProduction ? undefined : prettyTransport;
-
-export const createLogger = (name, opts = {}) =>
- pino({
- name,
- level: opts?.level || Level.Info,
- transport,
- });
-
-export const createHttpLogger = () =>
- pinoHttp({ transport });
diff --git a/apps/backend/shared/mail/formatters.js b/apps/backend/shared/mail/formatters.js
deleted file mode 100644
index fa043fb..0000000
--- a/apps/backend/shared/mail/formatters.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import { htmlToText } from 'html-to-text';
-
-function html() {
- return (text, render) => htmlToText(render(text));
-}
-
-export { html };
diff --git a/apps/backend/shared/mail/index.js b/apps/backend/shared/mail/index.js
deleted file mode 100644
index 6abc9c4..0000000
--- a/apps/backend/shared/mail/index.js
+++ /dev/null
@@ -1,95 +0,0 @@
-import { fileURLToPath, URL } from 'node:url';
-import path from 'node:path';
-import pick from 'lodash/pick.js';
-import { SMTPClient } from 'emailjs';
-import urlJoin from 'url-join';
-import { renderHtml, renderText } from './render.js';
-import { createLogger, Level } from '#logger';
-import { mail as config, origin } from '#config';
-
-const __dirname = path.dirname(fileURLToPath(import.meta.url));
-const logger = createLogger('mailer', { level: Level.DEBUG });
-
-const from = `${config.sender.name} <${config.sender.address}>`;
-const client = new SMTPClient(config);
-// NOTE: Enable SMTP tracing if DEBUG is set.
-client.smtp.debug(Number(Boolean(process.env.DEBUG)));
-logger.info(getConfig(client), '๐ง SMTP client created');
-
-const send = async (...args) => {
- try {
- const msg = await client.sendAsync(...args);
- logger.debug('๐ง Email sent', msg);
- return msg;
- } catch (error) {
- logger.error('๐ง Failed to send email', error);
- }
-};
-
-const templatesDir = path.join(__dirname, './templates/');
-
-const resetUrl = (token) =>
- urlJoin(origin, '/auth/reset-password/', token, '/');
-
-export default {
- send,
- invite,
- resetPassword,
-};
-
-function invite(user, token) {
- const href = resetUrl(token);
- const { hostname } = new URL(href);
- const recipient = user.email;
- const recipientName = user.firstName || user.email;
- const data = { href, origin, hostname, recipientName };
- const html = renderHtml(path.join(templatesDir, 'welcome.mjml'), data);
- const text = renderText(path.join(templatesDir, 'welcome.txt'), data);
- logger.info(
- { recipient, sender: from },
- '๐ง Sending invite email to:',
- recipient,
- );
- return send({
- from,
- to: recipient,
- subject: 'Invite',
- text,
- attachment: [{ data: html, alternative: true }],
- });
-}
-
-function resetPassword(user, token) {
- const href = resetUrl(token);
- const recipient = user.email;
- const recipientName = user.firstName || user.email;
- const data = { href, recipientName, origin };
- const html = renderHtml(path.join(templatesDir, 'reset.mjml'), data);
- const text = renderText(path.join(templatesDir, 'reset.txt'), data);
- logger.info(
- { recipient, sender: from },
- '๐ง Sending reset password email to:',
- recipient,
- );
- return send({
- from,
- to: recipient,
- subject: 'Reset password',
- text,
- attachment: [{ data: html, alternative: true }],
- });
-}
-
-function getConfig(client) {
- // NOTE: List public keys:
- // https://github.com/eleith/emailjs/blob/7fddabe/smtp/smtp.js#L86
- return pick(client.smtp, [
- 'host',
- 'port',
- 'domain',
- 'authentication',
- 'ssl',
- 'tls',
- 'timeout',
- ]);
-}
diff --git a/apps/backend/shared/mail/render.js b/apps/backend/shared/mail/render.js
deleted file mode 100644
index 0442136..0000000
--- a/apps/backend/shared/mail/render.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import * as fs from 'node:fs';
-import cheerio from 'cheerio';
-import map from 'lodash/map.js';
-import mapKeys from 'lodash/mapKeys.js';
-import mjml2html from 'mjml';
-import mustache from 'mustache';
-import { kebabCase } from 'change-case';
-import { html } from './formatters.js';
-
-export { renderHtml, renderText };
-
-function renderHtml(templatePath, data, style) {
- const template = fs.readFileSync(templatePath, 'utf8');
- const $ = cheerio.load(template, { xmlMode: true });
- const $style = $('mj-attributes');
- $style.append(getAttributes($, style));
- const opts = { filePath: templatePath, minify: true };
- const mustacheOutput = mustache.render($.html(), data);
- const output = mjml2html(mustacheOutput, opts).html;
- // NOTE: Additional `mustache.render` call handles mustache syntax within mjml
- // subcomponents. Subcomponents' mustache syntax is removed by `mjml2html` if
- // placed outside of tag attribute or mj-text tag.
- return mustache.render(output, data);
-}
-
-function renderText(templatePath, data) {
- const template = fs.readFileSync(templatePath, 'utf8');
- return mustache.render(template, { ...data, html });
-}
-
-function getAttributes($, style = {}) {
- return map(style, (declarations, name) =>
- $('').attr({
- name,
- ...mapKeys(declarations, (_, key) => kebabCase(key)),
- }),
- );
-}
diff --git a/apps/backend/shared/mail/templates/components/footer.mjml b/apps/backend/shared/mail/templates/components/footer.mjml
deleted file mode 100644
index 28691cc..0000000
--- a/apps/backend/shared/mail/templates/components/footer.mjml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- If you didn't request this, please ignore this email.
-
diff --git a/apps/backend/shared/mail/templates/components/head.mjml b/apps/backend/shared/mail/templates/components/head.mjml
deleted file mode 100644
index c564c3d..0000000
--- a/apps/backend/shared/mail/templates/components/head.mjml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
- strong {
- font-weight: bold;
- }
-
- a {
- color: #c2185b;
- text-decoration: none;
- }
-
- .content {
- color: #222222;
- font-size: 16px;
- font-family: 'Helvetica Neue', helvetica, arial, sans-serif;
- }
-
- .label {
- font-size: 14px;
- font-weight: 700;
- }
-
- .avatar {
- display: block;
- width: 36px;
- height: 36px;
- color: #fff;
- line-height: 36px;
- font-weight: 100;
- text-align: center;
- border-radius: 50%;
- background-color: #36474f;
- }
-
-
diff --git a/apps/backend/shared/mail/templates/components/header.mjml b/apps/backend/shared/mail/templates/components/header.mjml
deleted file mode 100644
index f5a965b..0000000
--- a/apps/backend/shared/mail/templates/components/header.mjml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- App name
-
-
-
-
diff --git a/apps/backend/shared/mail/templates/reset.mjml b/apps/backend/shared/mail/templates/reset.mjml
deleted file mode 100644
index 3210b06..0000000
--- a/apps/backend/shared/mail/templates/reset.mjml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
- Hello {{recipientName}},
-
-
- You have requested password reset.
-
-
- Please reset your password by clicking the button below:
-
-
- Reset password
-
-
- Or copy and paste this URL into your browser:
-
- {{href}}
-
-
-
-
-
diff --git a/apps/backend/shared/mail/templates/reset.txt b/apps/backend/shared/mail/templates/reset.txt
deleted file mode 100644
index 5626edb..0000000
--- a/apps/backend/shared/mail/templates/reset.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-App name
-=================================================
-
-Hello {{recipientName}},
-
-You have requested password reset.
-Please reset your password by clicking the URL below:
-
-{{href}}
-
-Or copy and paste this URL into your browser.
-
-
--------------------------------------------------
-If you didn't request this, please ignore this email.
diff --git a/apps/backend/shared/mail/templates/welcome.mjml b/apps/backend/shared/mail/templates/welcome.mjml
deleted file mode 100644
index 5d59f9c..0000000
--- a/apps/backend/shared/mail/templates/welcome.mjml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
- Welcome {{recipientName}},
-
-
- An account has been created for you on {{hostname}}.
-
-
- Please finish your registration by clicking the button below:
-
-
- Complete registration
-
-
- Or copy and paste this URL into your browser:
-
- {{href}}
-
-
-
-
-
diff --git a/apps/backend/shared/mail/templates/welcome.txt b/apps/backend/shared/mail/templates/welcome.txt
deleted file mode 100644
index cd9afcb..0000000
--- a/apps/backend/shared/mail/templates/welcome.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-App name
-=================================================
-
-Welcome {{recipientName}},
-
-An account has been created for you on {{hostname}}.
-Please finish your registration by clicking the URL below:
-
-{{href}}
-
-Or copy and paste this URL into your browser.
-
-
--------------------------------------------------
-If you didn't request this, please ignore this email.
diff --git a/apps/backend/shared/oAuth2Provider.js b/apps/backend/shared/oAuth2Provider.js
deleted file mode 100644
index c24cc1c..0000000
--- a/apps/backend/shared/oAuth2Provider.js
+++ /dev/null
@@ -1,54 +0,0 @@
-import { ClientCredentials } from 'simple-oauth2';
-import request from 'axios';
-import yup from 'yup';
-import oAuthConfig from '../config/consumer.js';
-
-const schema = yup.object().shape({
- clientId: yup.string().required(),
- clientSecret: yup.string().required(),
- tokenHost: yup.string().url().required(),
- tokenPath: yup.string().required(),
-});
-
-function createOAuth2Provider() {
- if (!oAuthConfig.isAuthConfigured) {
- return { isConfigured: false };
- }
- const { clientId, clientSecret, tokenHost, tokenPath } = schema.validateSync(
- oAuthConfig,
- { stripUnknown: true },
- );
-
- const client = new ClientCredentials({
- client: { id: clientId, secret: clientSecret },
- auth: { tokenHost, tokenPath },
- });
-
- let accessToken;
-
- async function send(url, payload) {
- if (!accessToken || accessToken.expired()) {
- await getAccessToken();
- }
- return request
- .post(url, payload, {
- headers: {
- Authorization: `Bearer ${accessToken.token.access_token}`,
- },
- })
- .catch((error) => console.error(error.message));
- }
-
- function getAccessToken() {
- return client
- .getToken()
- .then((token) => {
- accessToken = token;
- })
- .catch((error) => console.error('Access Token Error', error.message));
- }
-
- return { send, isConfigured: true };
-}
-
-export default createOAuth2Provider();
diff --git a/apps/backend/shared/origin.js b/apps/backend/shared/origin.js
deleted file mode 100644
index bc43949..0000000
--- a/apps/backend/shared/origin.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { createLogger } from '#logger';
-import { hostname } from '#config';
-
-const logger = createLogger();
-const isProduction = process.env.NODE_ENV === 'production';
-
-export default () => {
- if (hostname) return middleware;
- const message = 'Origin: "HOSTNAME" is not set, using "Host" HTTP header.';
- isProduction ? logger.warn('โ ๏ธ ', message) : logger.info(message);
- return middleware;
-};
-
-function middleware(req, _, next) {
- Object.defineProperty(req, 'origin', {
- get: () => `${req.protocol}://${hostname || req.get('host')}`,
- });
- next();
-}
diff --git a/apps/backend/shared/request/mw.js b/apps/backend/shared/request/mw.js
deleted file mode 100644
index a6a5c1b..0000000
--- a/apps/backend/shared/request/mw.js
+++ /dev/null
@@ -1,56 +0,0 @@
-import Keyv from 'keyv';
-import rateLimit from 'express-rate-limit';
-import {
- general as generalConfig,
- kvStore as kvStoreConfig,
-} from '#config';
-
-const DEFAULT_WINDOW_MS = 1 * 60 * 1000; // every minute
-
-// Store must be implemented using the following interface:
-// https://github.com/nfriedly/express-rate-limit/blob/master/README.md#store
-class Store {
- constructor() {
- this.cache = new Keyv({
- ...kvStoreConfig.keyvDefaultConfig,
- namespace: 'request-limiter',
- });
- }
-
- async incr(key, cb) {
- const initialState = { hits: 0 };
- const { hits, ...record } = (await this.cache.has(key))
- ? await this.cache.get(key)
- : initialState;
- const updatedHits = hits + 1;
- await this.cache.set(key, { ...record, hits: updatedHits });
- cb(null, updatedHits);
- }
-
- async decrement(key) {
- const { hits, ...record } = (await this.cache.get(key)) || {};
- if (!hits) return;
- return this.cache.set(key, { ...record, hits: hits - 1 });
- }
-
- resetKey(key) {
- return this.cache.delete(key);
- }
-}
-
-const defaultStore = new Store();
-
-function requestLimiter({
- limit = 30,
- windowMs = DEFAULT_WINDOW_MS,
- validate = false,
- store = defaultStore,
- ...opts
-} = {}) {
- const max = limit > 0 ? limit : 0;
- const options = { limit: max, validate, windowMs, store, ...opts };
- if (!generalConfig.enableRateLimiting) options.skip = () => true;
- return rateLimit(options);
-}
-
-export { requestLimiter };
diff --git a/apps/backend/shared/sse/channels.js b/apps/backend/shared/sse/channels.js
deleted file mode 100644
index 046cc41..0000000
--- a/apps/backend/shared/sse/channels.js
+++ /dev/null
@@ -1,59 +0,0 @@
-import { EventEmitter } from 'events';
-
-const channels = new Map();
-
-class Channel extends EventEmitter {
- constructor(id) {
- super();
- this._id = id;
- this._connections = new Map();
- }
-
- get id() {
- return this._id;
- }
-
- add(connection) {
- this._connections.set(connection.id, connection);
- connection.prependOnceListener('close', () => this.remove(connection));
- return this;
- }
-
- remove(connection) {
- this._connections.delete(connection.id);
- if (!this._connections.size) this.emit('close');
- return this;
- }
-
- // eslint-disable-next-line no-unused-vars
- send(_event, _data) {
- this._connections.forEach((connection) => connection.send(...arguments));
- return this;
- }
-}
-
-export default {
- getChannel,
- addConnection,
- removeConnection,
-};
-
-function getChannel(channelId) {
- channelId = String(channelId);
- return channels.get(channelId) || new Channel('\0dummy');
-}
-
-function addConnection(channelId, connection) {
- channelId = String(channelId);
- if (channels.has(channelId)) {
- return channels.get(channelId).add(connection);
- }
- const channel = new Channel(channelId);
- channel.prependOnceListener('close', () => channels.delete(channelId));
- channels.set(channelId, channel);
- return channel.add(connection);
-}
-
-function removeConnection(channelId, connection) {
- return getChannel(channelId).remove(connection);
-}
diff --git a/apps/backend/shared/sse/index.js b/apps/backend/shared/sse/index.js
deleted file mode 100644
index 8d97ef4..0000000
--- a/apps/backend/shared/sse/index.js
+++ /dev/null
@@ -1,125 +0,0 @@
-import { EventEmitter } from 'events';
-import { createId as cuid, isCuid } from '@paralleldrive/cuid2';
-
-import channels from './channels.js';
-
-const SSE_TIMEOUT_MARGIN = 0.1;
-const SSE_DEFAULT_TIMEOUT = 60000; /* ms */
-const SSE_HEADERS = {
- 'Content-Type': 'text/event-stream',
- 'Cache-Control': 'no-transform',
- 'Connection': 'keep-alive',
- 'Transfer-Encoding': 'chunked',
- // NOTE: This controls nginx proxy buffering
- // https://nginx.com/resources/wiki/start/topics/examples/x-accel/#x-accel-buffering
- 'X-Accel-Buffering': 'no',
-};
-
-const hasProp = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
-
-class SSEConnection extends EventEmitter {
- constructor(res) {
- super();
- this._id = null;
- this._res = res;
- this._req = res.req;
- this._lastEventId = 0;
- this._heartbeat = null;
- this.initialize();
- }
-
- static create(res) {
- return new this(res);
- }
-
- get id() {
- return this._id;
- }
-
- get socket() {
- return this._res.socket;
- }
-
- get query() {
- return this._req.query;
- }
-
- header(name) {
- return this._req.header(name);
- }
-
- get timeout() {
- const connectionTimeout = parseInt(this.header('connection-timeout'), 10);
- const timeout = connectionTimeout || SSE_DEFAULT_TIMEOUT;
- return timeout * (1 - SSE_TIMEOUT_MARGIN);
- }
-
- initialize() {
- // Set socket properties.
- this.socket.setTimeout(0);
- this.socket.setNoDelay(true);
- this.socket.setKeepAlive(true);
- // Gracefully handle termination.
- this._req.once('close', () => this.close());
- // Set event stream headers.
- this._res.writeHead(200, SSE_HEADERS);
- this._res.flushHeaders();
- // Ensure connection id is correctly set.
- this._id = isCuid(this.query.id) ? this.query.id : cuid();
- // Setup heartbeat interval.
- if (this.timeout > 0) {
- this._heartbeat = setInterval(() => this.write(':ping'), this.timeout);
- }
- // Start stream.
- return this.write(':ok');
- }
-
- write(payload = '') {
- return this._res.write(`${payload}\n\n`);
- }
-
- send(event, data = '') {
- const id = (this._lastEventId += 1);
- this.emit('data', { id, event, data });
- const json = JSON.stringify(data);
- const payload = [`id: ${id}`, `event: ${event}`, `data: ${json}`].join(
- '\n',
- );
- this.write(payload);
- if (hasProp(this.query, 'debug')) {
- this.debug({ id, type: event, data });
- }
- return this;
- }
-
- debug(data = '') {
- const json = JSON.stringify(data);
- this.write(`data: ${json}`);
- return this;
- }
-
- close() {
- if (this._heartbeat) clearInterval(this._heartbeat);
- this._res.end();
- this.emit('close');
- }
-
- static channel(channelId) {
- return channels.getChannel(channelId);
- }
-
- join(channelId) {
- return channels.addConnection(channelId, this);
- }
-
- leave(channelId) {
- return channels.removeConnection(channelId, this);
- }
-}
-
-export default SSEConnection;
-
-export function middleware(_req, res, next) {
- res.sse = SSEConnection.create(res);
- next();
-}
diff --git a/apps/backend/shared/storage/index.js b/apps/backend/shared/storage/index.js
deleted file mode 100644
index 78c52ea..0000000
--- a/apps/backend/shared/storage/index.js
+++ /dev/null
@@ -1,89 +0,0 @@
-import { fileURLToPath } from 'node:url';
-import path from 'node:path';
-import autobind from 'auto-bind';
-
-const __dirname = path.dirname(fileURLToPath(import.meta.url));
-
-class Storage {
- constructor(provider) {
- this.provider = provider;
- autobind(this);
- }
-
- getFile(key, options = {}) {
- return this.provider.getFile(key, options);
- }
-
- createReadStream(key, options = {}) {
- return this.provider.createReadStream(key, options);
- }
-
- saveFile(key, data, options = {}) {
- return this.provider.saveFile(key, data, options);
- }
-
- createWriteStream(key, options = {}) {
- return this.provider.createWriteStream(key, options);
- }
-
- deleteFile(key, options = {}) {
- return this.provider.deleteFile(key, options);
- }
-
- deleteFiles(keys, options = {}) {
- return this.provider.deleteFiles(keys, options);
- }
-
- listFiles(options = {}) {
- return this.provider.listFiles(options);
- }
-
- fileExists(key, options = {}) {
- return this.provider.fileExists(key, options);
- }
-
- getFileUrl(key, options = {}) {
- return this.provider.getFileUrl(key, options);
- }
-
- moveFile(key, newKey, options = {}) {
- return this.provider.moveFile(key, newKey, options);
- }
-
- copyFile(key, newKey, options = {}) {
- return this.provider.copyFile(key, newKey, options);
- }
-
- static async create(config) {
- const provider = await Storage.createProvider(config);
- return new this(provider);
- }
-
- static async createProvider(options) {
- // Validate provider name.
- const providerName = options.provider;
- if (!options[providerName]) {
- throw new Error('Provider should be defined in config');
- }
-
- // Load provider module & create provider instance.
- const config = options[providerName];
- const Provider = await loadProvider(providerName);
- return Provider.create(config);
- }
-}
-
-export default Storage;
-
-async function loadProvider(name) {
- try {
- const Provider = await import(
- path.join(__dirname, './providers/', `${name}.js`)
- );
- return Provider;
- } catch (err) {
- if (err.code === 'MODULE_NOT_FOUND')
- throw new Error('Unsupported provider');
- throw err;
- }
-}
diff --git a/apps/backend/shared/storage/providers/amazon.js b/apps/backend/shared/storage/providers/amazon.js
deleted file mode 100644
index 3c3cded..0000000
--- a/apps/backend/shared/storage/providers/amazon.js
+++ /dev/null
@@ -1,199 +0,0 @@
-import { PassThrough } from 'node:stream';
-import path from 'node:path';
-import * as yup from 'yup';
-import {
- CopyObjectCommand,
- CreateBucketCommand,
- DeleteObjectCommand,
- DeleteObjectsCommand,
- GetObjectCommand,
- HeadBucketCommand,
- HeadObjectCommand,
- ListObjectsV2Command,
- PutObjectCommand,
- S3Client,
-} from '@aws-sdk/client-s3';
-import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
-import mime from 'mime-types';
-import { Upload } from '@aws-sdk/lib-storage';
-import { validateConfig } from '../validation.js';
-
-const noop = () => {};
-const isNotFound = (err) => err.Code === 'NoSuchKey';
-const DEFAULT_EXPIRATION_TIME = 3600; // seconds
-
-export const schema = yup.object().shape({
- endpoint: yup.string(),
- region: yup.string().required(),
- bucket: yup.string().required(),
- key: yup.string().required(),
- secret: yup.string().required(),
-});
-
-class Amazon {
- constructor(config) {
- config = validateConfig(config, schema);
-
- const s3Config = {
- signatureVersion: 'v4',
- region: config.region,
- apiVersion: '2006-03-01',
- maxRetries: 3,
- };
-
- if (config.endpoint) {
- s3Config.endpoint = config.endpoint;
- s3Config.forcePathStyle = true;
- }
-
- if (config.key && config.secret) {
- s3Config.credentials = {
- accessKeyId: config.key,
- secretAccessKey: config.secret,
- };
- }
-
- this.bucket = config.bucket;
- this.region = config.region;
- this.client = new S3Client(s3Config);
- this.initTestBucket();
- }
-
- static create(config) {
- return new Amazon(config);
- }
-
- async initTestBucket() {
- const endpoint = await this.client.config.endpoint();
- if (!endpoint.hostname === 'localhost') return;
- try {
- await this.client.send(new HeadBucketCommand({ Bucket: this.bucket }));
- } catch {
- await this.client.send(new CreateBucketCommand({ Bucket: this.bucket }));
- }
- }
-
- path(...segments) {
- segments = [this.bucket, ...segments];
- return path.join(...segments);
- }
-
- // API docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/classes/getobjectcommand.html
- getFile(key, options = {}) {
- const params = Object.assign(options, { Bucket: this.bucket, Key: key });
- return this.client
- .send(new GetObjectCommand(params))
- .then(({ Body: data }) => data.transformToByteArray())
- .then(Buffer.from)
- .catch((err) => {
- if (isNotFound(err)) return null;
- return Promise.reject(err);
- });
- }
-
- // API docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/classes/getobjectcommand.html
- async createReadStream(key, options = {}) {
- const throughStream = new PassThrough();
- const params = Object.assign(options, {
- Bucket: this.bucket,
- Key: key,
- Body: throughStream,
- ContentType: options.ContentType || mime.lookup(key),
- });
- const s3Item = await this.client.send(new GetObjectCommand(params));
- s3Item.Body.pipe(throughStream);
- return throughStream;
- }
-
- // API docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/classes/putobjectcommand.html
- saveFile(key, data, options = {}) {
- const params = Object.assign(options, {
- Bucket: this.bucket,
- Key: key,
- Body: data,
- });
- return this.client.send(new PutObjectCommand(params));
- }
-
- // API docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/classes/_aws_sdk_lib_storage.Upload.html
- createWriteStream(key, options = {}) {
- const throughStream = new PassThrough();
- const params = Object.assign(options, {
- Bucket: this.bucket,
- Key: key,
- Body: throughStream,
- ContentType: options.ContentType || mime.lookup(key),
- });
- const upload = new Upload({ client: this.client, params });
- upload.done().catch(noop);
- return throughStream;
- }
-
- // API docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/classes/copyobjectcommand.html
- copyFile(key, newKey, options = {}) {
- const { base, ...rest } = path.parse(key);
- const encodedSource = path.format({
- base: encodeURIComponent(base),
- ...rest,
- });
- const params = Object.assign(
- options,
- { Bucket: this.bucket },
- {
- CopySource: this.path(`/${encodedSource}`),
- Key: newKey,
- },
- );
- return this.client.send(new CopyObjectCommand(params));
- }
-
- moveFile(key, newKey, options = {}) {
- return this.copyFile(key, newKey, options).then((result) =>
- this.deleteFile(key).then(() => result),
- );
- }
-
- // API docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/classes/deleteobjectcommand.html
- deleteFile(key, options = {}) {
- const params = Object.assign(options, { Bucket: this.bucket, Key: key });
- return this.client.send(new DeleteObjectCommand(params));
- }
-
- // API docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/classes/deleteobjectscommand.html
- deleteFiles(keys, options = {}) {
- const objects = keys.map((key) => ({ Key: key }));
- if (!keys.length) return Promise.resolve();
- const params = Object.assign(options, {
- Bucket: this.bucket,
- Delete: { Objects: objects },
- });
- return this.client.send(new DeleteObjectsCommand(params));
- }
-
- // API docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/classes/listobjectsv2command.html
- listFiles(key, options = {}) {
- const params = Object.assign(options, { Bucket: this.bucket, Prefix: key });
- return this.client
- .send(new ListObjectsV2Command(params))
- .then(({ Contents: files }) => files.map((file) => file.Key));
- }
-
- // API docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/classes/headobjectcommand.html
- fileExists(key) {
- const params = { Bucket: this.bucket, Key: key };
- return this.client.send(new HeadObjectCommand(params)).catch((err) => {
- if (isNotFound(err)) return null;
- return Promise.reject(err);
- });
- }
-
- // API docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/classes/getobjectcommand.html
- getFileUrl(key, options = {}) {
- const expires = options.expires || DEFAULT_EXPIRATION_TIME;
- const params = Object.assign(options, { Bucket: this.bucket, Key: key });
- const command = new GetObjectCommand(params);
- return getSignedUrl(this.client, command, { expiresIn: expires });
- }
-}
-
-export const create = Amazon.create.bind(Amazon);
diff --git a/apps/backend/shared/storage/providers/filesystem.js b/apps/backend/shared/storage/providers/filesystem.js
deleted file mode 100644
index ffa51a9..0000000
--- a/apps/backend/shared/storage/providers/filesystem.js
+++ /dev/null
@@ -1,99 +0,0 @@
-import * as fs from 'node:fs';
-import * as fsp from 'node:fs/promises';
-import path from 'node:path';
-import expandPath from 'untildify';
-import { mkdirp } from 'mkdirp';
-import * as yup from 'yup';
-import { pathExists } from 'path-exists';
-import Promise from 'bluebird';
-import { validateConfig } from '../validation.js';
-import config from '#config';
-
-const isNotFound = (err) => err.code === 'ENOENT';
-const resolvePath = (str) => path.resolve(expandPath(str));
-
-export const schema = yup.object().shape({
- path: yup.string().required(),
-});
-
-class FilesystemStorage {
- constructor(config) {
- config = validateConfig(config, schema);
- this.root = resolvePath(config.path);
- }
-
- static create(config) {
- return new FilesystemStorage(config);
- }
-
- path(...segments) {
- segments = [this.root, ...segments];
- return path.join(...segments);
- }
-
- getFile(key, options = {}) {
- return fsp.readFile(this.path(key), options).catch((err) => {
- if (isNotFound(err)) return null;
- return Promise.reject(err);
- });
- }
-
- createReadStream(key, options = {}) {
- return fs.createReadStream(this.path(key), options);
- }
-
- saveFile(key, data, options = {}) {
- const filePath = this.path(key);
- return mkdirp(path.dirname(filePath)).then(() =>
- fsp.writeFile(filePath, data, options),
- );
- }
-
- createWriteStream(key, options = {}) {
- const filepath = this.path(key);
- const dirname = path.dirname(filepath);
- // TODO: Replace with async mkdir
- fs.mkdirSync(dirname, { recursive: true });
- return fs.createWriteStream(filepath, options);
- }
-
- copyFile(key, newKey) {
- const src = this.path(key);
- const dest = this.path(newKey);
- return mkdirp(path.dirname(dest)).then(() => fsp.copyFile(src, dest));
- }
-
- moveFile(key, newKey) {
- return this.copyFile(key, newKey).then((file) =>
- this.deleteFile(key).then(() => file),
- );
- }
-
- deleteFile(key) {
- return fsp.unlink(this.path(key));
- }
-
- deleteFiles(keys) {
- return Promise.map(keys, (key) => this.deleteFile(key));
- }
-
- listFiles(key, options = {}) {
- return fsp
- .readdir(this.path(key), options)
- .map((fileName) => `${key}/${fileName}`)
- .catch((err) => {
- if (isNotFound(err)) return null;
- return Promise.reject(err);
- });
- }
-
- fileExists(key) {
- return pathExists(this.path(key));
- }
-
- getFileUrl(key) {
- return Promise.resolve(`${config.origin}/${key}`);
- }
-}
-
-export const create = FilesystemStorage.create.bind(FilesystemStorage);
diff --git a/apps/backend/shared/storage/storage.controller.js b/apps/backend/shared/storage/storage.controller.js
deleted file mode 100644
index bd54fe7..0000000
--- a/apps/backend/shared/storage/storage.controller.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import path from 'node:path';
-import fecha from 'fecha';
-import StorageService from './storage.service.js';
-
-const { getFileUrl } = Storage;
-
-function getUrl(req, res) {
- const {
- query: { key },
- } = req;
- return getFileUrl(key).then((url) => res.json({ url }));
-}
-
-async function upload({ file, body, user }, res) {
- const { name } = path.parse(file.originalname);
- if (body.unpack) {
- const timestamp = fecha.format(new Date(), 'YYYY-MM-DDTHH:mm:ss');
- const root = `${timestamp}__${user.id}__${name}`;
- const assets = await StorageService.uploadArchiveContent(file, root);
- return res.json({ root, assets });
- }
- const asset = await StorageService.uploadFile(file, name);
- return res.json(asset);
-}
-
-export default {
- getUrl,
- upload,
-};
diff --git a/apps/backend/shared/storage/storage.router.js b/apps/backend/shared/storage/storage.router.js
deleted file mode 100644
index db52513..0000000
--- a/apps/backend/shared/storage/storage.router.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import express from 'express';
-import multer from 'multer';
-import ctrl from './storage.controller.js';
-
-const router = express.Router();
-const upload = multer({ storage: multer.memoryStorage() });
-
-router.get('/', ctrl.getUrl).post('/', upload.single('file'), ctrl.upload);
-
-export default {
- path: '/assets',
- router,
-};
diff --git a/apps/backend/shared/storage/storage.service.js b/apps/backend/shared/storage/storage.service.js
deleted file mode 100644
index 14732f8..0000000
--- a/apps/backend/shared/storage/storage.service.js
+++ /dev/null
@@ -1,58 +0,0 @@
-import path from 'node:path';
-import fromPairs from 'lodash/fromPairs.js';
-import JSZip from 'jszip';
-import mime from 'mime-types';
-import pickBy from 'lodash/pickBy.js';
-import request from 'axios';
-import { v4 as uuidv4 } from 'uuid';
-
-import Storage from '../../repository/storage.js';
-import { readFile, sha256 } from './util.js';
-import { storage as config } from '#config';
-
-const { getFileUrl, getPath, saveFile } = Storage;
-const getStorageUrl = (key) => `${config.protocol}${key}`;
-
-class StorageService {
- // Prefix key with custom protocol. e.g. storage://sample_key.ext
- getStorageUrl = (key) => `${config.protocol}${key}`;
-
- async uploadFile(file, name) {
- const buffer = await readFile(file);
- const hash = sha256(file.originalname, buffer);
- const extension = path.extname(file.originalname);
- const fileName = `${hash}___${name}${extension}`;
- const key = path.join(getPath(), fileName);
- await saveFile(key, buffer, { ContentType: file.mimetype });
- const publicUrl = await getFileUrl(key);
- return { key, publicUrl, url: getStorageUrl(key) };
- }
-
- async uploadArchiveContent(archive, name) {
- const buffer = await readFile(archive);
- const content = await JSZip.loadAsync(buffer);
- const files = pickBy(content.files, (it) => !it.dir);
- const keys = await Promise.all(
- Object.keys(files).map(async (src) => {
- const key = path.join(getPath(), name, src);
- const file = await content.file(src).async('uint8array');
- const mimeType = mime.lookup(src);
- await saveFile(key, Buffer.from(file), { ContentType: mimeType });
- return [key, getStorageUrl(key)];
- }),
- );
- return fromPairs(keys);
- }
-
- async downloadToStorage(url) {
- const res = await request.get(url, { responseType: 'arraybuffer' });
- const filename = path.join(
- getPath(),
- `${uuidv4()}__${url.pathname.split('/').pop()}`,
- );
- await Storage.saveFile(filename, res.data);
- return getStorageUrl(filename);
- }
-}
-
-export default new StorageService();
diff --git a/apps/backend/shared/storage/util.js b/apps/backend/shared/storage/util.js
deleted file mode 100644
index 16e3b95..0000000
--- a/apps/backend/shared/storage/util.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import * as fsp from 'node:fs/promises';
-import crypto from 'node:crypto';
-
-function sha256(...args) {
- const hash = crypto.createHash('sha256');
- args.forEach((arg) => hash.update(arg));
- return hash.digest('hex');
-}
-
-function readFile(file) {
- if (file.buffer) return Promise.resolve(file.buffer);
- return fsp.readFile(file.path);
-}
-
-export { sha256, readFile };
diff --git a/apps/backend/shared/storage/validation.js b/apps/backend/shared/storage/validation.js
deleted file mode 100644
index 683d988..0000000
--- a/apps/backend/shared/storage/validation.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import * as yup from 'yup';
-
-const { ValidationError } = yup;
-
-yup.addMethod(yup.string, 'pkcs1', function () {
- function isValid(value) {
- if (!value) return false;
- const isValidStart = value.startsWith('-----BEGIN RSA PRIVATE KEY-----');
- const isValidEnd = value.endsWith('-----END RSA PRIVATE KEY-----');
- return isValidStart && isValidEnd;
- }
- return this.test('format', 'Invalid private key format', isValid);
-});
-
-export { validateConfig };
-
-function validateConfig(config, schema) {
- try {
- return schema.validateSync(config, { stripUnknown: true });
- } catch (error) {
- if (!ValidationError.isError(error)) throw error;
- const err = new Error('Unsupported config structure');
- err.cause = error;
- throw err;
- }
-}
diff --git a/apps/backend/shared/util/Deferred.js b/apps/backend/shared/util/Deferred.js
deleted file mode 100644
index 5aa0ad1..0000000
--- a/apps/backend/shared/util/Deferred.js
+++ /dev/null
@@ -1,9 +0,0 @@
-export default function Deferred() {
- this.promise = new Promise((resolve, reject) => {
- this.resolve = resolve;
- this.reject = reject;
- });
- this.callback = (err, ...args) => {
- return err ? this.reject(err) : this.resolve(...args);
- };
-}
diff --git a/apps/backend/shared/util/processListQuery.js b/apps/backend/shared/util/processListQuery.js
deleted file mode 100644
index 74d0b1d..0000000
--- a/apps/backend/shared/util/processListQuery.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import assign from 'lodash/assign.js';
-import defaultsDeep from 'lodash/defaultsDeep.js';
-import { Op } from 'sequelize';
-import pick from 'lodash/pick.js';
-
-const filter = {
- where: {},
- offset: 0,
- limit: null,
- order: [['id', 'ASC']],
- paranoid: true,
-};
-
-export default function (defaults) {
- return function (req, _res, next) {
- const order = [[req.query.sortBy, req.query.sortOrder]];
- const query = assign(pick(req.query, ['offset', 'limit', 'paranoid']), {
- order,
- });
- const options = defaultsDeep({}, query, defaults, filter);
-
- if (query.integration) {
- options.paranoid = false;
- }
-
- if (query.syncedAt) {
- const condition = { $gte: query.syncedAt };
- options.where[Op.or] = [
- { updatedAt: condition },
- { deletedAt: condition },
- ];
- }
-
- req.opts = options;
-
- next();
- };
-}
diff --git a/apps/backend/src/app.module.ts b/apps/backend/src/app.module.ts
new file mode 100644
index 0000000..f5036c5
--- /dev/null
+++ b/apps/backend/src/app.module.ts
@@ -0,0 +1,80 @@
+import { ConfigModule, ConfigService } from '@nestjs/config';
+import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler';
+import { APP_GUARD } from '@nestjs/core';
+import { AuthModule } from './modules/auth/auth.module';
+import { CommonModule } from './common/common.module';
+import { HealthModule } from './modules/health/health.module';
+import { LoggerModule } from 'nestjs-pino';
+import { MailModule } from './modules/mail/mail.module';
+import { MikroOrmModule } from '@mikro-orm/nestjs';
+import { Module } from '@nestjs/common';
+import { ServeStaticModule } from '@nestjs/serve-static';
+import { SeedModule } from './modules/seed/seed.module';
+import { UserModule } from './modules/user/user.module';
+import { SentryModule } from '@sentry/nestjs/setup';
+
+import authConfig from './config/auth.config';
+import dbConfig from './config/db.config';
+import generalConfig from './config/general.config';
+import { join } from 'path';
+import mailConfig from './config/mail.config';
+import mikroOrmConfig from './config/mikro-orm.config';
+import pinoConfig from './config/lib/pino.config';
+import { validationSchema } from './config/validation';
+
+const isProduction = process.env.NODE_ENV === 'production';
+
+@Module({
+ imports: [
+ ConfigModule.forRoot({
+ envFilePath: '../../.env',
+ load: [authConfig, dbConfig, generalConfig, mailConfig, mikroOrmConfig],
+ validationSchema,
+ isGlobal: true,
+ cache: true,
+ expandVariables: true,
+ }),
+ LoggerModule.forRootAsync({
+ imports: [ConfigModule],
+ inject: [ConfigService],
+ useFactory: async (config: ConfigService) => {
+ const isProd = config.get('isProduction', { infer: true });
+ const level = config.get('logLevel', { infer: true });
+ return pinoConfig(level, isProd);
+ },
+ }),
+ ServeStaticModule.forRoot({
+ rootPath: join(__dirname, '../../..', 'frontend/.output/public'),
+ exclude: ['/api*'],
+ serveRoot: '/',
+ }),
+ SentryModule.forRoot(),
+ MikroOrmModule.forRootAsync({
+ inject: [ConfigService],
+ useFactory: async (configService: ConfigService) => {
+ const mikroConfig = configService.get('mikroORM');
+ const database = configService.get('database');
+ const saltRounds = configService.get('auth.saltRounds');
+ return {
+ ...mikroConfig,
+ ...database,
+ saltRounds,
+ };
+ },
+ }),
+ ThrottlerModule.forRoot([{ ttl: 60000, limit: 100 }]),
+ CommonModule,
+ AuthModule,
+ HealthModule,
+ MailModule,
+ UserModule,
+ ...(!isProduction ? [SeedModule] : []),
+ ],
+ providers: [
+ {
+ provide: APP_GUARD,
+ useClass: ThrottlerGuard,
+ },
+ ],
+})
+export class AppModule {}
diff --git a/apps/backend/src/common/common.module.ts b/apps/backend/src/common/common.module.ts
new file mode 100644
index 0000000..41a4ea6
--- /dev/null
+++ b/apps/backend/src/common/common.module.ts
@@ -0,0 +1,40 @@
+import { Module, Global } from '@nestjs/common';
+import { AllExceptionsFilter } from './filters/all-exceptions.filter';
+import { HttpExceptionFilter } from './filters/http-exception.filter';
+import { LoggingInterceptor } from './interceptors/logging.interceptor';
+import { ResponseInterceptor } from './interceptors/response.interceptor';
+import { ThrottlerExceptionFilter } from './filters/throttler-exception.filter';
+import { ValidationExceptionFilter } from './filters/validation-exception.filter';
+
+// Re-export constants and interfaces for easy access
+export type { ErrorType } from './constants/error-codes';
+export { ErrorTypes } from './constants/error-codes';
+export type {
+ ApiResponse,
+ ErrorResponse,
+ StructuredResponse,
+ SuccessResponse,
+} from './interfaces/response.interface';
+
+@Global()
+@Module({
+ providers: [
+ // Note: Some of these are registered globally in main.ts
+ // Keeping them here for module completeness
+ AllExceptionsFilter,
+ HttpExceptionFilter,
+ LoggingInterceptor,
+ ResponseInterceptor,
+ ThrottlerExceptionFilter,
+ ValidationExceptionFilter,
+ ],
+ exports: [
+ AllExceptionsFilter,
+ HttpExceptionFilter,
+ LoggingInterceptor,
+ ResponseInterceptor,
+ ThrottlerExceptionFilter,
+ ValidationExceptionFilter,
+ ],
+})
+export class CommonModule {}
diff --git a/apps/backend/src/common/constants/error-codes.ts b/apps/backend/src/common/constants/error-codes.ts
new file mode 100644
index 0000000..82f60ef
--- /dev/null
+++ b/apps/backend/src/common/constants/error-codes.ts
@@ -0,0 +1,35 @@
+import { HttpStatus } from '@nestjs/common';
+
+// Simple error types for categorizing errors
+export const ErrorTypes = {
+ VALIDATION: 'Validation',
+ AUTHENTICATION: 'Authentication',
+ AUTHORIZATION: 'Authorization',
+ RATE_LIMIT: 'RateLimit',
+ INTERNAL: 'Internal',
+ HTTP: 'Http',
+} as const;
+
+export type ErrorType = (typeof ErrorTypes)[keyof typeof ErrorTypes];
+
+// Properly classify error types based on HTTP status
+export const getErrorType = (status: number): string => {
+ if ([HttpStatus.UNAUTHORIZED].includes(status)) {
+ return ErrorTypes.AUTHENTICATION;
+ }
+ if ([HttpStatus.FORBIDDEN].includes(status)) {
+ return ErrorTypes.AUTHORIZATION;
+ }
+ if (
+ [HttpStatus.BAD_REQUEST, HttpStatus.UNPROCESSABLE_ENTITY].includes(status)
+ ) {
+ return ErrorTypes.VALIDATION;
+ }
+ if ([HttpStatus.TOO_MANY_REQUESTS].includes(status)) {
+ return ErrorTypes.RATE_LIMIT;
+ }
+ if (status >= 500) {
+ return ErrorTypes.INTERNAL;
+ }
+ return ErrorTypes.HTTP;
+};
diff --git a/apps/backend/src/common/filters/all-exceptions.filter.ts b/apps/backend/src/common/filters/all-exceptions.filter.ts
new file mode 100644
index 0000000..56e88cf
--- /dev/null
+++ b/apps/backend/src/common/filters/all-exceptions.filter.ts
@@ -0,0 +1,61 @@
+import type { ArgumentsHost, ExceptionFilter } from '@nestjs/common';
+import { Catch, HttpStatus } from '@nestjs/common';
+import type { Request, Response } from 'express';
+import type { ErrorResponse } from '../interfaces/response.interface';
+import { ErrorTypes } from '../constants/error-codes';
+import { PinoLogger } from 'nestjs-pino';
+import { SentryExceptionCaptured } from '@sentry/nestjs';
+import { formatDevelopmentDetails } from '../utils/format-error-details.util';
+import { sanitizeRequestBody } from '../utils/sanitize-request-body.util';
+import { sanitizeUser } from '../utils/sanitize-user.util';
+
+@Catch()
+export class AllExceptionsFilter implements ExceptionFilter {
+ constructor(private readonly logger: PinoLogger) {
+ this.logger.setContext(AllExceptionsFilter.name);
+ }
+
+ @SentryExceptionCaptured()
+ catch(exception: unknown, host: ArgumentsHost) {
+ const ctx = host.switchToHttp();
+ const response = ctx.getResponse();
+ const request = ctx.getRequest();
+ const isProduction = process.env.NODE_ENV === 'production';
+ const isDevelopment = process.env.NODE_ENV === 'development';
+ const isErrorInstance = exception instanceof Error;
+ // Handle non-HTTP exceptions (database errors, network errors, etc.)
+ // Note: HttpExceptions should already be handled by more specific filters
+ // Don't expose internal error details in production
+ // Sanitize user data for logging
+ const sanitizedUser = sanitizeUser(request.user);
+ const sanitizedBody = sanitizeRequestBody(request.body);
+ const status = HttpStatus.INTERNAL_SERVER_ERROR;
+ const message =
+ isErrorInstance && !isProduction
+ ? exception.message
+ : 'Internal server error';
+ const desc = `${request.method} ${request.url} - ${status} - ${message}`;
+ this.logger.error(`Unhandled Exception: ${desc}`, {
+ user: sanitizedUser,
+ body: sanitizedBody,
+ stack: isErrorInstance ? exception.stack : undefined,
+ error: isErrorInstance ? exception.message : String(exception),
+ });
+ const details =
+ isDevelopment && isErrorInstance
+ ? formatDevelopmentDetails(exception)
+ : undefined;
+ const errorResponse: ErrorResponse = {
+ success: false,
+ error: { type: ErrorTypes.INTERNAL, message, details },
+ meta: {
+ path: request.url,
+ method: request.method,
+ statusCode: status,
+ timestamp: new Date().toISOString(),
+ duration: 0, // Not available in exception context
+ },
+ };
+ return response.status(status).json(errorResponse);
+ }
+}
diff --git a/apps/backend/src/common/filters/http-exception.filter.ts b/apps/backend/src/common/filters/http-exception.filter.ts
new file mode 100644
index 0000000..b8c9759
--- /dev/null
+++ b/apps/backend/src/common/filters/http-exception.filter.ts
@@ -0,0 +1,61 @@
+import type { ArgumentsHost, ExceptionFilter } from '@nestjs/common';
+import { Catch, HttpException } from '@nestjs/common';
+import type { Request, Response } from 'express';
+import type { ErrorResponse } from '../interfaces/response.interface';
+import { PinoLogger } from 'nestjs-pino';
+import { formatErrorDetails } from '../utils/format-error-details.util';
+import { getErrorType } from '../constants/error-codes';
+import { sanitizeRequestBody } from '../utils/sanitize-request-body.util';
+import { sanitizeUser } from '../utils/sanitize-user.util';
+
+@Catch(HttpException)
+export class HttpExceptionFilter implements ExceptionFilter {
+ constructor(private readonly logger: PinoLogger) {
+ this.logger.setContext(HttpExceptionFilter.name);
+ }
+
+ catch(exception: HttpException, host: ArgumentsHost) {
+ const ctx = host.switchToHttp();
+ const request = ctx.getRequest();
+ const response = ctx.getResponse();
+ const statusCode = exception.getStatus();
+ const errorType = getErrorType(statusCode);
+ const exceptionResponse = exception.getResponse();
+ const exceptionInfo =
+ typeof exceptionResponse === 'string'
+ ? { message: exceptionResponse }
+ : (exceptionResponse as any);
+ // Sanitize user data for logging
+ const sanitizedUser = sanitizeUser(request.user);
+ const sanitizedBody = sanitizeRequestBody(request.body);
+ const message = exceptionInfo.message || 'HTTP Exception';
+ this.logger.error(
+ `HTTP Exception: ${request.method} ${request.url} ${statusCode}`,
+ {
+ statusCode,
+ errorType,
+ user: sanitizedUser,
+ body: sanitizedBody,
+ message,
+ },
+ );
+ const errorResponse: ErrorResponse = {
+ success: false,
+ error: {
+ type: errorType,
+ message,
+ details: exceptionInfo.error
+ ? formatErrorDetails(exceptionInfo)
+ : undefined,
+ },
+ meta: {
+ timestamp: new Date().toISOString(),
+ path: request.url,
+ method: request.method,
+ duration: 0, // Not available in exception context
+ statusCode,
+ },
+ };
+ return response.status(statusCode).json(errorResponse);
+ }
+}
diff --git a/apps/backend/src/common/filters/throttler-exception.filter.ts b/apps/backend/src/common/filters/throttler-exception.filter.ts
new file mode 100644
index 0000000..eaef637
--- /dev/null
+++ b/apps/backend/src/common/filters/throttler-exception.filter.ts
@@ -0,0 +1,76 @@
+import type { ArgumentsHost, ExceptionFilter } from '@nestjs/common';
+import type { Request, Response } from 'express';
+import { Catch } from '@nestjs/common';
+import { ErrorTypes } from '../constants/error-codes';
+import type { ErrorResponse } from '../interfaces/response.interface';
+import { PinoLogger } from 'nestjs-pino';
+import { ThrottlerException } from '@nestjs/throttler';
+import { sanitizeUser } from '../utils/sanitize-user.util';
+
+@Catch(ThrottlerException)
+export class ThrottlerExceptionFilter implements ExceptionFilter {
+ constructor(private readonly logger: PinoLogger) {
+ this.logger.setContext(ThrottlerExceptionFilter.name);
+ }
+
+ catch(_exception: ThrottlerException, host: ArgumentsHost) {
+ const ctx = host.switchToHttp();
+ const request = ctx.getRequest();
+ const response = ctx.getResponse();
+ const sanitizedUser = sanitizeUser(request.user);
+ const userAgent = request.get('User-Agent');
+ const endpoint = `${request.method} ${request.url}`;
+ // Calculate retry-after based on TTL (60 seconds from config)
+ const retryAfter = 60;
+ // Log rate limit violation with security context
+ this.logger.warn('Rate limit exceeded', {
+ user: sanitizedUser,
+ ip: request.ip,
+ userAgent,
+ endpoint,
+ retryAfter,
+ // Security flags
+ suspiciousActivity: this.detectSuspiciousActivity(request),
+ highFrequency: true, // By definition, if throttled
+ });
+ // Set standard rate limit headers
+ response.set('Retry-After', retryAfter.toString());
+ response.set('X-RateLimit-Limit', '100');
+ response.set('X-RateLimit-Remaining', '0');
+ response.set(
+ 'X-RateLimit-Reset',
+ Math.ceil(Date.now() / 1000 + retryAfter).toString(),
+ );
+ const errorResponse: ErrorResponse = {
+ success: false,
+ error: {
+ type: ErrorTypes.RATE_LIMIT,
+ message: 'Too many requests, please try again later',
+ details: [
+ {
+ retryAfter,
+ limitInfo: { limit: 100, window: '60 seconds' },
+ suspicious: this.detectSuspiciousActivity(request),
+ },
+ ],
+ },
+ meta: {
+ statusCode: 429,
+ path: request.url,
+ method: request.method,
+ timestamp: new Date().toISOString(),
+ duration: 0, // Not available in exception context
+ },
+ };
+ return response.status(429).json(errorResponse);
+ }
+
+ private detectSuspiciousActivity(request: Request): boolean {
+ const userAgent = request.get('User-Agent') || '';
+ // Flag potential automated/bot activity
+ const botPatterns = /bot|crawler|spider|scraper|curl|wget|postman/i;
+ const missingUserAgent = !userAgent;
+ const shortUserAgent = userAgent.length < 10;
+ return botPatterns.test(userAgent) || missingUserAgent || shortUserAgent;
+ }
+}
diff --git a/apps/backend/src/common/filters/validation-exception.filter.ts b/apps/backend/src/common/filters/validation-exception.filter.ts
new file mode 100644
index 0000000..b756e5d
--- /dev/null
+++ b/apps/backend/src/common/filters/validation-exception.filter.ts
@@ -0,0 +1,54 @@
+import type { ArgumentsHost, ExceptionFilter } from '@nestjs/common';
+import { BadRequestException, Catch } from '@nestjs/common';
+import { ErrorTypes } from '../constants/error-codes';
+import type { ErrorResponse } from '../interfaces/response.interface';
+import type { Request, Response } from 'express';
+import { PinoLogger } from 'nestjs-pino';
+import { sanitizeUser } from '../utils/sanitize-user.util';
+import { sanitizeRequestBody } from '../utils/sanitize-request-body.util';
+import { formatValidationDetails } from '../utils/format-error-details.util';
+
+@Catch(BadRequestException)
+export class ValidationExceptionFilter implements ExceptionFilter {
+ constructor(private readonly logger: PinoLogger) {
+ this.logger.setContext(ValidationExceptionFilter.name);
+ }
+
+ catch(exception: BadRequestException, host: ArgumentsHost) {
+ const ctx = host.switchToHttp();
+ const request = ctx.getRequest();
+ const response = ctx.getResponse();
+ const statusCode = exception.getStatus();
+ let errors = [] as any[];
+ const exceptionResponse = exception.getResponse() as any;
+ if (exceptionResponse.message && Array.isArray(exceptionResponse.message)) {
+ errors = exceptionResponse.message;
+ } else if (typeof exceptionResponse.message === 'string') {
+ errors = [exceptionResponse?.message];
+ }
+ // Sanitize user data for logging
+ const sanitizedUser = sanitizeUser(request.user);
+ const sanitizedBody = sanitizeRequestBody(request.body);
+ this.logger.warn(`Validation Error: ${request.method} ${request.url}`, {
+ user: sanitizedUser,
+ body: sanitizedBody,
+ validationErrors: errors,
+ });
+ const errorResponse: ErrorResponse = {
+ success: false,
+ error: {
+ type: ErrorTypes.VALIDATION,
+ message: 'Request validation failed',
+ details: formatValidationDetails(errors),
+ },
+ meta: {
+ statusCode,
+ path: request.url,
+ method: request.method,
+ timestamp: new Date().toISOString(),
+ duration: 0, // Not available in exception context
+ },
+ };
+ return response.status(statusCode).json(errorResponse);
+ }
+}
diff --git a/apps/backend/src/common/interceptors/logging.interceptor.ts b/apps/backend/src/common/interceptors/logging.interceptor.ts
new file mode 100644
index 0000000..f4773d8
--- /dev/null
+++ b/apps/backend/src/common/interceptors/logging.interceptor.ts
@@ -0,0 +1,72 @@
+import type {
+ CallHandler,
+ NestInterceptor,
+ ExecutionContext,
+} from '@nestjs/common';
+import { Injectable } from '@nestjs/common';
+import type { Observable } from 'rxjs';
+import { PinoLogger } from 'nestjs-pino';
+import { sanitizeUser } from '../utils/sanitize-user.util';
+import { sanitizeRequestBody } from '../utils/sanitize-request-body.util';
+import { tap } from 'rxjs/operators';
+
+// The LoggingInterceptor essentially provides comprehensive request/response
+// audit logging for every API call
+//
+// Execution Order:
+// 1. ๐ข LoggingInterceptor.intercept() - "Request started"
+// 2. ๐ก๏ธ ThrottlerGuard - Rate limiting check
+// 3. ๐ JwtAuthGuard - Authentication
+// 4. ๐ฏ Controller method execution
+// 5. ๐ ResponseInterceptor - Format response
+// 6. ๐ข LoggingInterceptor.tap() - "Request completed"
+@Injectable()
+export class LoggingInterceptor implements NestInterceptor {
+ constructor(private readonly logger: PinoLogger) {
+ this.logger.setContext(LoggingInterceptor.name);
+ }
+
+ intercept(context: ExecutionContext, next: CallHandler): Observable {
+ const request = context.switchToHttp().getRequest();
+ const { method, url, body, user, ip } = request;
+ const startTime = Date.now();
+ // Sanitize sensitive data before logging
+ const sanitizedBody = sanitizeRequestBody(body);
+ const sanitizedUser = sanitizeUser(user);
+ // Structured logging for incoming request
+ this.logger.info('Request started', {
+ method,
+ url,
+ ip,
+ userAgent: request.get('User-Agent'),
+ user: sanitizedUser,
+ body: Object.keys(body || {}).length ? sanitizedBody : undefined,
+ });
+ return next.handle().pipe(
+ tap({
+ next: (_data) => {
+ const response = context.switchToHttp().getResponse();
+ const responseTime = Date.now() - startTime;
+ this.logger.info('Request completed', {
+ method,
+ url,
+ statusCode: response.statusCode,
+ responseTime,
+ user: sanitizedUser,
+ });
+ },
+ error: (error) => {
+ const responseTime = Date.now() - startTime;
+ this.logger.error('Request failed', {
+ method,
+ url,
+ statusCode: error.status || 500,
+ responseTime,
+ error: error.message,
+ user: sanitizedUser,
+ });
+ },
+ }),
+ );
+ }
+}
diff --git a/apps/backend/src/common/interceptors/response.interceptor.ts b/apps/backend/src/common/interceptors/response.interceptor.ts
new file mode 100644
index 0000000..f719072
--- /dev/null
+++ b/apps/backend/src/common/interceptors/response.interceptor.ts
@@ -0,0 +1,64 @@
+import type {
+ NestInterceptor,
+ ExecutionContext,
+ CallHandler,
+} from '@nestjs/common';
+import { Injectable } from '@nestjs/common';
+import type { Observable } from 'rxjs';
+import type { SuccessResponse } from '../interfaces/response.interface';
+import { map } from 'rxjs/operators';
+
+// The ResponseInterceptor acts as a universal response formatter,
+// ensuring every API response follows the same contract while preserving
+// special cases like pagination and providing useful metadata like performance
+// timing.
+@Injectable()
+export class ResponseInterceptor implements NestInterceptor> {
+ intercept(
+ context: ExecutionContext,
+ next: CallHandler,
+ ): Observable> {
+ const startTime = Date.now();
+ const request = context.switchToHttp().getRequest();
+ return next.handle().pipe(
+ map((data) => {
+ const duration = Date.now() - startTime;
+ // If data is already formatted (e.g., from pagination)
+ if (
+ data &&
+ typeof data === 'object' &&
+ 'data' in data &&
+ 'total' in data
+ ) {
+ return {
+ success: true,
+ data: data.data,
+ meta: {
+ timestamp: new Date().toISOString(),
+ path: request.url,
+ method: request.method,
+ duration,
+ pagination: {
+ total: data.total,
+ page: data.page || 1,
+ limit: data.limit || 10,
+ has_next: data.page * data.limit < data.total,
+ },
+ },
+ } as SuccessResponse;
+ }
+ // Standard response format
+ return {
+ success: true,
+ data,
+ meta: {
+ timestamp: new Date().toISOString(),
+ path: request.url,
+ method: request.method,
+ duration,
+ },
+ } as SuccessResponse;
+ }),
+ );
+ }
+}
diff --git a/apps/backend/src/common/interfaces/response.interface.ts b/apps/backend/src/common/interfaces/response.interface.ts
new file mode 100644
index 0000000..4a7c6e4
--- /dev/null
+++ b/apps/backend/src/common/interfaces/response.interface.ts
@@ -0,0 +1,41 @@
+export interface StructuredResponse {
+ success: boolean;
+ data?: T;
+ error?: {
+ type: string;
+ message: string;
+ details?: any[];
+ };
+ meta: {
+ statusCode?: number;
+ path: string;
+ method: string;
+ timestamp: string;
+ duration: number;
+ pagination?: {
+ total: number;
+ page: number;
+ limit: number;
+ has_next: boolean;
+ };
+ };
+}
+
+// Type helpers for better dev experience
+export type SuccessResponse = StructuredResponse & {
+ success: true;
+ data: T;
+ error?: never;
+};
+
+export type ErrorResponse = StructuredResponse & {
+ success: false;
+ data?: never;
+ error: {
+ type: string;
+ message: string;
+ details?: any[];
+ };
+};
+
+export type ApiResponse = SuccessResponse | ErrorResponse;
diff --git a/apps/backend/src/common/utils/format-error-details.util.ts b/apps/backend/src/common/utils/format-error-details.util.ts
new file mode 100644
index 0000000..dadb769
--- /dev/null
+++ b/apps/backend/src/common/utils/format-error-details.util.ts
@@ -0,0 +1,51 @@
+/**
+ * Standardizes error detail formatting across all exception filters
+ */
+export function formatErrorDetails(details: any): any[] | undefined {
+ if (!details) {
+ return undefined;
+ }
+ // If already an array, return as-is
+ if (Array.isArray(details)) {
+ return details;
+ }
+ // If it's an object, wrap in array
+ if (typeof details === 'object') {
+ return [details];
+ }
+ // If it's a string, wrap in array
+ if (typeof details === 'string') {
+ return [details];
+ }
+ // Fallback
+ return [details];
+}
+
+/**
+ * Creates standardized validation error details
+ */
+export function formatValidationDetails(validationErrors: any[]): any[] {
+ if (!validationErrors || !Array.isArray(validationErrors)) {
+ return [];
+ }
+ return validationErrors.map((error) => {
+ if (typeof error === 'string') {
+ return { message: error };
+ }
+ if (typeof error === 'object' && error.message) {
+ return { message: error.message, field: error.property };
+ }
+ return { message: String(error) };
+ });
+}
+
+/**
+ * Creates standardized development error details
+ */
+export function formatDevelopmentDetails(exception: Error): any[] {
+ return [{
+ stack: exception.stack,
+ name: exception.name,
+ message: exception.message,
+ }];
+}
diff --git a/apps/backend/src/common/utils/sanitize-request-body.util.ts b/apps/backend/src/common/utils/sanitize-request-body.util.ts
new file mode 100644
index 0000000..294b3a7
--- /dev/null
+++ b/apps/backend/src/common/utils/sanitize-request-body.util.ts
@@ -0,0 +1,101 @@
+/**
+ * Sanitizes request body for logging purposes by masking sensitive fields
+ * at any depth. Handles nested objects, arrays, and circular references safely.
+ */
+export function sanitizeRequestBody(body: any, visited = new WeakSet()): any {
+ // Handle primitives and null/undefined
+ if (body === null || body === undefined || typeof body !== 'object') {
+ return body;
+ }
+
+ // Prevent infinite recursion with circular references
+ if (visited.has(body)) {
+ return '[Circular Reference]';
+ }
+ visited.add(body);
+
+ // Handle Arrays
+ if (Array.isArray(body)) {
+ return body.map((item) => sanitizeRequestBody(item, visited));
+ }
+
+ // Handle Date objects
+ if (body instanceof Date) {
+ return body.toISOString();
+ }
+
+ // Handle other special objects (RegExp, etc.)
+ if (body.constructor !== Object) {
+ return '[Object: ' + body.constructor.name + ']';
+ }
+
+ // Handle plain objects
+ const sanitized: any = {};
+
+ // All potentially sensitive field names (including common variations)
+ const sensitiveFields = new Set([
+ 'password',
+ 'currentPassword',
+ 'newPassword',
+ 'oldPassword',
+ 'confirmPassword',
+ 'passwordConfirmation',
+ 'refreshToken',
+ 'jwt',
+ 'token',
+ 'accessToken',
+ 'idToken',
+ 'authToken',
+ 'bearerToken',
+ 'sessionToken',
+ 'csrfToken',
+ 'secret',
+ 'clientSecret',
+ 'apiSecret',
+ 'privateKey',
+ 'publicKey',
+ 'apiKey',
+ 'sessionId',
+ 'cookie',
+ 'cookies',
+ 'authorization',
+ 'auth',
+ 'credentials',
+ 'credit_card',
+ 'creditCard',
+ 'card_number',
+ 'cardNumber',
+ 'cvv',
+ 'cvc',
+ 'pin',
+ 'ssn',
+ 'oib',
+ 'social_security',
+ 'socialSecurity',
+ 'passport',
+ 'license',
+ 'driverLicense',
+ ]);
+
+ for (const key in body) {
+ if (!Object.prototype.hasOwnProperty.call(body, key)) continue;
+ const lowerKey = key.toLowerCase();
+ // Check if field name contains sensitive keywords
+ const isSensitive =
+ sensitiveFields.has(lowerKey) ||
+ lowerKey.includes('password') ||
+ lowerKey.includes('token') ||
+ lowerKey.includes('secret') ||
+ lowerKey.includes('key') ||
+ lowerKey.includes('auth') ||
+ lowerKey.includes('credential');
+ if (isSensitive) {
+ sanitized[key] = '[MASKED]';
+ } else {
+ // Recursively sanitize nested objects/arrays
+ sanitized[key] = sanitizeRequestBody(body[key], visited);
+ }
+ }
+
+ return sanitized;
+}
diff --git a/apps/backend/src/common/utils/sanitize-user.util.ts b/apps/backend/src/common/utils/sanitize-user.util.ts
new file mode 100644
index 0000000..c86bb74
--- /dev/null
+++ b/apps/backend/src/common/utils/sanitize-user.util.ts
@@ -0,0 +1,13 @@
+/**
+ * Sanitizes user data for logging purposes by only keeping the id field.
+ * This approach is more secure than trying to mask arbitrary sensitive fields.
+ */
+export function sanitizeUser(user: any): { id?: number | string } | null {
+ if (!user || typeof user !== 'object') {
+ return null;
+ }
+
+ return {
+ id: user.id || user.sub || null,
+ };
+}
diff --git a/apps/backend/src/common/validators/data-url.validator.ts b/apps/backend/src/common/validators/data-url.validator.ts
new file mode 100644
index 0000000..ee06708
--- /dev/null
+++ b/apps/backend/src/common/validators/data-url.validator.ts
@@ -0,0 +1,55 @@
+import {
+ ValidationArguments,
+ ValidationOptions,
+ registerDecorator,
+} from 'class-validator';
+
+const dataUrlValidator = (value: any, _args: ValidationArguments) => {
+ if (typeof value !== 'string') return false;
+
+ // Allow empty string to remove current image
+ if (value === '') return true;
+
+ // Check if it's a valid data URL format
+ const dataUrlPattern =
+ /^data:([a-zA-Z0-9][a-zA-Z0-9/+]*);base64,([A-Za-z0-9+/=]+)$/;
+ if (!dataUrlPattern.test(value)) return false;
+
+ // Extract the MIME type
+ const match = value.match(/^data:([^;]+);base64,/);
+ if (!match) return false;
+
+ const mimeType = match[1];
+
+ // Only allow image MIME types
+ const allowedImageTypes = [
+ 'image/jpeg',
+ 'image/jpg',
+ 'image/png',
+ 'image/gif',
+ 'image/webp',
+ 'image/bmp',
+ 'image/svg+xml',
+ ];
+ return allowedImageTypes.includes(mimeType.toLowerCase());
+};
+
+// Custom validator for data URLs (specifically image data URLs)
+export function IsDataUrl(validationOptions?: ValidationOptions) {
+ return function (object: object, propertyName: string) {
+ registerDecorator({
+ name: 'isDataUrl',
+ target: object.constructor,
+ propertyName: propertyName,
+ options: validationOptions,
+ validator: {
+ validate: dataUrlValidator,
+ defaultMessage(args: ValidationArguments) {
+ const msg =
+ 'must be a valid image data URL or empty string to remove image';
+ return `${args.property} ${msg}`;
+ },
+ },
+ });
+ };
+}
diff --git a/apps/backend/src/common/validators/no-xss.validator.ts b/apps/backend/src/common/validators/no-xss.validator.ts
new file mode 100644
index 0000000..f143bfe
--- /dev/null
+++ b/apps/backend/src/common/validators/no-xss.validator.ts
@@ -0,0 +1,71 @@
+import {
+ ValidationArguments,
+ ValidationOptions,
+ registerDecorator,
+} from 'class-validator';
+
+const xssValidator = (value: any, _args: ValidationArguments) => {
+ if (typeof value !== 'string') return true;
+ // Check for common XSS patterns
+ const xssPatterns = [
+ /',
+ '
',
+ '',
+ 'javascript:alert("XSS")',
+ '',
+ '<',
+ ],
+ sqlInjectionPayloads: [
+ '\'; DROP TABLE users; --',
+ '\' OR \'1\'=\'1',
+ '" OR "1"="1',
+ 'admin\' --',
+ 'admin\' #',
+ '\' OR 1=1 --',
+ ],
+};
diff --git a/apps/backend/test/helpers/index.ts b/apps/backend/test/helpers/index.ts
new file mode 100644
index 0000000..4340842
--- /dev/null
+++ b/apps/backend/test/helpers/index.ts
@@ -0,0 +1,5 @@
+export * from './api-request';
+export * from './assertions';
+export * from './cookie';
+export * from './factories';
+export * from './routes';
diff --git a/apps/backend/test/helpers/routes.ts b/apps/backend/test/helpers/routes.ts
new file mode 100644
index 0000000..2d3e8cb
--- /dev/null
+++ b/apps/backend/test/helpers/routes.ts
@@ -0,0 +1,5 @@
+export const paths = {
+ users: {
+ base: '/api/users',
+ },
+} as const;
diff --git a/apps/backend/test/helpers/test.helpers.ts b/apps/backend/test/helpers/test.helpers.ts
new file mode 100644
index 0000000..d7429d5
--- /dev/null
+++ b/apps/backend/test/helpers/test.helpers.ts
@@ -0,0 +1,4 @@
+// Re-export everything from specialized helper modules
+export * from './bootstrap';
+export * from './db.helpers';
+export * from './auth-client';
diff --git a/apps/backend/test/jest-e2e.json b/apps/backend/test/jest-e2e.json
new file mode 100644
index 0000000..45e4dea
--- /dev/null
+++ b/apps/backend/test/jest-e2e.json
@@ -0,0 +1,20 @@
+{
+ "moduleFileExtensions": ["js", "json", "ts"],
+ "rootDir": "../",
+ "testEnvironment": "node",
+ "testRegex": ".e2e-spec.ts$",
+ "transform": {
+ "^.+\\.ts$": "ts-jest"
+ },
+ "moduleNameMapper": {
+ "^@/(.*)$": "/src/$1",
+ "^@app/config$": "/test/esm-shims/app-config.js",
+ "^@app/(.*)$": "/../../packages/app-$1",
+ "^yn$": "/test/esm-shims/yn.js"
+ },
+ "coverageDirectory": "../coverage-e2e",
+ "testTimeout": 30000,
+ "globalSetup": "/test/global-setup.ts",
+ "globalTeardown": "/test/global-teardown.ts",
+ "maxWorkers": 1
+}
diff --git a/apps/backend/test/mikro-orm.config.ts b/apps/backend/test/mikro-orm.config.ts
new file mode 100644
index 0000000..ec46b3f
--- /dev/null
+++ b/apps/backend/test/mikro-orm.config.ts
@@ -0,0 +1,38 @@
+import { defineConfig } from '@mikro-orm/libsql';
+import { Migrator } from '@mikro-orm/migrations';
+import { SeedManager } from '@mikro-orm/seeder';
+import { TsMorphMetadataProvider } from '@mikro-orm/reflection';
+import { User } from '../src/database/entities';
+
+export default defineConfig({
+ dbName: ':memory:',
+ entities: [User],
+ entitiesTs: [User],
+ metadataProvider: TsMorphMetadataProvider,
+ migrations: {
+ path: './dist/database/migrations',
+ pathTs: './src/database/migrations',
+ snapshot: false,
+ transactional: true,
+ disableForeignKeys: true,
+ allOrNothing: true,
+ dropTables: true,
+ safe: false,
+ emit: 'ts',
+ },
+ seeder: {
+ path: './dist/database/seeders',
+ pathTs: './src/database/seeders',
+ defaultSeeder: 'DatabaseSeeder',
+ glob: '!(*.d).{js,ts}',
+ emit: 'ts',
+ },
+ extensions: [Migrator, SeedManager],
+ forceUtcTimezone: true,
+ allowGlobalContext: true,
+ discovery: {
+ warnWhenNoEntities: false,
+ requireEntitiesArray: false,
+ alwaysAnalyseProperties: true,
+ },
+});
diff --git a/apps/backend/test/specs/auth/auth.flows.e2e-spec.ts b/apps/backend/test/specs/auth/auth.flows.e2e-spec.ts
new file mode 100644
index 0000000..f4bb863
--- /dev/null
+++ b/apps/backend/test/specs/auth/auth.flows.e2e-spec.ts
@@ -0,0 +1,115 @@
+import { INestApplication } from '@nestjs/common';
+import {
+ AuthClient,
+ TestUser,
+ cleanDatabase,
+ closeTestingApp,
+ createTestingApp,
+ createTestUser,
+ getConfigService,
+ getJwtService,
+ seedTestUsers,
+} from '../../helpers/test.helpers';
+import {
+ createResetToken,
+ generateValidPassword,
+ mockMailService,
+} from '../../helpers/auth.spec.helpers';
+import request from 'supertest';
+
+describe('AuthController - Integration flows', () => {
+ let app: INestApplication;
+ let authClient: AuthClient;
+ let user: TestUser;
+
+ beforeAll(async () => {
+ app = await createTestingApp();
+ authClient = new AuthClient(app);
+ });
+
+ beforeEach(async () => {
+ await cleanDatabase();
+ const users = await seedTestUsers();
+ user = users.user;
+ authClient.resetSession();
+
+ // Reset mail service mock
+ mockMailService.sendPasswordResetEmail.mockClear();
+ mockMailService.sendInvitationEmail.mockClear();
+ });
+
+ afterAll(async () => {
+ await closeTestingApp();
+ });
+
+ describe('Complete authentication flow', () => {
+ it('should handle full login-logout cycle', async () => {
+ // 1. Login
+ const loginResponse = await authClient.login(user.email, user.password);
+ authClient.validateLoginResponse(loginResponse);
+ // 2. Access protected endpoint
+ const meResponse = await authClient.get('/api/me');
+ expect(meResponse.status).toBe(200);
+ expect(meResponse.body.email).toBe(user.email);
+ // 3. Change password
+ const newPassword = generateValidPassword();
+ await authClient.auth.changePassword(user.password, newPassword);
+ // 4. Logout
+ await authClient.auth.logout();
+ // 5. Login with new password
+ const newLoginResponse = await authClient.login(user.email, newPassword);
+ expect(newLoginResponse.user.email).toBe(user.email);
+ });
+
+ it('should handle concurrent sessions', async () => {
+ // This test specifically tests token-based auth concurrent
+ // sessions which is different from cookie-based sessions
+ // Create multiple sessions for the same user
+ const sessions = await Promise.all([
+ authClient.login(user.email, user.password),
+ authClient.login(user.email, user.password),
+ authClient.login(user.email, user.password),
+ ]);
+ sessions.forEach((session) => authClient.validateLoginResponse(session));
+ // All tokens should work independently
+ const tokens = sessions.map((s) => s.accessToken);
+ for (const token of tokens) {
+ const response = await request(app.getHttpServer())
+ .get('/api/me')
+ .set('Authorization', `Bearer ${token}`);
+ expect(response.status).toBe(200);
+ expect(response.body.email).toBe(user.email);
+ }
+ });
+ });
+
+ describe('Password reset flow', () => {
+ it('should complete full password reset cycle', async () => {
+ const testUser = await createTestUser({
+ email: 'resetflow@test.com',
+ password: 'OldPassword123!',
+ });
+ // 1. Request password reset
+ await authClient.auth.forgotPassword(testUser.email);
+ expect(mockMailService.sendPasswordResetEmail).toHaveBeenCalledTimes(1);
+ // 2. Get token from email (simulated)
+ const configService = getConfigService();
+ const jwtService = getJwtService();
+ const resetToken = await createResetToken(
+ testUser,
+ jwtService,
+ configService,
+ );
+ // 3. Validate token
+ await authClient.auth.validateResetToken(resetToken);
+ // 4. Reset password
+ const newPassword = generateValidPassword();
+ await authClient.auth.resetPassword(resetToken, newPassword);
+ // 5. Login with new password
+ const loginResponse = await authClient.login(testUser.email, newPassword);
+ expect(loginResponse.user.email).toBe(testUser.email);
+ // 6. Old password should not work
+ await authClient.login(testUser.email, 'OldPassword123!', 401);
+ });
+ });
+});
diff --git a/apps/backend/test/specs/auth/auth.login.e2e-spec.ts b/apps/backend/test/specs/auth/auth.login.e2e-spec.ts
new file mode 100644
index 0000000..c462173
--- /dev/null
+++ b/apps/backend/test/specs/auth/auth.login.e2e-spec.ts
@@ -0,0 +1,176 @@
+import {
+ AuthClient,
+ TestUser,
+ cleanDatabase,
+ closeTestingApp,
+ createTestUser,
+ createTestingApp,
+ seedTestUsers,
+ getEntityManager,
+} from '../../helpers/test.helpers';
+import { INestApplication } from '@nestjs/common';
+import { User } from '@/database/entities';
+import { expectUser } from '../../helpers/assertions';
+import { userFactory } from '../../helpers/factories';
+import request from 'supertest';
+
+describe('Auth login', () => {
+ let app: INestApplication;
+ let apiClient: AuthClient;
+ let user: TestUser;
+
+ const fetchAuthenticatedUser = (expectedStatus = 200) =>
+ apiClient.get('/api/me', { expectedStatus });
+
+ beforeAll(async () => {
+ app = await createTestingApp();
+ apiClient = new AuthClient(app);
+ });
+
+ beforeEach(async () => {
+ await cleanDatabase();
+ const users = await seedTestUsers();
+ user = users.user;
+ });
+
+ afterAll(async () => {
+ await closeTestingApp();
+ });
+
+ describe('POST /auth/login - Valid credentials', () => {
+ it('should login with valid credentials', async () => {
+ const response = await apiClient.login(user.email, user.password, 200);
+ apiClient.validateLoginResponse(response);
+ expectUser(response.user, { email: user.email, role: user.role });
+ await fetchAuthenticatedUser(200);
+ });
+
+ it('should login with case-insensitive email', async () => {
+ const { email, password } = user;
+ const res = await apiClient.login(email.toUpperCase(), password, 200);
+ expect(res.user.email).toBe(user.email);
+ });
+
+ it('should return valid access token', async () => {
+ const response = await apiClient.login(user.email, user.password);
+ const { accessToken, expiresIn } = response;
+ expect(accessToken).toBeDefined();
+ expect(typeof accessToken).toBe('string');
+ expect(expiresIn).toBeGreaterThan(0);
+ apiClient.resetSession();
+ const meResponse = await request(app.getHttpServer())
+ .get('/api/me')
+ .set('Authorization', `Bearer ${accessToken}`)
+ .expect(200);
+ expect(meResponse.body.email).toBe(user.email);
+ });
+
+ it('should update lastLoginAt timestamp', async () => {
+ // Make sure user has a past lastLoginAt
+ await apiClient.login(user.email, user.password);
+ await apiClient.resetSession();
+ const em = getEntityManager();
+ const userBefore = (await em.findOne(User, user.id)) as User;
+ expect(userBefore.lastLoginAt).toBeDefined();
+ const originalLoginAt = userBefore.lastLoginAt as Date;
+ // Wait to ensure timestamp difference
+ await new Promise((resolve) => setTimeout(resolve, 10));
+ await apiClient.login(user.email, user.password);
+ const userAfter = (await em.findOne(User, { email: user.email })) as User;
+ expect(new Date(userAfter.lastLoginAt!).getTime()).toBeGreaterThan(
+ new Date(originalLoginAt).getTime(),
+ );
+ });
+
+ it('should set secure cookies', async () => {
+ const response = await apiClient.login(user.email, user.password);
+ expect(response.cookie).toBeDefined();
+ expect(response?.cookieAttributes?.httpOnly).toBe(true);
+ expect(response?.cookieAttributes?.maxAge).toBeGreaterThan(0);
+ });
+ });
+
+ describe('POST /auth/login - Invalid credentials', () => {
+ it('should fail with incorrect password', async () => {
+ const response = await apiClient.login(user.email, 'WrongPw123!', 401);
+ expect(response.body.message).toContain(
+ 'The email or password you entered is incorrect.',
+ );
+ expect(response.headers['set-cookie']).toBeUndefined();
+ });
+
+ it('should fail with non-existent email', async () => {
+ const response = await apiClient.login('test@test.co', 'AnyPw123!', 401);
+ expect(response.body.message).toContain(
+ 'The email or password you entered is incorrect.',
+ );
+ });
+
+ it('should not reveal whether email exists', async () => {
+ const nonExist = await apiClient.login('nonexist@te.co', 'Pwaa123!', 401);
+ const wrongPw = await apiClient.login(user.email, 'WrogPwd123!', 401);
+ expect(nonExist.body.message).toBe(wrongPw.body.message);
+ });
+ });
+
+ describe('POST /auth/login - Validation', () => {
+ it('should validate email format', async () => {
+ for (const email of userFactory.invalidEmails) {
+ const response = await apiClient.login(email, 'ValidPassword123!', 400);
+ expect(response.body.message).toBeDefined();
+ expect(
+ response.body.message.some((m: string) =>
+ m.toLowerCase().includes('email'),
+ ),
+ ).toBe(true);
+ }
+ });
+
+ it('should validate password presence', async () => {
+ const { body } = await apiClient.login(user.email, '', 400);
+ expect(body.message).toBeDefined();
+ expect(
+ body.message.some((m: string) => m.toLowerCase().includes('password')),
+ ).toBe(true);
+ });
+ });
+
+ describe('POST /auth/login - Deleted users', () => {
+ it('should not allow deleted users to login', async () => {
+ const email = 'deleted@test.com';
+ const password = 'Password123!';
+ await createTestUser({ email, password, deletedAt: new Date() });
+ const response = await apiClient.login(email, password, 401);
+ expect(response.body.message).toContain(
+ 'The email or password you entered is incorrect.',
+ );
+ });
+ });
+
+ describe('POST /auth/login - Security', () => {
+ it('should prevent SQL injection attempts', async () => {
+ for (const payload of userFactory.sqlInjectionPayloads) {
+ await apiClient.login(payload, 'Password123!', 400);
+ }
+ });
+
+ it('should handle XSS attempts safely', async () => {
+ for (const payload of userFactory.xssPayloads.slice(0, 3)) {
+ const response = await apiClient.login(
+ `${payload}@test.com`,
+ 'Password123!',
+ 400,
+ );
+ expect(JSON.stringify(response.body)).not.toContain('',
+ '${7*7}', // Template injection
+ '{{7*7}}', // Template injection
+ ];
+ for (const pattern of dangerousPatterns) {
+ const response = await api
+ .as(admin)
+ .get({ query: { search: pattern } });
+ // Should handle safely without crashing
+ expect([200, 400]).toContain(response.status);
+ }
+ });
+ });
+});
diff --git a/apps/backend/test/test-app.module.ts b/apps/backend/test/test-app.module.ts
new file mode 100644
index 0000000..04e2c0d
--- /dev/null
+++ b/apps/backend/test/test-app.module.ts
@@ -0,0 +1,37 @@
+import { AuthModule } from '../src/modules/auth/auth.module';
+import { CommonModule } from '../src/common/common.module';
+import { ConfigModule } from '@nestjs/config';
+import { HealthModule } from '../src/modules/health/health.module';
+import { LoggerModule } from 'nestjs-pino';
+import { MailModule } from '../src/modules/mail/mail.module';
+import { MikroOrmModule } from '@mikro-orm/nestjs';
+import { Module } from '@nestjs/common';
+import { SeedModule } from '../src/modules/seed/seed.module';
+import { UserModule } from '../src/modules/user/user.module';
+
+import authConfig from '../src/config/auth.config';
+import generalConfig from '../src/config/general.config';
+import mailConfig from '../src/config/mail.config';
+import mikroOrmConfig from './mikro-orm.config';
+
+@Module({
+ imports: [
+ ConfigModule.forRoot({
+ isGlobal: true,
+ envFilePath: '.env.test',
+ load: [authConfig, generalConfig, mailConfig],
+ }),
+ // Disable logging during tests
+ LoggerModule.forRoot({
+ pinoHttp: { level: 'silent' },
+ }),
+ MikroOrmModule.forRoot(mikroOrmConfig),
+ CommonModule,
+ AuthModule,
+ HealthModule,
+ MailModule,
+ SeedModule,
+ UserModule,
+ ],
+})
+export class TestAppModule {}
diff --git a/apps/backend/tests/api/index.js b/apps/backend/tests/api/index.js
deleted file mode 100644
index 8ddaa6f..0000000
--- a/apps/backend/tests/api/index.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import express from 'express';
-
-import { authorize } from '../../shared/auth/mw.js';
-import ctrl from './seed.controller.js';
-
-const router = express.Router();
-
-router
- .use(authorize())
- .post('/reset', ctrl.resetDatabase)
- .post('/user', ctrl.seedUser);
-
-export default {
- path: '/seed',
- router,
-};
diff --git a/apps/backend/tests/api/seed.controller.js b/apps/backend/tests/api/seed.controller.js
deleted file mode 100644
index bf02385..0000000
--- a/apps/backend/tests/api/seed.controller.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import SeedService from './seed.service.js';
-
-async function resetDatabase(_req, res) {
- await SeedService.resetDatabase();
- return res.status(200).send();
-}
-
-async function seedUser(_req, res) {
- const user = await SeedService.createUser();
- return res.json({ data: user });
-}
-
-export default {
- resetDatabase,
- seedUser,
-};
diff --git a/apps/backend/tests/api/seed.service.js b/apps/backend/tests/api/seed.service.js
deleted file mode 100644
index ad2c809..0000000
--- a/apps/backend/tests/api/seed.service.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import camelCase from 'lodash/camelCase.js';
-import { faker } from '@faker-js/faker';
-import mapKeys from 'lodash/mapKeys.js';
-import { role as roles } from '@app/config';
-import seedUsers from '@app/seed/user.json' with { type: 'json' };
-import db from '../../shared/database/index.js';
-
-const { User } = db;
-
-class SeedService {
- async resetDatabase() {
- await db.sequelize.drop({});
- await db.initialize();
- await Promise.all(
- seedUsers.map((it) => User.create(mapKeys(it, (_, k) => camelCase(k)))),
- );
- return true;
- }
-
- async createUser(
- email = faker.internet.email(),
- password = faker.internet.password(),
- role = roles.ADMIN,
- ) {
- await User.create({
- email,
- password,
- role,
- });
- return { email, password };
- }
-}
-
-export default new SeedService();
diff --git a/apps/backend/tsconfig.json b/apps/backend/tsconfig.json
new file mode 100644
index 0000000..f2c142b
--- /dev/null
+++ b/apps/backend/tsconfig.json
@@ -0,0 +1,29 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "declaration": true,
+ "removeComments": true,
+ "emitDecoratorMetadata": true,
+ "experimentalDecorators": true,
+ "allowSyntheticDefaultImports": true,
+ "target": "ES2021",
+ "sourceMap": true,
+ "outDir": "./dist",
+ "baseUrl": "./",
+ "incremental": true,
+ "skipLibCheck": true,
+ "strictNullChecks": true,
+ "noImplicitAny": false,
+ "strictBindCallApply": false,
+ "forceConsistentCasingInFileNames": false,
+ "noFallthroughCasesInSwitch": false,
+ "esModuleInterop": true,
+ "resolveJsonModule": true,
+ "paths": {
+ "@/*": ["src/*"],
+ "@modules/*": ["src/modules/*"],
+ "@common/*": ["src/common/*"],
+ "@config/*": ["src/config/*"]
+ }
+ }
+}
\ No newline at end of file
diff --git a/apps/backend/user/index.js b/apps/backend/user/index.js
deleted file mode 100644
index 93c0492..0000000
--- a/apps/backend/user/index.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import { StatusCodes } from 'http-status-codes';
-import express from 'express';
-import { authorize } from '../shared/auth/mw.js';
-import authService from '../shared/auth/index.js';
-import db from '../shared/database/index.js';
-import { processPagination } from '../shared/database/pagination.js';
-import { requestLimiter } from '../shared/request/mw.js';
-import ctrl from './user.controller.js';
-import {
- loginRequestLimiter,
- resetLoginAttempts,
- setLoginLimitKey,
-} from './mw.js';
-
-const { User } = db;
-const router = express.Router();
-
-// Public routes:
-router
- .post(
- '/login',
- setLoginLimitKey,
- loginRequestLimiter,
- authService.authenticate('local', { setCookie: true }),
- resetLoginAttempts,
- ctrl.getProfile,
- )
- .post('/forgot-password', ctrl.forgotPassword)
- .use('/reset-password', requestLimiter(), authService.authenticate('token'))
- .post('/reset-password', ctrl.resetPassword)
- .post('/reset-password/token-status', (_, res) =>
- res.sendStatus(StatusCodes.ACCEPTED),
- );
-
-// Protected routes:
-router
- .use(authService.authenticate('jwt'))
- .get('/', authorize(), processPagination(User), ctrl.list)
- .post('/', authorize(), ctrl.upsert)
- .get('/logout', authService.logout())
- .get('/me', ctrl.getProfile)
- .patch('/me', ctrl.updateProfile)
- .post('/me/change-password', ctrl.changePassword)
- .delete('/:id', authorize(), ctrl.remove)
- .post('/:id/reinvite', authorize(), ctrl.reinvite);
-
-export default {
- path: '/users',
- router,
-};
diff --git a/apps/backend/user/mw.js b/apps/backend/user/mw.js
deleted file mode 100644
index 92e1eea..0000000
--- a/apps/backend/user/mw.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import crypto from 'crypto';
-import { requestLimiter } from '../shared/request/mw.js';
-
-const ONE_HOUR_IN_MS = 60 * 60 * 1000;
-
-const loginRequestLimiter = requestLimiter({
- windowMs: ONE_HOUR_IN_MS,
- limit: 15,
- keyGenerator: (req) => req.userKey,
-});
-
-function setLoginLimitKey(req, _res, next) {
- const key = [req.ip, req.body.email].join(':');
- req.userKey = crypto.createHash('sha256').update(key).digest('base64');
- return next();
-}
-
-function resetLoginAttempts(req, res, next) {
- return loginRequestLimiter.resetKey(req.userKey).then(() => next());
-}
-
-export { loginRequestLimiter, setLoginLimitKey, resetLoginAttempts };
diff --git a/apps/backend/user/user.controller.js b/apps/backend/user/user.controller.js
deleted file mode 100644
index 84e2817..0000000
--- a/apps/backend/user/user.controller.js
+++ /dev/null
@@ -1,100 +0,0 @@
-import map from 'lodash/map.js';
-import { Op } from 'sequelize';
-import { StatusCodes } from 'http-status-codes';
-import db from '../shared/database/index.js';
-import { createError, validationError } from '../shared/error/helpers.js';
-
-const { User } = db;
-
-const createFilter = (q) =>
- map(['email', 'firstName', 'lastName'], (it) => ({
- [it]: { [Op.iLike]: `%${q}%` },
- }));
-
-function list({ query: { email, role, filter, archived }, options }, res) {
- const where = { [Op.and]: [] };
- if (filter) where[Op.or] = createFilter(filter);
- if (email) where[Op.and].push({ email });
- if (role) where[Op.and].push({ role });
- return User.findAndCountAll({ where, ...options, paranoid: !archived }).then(
- ({ rows, count }) => {
- return res.json({ data: { items: map(rows, 'profile'), total: count } });
- },
- );
-}
-
-function upsert({ body: { uid, email, firstName, lastName, role } }, res) {
- return User.inviteOrUpdate({ uid, email, firstName, lastName, role }).then(
- (data) => res.json({ data }),
- );
-}
-
-function remove({ params: { id } }, res) {
- return User.destroy({ where: { id } }).then(() =>
- res.sendStatus(StatusCodes.NO_CONTENT),
- );
-}
-
-function forgotPassword({ body }, res) {
- const { email } = body;
- return User.unscoped()
- .findOne({ where: { email } })
- .then(
- (user) => user || createError(StatusCodes.NOT_FOUND, 'User not found'),
- )
- .then((user) => user.sendResetToken())
- .then(() => res.end());
-}
-
-function resetPassword({ body, user }, res) {
- const { password } = body;
- return user
- .update({ password })
- .then(() => res.sendStatus(StatusCodes.NO_CONTENT));
-}
-
-function getProfile({ user, authData }, res) {
- return res.json({ user: user.profile, authData });
-}
-
-function updateProfile({ user, body }, res) {
- const { email, firstName, lastName, imgUrl } = body;
- return user
- .update({ email, firstName, lastName, imgUrl })
- .then(({ profile }) => res.json({ user: profile }))
- .catch(() => validationError(StatusCodes.CONFLICT));
-}
-
-function changePassword({ user, body }, res) {
- const { currentPassword, newPassword } = body;
- if (currentPassword === newPassword)
- return res.sendStatus(StatusCodes.BAD_REQUEST);
- return user
- .authenticate(currentPassword)
- .then((user) => user || createError(StatusCodes.BAD_REQUEST))
- .then((user) => user.update({ password: newPassword }))
- .then(() => res.sendStatus(StatusCodes.NO_CONTENT));
-}
-
-function reinvite({ params }, res) {
- return User.unscoped()
- .findByPk(params.id)
- .then(
- (user) =>
- user || createError(StatusCodes.NOT_FOUND, 'User does not exist!'),
- )
- .then((user) => User.sendInvitation(user))
- .then(() => res.status(StatusCodes.ACCEPTED).end());
-}
-
-export default {
- list,
- upsert,
- remove,
- forgotPassword,
- resetPassword,
- getProfile,
- updateProfile,
- changePassword,
- reinvite,
-};
diff --git a/apps/backend/user/user.model.js b/apps/backend/user/user.model.js
deleted file mode 100644
index 35e6b7f..0000000
--- a/apps/backend/user/user.model.js
+++ /dev/null
@@ -1,217 +0,0 @@
-import bcrypt from 'bcrypt';
-import gravatar from 'gravatar';
-import jwt from 'jsonwebtoken';
-import map from 'lodash/map.js';
-import { Model } from 'sequelize';
-import omit from 'lodash/omit.js';
-import pick from 'lodash/pick.js';
-import Promise from 'bluebird';
-import randomstring from 'randomstring';
-import { role as roles } from '@app/config';
-import mail from '../shared/mail/index.js';
-import Audience from '../shared/auth/audience.js';
-import { auth as authConfig } from '#config';
-
-const {
- user: { ADMIN, INTEGRATION, USER },
-} = roles;
-
-const gravatarConfig = { size: 130, default: 'identicon' };
-
-class User extends Model {
- static fields({ DATE, ENUM, STRING, TEXT, UUID, UUIDV4, VIRTUAL }) {
- return {
- uid: {
- type: UUID,
- unique: true,
- allowNull: false,
- defaultValue: UUIDV4,
- },
- email: {
- type: STRING,
- set(email) {
- this.setDataValue('email', email.toLowerCase());
- },
- validate: { isEmail: true },
- unique: { msg: 'The specified email address is already in use.' },
- },
- password: {
- type: STRING,
- validate: { notEmpty: true, len: [5, 100] },
- defaultValue: () => randomstring.generate(),
- },
- role: {
- type: ENUM(ADMIN, INTEGRATION, USER),
- defaultValue: USER,
- },
- firstName: {
- type: STRING,
- field: 'first_name',
- validate: { len: [2, 50] },
- },
- lastName: {
- type: STRING,
- field: 'last_name',
- validate: { len: [2, 50] },
- },
- fullName: {
- type: VIRTUAL,
- get() {
- return (
- [this.firstName, this.lastName].filter(Boolean).join(' ') || null
- );
- },
- },
- label: {
- type: VIRTUAL,
- get() {
- return this.fullName || this.email;
- },
- },
- imgUrl: {
- type: TEXT,
- field: 'img_url',
- get() {
- const imgUrl = this.getDataValue('imgUrl');
- return imgUrl || gravatar.url(this.email, gravatarConfig, true);
- },
- },
- profile: {
- type: VIRTUAL,
- get() {
- return pick(this, [
- 'id',
- 'email',
- 'role',
- 'firstName',
- 'lastName',
- 'fullName',
- 'label',
- 'imgUrl',
- 'createdAt',
- 'updatedAt',
- 'deletedAt',
- ]);
- },
- },
- createdAt: {
- type: DATE,
- field: 'created_at',
- },
- updatedAt: {
- type: DATE,
- field: 'updated_at',
- },
- deletedAt: {
- type: DATE,
- field: 'deleted_at',
- },
- };
- }
-
- static scopes() {
- return {
- defaultScope: {
- attributes: { exclude: ['password'] },
- },
- };
- }
-
- static hooks(Hooks) {
- return {
- [Hooks.beforeCreate](user) {
- return user.encryptPassword();
- },
- [Hooks.beforeUpdate](user) {
- return user.changed('password')
- ? user.encryptPassword()
- : Promise.resolve();
- },
- [Hooks.beforeBulkCreate](users) {
- const updates = [];
- users.forEach((user) => updates.push(user.encryptPassword()));
- return Promise.all(updates);
- },
- };
- }
-
- static options() {
- return {
- modelName: 'user',
- underscored: true,
- timestamps: true,
- paranoid: true,
- freezeTableName: true,
- };
- }
-
- static invite(user) {
- return this.create(user).then((user) => {
- this.sendInvitation(user);
- return user.reload();
- });
- }
-
- static inviteOrUpdate(data) {
- const { email } = data;
- return User.findOne({ where: { email }, paranoid: false }).then((user) => {
- if (!user) return User.invite(data);
- const payload = omit(data, ['id', 'uid']);
- map({ ...payload, deletedAt: null }, (v, k) => user.setDataValue(k, v));
- return user.save();
- });
- }
-
- static sendInvitation(user) {
- const token = user.createToken({
- expiresIn: '5 days',
- audience: Audience.Scope.Setup,
- });
- mail.invite(user, token);
- }
-
- isAdmin() {
- return this.role === ADMIN || this.role === INTEGRATION;
- }
-
- authenticate(password) {
- if (!this.password) return Promise.resolve(false);
- return bcrypt
- .compare(password, this.password)
- .then((match) => (match ? this : false));
- }
-
- encrypt(val) {
- return bcrypt.hash(val, authConfig.saltRounds);
- }
-
- encryptPassword() {
- if (!this.password) return Promise.resolve(false);
- return this.encrypt(this.password).then((pw) => (this.password = pw));
- }
-
- createToken(options = {}) {
- const payload = { id: this.id, email: this.email };
- Object.assign(options, {
- issuer: authConfig.jwt.issuer,
- audience: options.audience || Audience.Scope.Access,
- });
- return jwt.sign(payload, this.getTokenSecret(options.audience), options);
- }
-
- sendResetToken() {
- const token = this.createToken({
- audience: Audience.Scope.Setup,
- expiresIn: '2 days',
- });
- mail.resetPassword(this, token);
- }
-
- getTokenSecret(audience) {
- const { secret } = authConfig.jwt;
- if (audience === Audience.Scope.Access) return secret;
- return [secret, this.password, this.createdAt.getTime()].join('');
- }
-}
-
-export default User;
diff --git a/apps/frontend/api/ai.js b/apps/frontend/api/ai.js
deleted file mode 100644
index 5f8c70a..0000000
--- a/apps/frontend/api/ai.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import { extractData } from './helpers';
-import request from './request';
-
-const urls = {
- root: () => '/ai',
-};
-
-function prompt(payload) {
- return request.post(urls.root(), payload).then(extractData);
-}
-
-export default {
- prompt,
-};
diff --git a/apps/frontend/api/auth.js b/apps/frontend/api/auth.js
deleted file mode 100644
index 447b5a8..0000000
--- a/apps/frontend/api/auth.js
+++ /dev/null
@@ -1,55 +0,0 @@
-import request from './request';
-
-const urls = {
- root: '/users',
- login: () => `${urls.root}/login`,
- logout: () => `${urls.root}/logout`,
- forgotPassword: () => `${urls.root}/forgot-password`,
- resetPassword: () => `${urls.root}/reset-password`,
- resetTokenStatus: () => `${urls.resetPassword()}/token-status`,
- profile: () => `${urls.root}/me`,
- changePassword: () => `${urls.profile()}/change-password`,
-};
-
-function login(credentials) {
- return request.post(urls.login(), credentials);
-}
-
-function logout() {
- return request.get(urls.logout());
-}
-
-function forgotPassword(email) {
- return request.post(urls.forgotPassword(), { email });
-}
-
-function resetPassword(token, password) {
- return request.post(urls.resetPassword(), { token, password });
-}
-
-function validateResetToken(token) {
- return request.base.post(urls.resetTokenStatus(), { token });
-}
-
-function changePassword(currentPassword, newPassword) {
- return request.post(urls.changePassword(), { currentPassword, newPassword });
-}
-
-function getUserInfo() {
- return request.get(urls.profile());
-}
-
-function updateUserInfo(userData) {
- return request.patch(urls.profile(), userData);
-}
-
-export default {
- login,
- logout,
- forgotPassword,
- resetPassword,
- getUserInfo,
- updateUserInfo,
- changePassword,
- validateResetToken,
-};
diff --git a/apps/frontend/api/feed.js b/apps/frontend/api/feed.js
deleted file mode 100644
index afbbced..0000000
--- a/apps/frontend/api/feed.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import { extractData } from './helpers';
-import request from './request';
-
-const urls = {
- root: (topicId) => `/feed/${topicId}`,
- subscribe: (topicId) => `${urls.root(topicId)}/subscribe`,
-};
-
-function fetch(topicId) {
- return request.get(urls.root(topicId)).then(extractData);
-}
-
-export default {
- urls,
- fetch,
-};
diff --git a/apps/frontend/api/helpers.js b/apps/frontend/api/helpers.js
deleted file mode 100644
index fe222ae..0000000
--- a/apps/frontend/api/helpers.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export function extractData(res) {
- return res.data.data;
-}
diff --git a/apps/frontend/api/index.js b/apps/frontend/api/index.js
deleted file mode 100644
index 29cfd12..0000000
--- a/apps/frontend/api/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-export { default as auth } from './auth';
-export { default as feed } from './feed';
-export { default as user } from './user';
-export { default as client } from './request';
-export { extractData } from './helpers';
diff --git a/apps/frontend/api/user.js b/apps/frontend/api/user.js
deleted file mode 100644
index 6fb18b5..0000000
--- a/apps/frontend/api/user.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { extractData } from './helpers';
-import request from './request';
-
-function fetch(params) {
- return request.get('/users', { params }).then(extractData);
-}
-
-function upsert(data) {
- return request.post('/users', data).then(extractData);
-}
-
-function remove({ id }) {
- return request.delete(`/users/${id}`);
-}
-
-function reinvite({ id }) {
- return request.post(`/users/${id}/reinvite`);
-}
-
-export default {
- fetch,
- upsert,
- remove,
- reinvite,
-};
diff --git a/apps/frontend/app/api/auth.js b/apps/frontend/app/api/auth.js
new file mode 100644
index 0000000..b037489
--- /dev/null
+++ b/apps/frontend/app/api/auth.js
@@ -0,0 +1,62 @@
+import request from './request';
+import { extractData } from './helpers';
+
+const urls = {
+ authRoot: '/auth',
+ login: () => `${urls.authRoot}/login`,
+ logout: () => `${urls.authRoot}/logout`,
+ forgotPassword: () => `${urls.authRoot}/forgot-password`,
+ resetPassword: () => `${urls.authRoot}/reset-password`,
+ resetTokenStatus: () => `${urls.resetPassword()}/token-status`,
+ changePassword: () => `${urls.authRoot}/change-password`,
+ profile: () => 'me',
+};
+
+function login(credentials) {
+ return request.post(urls.login(), credentials).then(extractData);
+}
+
+function logout() {
+ return request.get(urls.logout()).then(extractData);
+}
+
+function forgotPassword(email) {
+ return request.post(urls.forgotPassword(), { email }).then(extractData);
+}
+
+function resetPassword(token, password) {
+ return request
+ .post(urls.resetPassword(), { token, newPassword: password })
+ .then(extractData);
+}
+
+function validateResetToken(token) {
+ return request.base
+ .post(urls.resetTokenStatus(), { token })
+ .then(extractData);
+}
+
+function changePassword(currentPassword, newPassword) {
+ return request
+ .post(urls.changePassword(), { currentPassword, newPassword })
+ .then(extractData);
+}
+
+function getUserInfo() {
+ return request.get(urls.profile()).then(extractData);
+}
+
+function updateUserInfo(userData) {
+ return request.patch(urls.profile(), userData).then((res) => res.data);
+}
+
+export default {
+ login,
+ logout,
+ forgotPassword,
+ resetPassword,
+ getUserInfo,
+ updateUserInfo,
+ changePassword,
+ validateResetToken,
+};
diff --git a/apps/frontend/app/api/helpers.js b/apps/frontend/app/api/helpers.js
new file mode 100644
index 0000000..e575b4a
--- /dev/null
+++ b/apps/frontend/app/api/helpers.js
@@ -0,0 +1,46 @@
+// Helper to extract full response
+export function extractFullResponse(res) {
+ return res?.data || {};
+}
+
+// Helper to extract data from API response format
+export function extractData(res) {
+ const response = extractFullResponse(res);
+ if (response.success && response.data !== undefined) return response.data;
+ // Handle error responses
+ if (!response.success && response.error) {
+ const error = new Error(response.error.message || 'API Error');
+ error.code = response.error.code;
+ error.type = response.error.type;
+ error.details = response.error.details;
+ error.meta = response.meta;
+ throw error;
+ }
+}
+
+// Helper to extract pagination info
+export function extractPaginationMeta(res) {
+ const response = extractFullResponse(res);
+ return response?.meta?.pagination || null;
+}
+
+// Helper to get error information
+export function getErrorInfo(error) {
+ const data = error?.response?.data;
+ if (data.error) {
+ return {
+ code: data.error.code,
+ type: data.error.type,
+ message: data.error.message,
+ details: data.error.details,
+ statusCode: data.meta?.statusCode || error.response.status,
+ };
+ }
+ // Fallback for network errors
+ return {
+ code: 'NETWORK_ERROR',
+ type: 'NetworkError',
+ message: error.message || 'Network error occurred',
+ statusCode: error.response?.status || 0,
+ };
+}
diff --git a/apps/frontend/app/api/index.ts b/apps/frontend/app/api/index.ts
new file mode 100644
index 0000000..5615f4b
--- /dev/null
+++ b/apps/frontend/app/api/index.ts
@@ -0,0 +1,13 @@
+import { createApiClient, type ApiClient } from 'app-api-client';
+import axiosClient from './request';
+
+export { default as auth } from './auth';
+export { default as user } from './user';
+export { default as client } from './request';
+export { extractData } from './helpers';
+
+// Pass the axios client to the API client factory
+export const apiClient: ApiClient = await createApiClient({
+ url: '',
+ axiosClient,
+});
diff --git a/apps/frontend/api/request.ts b/apps/frontend/app/api/request.ts
similarity index 58%
rename from apps/frontend/api/request.ts
rename to apps/frontend/app/api/request.ts
index 14fda07..7d80066 100644
--- a/apps/frontend/api/request.ts
+++ b/apps/frontend/app/api/request.ts
@@ -1,5 +1,6 @@
import axios, { Axios } from 'axios';
import buildFullPath from 'axios/unsafe/core/buildFullPath';
+import { getErrorInfo } from './helpers';
Axios.prototype.submitForm = function (url, fields, options) {
const action = buildFullPath(this.defaults.baseURL, url);
@@ -23,7 +24,15 @@ Object.defineProperty(client, 'base', {
},
});
-const isAuthError = (err) => [401, 403].includes(err.response?.status);
+const isAuthError = (err: any) => {
+ const status = err.response?.status;
+ return [401, 403].includes(status);
+};
+
+const isRateLimitError = (err: any) => {
+ const status = err.response?.status;
+ return status === 429;
+};
client.interceptors.response.use(
(res) => res,
@@ -31,11 +40,28 @@ client.interceptors.response.use(
if (isAuthError(err)) {
const isAuthenticated = useCookie('is-authenticated');
isAuthenticated.value = false;
+ // Remove trailing slash for consistency
+ const pathname = window.location.pathname.replace(/\/$/, '');
const authRoute = '/auth';
- if (window.location.pathname === authRoute) return;
- if (import.meta.server) return navigateTo(authRoute);
- return window.location.replace(authRoute);
+ if (
+ pathname === authRoute ||
+ err?.meta?.path === '/api/auth/change-password'
+ )
+ throw err;
+ if (import.meta.server) navigateTo(authRoute);
+ window.location.replace(authRoute);
+ throw err;
+ }
+ const errInfo = getErrorInfo(err);
+ // Handle rate limiting errors
+ if (isRateLimitError(err)) {
+ console.warn('Rate limit exceeded:', errInfo);
}
+ // Enhance error object with semantic information
+ err.errorCode = errInfo.code;
+ err.errorType = errInfo.type;
+ err.semanticMessage = errInfo.message;
+ err.errorDetails = errInfo.details;
throw err;
},
);
diff --git a/apps/frontend/app/api/user.js b/apps/frontend/app/api/user.js
new file mode 100644
index 0000000..c73956c
--- /dev/null
+++ b/apps/frontend/app/api/user.js
@@ -0,0 +1,52 @@
+import request from './request';
+import {
+ extractData,
+ extractFullResponse,
+ extractPaginationMeta,
+} from './helpers';
+
+function fetch(params) {
+ return request.get('/users', { params }).then((res) => {
+ const fullResponse = extractFullResponse(res);
+ const data = extractData(res);
+ const pagination = extractPaginationMeta(res);
+ return {
+ data,
+ total: pagination?.total || data?.length || 0,
+ page: pagination?.page || 1,
+ limit: pagination?.limit || 10,
+ hasNext: pagination?.has_next || false,
+ // Include full response for components that need meta data
+ _meta: fullResponse.meta,
+ };
+ });
+}
+
+function create(data) {
+ return request.post('/users', data).then(extractFullResponse);
+}
+
+function update(data) {
+ return request.patch(`/users/${data.id}`, data).then(extractFullResponse);
+}
+
+function remove({ id }) {
+ return request.delete(`/users/${id}`);
+}
+
+function reinvite({ id }) {
+ return request.post(`/users/${id}/reinvite`);
+}
+
+function restore({ id }) {
+ return request.post(`/users/${id}/restore`);
+}
+
+export default {
+ fetch,
+ create,
+ update,
+ remove,
+ reinvite,
+ restore,
+};
diff --git a/apps/frontend/app.vue b/apps/frontend/app/app.vue
similarity index 100%
rename from apps/frontend/app.vue
rename to apps/frontend/app/app.vue
diff --git a/apps/frontend/components/admin/AdminSidebar.vue b/apps/frontend/app/components/admin/AdminSidebar.vue
similarity index 100%
rename from apps/frontend/components/admin/AdminSidebar.vue
rename to apps/frontend/app/components/admin/AdminSidebar.vue
diff --git a/apps/frontend/components/admin/UserDialog.vue b/apps/frontend/app/components/admin/UserDialog.vue
similarity index 89%
rename from apps/frontend/components/admin/UserDialog.vue
rename to apps/frontend/app/components/admin/UserDialog.vue
index fe5e9cf..e1776e4 100644
--- a/apps/frontend/components/admin/UserDialog.vue
+++ b/apps/frontend/app/components/admin/UserDialog.vue
@@ -86,14 +86,14 @@ import { role } from '@app/config';
import { useForm } from 'vee-validate';
import type { User } from '@app/interfaces/user';
-import { user as api } from '@/api';
+import { apiClient as api } from '@/api';
import AppDialog from '@/components/common/AppDialog.vue';
const UserRole = role.user;
export interface Props {
- visible: boolean;
- userData: any;
+ visible?: boolean;
+ userData?: any;
users: User[];
}
@@ -136,7 +136,10 @@ const { defineField, errors, handleSubmit, resetForm } = useForm({
test: (email) => {
if (!isNewUser.value) return true;
if (props.userData.email === email) return true;
- return api.fetch({ email }).then(({ total }) => !total);
+ return api.user
+ .fetch({ query: { email } })
+ .then((response) => !response.data.total)
+ .catch(() => false);
},
}),
firstName: string().min(2).required(),
@@ -168,22 +171,29 @@ const close = () => {
};
const submit = handleSubmit(async () => {
- const action = isNewUser.value ? 'create' : 'update';
- await api.upsert({
- id: props.userData?.id,
+ const body = {
email: emailInput.value,
firstName: firstNameInput.value,
lastName: lastNameInput.value,
role: roleInput.value,
- });
- emit(`${action}d`);
+ };
+ if (isNewUser.value) {
+ await api.user.create({ body });
+ emit('created');
+ } else {
+ await api.user.update({
+ path: { id: props.userData.id },
+ body,
+ });
+ emit('updated');
+ }
close();
});
const reinvite = () => {
isReinviting.value = true;
- api
- .reinvite({ id: props.userData.id })
+ api.user
+ .reinvite({ path: { id: props.userData.id } })
.finally(() => (isReinviting.value = false));
};
diff --git a/apps/frontend/components/auth/Waves.vue b/apps/frontend/app/components/auth/Waves.vue
similarity index 100%
rename from apps/frontend/components/auth/Waves.vue
rename to apps/frontend/app/components/auth/Waves.vue
diff --git a/apps/frontend/components/common/AppBar.vue b/apps/frontend/app/components/common/AppBar.vue
similarity index 87%
rename from apps/frontend/components/common/AppBar.vue
rename to apps/frontend/app/components/common/AppBar.vue
index 48a178a..931ae15 100644
--- a/apps/frontend/components/common/AppBar.vue
+++ b/apps/frontend/app/components/common/AppBar.vue
@@ -5,7 +5,7 @@
color="primary-darken-3"
height="80"
>
-
+
- App
-
- starter
- v0.1
-
+ Odma
@@ -65,7 +61,6 @@
diff --git a/apps/frontend/lib/OidcClient.ts b/apps/frontend/app/lib/OidcClient.ts
similarity index 100%
rename from apps/frontend/lib/OidcClient.ts
rename to apps/frontend/app/lib/OidcClient.ts
diff --git a/apps/frontend/lib/radio.ts b/apps/frontend/app/lib/radio.ts
similarity index 100%
rename from apps/frontend/lib/radio.ts
rename to apps/frontend/app/lib/radio.ts
diff --git a/apps/frontend/lib/vite-plugins/injectConfigHeaders.ts b/apps/frontend/app/lib/vite-plugins/injectConfigHeaders.ts
similarity index 100%
rename from apps/frontend/lib/vite-plugins/injectConfigHeaders.ts
rename to apps/frontend/app/lib/vite-plugins/injectConfigHeaders.ts
diff --git a/apps/frontend/middleware/auth.ts b/apps/frontend/app/middleware/auth.ts
similarity index 90%
rename from apps/frontend/middleware/auth.ts
rename to apps/frontend/app/middleware/auth.ts
index a6e5bd9..2074007 100644
--- a/apps/frontend/middleware/auth.ts
+++ b/apps/frontend/app/middleware/auth.ts
@@ -4,7 +4,7 @@ export default async function () {
const isAuthenticated = useCookie('is-authenticated');
const authStore = useAuthStore();
if (authStore.user) return;
- await authStore.fetchUserInfo();
+ await authStore.me();
isAuthenticated.value = authStore.user ? 'true' : null;
if (!isAuthenticated.value) return navigateTo({ name: 'sign-in' });
}
diff --git a/apps/frontend/pages/admin.vue b/apps/frontend/app/pages/admin.vue
similarity index 88%
rename from apps/frontend/pages/admin.vue
rename to apps/frontend/app/pages/admin.vue
index a351ef2..e9153f1 100644
--- a/apps/frontend/pages/admin.vue
+++ b/apps/frontend/app/pages/admin.vue
@@ -23,7 +23,7 @@
diff --git a/apps/frontend/pages/admin/user-management.vue b/apps/frontend/app/pages/admin/user-management.vue
similarity index 87%
rename from apps/frontend/pages/admin/user-management.vue
rename to apps/frontend/app/pages/admin/user-management.vue
index f6678d5..6959ea6 100644
--- a/apps/frontend/pages/admin/user-management.vue
+++ b/apps/frontend/app/pages/admin/user-management.vue
@@ -105,10 +105,10 @@
diff --git a/apps/frontend/pages/auth/reset-password/[token].vue b/apps/frontend/app/pages/auth/reset-password/index.vue
similarity index 88%
rename from apps/frontend/pages/auth/reset-password/[token].vue
rename to apps/frontend/app/pages/auth/reset-password/index.vue
index 9405049..cd2ab2c 100644
--- a/apps/frontend/pages/auth/reset-password/[token].vue
+++ b/apps/frontend/app/pages/auth/reset-password/index.vue
@@ -67,9 +67,10 @@
diff --git a/apps/frontend/pages/user/profile.vue b/apps/frontend/app/pages/user/profile.vue
similarity index 100%
rename from apps/frontend/pages/user/profile.vue
rename to apps/frontend/app/pages/user/profile.vue
diff --git a/apps/frontend/plugins/core-services.ts b/apps/frontend/app/plugins/core-services.ts
similarity index 100%
rename from apps/frontend/plugins/core-services.ts
rename to apps/frontend/app/plugins/core-services.ts
diff --git a/apps/frontend/plugins/eventbus.ts b/apps/frontend/app/plugins/eventbus.ts
similarity index 100%
rename from apps/frontend/plugins/eventbus.ts
rename to apps/frontend/app/plugins/eventbus.ts
diff --git a/apps/frontend/plugins/oidc.ts b/apps/frontend/app/plugins/oidc.ts
similarity index 100%
rename from apps/frontend/plugins/oidc.ts
rename to apps/frontend/app/plugins/oidc.ts
diff --git a/apps/frontend/plugins/v-clipboard.ts b/apps/frontend/app/plugins/v-clipboard.ts
similarity index 100%
rename from apps/frontend/plugins/v-clipboard.ts
rename to apps/frontend/app/plugins/v-clipboard.ts
diff --git a/apps/frontend/plugins/vee-validate.ts b/apps/frontend/app/plugins/vee-validate.ts
similarity index 100%
rename from apps/frontend/plugins/vee-validate.ts
rename to apps/frontend/app/plugins/vee-validate.ts
diff --git a/apps/frontend/plugins/vuetify.ts b/apps/frontend/app/plugins/vuetify.ts
similarity index 100%
rename from apps/frontend/plugins/vuetify.ts
rename to apps/frontend/app/plugins/vuetify.ts
diff --git a/apps/frontend/plugins/yup.ts b/apps/frontend/app/plugins/yup.ts
similarity index 100%
rename from apps/frontend/plugins/yup.ts
rename to apps/frontend/app/plugins/yup.ts
diff --git a/apps/frontend/app/stores/auth.ts b/apps/frontend/app/stores/auth.ts
new file mode 100644
index 0000000..36f7aee
--- /dev/null
+++ b/apps/frontend/app/stores/auth.ts
@@ -0,0 +1,101 @@
+import type { LoginDto, UserDto } from 'app-api-client';
+
+import { apiClient as api } from '@/api';
+
+export const useAuthStore = defineStore('auth', () => {
+ const user = ref(null);
+ const strategy = ref(null);
+
+ const isAdmin = computed(() => user.value?.role === 'ADMIN');
+ const isDefaultUser = computed(() => user.value?.role === 'USER');
+ const isOidcActive = computed(() => strategy.value === 'oidc');
+
+ function $reset(
+ userData: UserDto | null = null,
+ authStrategy: string | null = null,
+ ) {
+ user.value = userData;
+ strategy.value = authStrategy;
+ }
+
+ function login(credentials: LoginDto): Promise {
+ return api.auth.login({ body: credentials }).then((response) => {
+ if (
+ response.statusCode >= 200 &&
+ response.statusCode < 300 &&
+ response.data
+ ) {
+ const { user } = response.data;
+ const authStrategy = 'local';
+ $reset(user, authStrategy);
+ return;
+ }
+ throw new Error(response?.body?.error?.message || 'Login failed');
+ });
+ }
+
+ function logout() {
+ return api.auth.logout().then(() => $reset());
+ }
+
+ function forgotPassword({ email }: { email: string }) {
+ return api.auth.forgotPassword({ body: { email } });
+ }
+
+ function resetPassword({
+ password,
+ token,
+ }: {
+ password: string;
+ token: string;
+ }) {
+ return api.auth.resetPassword({ body: { token, newPassword: password } });
+ }
+
+ function changePassword({
+ currentPassword,
+ newPassword,
+ }: {
+ currentPassword: string;
+ newPassword: string;
+ }) {
+ return api.auth
+ .changePassword({ body: { currentPassword, newPassword } })
+ .then((res) => {
+ if (res.statusCode === 200) return res;
+ throw new Error(res?.body?.error?.message || 'Change password failed');
+ });
+ }
+
+ function me() {
+ return api.currentUser
+ .get()
+ .then((res) => {
+ const authStrategy = 'local';
+ $reset(res.data, authStrategy);
+ })
+ .catch(() => $reset());
+ }
+
+ function updateCurrentUser(payload: any) {
+ return api.currentUser.update({ body: payload }).then((res) => {
+ user.value = res.data;
+ return res;
+ });
+ }
+
+ return {
+ user,
+ isAdmin,
+ isDefaultUser,
+ isOidcActive,
+ login,
+ logout,
+ forgotPassword,
+ resetPassword,
+ changePassword,
+ me,
+ updateCurrentUser,
+ $reset,
+ };
+});
diff --git a/apps/frontend/stores/config.ts b/apps/frontend/app/stores/config.ts
similarity index 100%
rename from apps/frontend/stores/config.ts
rename to apps/frontend/app/stores/config.ts
diff --git a/apps/frontend/app/types/api.ts b/apps/frontend/app/types/api.ts
new file mode 100644
index 0000000..063a4dc
--- /dev/null
+++ b/apps/frontend/app/types/api.ts
@@ -0,0 +1,44 @@
+export interface ApiMeta {
+ path: string;
+ method: string;
+ statusCode?: number;
+ timestamp: string;
+ duration: number;
+ version?: string;
+ request_id?: string;
+ pagination?: {
+ total: number;
+ page: number;
+ limit: number;
+ has_next: boolean;
+ };
+}
+
+export interface ApiError {
+ code: string;
+ type: string;
+ message: string;
+ details?: any[];
+}
+
+export interface EnhancedApiResponse {
+ success: boolean;
+ data?: T;
+ error?: ApiError;
+ meta: ApiMeta;
+}
+
+// Type helpers for better dev experience
+export type SuccessApiResponse = EnhancedApiResponse & {
+ success: true;
+ data: T;
+ error?: never;
+};
+
+export type ErrorApiResponse = EnhancedApiResponse & {
+ success: false;
+ data?: never;
+ error: ApiError;
+};
+
+export type ApiResponse = SuccessApiResponse | ErrorApiResponse;
diff --git a/apps/frontend/composables/useEditorBus.ts b/apps/frontend/composables/useEditorBus.ts
deleted file mode 100644
index 66d85ff..0000000
--- a/apps/frontend/composables/useEditorBus.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export const useEditorBus = () => {
- const { $eventBus } = useNuxtApp() as any;
- return $eventBus.channel('editor');
-};
diff --git a/apps/frontend/nuxt.config.ts b/apps/frontend/nuxt.config.ts
index 35ab179..8022a22 100644
--- a/apps/frontend/nuxt.config.ts
+++ b/apps/frontend/nuxt.config.ts
@@ -1,4 +1,4 @@
-import injectConfigHeaders from './lib/vite-plugins/injectConfigHeaders';
+import injectConfigHeaders from './app/lib/vite-plugins/injectConfigHeaders';
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
diff --git a/apps/frontend/package.json b/apps/frontend/package.json
index 8487e85..6270598 100644
--- a/apps/frontend/package.json
+++ b/apps/frontend/package.json
@@ -13,45 +13,46 @@
"@app/interfaces": "workspace:*",
"@types/bluebird": "^3.5.42",
"@types/debug": "^4.1.12",
- "@types/lodash": "^4.17.13",
+ "@types/lodash": "^4.17.20",
"@types/pluralize": "^0.0.33",
"@types/promise-queue": "^2.2.3",
- "@typescript-eslint/parser": "^6.9.0",
- "autoprefixer": "^10.4.20",
- "nuxt": "3.13.0",
- "sass": "^1.79.5",
- "vue": "^3.5.12",
- "vue-router": "^4.4.5"
+ "@typescript-eslint/parser": "^8.46.0",
+ "autoprefixer": "^10.4.21",
+ "nuxt": "4.1.2",
+ "sass": "^1.93.2",
+ "vue": "^3.5.22",
+ "vue-router": "^4.5.1"
},
"dependencies": {
"@mdi/font": "7.4.47",
"@paralleldrive/cuid2": "^2.2.2",
- "@pinia/nuxt": "^0.5.1",
- "@vee-validate/i18n": "^4.14.6",
- "@vee-validate/rules": "^4.14.6",
- "@vueuse/core": "^10.11.0",
- "axios": "^1.7.7",
+ "@pinia/nuxt": "^0.11.2",
+ "@vee-validate/i18n": "^4.15.1",
+ "@vee-validate/rules": "^4.15.1",
+ "@vueuse/core": "^13.9.0",
+ "app-api-client": "workspace:*",
+ "axios": "^1.12.2",
"bluebird": "^3.7.2",
"compressorjs": "^1.2.1",
- "date-fns": "^3.6.0",
- "debug": "^4.3.7",
+ "date-fns": "^4.1.0",
+ "debug": "^4.4.3",
"fecha": "^4.2.3",
"hashids": "^2.3.0",
- "humanize-string": "^3.0.0",
+ "humanize-string": "^3.1.0",
"lodash": "^4.17.21",
"mitt": "^3.0.1",
- "p-min-delay": "^4.0.2",
- "pinia": "^2.2.6",
+ "p-min-delay": "^4.2.0",
+ "pinia": "^3.0.3",
"pluralize": "^8.0.0",
"promise-queue": "^2.2.5",
"@app/config": "workspace:*",
"to-case": "^2.0.0",
"url-join": "^5.0.0",
"v-clipboard": "3.0.0-next.1",
- "vee-validate": "4.14.6",
- "vue3-tree-vue": "^2.0.11",
+ "vee-validate": "4.15.1",
+ "vue3-tree-vue": "^2.0.15",
"vuedraggable": "4.1.0",
- "vuetify": "3.7.4",
- "yup": "^1.4.0"
+ "vuetify": "3.10.5",
+ "yup": "^1.7.1"
}
}
diff --git a/apps/frontend/public/favicon.ico b/apps/frontend/public/favicon.ico
index 0c4c31f..bc239cc 100644
Binary files a/apps/frontend/public/favicon.ico and b/apps/frontend/public/favicon.ico differ
diff --git a/apps/frontend/public/img/default-logo-animated.svg b/apps/frontend/public/img/default-logo-animated.svg
new file mode 100644
index 0000000..6e31f3e
--- /dev/null
+++ b/apps/frontend/public/img/default-logo-animated.svg
@@ -0,0 +1,85 @@
+
\ No newline at end of file
diff --git a/apps/frontend/public/img/default-logo-compact.svg b/apps/frontend/public/img/default-logo-compact.svg
index f3abbec..7159527 100644
--- a/apps/frontend/public/img/default-logo-compact.svg
+++ b/apps/frontend/public/img/default-logo-compact.svg
@@ -1,19 +1,48 @@
-
\ No newline at end of file
diff --git a/apps/frontend/public/img/default-logo-full.svg b/apps/frontend/public/img/default-logo-full.svg
index b47d5b9..e2e3551 100644
--- a/apps/frontend/public/img/default-logo-full.svg
+++ b/apps/frontend/public/img/default-logo-full.svg
@@ -1,33 +1,54 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/apps/frontend/stores/auth.ts b/apps/frontend/stores/auth.ts
deleted file mode 100644
index 7529694..0000000
--- a/apps/frontend/stores/auth.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import type { User } from '@app/interfaces/user';
-
-import { auth as api } from '@/api';
-
-export const useAuthStore = defineStore('auth', () => {
- const user = ref(null);
- const strategy = ref(null);
-
- const isAdmin = computed(() => user.value?.role === 'ADMIN');
- const isDefaultUser = computed(() => user.value?.role === 'USER');
-
- const isOidcActive = computed(() => strategy.value === 'oidc');
-
- function $reset(
- userData: User | null = null,
- authStrategy: string | null = null,
- ) {
- user.value = userData;
- strategy.value = authStrategy;
- }
-
- function login(credentials: {
- email: string;
- password: string;
- }): Promise {
- return api
- .login(credentials)
- .then(({ data: { user, authData } }) => $reset(user, authData?.strategy));
- }
-
- function logout() {
- return api.logout().then(() => $reset());
- }
-
- function forgotPassword({ email }: { email: string }) {
- return api.forgotPassword(email);
- }
-
- function resetPassword({
- password,
- token,
- }: {
- password: string;
- token: string;
- }) {
- return api.resetPassword(token, password);
- }
-
- function changePassword({
- currentPassword,
- newPassword,
- }: {
- currentPassword: string;
- newPassword: string;
- }) {
- return api.changePassword(currentPassword, newPassword);
- }
-
- function fetchUserInfo() {
- return api
- .getUserInfo()
- .then(({ data: { user, authData } }) => $reset(user, authData?.strategy))
- .catch(() => $reset());
- }
-
- function updateInfo(payload: any) {
- return api
- .updateUserInfo(payload)
- .then(({ data }) => (user.value = data.user));
- }
-
- return {
- user,
- isAdmin,
- isDefaultUser,
- isOidcActive,
- login,
- logout,
- forgotPassword,
- resetPassword,
- changePassword,
- fetchUserInfo,
- updateInfo,
- $reset,
- };
-});
diff --git a/docker-compose.dev.yaml b/docker-compose.dev.yaml
index 3741e46..0ac361a 100644
--- a/docker-compose.dev.yaml
+++ b/docker-compose.dev.yaml
@@ -4,7 +4,7 @@ services:
container_name: "app-starter-postgres"
image: "postgres:15.1"
environment:
- POSTGRES_DB: "app_starter"
+ POSTGRES_DB: "odma"
POSTGRES_USER: "dev"
POSTGRES_PASSWORD: "dev"
expose:
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 976d6b2..5761324 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -4,7 +4,7 @@ services:
container_name: "postgres"
image: "postgres:15.1"
environment:
- POSTGRES_DB: "app_starter"
+ POSTGRES_DB: "odma"
POSTGRES_USER: "dev"
POSTGRES_PASSWORD: "dev"
expose:
@@ -33,7 +33,7 @@ services:
PORT: 3000
REVERSE_PROXY_PORT: 3000
DATABASE_HOST: "postgres"
- DATABASE_NAME: "app_starter"
+ DATABASE_NAME: "odma"
DATABASE_USER: "dev"
DATABASE_PASSWORD: "dev"
restart: "no"
diff --git a/docs/dev/general/setup.md b/docs/dev/general/setup.md
index c84b3e7..7e09c19 100644
--- a/docs/dev/general/setup.md
+++ b/docs/dev/general/setup.md
@@ -18,7 +18,7 @@ dependencies:
Before you begin, ensure you have the following installed:
- [Node.js (version 22.x or higher)](https://nodejs.org/en/download/)
-- [pnpm (version 9.0.6 or higher)](https://pnpm.io/installation)
+- [pnpm (version 10.17.1 or higher)](https://pnpm.io/installation)
- Clone the repository to your local machine.
### Setup Using Docker
diff --git a/eslint.config.js b/eslint.config.js
index dd64a73..52ef978 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -12,6 +12,8 @@ export default createConfigForNuxt({
arrowParens: 'always',
},
},
+}).append({
+ ignores: ['packages/app-api-client/**'],
}).append({
rules: {
'max-len': ['error', { code: 90, comments: 100, ignoreUrls: true }],
@@ -34,4 +36,10 @@ export default createConfigForNuxt({
'@stylistic/indent-binary-ops': 'off',
'@typescript-eslint/no-explicit-any': 'off',
},
+}).append({
+ files: ['apps/backend/**/*.ts'],
+ rules: {
+ '@typescript-eslint/no-extraneous-class': 'off',
+ '@typescript-eslint/consistent-type-imports': 'off',
+ },
});
diff --git a/infrastructure/Pulumi.dev.yaml b/infrastructure/Pulumi.dev.yaml
index 2d8784b..e66d508 100644
--- a/infrastructure/Pulumi.dev.yaml
+++ b/infrastructure/Pulumi.dev.yaml
@@ -1,23 +1,8 @@
config:
- ai:modelId: gpt-4o
aws:region: us-east-1
- dns:domain: app-starter.com
+ dns:domain: api.tailor-cms.com
dns:hostedZoneId: my_hosted_zone_id
- s3:bucket: my_bucket_name
- s3:region: eu-central-1
- email:host: email-smtp.us-east-1.amazonaws.com
- email:senderAddress: me@app_starter.com
+ mail:host: email-smtp.us-east-1.amazonaws.com
+ mail:senderAddress: me@odma.com
ssm:keyPrefix: app/dev
app-starter:resourceNamePrefix: app-starter
- oidc:enabled: "true"
- oidc:loginText: Sign in with Google
- oidc:defaultRole: USER
- oidc:allowSignup: "true"
- oidc:issuer: https://accounts.google.com
- oidc:jwksUrl: https://www.googleapis.com/oauth2/v3/certs
- oidc:authorizationEndpoint: https://accounts.google.com/o/oauth2/v2/auth
- oidc:tokenEndpoint: https://oauth2.googleapis.com/token
- oidc:userinfoEndpoint: https://openidconnect.googleapis.com/v1/userinfo
- oidc:logoutEnabled: ""
- oidc:logoutEndpoint: ""
- oidc:postLogoutUriKey: ""
diff --git a/infrastructure/README.md b/infrastructure/README.md
new file mode 100644
index 0000000..1f5dc20
--- /dev/null
+++ b/infrastructure/README.md
@@ -0,0 +1,314 @@
+# Infrastructure Deployment
+
+AWS infrastructure provisioning for the App Starter project using Pulumi and TypeScript.
+
+## ๐๏ธ Architecture Overview
+
+This infrastructure deploys:
+- **Database**: PostgreSQL RDS instance with automated backups
+- **Application**: Containerized NestJS backend with auto-scaling
+- **Networking**: VPC, subnets, security groups, load balancer
+- **DNS**: Route53 hosted zone and SSL certificates
+- **Secrets**: AWS Systems Manager Parameter Store for sensitive data
+- **Monitoring**: CloudWatch logs and metrics
+
+## ๐ Prerequisites
+
+### Required Tools
+```bash
+# Install Pulumi CLI
+curl -fsSL https://get.pulumi.com | sh
+
+# Install AWS CLI
+# macOS: brew install awscli
+# Linux: pip install awscli
+
+# Install Node.js 22+ and pnpm
+# macOS: brew install node pnpm
+```
+
+### AWS Account Setup
+1. **AWS Account** with administrative access
+2. **AWS CLI configured** with appropriate credentials:
+ ```bash
+ aws configure
+ ```
+3. **Domain name** registered and managed in Route53
+4. **Hosted Zone ID** for your domain
+
+## ๐ ๏ธ Configuration
+
+### 1. Update Pulumi Configuration
+Edit `Pulumi.dev.yaml` with your specific values:
+
+```yaml
+config:
+ aws:region: us-east-1 # Your preferred AWS region
+ dns:domain: your-domain.com # Your domain name
+ dns:hostedZoneId: Z1234567890ABCDEF # Your Route53 hosted zone ID
+ mail:host: email-smtp.us-east-1.amazonaws.com # Your SMTP host
+ mail:senderAddress: noreply@your-domain.com # Your sender email
+ ssm:keyPrefix: app/dev # SSM parameter prefix
+ app-starter:resourceNamePrefix: your-app # Resource naming prefix
+```
+
+### 2. Set Up AWS Secrets
+Store sensitive configuration in AWS Systems Manager Parameter Store:
+
+```bash
+# Set your AWS region
+export AWS_REGION=us-east-1
+
+# Set your SSM key prefix (match Pulumi.dev.yaml)
+export SSM_PREFIX="app/dev"
+
+# Create secure parameters
+aws ssm put-parameter \
+ --name "/${SSM_PREFIX}/AUTH_JWT_SECRET" \
+ --value "your-super-secure-jwt-secret-here" \
+ --type "SecureString" \
+ --description "JWT secret for authentication"
+
+aws ssm put-parameter \
+ --name "/${SSM_PREFIX}/MAIL_USER" \
+ --value "your-smtp-username" \
+ --type "SecureString" \
+ --description "SMTP authentication username"
+
+aws ssm put-parameter \
+ --name "/${SSM_PREFIX}/MAIL_PASSWORD" \
+ --value "your-smtp-password" \
+ --type "SecureString" \
+ --description "SMTP authentication password"
+```
+
+### 3. Verify Domain Setup
+Ensure your domain is properly configured:
+```bash
+# Check if your domain's hosted zone exists
+aws route53 list-hosted-zones-by-name --dns-name your-domain.com
+
+# Note the HostedZoneId for your Pulumi configuration
+```
+
+## ๐ Deployment Steps
+
+### 1. Install Dependencies
+```bash
+cd infrastructure
+pnpm install
+```
+
+### 2. Initialize Pulumi Stack
+```bash
+# Login to Pulumi (choose your backend)
+pulumi login # For Pulumi Service (free tier available)
+# OR
+pulumi login --local # For local state management
+
+# Initialize the stack
+pulumi stack init dev
+```
+
+### 3. Preview Deployment
+```bash
+# Preview what will be created
+pulumi preview
+
+# Review the planned changes carefully
+# Ensure all configurations look correct
+```
+
+### 4. Deploy Infrastructure
+```bash
+# Deploy the infrastructure
+pulumi up
+
+# Type 'yes' when prompted to confirm deployment
+# This process typically takes 10-15 minutes
+```
+
+### 5. Verify Deployment
+```bash
+# Check deployment status
+pulumi stack output
+
+# Test the application endpoint
+curl https://your-domain.com/api/health
+```
+
+## ๐ Post-Deployment
+
+### Application Access
+- **API Endpoint**: `https://your-domain.com/api`
+- **Health Check**: `https://your-domain.com/api/health`
+- **API Documentation**: `https://your-domain.com/api/docs`
+
+### Database Access
+The database is only accessible from within the VPC for security. To connect:
+
+1. **Via Application**: The deployed app automatically connects
+2. **For Management**: Use an EC2 bastion host or VPN connection
+3. **Database Details**: Available in Pulumi stack outputs
+
+### Logs and Monitoring
+```bash
+# View application logs
+aws logs describe-log-groups --log-group-name-prefix "/aws/ecs/app-starter"
+
+# Follow real-time logs
+aws logs tail "/aws/ecs/app-starter" --follow
+```
+
+## ๐ง Configuration Management
+
+### Environment Variables
+The infrastructure automatically configures these environment variables for the application:
+
+**General Configuration:**
+- `NODE_ENV=production`
+- `LOG_LEVEL=info`
+- `HOSTNAME=your-domain.com`
+- `PORT=3000`
+- `REVERSE_PROXY_PORT=443`
+- `CORS_ALLOWED_ORIGINS=https://your-domain.com`
+
+**Database Configuration:**
+- `DATABASE_HOST` (RDS endpoint)
+- `DATABASE_PORT=5432`
+- `DATABASE_NAME` (from RDS)
+- `DATABASE_USERNAME` (from RDS)
+- `DATABASE_PASSWORD` (from AWS Secrets Manager)
+- `DATABASE_SSL=true`
+- `DATABASE_LOGGING=false`
+
+**Authentication Configuration:**
+- `AUTH_JWT_ISSUER=App`
+- `AUTH_JWT_SECRET` (from SSM Parameter Store)
+- `AUTH_JWT_EXPIRES_IN=7d`
+- `AUTH_COOKIE_NAME=access_token`
+- `AUTH_SALT_ROUNDS=12`
+
+**Mail Configuration:**
+- `MAIL_HOST` (from configuration)
+- `MAIL_PORT=587`
+- `MAIL_USER` (from SSM Parameter Store)
+- `MAIL_PASSWORD` (from SSM Parameter Store)
+- `MAIL_SECURE=true`
+- `MAIL_FROM_NAME=App`
+- `MAIL_FROM_EMAIL` (from configuration)
+
+### Updating Secrets
+```bash
+# Update JWT secret
+aws ssm put-parameter \
+ --name "/${SSM_PREFIX}/AUTH_JWT_SECRET" \
+ --value "new-jwt-secret" \
+ --type "SecureString" \
+ --overwrite
+
+# Update email credentials
+aws ssm put-parameter \
+ --name "/${SSM_PREFIX}/MAIL_USER" \
+ --value "new-username" \
+ --type "SecureString" \
+ --overwrite
+
+# Restart the application to pick up new secrets
+# (Application will automatically restart in ECS)
+```
+
+## ๐ Updates and Maintenance
+
+### Updating Infrastructure
+```bash
+# Make changes to your Pulumi code or configuration
+# Preview changes
+pulumi preview
+
+# Apply updates
+pulumi up
+```
+
+### Updating Application
+The infrastructure is designed for container-based deployments. Update your application by:
+
+1. Building and pushing a new container image
+2. Updating the ECS service to use the new image
+3. ECS will perform a rolling update automatically
+
+### Backup and Recovery
+- **Database Backups**: Automated daily backups with 7-day retention
+- **Point-in-time Recovery**: Available for the database
+- **Infrastructure State**: Pulumi state is managed in your chosen backend
+
+## ๐ Security Considerations
+
+### Network Security
+- Application runs in private subnets
+- Database is only accessible from application subnets
+- Load balancer provides SSL termination
+- Security groups restrict access to necessary ports only
+
+### Secrets Management
+- All sensitive data stored in AWS Parameter Store (encrypted)
+- Database password managed by AWS Secrets Manager
+- Application retrieves secrets at runtime
+- No secrets stored in code or configuration files
+
+### SSL/TLS
+- Automatic SSL certificate provisioning via ACM
+- HTTPS enforced for all web traffic
+- Secure communication between all components
+
+## ๐งน Cleanup
+
+To destroy the infrastructure:
+
+```bash
+# Preview what will be destroyed
+pulumi destroy --show-config
+
+# Destroy the infrastructure
+pulumi destroy
+
+# Type 'yes' when prompted
+# This process typically takes 5-10 minutes
+```
+
+**Note**: This will permanently delete all resources including the database. Ensure you have backups if needed.
+
+## ๐ Troubleshooting
+
+### Common Issues
+
+**Deployment Fails with DNS Errors:**
+- Verify your hosted zone ID is correct
+- Ensure the domain is properly configured in Route53
+- Check that your AWS credentials have Route53 permissions
+
+**Application Not Starting:**
+- Check ECS task logs: `aws logs tail "/aws/ecs/app-starter" --follow`
+- Verify all required SSM parameters are set
+- Ensure database is accessible from application subnets
+
+**SSL Certificate Issues:**
+- Certificate validation requires DNS control
+- Ensure your domain's nameservers point to Route53
+- Certificate provisioning can take 5-10 minutes
+
+**Database Connection Issues:**
+- Verify security group rules allow database access
+- Check that DATABASE_HOST environment variable is correct
+- Ensure database is in the same VPC as the application
+
+### Getting Help
+- Check Pulumi stack outputs: `pulumi stack output`
+- Review AWS CloudFormation events in the console
+- Examine ECS task definitions and service status
+- Monitor CloudWatch logs for application errors
+
+### Support Resources
+- [Pulumi Documentation](https://www.pulumi.com/docs/)
+- [AWS Documentation](https://docs.aws.amazon.com/)
+- [Project Repository Issues](https://github.com/your-repo/issues)
\ No newline at end of file
diff --git a/infrastructure/package.json b/infrastructure/package.json
index 9762d73..fa00a2d 100644
--- a/infrastructure/package.json
+++ b/infrastructure/package.json
@@ -2,12 +2,12 @@
"name": "@app/infrastucture",
"main": "src/index.ts",
"devDependencies": {
- "@types/node": "^22"
+ "@types/node": "^24"
},
"dependencies": {
- "@pulumi/aws": "^6.58.0",
- "@pulumi/awsx": "^2.17.0",
- "@pulumi/pulumi": "^3.138.0",
- "@studion/infra-code-blocks": "^0.6.11"
+ "@pulumi/aws": "^7.8.0",
+ "@pulumi/awsx": "^3.0.0",
+ "@pulumi/pulumi": "^3.202.0",
+ "@studion/infra-code-blocks": "^0.7.0"
}
}
diff --git a/infrastructure/src/env.ts b/infrastructure/src/env.ts
index 8e314cc..4500942 100644
--- a/infrastructure/src/env.ts
+++ b/infrastructure/src/env.ts
@@ -2,12 +2,9 @@ import * as aws from '@pulumi/aws';
import * as pulumi from '@pulumi/pulumi';
import type * as studion from '@studion/infra-code-blocks';
-const aiConfig = new pulumi.Config('ai');
-const oidcConfg = new pulumi.Config('oidc');
const awsConfig = new pulumi.Config('aws');
-const emailConfig = new pulumi.Config('email');
+const mailConfig = new pulumi.Config('mail');
const dnsConfig = new pulumi.Config('dns');
-const s3Config = new pulumi.Config('s3');
const ssmConfig = new pulumi.Config('ssm');
const accountId = aws.getCallerIdentityOutput().accountId;
@@ -19,81 +16,45 @@ function getSsmParam(key: string) {
}
export const getEnvVariables = (db: studion.Database) => [
- // Will trigger DB migrations on startup
- { name: 'NODE_ENV', value: 'development' },
- { name: 'LOG_LEVEL', value: 'INFO' },
+ // General configuration
+ { name: 'NODE_ENV', value: 'production' },
+ { name: 'LOG_LEVEL', value: 'info' },
{ name: 'HOSTNAME', value: dnsConfig.require('domain') },
- { name: 'PROTOCOL', value: 'https' },
- // Internal service port
{ name: 'PORT', value: '3000' },
- // Outward facing port
{ name: 'REVERSE_PROXY_PORT', value: '443' },
{
name: 'CORS_ALLOWED_ORIGINS',
value: `https://${dnsConfig.require('domain')}`,
},
+ // Database configuration
{ name: 'DATABASE_HOST', value: db.instance.address },
{
name: 'DATABASE_PORT',
value: db.instance.port.apply((port: number) => String(port)),
},
- { name: 'DATABASE_SSL', value: 'true' },
- { name: 'DATABASE_USER', value: db.instance.username },
{ name: 'DATABASE_NAME', value: db.instance.dbName },
- { name: 'DATABASE_ADAPTER', value: 'postgres' },
- { name: 'STORAGE_PROVIDER', value: 'amazon' },
- { name: 'STORAGE_REGION', value: s3Config.require('region') },
- // Create a bucket in the AWS console and set the name here
- { name: 'STORAGE_BUCKET', value: s3Config.require('bucket') },
- { name: 'AUTH_JWT_ISSUER', value: 'app_starter' },
- { name: 'AUTH_JWT_COOKIE_NAME', value: 'access_token' },
- { name: 'AUTH_SALT_ROUNDS', value: '10' },
- { name: 'EMAIL_HOST', value: emailConfig.require('host') },
- { name: 'EMAIL_SSL', value: 'true' },
- { name: 'EMAIL_SENDER_NAME', value: 'App' },
- { name: 'EMAIL_SENDER_ADDRESS', value: emailConfig.require('senderAddress') },
- { name: 'AI_MODEL_ID', value: aiConfig.require('modelId') },
- { name: 'NUXT_PUBLIC_OIDC_ENABLED', value: oidcConfg.require('enabled') },
- {
- name: 'NUXT_PUBLIC_OIDC_LOGIN_TEXT',
- value: oidcConfg.require('loginText'),
- },
- { name: 'OIDC_ALLOW_SIGNUP', value: oidcConfg.require('allowSignup') },
- { name: 'OIDC_DEFAULT_ROLE', value: oidcConfg.require('defaultRole') },
- { name: 'OIDC_ISSUER', value: oidcConfg.require('issuer') },
- { name: 'OIDC_JWKS_URL', value: oidcConfg.require('jwksUrl') },
- {
- name: 'OIDC_AUTHORIZATION_ENDPOINT',
- value: oidcConfg.require('authorizationEndpoint'),
- },
- { name: 'OIDC_TOKEN_ENDPOINT', value: oidcConfg.require('tokenEndpoint') },
- {
- name: 'OIDC_USERINFO_ENDPOINT',
- value: oidcConfg.require('userinfoEndpoint'),
- },
- {
- name: 'NUXT_PUBLIC_OIDC_LOGOUT_ENABLED',
- value: oidcConfg.require('logoutEnabled'),
- },
- { name: 'OIDC_LOGOUT_ENDPOINT', value: oidcConfg.require('logoutEndpoint') },
- {
- name: 'OIDC_POST_LOGOUT_URI_KEY',
- value: oidcConfg.require('postLogoutUriKey'),
- },
+ { name: 'DATABASE_USERNAME', value: db.instance.username },
+ { name: 'DATABASE_SSL', value: 'true' },
+ { name: 'DATABASE_LOGGING', value: 'false' },
+ // Authentication configuration
+ { name: 'AUTH_JWT_ISSUER', value: 'App' },
+ { name: 'AUTH_JWT_EXPIRES_IN', value: '7d' },
+ { name: 'AUTH_COOKIE_NAME', value: 'access_token' },
+ { name: 'AUTH_SALT_ROUNDS', value: '12' },
+ // Mail configuration
+ { name: 'MAIL_HOST', value: mailConfig.require('host') },
+ { name: 'MAIL_PORT', value: '587' },
+ { name: 'MAIL_SECURE', value: 'true' },
+ { name: 'MAIL_FROM_NAME', value: 'App' },
+ { name: 'MAIL_FROM_EMAIL', value: mailConfig.require('senderAddress') },
];
export const getSecrets = (db: studion.Database) => [
...[
'AUTH_JWT_SECRET',
- 'AUTH_JWT_COOKIE_SECRET',
- 'STORAGE_KEY',
- 'STORAGE_SECRET',
- 'EMAIL_USER',
- 'EMAIL_PASSWORD',
- 'AI_SECRET_KEY',
- 'OIDC_CLIENT_ID',
- 'OIDC_CLIENT_SECRET',
- 'OIDC_SESSION_SECRET',
+ 'MAIL_USER',
+ 'MAIL_PASSWORD',
+ 'SENTRY_DSN',
].map((name) => ({ name, valueFrom: getSsmParam(name) })),
{ name: 'DATABASE_PASSWORD', valueFrom: db.password.secret.arn },
];
diff --git a/infrastructure/src/index.ts b/infrastructure/src/index.ts
index 886f6c9..05aadc2 100644
--- a/infrastructure/src/index.ts
+++ b/infrastructure/src/index.ts
@@ -31,8 +31,8 @@ const vpc = new awsx.ec2.Vpc(`${PROJECT_NAME}-vpc`, {
const db = new studion.Database(`${fullPrefix}-app-starter-db`, {
instanceClass: 'db.t4g.micro',
- dbName: 'app_starter',
- username: 'app_starter',
+ dbName: 'odma',
+ username: 'odma',
vpcId: vpc.vpcId,
vpcCidrBlock: vpc.vpc.cidrBlock,
isolatedSubnetIds: vpc.isolatedSubnetIds,
diff --git a/package.json b/package.json
index 5c7af34..be54fad 100644
--- a/package.json
+++ b/package.json
@@ -7,44 +7,50 @@
"dev": "node ./scripts/boot.js",
"dc": "docker compose -f docker-compose.dev.yaml up & pnpm dev",
"build": "dotenv -- pnpm -r build",
- "start": "cd ./apps/backend && pnpm start",
+ "start": "cd ./apps/backend && pnpm start:prod",
"dcs": "docker compose -f docker-compose.dev.yaml up & pnpm start",
"lint": "eslint .",
- "seed": "cd ./apps/backend && pnpm db:seed",
+ "seed": "cd ./apps/backend && pnpm seeder:run",
+ "openapi:generate": "cd apps/backend && pnpm build && pnpm openapi:generate",
+ "api:client:build": "node ./packages/api-client-generator/bin/build-client.js",
+ "api:client:watch": "node ./packages/api-client-generator/bin/watch-client.js",
"e2e:functional": "cd tests && pnpm e2e:functional",
"e2e:visual": "cd tests && pnpm e2e:visual",
"e2e:a11y": "cd tests && pnpm e2e:a11y",
"setup:dev": "pnpm i && node ./scripts/setup/index.js",
"db:migrate": "cd ./apps/backend && pnpm db migrate",
- "db:reset": "cd ./apps/backend && pnpm db:reset",
+ "db:reset": "cd ./apps/backend && pnpm schema:fresh",
"docs:dev": "vitepress dev docs",
"docs:build": "vitepress build docs",
"docs:preview": "vitepress preview docs"
},
"devDependencies": {
"@app/seed": "workspace:^",
- "@nuxt/eslint-config": "^0.6.1",
+ "@nuxt/eslint-config": "^1.9.0",
"boxen": "^8.0.1",
- "chalk": "^5.3.0",
- "dotenv-cli": "^7.4.2",
- "eslint": "^9.14.0",
- "execa": "^9.5.1",
- "inquirer": "^9.2.23",
+ "chalk": "^5.6.2",
+ "dotenv-cli": "^10.0.0",
+ "eslint": "^9.37.0",
+ "execa": "^9.6.0",
+ "inquirer": "^12.9.6",
"lodash": "^4.17.21",
+ "massimo": "^1.0.1",
+ "massimo-cli": "^1.0.1",
"minimist": "^1.2.8",
- "ora": "^8.1.1",
- "pg": "^8.13.1",
- "pid-port": "^1.0.0",
- "pkg-dir": "^8.0.0",
- "shelljs": "^0.8.5",
- "typescript": "^5.6.3",
- "vitepress": "^1.5.0"
+ "ora": "^9.0.0",
+ "pg": "^8.16.3",
+ "pid-port": "^2.0.0",
+ "pkg-dir": "^9.0.0",
+ "prettier": "^3.6.2",
+ "shelljs": "^0.10.0",
+ "typescript": "^5.9.3",
+ "vitepress": "^1.6.4"
},
"dependencies": {
- "@inquirer/select": "^2.4.7",
- "concurrently": "^9.1.0",
- "dotenv": "^16.4.5",
+ "@inquirer/select": "^4.3.4",
+ "concurrently": "^9.2.1",
+ "dotenv": "^17.2.3",
"fkill": "^9.0.0"
},
- "packageManager": "pnpm@9.0.6+sha512.f6d863130973207cb7a336d6b439a242a26ac8068077df530d6a86069419853dc1ffe64029ec594a9c505a3a410d19643c870aba6776330f5cfddcf10a9c1617"
+ "packageManager": "pnpm@10.18.2"
}
diff --git a/packages/api-client-generator/README.md b/packages/api-client-generator/README.md
new file mode 100644
index 0000000..ea12e8b
--- /dev/null
+++ b/packages/api-client-generator/README.md
@@ -0,0 +1,383 @@
+# API Client Generator
+
+A TypeScript-first API client generator that creates axios-based clients from
+OpenAPI specifications. Built specifically for NestJS backends with automatic
+type inference and response handling.
+
+## Purpose
+
+This generator creates fully-typed, axios-based API clients that:
+- **Auto-generate from OpenAPI specs** - No manual API client maintenance
+- **Preserve full type safety** - Request/response types inferred from your DTOs
+- **Handle response formats** - Works with NestJS `SuccessResponse` wrappers
+- **Support multiple patterns** - Both data extraction and raw response access
+- **Enable hot-reloading** - Watch OpenAPI changes and regenerate instantly
+
+## Core Principles
+
+### 1. **Type Safety First**
+
+All request and response types are automatically inferred from your OpenAPI
+specification, eliminating manual type definitions and ensuring consistency
+with your backend.
+
+### 2. **Response Format Awareness**
+
+Understands NestJS response patterns like `SuccessResponse` and
+automatically extracts the data while preserving error handling.
+
+### 3. **Dual Access Patterns**
+
+- **Data extraction**: `api.users.getUser()` returns the unwrapped data
+- **Raw access**: `api.users.getUser.raw()` returns the full axios response
+
+### 4. **Namespace Organization**
+
+Groups methods by OpenAPI operation IDs
+(e.g., `users_getUser` โ `api.users.getUser`)
+
+### 5. **Zero Configuration**
+
+Works out-of-the-box with monorepo structure detection and sensible defaults.
+
+## Usage
+
+### Generate API Client
+
+```bash
+# Generate from auto-detected OpenAPI spec
+pnpm api:client:build
+
+# Generate from specific spec file
+pnpm api:client:build --spec ./custom-spec.json
+
+# Generate to custom output directory
+pnpm api:client:build --output ./my-api-client
+
+# Watch for changes and auto-regenerate
+pnpm api:client:watch
+```
+
+### Using the Generated Client
+
+```typescript
+import { createApiClient } from 'app-api-client';
+import axiosClient from './request'; // Your configured axios instance
+
+// Create the API client
+const api = await createApiClient({ axiosClient });
+
+// Now use the fully-typed client
+const userData = await api.auth.login({
+ body: { email: 'user@example.com', password: 'password123' },
+});
+```
+
+## Examples
+
+### Authentication
+
+```typescript
+// Login
+const loginResult = await api.auth.login({
+ body: {
+ email: 'user@example.com',
+ password: 'password123',
+ },
+});
+// Type: SuccessResponse<{ user: UserDto; authData: AuthDataDto }>
+console.log(loginResult.user.id, loginResult.authData.token);
+
+// Register
+const newUser = await api.auth.register({
+ body: {
+ email: 'newuser@example.com',
+ password: 'password123',
+ firstName: 'John',
+ lastName: 'Doe',
+ },
+});
+// Type: SuccessResponse
+
+// Logout
+await api.auth.logout();
+
+// Get current user
+const currentUser = await api.auth.me();
+// Type: SuccessResponse
+```
+
+### User CRUD Operations
+
+```typescript
+// Get all users (with pagination)
+const users = await api.users.getUsers({
+ query: {
+ page: 1,
+ limit: 10,
+ search: 'john',
+ },
+});
+// Type: SuccessResponse<{ users: UserDto[]; pagination: PaginationDto }>
+
+// Get specific user
+const user = await api.users.getUser({
+ path: { id: '123e4567-e89b-12d3-a456-426614174000' },
+});
+// Type: SuccessResponse
+
+// Create user
+const newUser = await api.users.createUser({
+ body: {
+ email: 'admin@example.com',
+ firstName: 'Admin',
+ lastName: 'User',
+ role: 'admin',
+ },
+});
+// Type: SuccessResponse
+
+// Update user
+const updatedUser = await api.users.updateUser({
+ path: { id: user.id },
+ body: {
+ firstName: 'Updated Name',
+ lastName: 'Updated Last',
+ },
+});
+// Type: SuccessResponse
+
+// Delete user
+await api.users.deleteUser({
+ path: { id: user.id },
+});
+// Type: SuccessResponse
+```
+
+### Raw Response Access
+
+When you need access to status codes, headers, or full response data:
+
+```typescript
+// Get raw axios response
+const rawResponse = await api.users.getUser.raw({
+ path: { id: '123' },
+});
+
+console.log(rawResponse.status); // 200
+console.log(rawResponse.headers); // Full headers object
+console.log(rawResponse.data); // Raw response body
+
+// Handle different status codes
+if (rawResponse.status === 200) {
+ const userData = rawResponse.data.data; // Extract from SuccessResponse
+}
+```
+
+### Error Handling
+
+```typescript
+try {
+ const user = await api.users.getUser({
+ path: { id: 'invalid-id' },
+ });
+} catch (error) {
+ // Error automatically includes structured error details
+ console.log(error.message); // Human-readable message
+ console.log(error.code); // Error code from backend
+ console.log(error.type); // Error type
+ console.log(error.details); // Additional error details
+ console.log(error.meta); // Response metadata
+}
+```
+
+### Advanced Query Parameters
+
+```typescript
+// Complex filtering and sorting
+const filteredUsers = await api.users.getUsers({
+ query: {
+ page: 2,
+ limit: 25,
+ sortBy: 'createdAt',
+ sortOrder: 'desc',
+ filters: {
+ role: 'admin',
+ isActive: true,
+ createdAfter: '2024-01-01',
+ },
+ },
+});
+```
+
+## Response Data Extraction
+
+The client automatically extracts data from NestJS response wrappers:
+
+```typescript
+// Backend returns: { success: true, data: UserDto, meta: { timestamp: ... } }
+const user = await api.users.getUser({ path: { id: '123' } });
+// user is typed as UserDto (data extracted automatically)
+
+// To access the full response structure:
+const fullResponse = await api.users.getUser.raw({ path: { id: '123' } });
+// fullResponse.data contains the complete { success, data, meta } object
+```
+
+## Configuration
+
+### CLI Options
+
+```bash
+# Specify custom OpenAPI spec location
+--spec, -s Path to OpenAPI spec file (default: auto-detected)
+
+# Specify custom output directory
+--output, -o Output directory (default: packages/app-api-client)
+
+# Enable verbose logging
+--verbose, -v Show detailed generation logs
+
+# Show help
+--help, -h Display help information
+```
+
+### Monorepo Integration
+
+The generator automatically detects your monorepo structure:
+
+- **Root detection**: Finds monorepo root using `package.json`
+- **Spec location**: Auto-locates OpenAPI spec from backend
+- **Output path**: Defaults to `packages/app-api-client`
+
+## Generated Files
+
+```
+packages/app-api-client/
+โโโ index.mjs # Main client code
+โโโ index.d.ts # TypeScript definitions
+โโโ spec.openapi.json # OpenAPI spec copy
+```
+
+## Type Safety Features
+
+### Request Types
+
+All request parameters are typed based on your OpenAPI spec:
+
+- **Path parameters**: `{ path: { id: string } }`
+- **Query parameters**: `{ query: { page?: number; limit?: number } }`
+- **Request body**: `{ body: CreateUserDto }`
+
+### Response Types
+
+Response types are automatically inferred from your DTOs:
+
+- **Success responses**: Typed as your DTO (e.g., `UserDto`)
+- **Error responses**: Structured error objects with message, code, type
+- **Pagination**: Automatic pagination metadata typing
+
+### Namespace Safety
+
+Methods are organized into namespaces based on your controller structure:
+
+- `api.auth.*` - Authentication endpoints
+- `api.users.*` - User management endpoints
+
+## Development Workflow
+
+1. **Modify your NestJS controllers/DTOs**
+2. **OpenAPI spec updates automatically** (in dev mode)
+3. **API client regenerates automatically** (in dev mode)
+4. **Frontend gets new types immediately** - no manual updates needed
+
+## Advanced Usage
+
+### Custom Axios Configuration
+
+```typescript
+import axios from 'axios';
+import { createApiClient } from 'app-api-client';
+
+// Configure axios with interceptors, auth, etc.
+const axiosClient = axios.create({
+ baseURL: '/api',
+ timeout: 10000,
+});
+
+// Add auth interceptor
+axiosClient.interceptors.request.use((config) => {
+ const token = localStorage.getItem('authToken');
+ if (token) {
+ config.headers.Authorization = `Bearer ${token}`;
+ }
+ return config;
+});
+
+// Create API client with configured axios
+const api = await createApiClient({ axiosClient });
+```
+
+### Response Interceptors
+
+```typescript
+// Handle common response patterns
+axiosClient.interceptors.response.use(
+ (response) => response,
+ (error) => {
+ if (error.response?.status === 401) {
+ // Handle unauthorized access
+ window.location.href = '/login';
+ }
+ return Promise.reject(error);
+ },
+);
+```
+
+## Troubleshooting
+
+### Common Issues
+
+**Client not updating after backend changes:**
+
+- Ensure OpenAPI spec is regenerated: `pnpm openapi:generate`
+- Regenerate client: `pnpm api:client:build`
+
+**Type errors in IDE:**
+
+- Restart TypeScript service in your editor
+- Check that `app-api-client` is properly imported
+
+**Build failures:**
+
+- Ensure backend is built first: `cd apps/backend && pnpm build`
+- Check OpenAPI spec is valid JSON
+
+### Debug Mode
+
+```bash
+# Enable verbose logging to see detailed generation process
+pnpm api:client:build --verbose
+```
+
+## Architecture
+
+The generator follows a modular architecture:
+
+- **OpenAPI Parser**: Extracts operations and types from spec
+- **Code Generator**: Creates axios-based client methods
+- **Type Generator**: Generates TypeScript definitions
+- **Template System**: Uses common-tags for clean code generation
+- **Config System**: Centralized configuration with PascalCase properties
+- **Root Finder**: Automatic monorepo structure detection
+
+## Contributing
+
+The generator is part of your monorepo. To modify or extend:
+
+1. **Core logic**: `packages/api-client-generator/src/lib/`
+2. **Templates**: `packages/api-client-generator/src/lib/template-helpers.js`
+3. **CLI**: `packages/api-client-generator/bin/`
+
+All changes should maintain TypeScript compatibility and follow the existing
+code patterns.
diff --git a/packages/api-client-generator/bin/build-client.js b/packages/api-client-generator/bin/build-client.js
new file mode 100755
index 0000000..afc8b33
--- /dev/null
+++ b/packages/api-client-generator/bin/build-client.js
@@ -0,0 +1,55 @@
+import { join, isAbsolute } from 'node:path';
+import { execSync } from 'node:child_process';
+import { existsSync } from 'node:fs';
+
+import { getDefaultPaths, resolveFromRoot } from '../src/lib/root-finder.js';
+import { createCliParser } from '../src/lib/cli-parser.js';
+import { generateAxiosClient } from '../src/index.js';
+
+async function buildApiClient() {
+ const cliParser = createCliParser();
+
+ if (cliParser.shouldShowHelp()) {
+ cliParser.printHelp('build-client');
+ return;
+ }
+
+ const args = cliParser.getArgs();
+ const defaultPaths = await getDefaultPaths();
+
+ const specPath = args.spec
+ ? isAbsolute(args.spec)
+ ? args.spec
+ : await resolveFromRoot(args.spec)
+ : defaultPaths.backendOpenApiPath;
+
+ // Check if spec exists, try to generate if not
+ if (!existsSync(specPath)) {
+ console.log(`๐ OpenAPI spec not found at: ${specPath}`);
+ console.log('๐ก Please generate openapi spec first');
+ process.exit(1);
+ }
+
+ // Copy spec to target location if using default behavior
+ if (!args.spec) {
+ const targetDir = args.output
+ ? isAbsolute(args.output)
+ ? args.output
+ : await resolveFromRoot(args.output)
+ : defaultPaths.clientDir;
+
+ const targetSpecPath = join(targetDir, 'spec.openapi.json');
+ execSync(`cp "${specPath}" "${targetSpecPath}"`, { stdio: 'inherit' });
+ }
+
+ await generateAxiosClient({
+ specPath: args.spec || join(defaultPaths.clientDir, 'spec.openapi.json'),
+ outputDir: args.output,
+ verbose: args.verbose,
+ });
+}
+
+buildApiClient().catch((error) => {
+ console.error('โ Error building API client:', error);
+ process.exit(1);
+});
diff --git a/packages/api-client-generator/bin/watch-client.js b/packages/api-client-generator/bin/watch-client.js
new file mode 100755
index 0000000..1e040b9
--- /dev/null
+++ b/packages/api-client-generator/bin/watch-client.js
@@ -0,0 +1,113 @@
+import { spawn } from 'node:child_process';
+import { isAbsolute } from 'node:path';
+import { watch } from 'chokidar';
+import debounce from 'lodash/debounce.js';
+
+import { createCliParser } from '../src/lib/cli-parser.js';
+import { getConfig } from '../src/lib/config.js';
+import { resolveFromRoot } from '../src/lib/root-finder.js';
+
+let isGenerating = false;
+let config;
+let cliArgs;
+let specPath;
+
+async function generateClient() {
+ if (isGenerating) {
+ console.log('โณ Generation already in progress, skipping...');
+ return;
+ }
+ isGenerating = true;
+ console.log('๐ Regenerating API client...');
+
+ // Use the root package.json script
+ const process = spawn('pnpm', ['api:client:build'], {
+ stdio: 'inherit',
+ shell: true,
+ cwd: config.RootDir,
+ });
+
+ return new Promise((resolve) => {
+ process.on('close', (code) => {
+ isGenerating = false;
+ if (code === 0) {
+ console.log('โ
API client regenerated successfully');
+ } else {
+ console.error('โ Failed to regenerate API client');
+ }
+ resolve();
+ });
+ });
+}
+
+// Main function
+async function watchApiClient() {
+ const cliParser = createCliParser();
+ if (cliParser.shouldShowHelp()) {
+ cliParser.printHelp('watch-client');
+ return;
+ }
+
+ cliArgs = cliParser.getArgs();
+
+ // Initialize config to get paths
+ const configOverrides = {};
+ if (cliArgs.output) {
+ configOverrides.ClientDir = isAbsolute(cliArgs.output)
+ ? cliArgs.output
+ : await resolveFromRoot(cliArgs.output);
+ }
+ config = await getConfig(configOverrides);
+
+ // Determine spec path to watch
+ if (cliArgs.spec) {
+ specPath = isAbsolute(cliArgs.spec)
+ ? cliArgs.spec
+ : await resolveFromRoot(cliArgs.spec);
+ } else {
+ // Use default spec path or backend generated spec
+ specPath = config.BackendOpenApiPath;
+ }
+
+ // Debounce to avoid multiple rapid regenerations
+ const debouncedRegenerate = debounce(generateClient, 1000);
+
+ console.log('๐ Starting API client watcher...');
+ console.log(`๐ Monorepo root: ${config.RootDir}`);
+ console.log(`๐ Watching OpenAPI spec: ${specPath}`);
+ console.log(`๐ Output directory: ${config.ClientDir}`);
+ console.log('');
+
+ const watcher = watch(specPath, {
+ ignored: /node_modules/,
+ persistent: true,
+ ignoreInitial: true,
+ });
+
+ watcher
+ .on('change', () => {
+ console.log(`๐ OpenAPI spec changed: ${specPath}`);
+ debouncedRegenerate();
+ })
+ .on('add', () => {
+ console.log(`โ OpenAPI spec created: ${specPath}`);
+ debouncedRegenerate();
+ })
+ .on('unlink', () => {
+ console.log(`โ OpenAPI spec removed: ${specPath}`);
+ console.log('โ ๏ธ API client generation stopped - spec file missing');
+ });
+
+ // Handle graceful shutdown
+ process.on('SIGINT', () => {
+ console.log('\n๐ Stopping API client watcher...');
+ watcher.close();
+ process.exit(0);
+ });
+}
+
+// Run the watcher
+watchApiClient().catch((error) => {
+ console.error('โ Error starting watcher:', error.message);
+ process.exit(1);
+});
diff --git a/packages/api-client-generator/package.json b/packages/api-client-generator/package.json
new file mode 100644
index 0000000..e920b3a
--- /dev/null
+++ b/packages/api-client-generator/package.json
@@ -0,0 +1,43 @@
+{
+ "name": "api-client-generator",
+ "version": "1.0.0",
+ "description": "Generates API clients from OpenAPI specifications",
+ "type": "module",
+ "main": "src/index.js",
+ "bin": {
+ "build-client": "./bin/build-client.js",
+ "watch-client": "./bin/watch-client.js"
+ },
+ "exports": {
+ ".": {
+ "import": "./src/index.js"
+ }
+ },
+ "files": [
+ "bin/",
+ "src/"
+ ],
+ "scripts": {
+ "build": "echo 'No build step required for this package'",
+ "test": "echo 'No tests defined yet'"
+ },
+ "dependencies": {
+ "lodash": "^4.17.21",
+ "chokidar": "^4.0.3",
+ "package-up": "^5.0.0",
+ "minimist": "^1.2.8",
+ "common-tags": "^1.8.2"
+ },
+ "keywords": [
+ "api",
+ "client",
+ "generator",
+ "openapi",
+ "axios",
+ "nestjs"
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+}
diff --git a/packages/api-client-generator/src/generators/axios-client.js b/packages/api-client-generator/src/generators/axios-client.js
new file mode 100644
index 0000000..3906362
--- /dev/null
+++ b/packages/api-client-generator/src/generators/axios-client.js
@@ -0,0 +1,137 @@
+import { join, isAbsolute } from 'node:path';
+import { CodeGenerator, OpenAPIParser, TypeGenerator } from '../index.js';
+import {
+ fileExists,
+ readJsonFile,
+ writeToFile,
+ formatGeneratedFiles,
+} from '../lib/file-utils.js';
+import { getConfig } from '../lib/config.js';
+import { printSuccessMessage } from '../lib/template-helpers.js';
+import { resolveFromRoot } from '../lib/root-finder.js';
+
+/**
+ * Main axios client generator
+ */
+export class AxiosClientGenerator {
+ constructor(options = {}) {
+ this.options = options;
+ this.config = null;
+ }
+
+ /**
+ * Initialize the generator with config
+ */
+ async initialize() {
+ const configOverrides = {};
+
+ if (this.options.outputDir) {
+ configOverrides.ClientDir = isAbsolute(this.options.outputDir)
+ ? this.options.outputDir
+ : await resolveFromRoot(this.options.outputDir);
+ }
+
+ if (this.options.verbose) configOverrides.Verbose = true;
+
+ this.config = await getConfig(configOverrides);
+
+ if (this.options.specPath) {
+ this.openApiPath = isAbsolute(this.options.specPath)
+ ? this.options.specPath
+ : await resolveFromRoot(this.options.specPath);
+ } else {
+ this.openApiPath = join(this.config.ClientDir, this.config.SpecFilename);
+ }
+
+ // Log configuration if verbose
+ if (this.config.Verbose) {
+ console.log(this.config.Messages.RootDetected, this.config.RootDir);
+ console.log(this.config.Messages.UsingSpec, this.openApiPath);
+ console.log(this.config.Messages.OutputDir, this.config.ClientDir);
+ }
+ }
+
+ /**
+ * Validate prerequisites
+ */
+ validatePrerequisites() {
+ if (fileExists(this.openApiPath)) return;
+ console.error(this.config.Messages.SpecNotFound);
+ console.error(`Spec path: ${this.openApiPath}`);
+ console.error(this.config.Messages.SpecNotFoundHelp);
+ process.exit(1);
+ }
+
+ /**
+ * Generate the complete axios client
+ */
+ async generate() {
+ await this.initialize();
+ this.validatePrerequisites();
+
+ try {
+ console.log(this.config.Messages.Generating);
+
+ // Parse OpenAPI spec
+ const spec = await readJsonFile(this.openApiPath);
+ const parser = new OpenAPIParser(spec);
+ const codeGenerator = new CodeGenerator(parser);
+ const typeGenerator = new TypeGenerator(parser);
+
+ // Extract operations and namespaces
+ const operations = parser.getOperations();
+ const namespaces = parser.getNamespaces(operations);
+
+ // Generate client code
+ const clientCode = codeGenerator.generateClientCode(
+ operations,
+ namespaces,
+ );
+
+ await writeToFile(
+ join(this.config.ClientDir, this.config.ClientJsFile),
+ clientCode,
+ );
+
+ // Generate TypeScript definitions
+ const typeDefinitions = typeGenerator.generateTypeDefinitions(
+ operations,
+ namespaces,
+ );
+
+ await writeToFile(
+ join(this.config.ClientDir, this.config.ClientTypesFile),
+ typeDefinitions,
+ );
+
+ // Format generated files
+ await formatGeneratedFiles();
+
+ // Success message
+ printSuccessMessage(
+ operations,
+ namespaces,
+ this.config.ClientDir,
+ this.config,
+ );
+ } catch (error) {
+ console.error(this.config.Messages.Error, error.message);
+ process.exit(1);
+ }
+ }
+}
+
+/**
+ * Main generation function with CLI options support
+ */
+export async function generateAxiosClient(options = {}) {
+ const generator = new AxiosClientGenerator(options);
+ await generator.generate();
+}
+
+// Run if called directly
+if (process.argv[1] === import.meta.url.slice(7)) {
+ generateAxiosClient();
+}
+
+export default { AxiosClientGenerator, generateAxiosClient };
diff --git a/packages/api-client-generator/src/index.js b/packages/api-client-generator/src/index.js
new file mode 100644
index 0000000..6ee5cfc
--- /dev/null
+++ b/packages/api-client-generator/src/index.js
@@ -0,0 +1,8 @@
+export {
+ AxiosClientGenerator,
+ generateAxiosClient,
+} from './generators/axios-client.js';
+
+export { OpenAPIParser } from './lib/openapi-parser.js';
+export { CodeGenerator } from './lib/code-generator.js';
+export { TypeGenerator } from './lib/type-generator.js';
diff --git a/packages/api-client-generator/src/lib/cli-parser.js b/packages/api-client-generator/src/lib/cli-parser.js
new file mode 100644
index 0000000..2d2d885
--- /dev/null
+++ b/packages/api-client-generator/src/lib/cli-parser.js
@@ -0,0 +1,96 @@
+import minimist from 'minimist';
+import { stripIndent } from 'common-tags';
+
+/**
+ * CLI argument parser using minimist
+ */
+export class CliParser {
+ constructor(argv = process.argv.slice(2)) {
+ this.argv = argv;
+ this.args = this.parse();
+ }
+
+ parse() {
+ const parsed = minimist(this.argv, {
+ string: ['spec', 'output', 'config'],
+ boolean: ['help', 'verbose'],
+ alias: {
+ s: 'spec',
+ o: 'output',
+ c: 'config',
+ h: 'help',
+ v: 'verbose',
+ },
+ default: {
+ help: false,
+ verbose: false,
+ spec: null,
+ output: null,
+ config: null,
+ },
+ });
+
+ return {
+ spec: parsed.spec,
+ output: parsed.output,
+ config: parsed.config,
+ help: parsed.help,
+ verbose: parsed.verbose,
+ };
+ }
+
+ /**
+ * Get parsed arguments
+ */
+ getArgs() {
+ return this.args;
+ }
+
+ /**
+ * Check if help was requested
+ */
+ shouldShowHelp() {
+ return this.args.help;
+ }
+
+ printHelp(commandName = 'api-client-generator') {
+ console.log(stripIndent`
+ Usage: ${commandName} [options]
+ Generate API client from OpenAPI specification
+ Options:
+ -s, --spec Path to OpenAPI spec file (JSON)
+ Default: auto-detected from monorepo structure
+
+ -o, --output Output directory for generated client
+ Default: packages/app-api-client
+
+ -c, --config Path to configuration file
+ Default: built-in configuration
+
+ -v, --verbose Enable verbose output
+
+ -h, --help Show this help message
+
+ Examples:
+ ${commandName}
+ ${commandName} --spec ./custom-spec.json
+ ${commandName} --spec=./custom-spec.json
+ ${commandName} --spec ./spec.json --output ./generated-client
+ ${commandName} --verbose
+
+ Environment:
+ The generator automatically detects the monorepo root using package.json
+ and resolves paths relative to that root unless absolute paths are
+ provided.
+ `);
+ }
+}
+
+/**
+ * Create CLI parser instance
+ */
+export function createCliParser(argv) {
+ return new CliParser(argv);
+}
+
+export default CliParser;
diff --git a/packages/api-client-generator/src/lib/code-generator.js b/packages/api-client-generator/src/lib/code-generator.js
new file mode 100644
index 0000000..74a6b8f
--- /dev/null
+++ b/packages/api-client-generator/src/lib/code-generator.js
@@ -0,0 +1,54 @@
+import { stripIndent } from 'common-tags';
+import {
+ generateResponseHelpers,
+ generateAxiosMethod,
+ generateClientHeader,
+ generateNamespaceInitializers,
+} from './template-helpers.js';
+
+export class CodeGenerator {
+ constructor(parser) {
+ this.parser = parser;
+ }
+
+ generateAxiosMethods(operations) {
+ return operations.map((op) => generateAxiosMethod(op)).join('\n');
+ }
+
+ generateClientCode(operations, namespaces) {
+ const header = generateClientHeader();
+ const nsInitializers = generateNamespaceInitializers(namespaces);
+ const axiosMethods = this.generateAxiosMethods(operations);
+ const responseHelpers = generateResponseHelpers();
+
+ return stripIndent`
+ ${header}
+
+ export async function createApiClient(opts = {}) {
+ const { axiosClient, ...otherOpts } = opts;
+
+ if (!axiosClient) {
+ throw new Error('axiosClient is required for API client');
+ }
+
+ ${responseHelpers}
+
+ // Initialize namespace groups
+ const index = {
+ ${nsInitializers}${nsInitializers ? ',' : ''}
+ _axiosClient: axiosClient,
+ extractData,
+ extractFullResponse,
+ extractPaginationMeta
+ };
+
+ // Generate axios-based methods
+ ${axiosMethods}
+ return index;
+ }
+
+ export default createApiClient;`;
+ }
+}
+
+export default CodeGenerator;
diff --git a/packages/api-client-generator/src/lib/config.js b/packages/api-client-generator/src/lib/config.js
new file mode 100644
index 0000000..74bba8b
--- /dev/null
+++ b/packages/api-client-generator/src/lib/config.js
@@ -0,0 +1,81 @@
+import { getDefaultPaths } from './root-finder.js';
+
+// Default configuration - will be augmented with runtime paths
+const DEFAULT_CONFIG = {
+ // Generated files
+ ClientJsFile: 'index.mjs',
+ ClientTypesFile: 'index.d.ts',
+ SpecFilename: 'spec.openapi.json',
+ // Generation settings
+ PrettierEnabled: true,
+ OperationIdDelimiter: '_',
+ // Messages
+ Messages: {
+ Generating: '๐ Generating axios-based API client...',
+ Success: 'โ
Axios-based API client generated successfully!',
+ Error: 'โ Error generating API client:',
+ SpecNotFound: 'โ OpenAPI spec not found.',
+ SpecNotFoundHelp:
+ '๐ก Try: --spec path/to/spec.json or generate with pnpm openapi:generate',
+ Formatted: 'โจ Formatted',
+ FormatError: 'โ ๏ธ Could not format',
+ RootDetected: '๐ Monorepo root detected:',
+ UsingSpec: '๐ Using OpenAPI spec:',
+ OutputDir: '๐ Output directory:',
+ },
+};
+
+/**
+ * Configuration class that supports runtime overrides
+ */
+export class Config {
+ constructor() {
+ this._config = { ...DEFAULT_CONFIG };
+ this._initialized = false;
+ }
+
+ /**
+ * Initialize config with dynamic paths and overrides
+ */
+ async initialize(overrides = {}) {
+ if (this._initialized) return this._config;
+ try {
+ // Get default paths from monorepo structure
+ const defaultPaths = await getDefaultPaths();
+ this._config = {
+ ...DEFAULT_CONFIG,
+ ClientDir: defaultPaths.clientDir,
+ BackendOpenApiPath: defaultPaths.backendOpenApiPath,
+ RootDir: defaultPaths.root,
+ ...overrides,
+ };
+ this._initialized = true;
+ return this._config;
+ } catch (error) {
+ throw new Error(`Failed to initialize config: ${error.message}`);
+ }
+ }
+
+ get() {
+ if (!this._initialized) {
+ throw new Error('Config not initialized. Call initialize() first.');
+ }
+ return this._config;
+ }
+
+ getValue(key) {
+ return this.get()[key];
+ }
+}
+
+// Singleton instance
+const config = new Config();
+
+/**
+ * Initialize and get config with overrides
+ */
+export async function getConfig(overrides = {}) {
+ return config.initialize(overrides);
+}
+
+export default config;
diff --git a/packages/api-client-generator/src/lib/file-utils.js b/packages/api-client-generator/src/lib/file-utils.js
new file mode 100644
index 0000000..301676e
--- /dev/null
+++ b/packages/api-client-generator/src/lib/file-utils.js
@@ -0,0 +1,50 @@
+import { readFile, writeFile } from 'node:fs/promises';
+import { existsSync } from 'node:fs';
+import { join } from 'node:path';
+
+import prettier from 'prettier';
+
+import Config from './config.js';
+
+// Thin wrappers for future enhancements
+export function fileExists(filePath) {
+ return existsSync(filePath);
+}
+
+export async function readJsonFile(filePath) {
+ const content = await readFile(filePath, 'utf-8');
+ return JSON.parse(content);
+}
+
+export async function writeToFile(filePath, content) {
+ await writeFile(filePath, content);
+}
+
+export async function formatGeneratedFiles() {
+ if (!Config.PrettierEnabled) return;
+ const files = [
+ join(Config.ClientDir, Config.ClientJsFile),
+ join(Config.ClientDir, Config.ClientTypesFile),
+ ];
+ for (const filepath of files) {
+ if (!fileExists(filepath)) continue;
+ try {
+ const content = await readFile(filepath, 'utf-8');
+ const formatted = await prettier.format(content, {
+ filepath,
+ ...(await prettier.resolveConfig(filepath)),
+ });
+ await writeFile(filepath, formatted);
+ console.log(`${Config.Messages.Formatted} ${filepath}`);
+ } catch (err) {
+ console.error(`${Config.Messages.FormatError} ${filepath}:`, err.message);
+ }
+ }
+}
+
+export default {
+ fileExists,
+ readJsonFile,
+ writeToFile,
+ formatGeneratedFiles,
+};
diff --git a/packages/api-client-generator/src/lib/openapi-parser.js b/packages/api-client-generator/src/lib/openapi-parser.js
new file mode 100644
index 0000000..e812c7e
--- /dev/null
+++ b/packages/api-client-generator/src/lib/openapi-parser.js
@@ -0,0 +1,155 @@
+import camelCase from 'lodash/camelCase.js';
+
+export class OpenAPIParser {
+ constructor(spec) {
+ this.spec = spec;
+ this.schemas = spec.components?.schemas || {};
+ this.paths = spec.paths || {};
+ }
+
+ getOperations() {
+ const operations = [];
+ for (const [path, methods] of Object.entries(this.paths)) {
+ for (const [httpMethod, operation] of Object.entries(methods)) {
+ if (!operation.operationId) continue;
+ const parts = operation.operationId.split('_');
+ if (parts.length < 2) continue;
+ const namespace = camelCase(parts[0]);
+ const method = camelCase(parts.slice(1).join(''));
+ operations.push({
+ operationId: operation.operationId,
+ httpMethod: httpMethod.toUpperCase(),
+ path,
+ method,
+ namespace,
+ summary: operation.summary,
+ parameters: operation.parameters || [],
+ requestBody: operation.requestBody,
+ responses: operation.responses || {},
+ operation, // Full operation object
+ });
+ }
+ }
+ return operations;
+ }
+
+ /**
+ * Get all unique namespaces
+ */
+ getNamespaces(operations) {
+ return [...new Set(operations.map((op) => op.namespace))].sort();
+ }
+
+ /**
+ * Convert OpenAPI property to TypeScript type
+ */
+ getPropertyType(prop) {
+ if (prop.$ref) return prop.$ref.split('/').pop();
+ switch (prop.type) {
+ case 'string':
+ return prop.enum
+ ? prop.enum.map((v) => `'${v}'`).join(' | ')
+ : 'string';
+ case 'number':
+ case 'integer':
+ return 'number';
+ case 'boolean':
+ return 'boolean';
+ case 'array':
+ return `Array<${this.getPropertyType(prop.items)}>`;
+ case 'object':
+ return 'object';
+ default:
+ return 'any';
+ }
+ }
+
+ /**
+ * Generate TypeScript interfaces from schemas
+ */
+ generateSchemaTypes() {
+ const typeDefinitions = [];
+ for (const [schemaName, schema] of Object.entries(this.schemas)) {
+ if (schema.type !== 'object') continue;
+ const properties = Object.entries(schema.properties || {})
+ .map(([name, definition]) => {
+ const isRequired = schema.required?.includes(name) ?? false;
+ const optional = isRequired ? '' : '?';
+ const type = this.getPropertyType(definition);
+ const description = definition.description
+ ? `\n /** ${definition.description} */`
+ : '';
+ return `${description}\n ${name}${optional}: ${type};`;
+ })
+ .join('\n');
+ typeDefinitions.push(
+ `\nexport interface ${schemaName} {${properties}\n}`,
+ );
+ }
+ return typeDefinitions.join('\n');
+ }
+
+ /**
+ * Extract request/response types for an operation
+ */
+ getOperationTypes(operation) {
+ const requestParts = [];
+ // Path parameters
+ const pathParams = operation.parameters.filter((p) => p.in === 'path');
+ if (pathParams.length > 0) {
+ const pathProps = pathParams.map((p) => `${p.name}: string`).join('; ');
+ requestParts.push(`path: {${pathProps}}`);
+ }
+ // Query parameters
+ const queryParams = operation.parameters.filter((p) => p.in === 'query');
+ if (queryParams.length > 0) {
+ const queryProps = queryParams
+ .map((p) => {
+ const optional = p.required ? '' : '?';
+ const type = this.getPropertyType(p.schema || { type: 'string' });
+ return `${p.name}${optional}: ${type}`;
+ })
+ .join('; ');
+ requestParts.push(`query?: {${queryProps}}`);
+ }
+ // Request body
+ if (operation.requestBody) {
+ const content = operation.requestBody.content?.['application/json'];
+ if (content?.schema) {
+ const bodyType = this.getPropertyType(content.schema);
+ requestParts.push(`body: ${bodyType}`);
+ }
+ }
+ let requestType = '{}';
+ if (requestParts.length > 0) requestType = `{${requestParts.join('; ')}}`;
+ // Response type (prefer 200/201/202)
+ const responses = operation.responses;
+ const successResponse =
+ responses['200'] || responses['201'] || responses['202'];
+ let responseType = 'any';
+ if (successResponse?.content?.['application/json']?.schema) {
+ const schemaRef = successResponse.content['application/json'].schema.$ref;
+ responseType = this.getPropertyType(
+ successResponse.content['application/json'].schema,
+ );
+ // Handle paginated responses - ResponseInterceptor unwraps them
+ if (schemaRef) {
+ const schema = this.schemas[schemaRef.split('/').pop()];
+ // Check if this is a paginated response
+ // (has data array and pagination fields)
+ if (
+ schema?.properties?.data?.type === 'array' &&
+ (schema.properties.total ||
+ schema.properties.limit ||
+ schema.properties.page)
+ ) {
+ // For paginated responses, the actual data type is the array inside
+ responseType = `Array<${this.getPropertyType(schema.properties.data.items)}>`;
+ }
+ }
+ }
+ return { requestType, responseType };
+ }
+}
+
+export default OpenAPIParser;
diff --git a/packages/api-client-generator/src/lib/root-finder.js b/packages/api-client-generator/src/lib/root-finder.js
new file mode 100644
index 0000000..9458f37
--- /dev/null
+++ b/packages/api-client-generator/src/lib/root-finder.js
@@ -0,0 +1,89 @@
+import { dirname, isAbsolute, join, resolve } from 'node:path';
+import { existsSync } from 'node:fs';
+import { packageUp } from 'package-up';
+
+/**
+ * Dynamic root finder using package-up
+ */
+export class RootFinder {
+ constructor() {
+ this._cache = null;
+ }
+
+ /**
+ * Find the monorepo root directory
+ */
+ async findRoot(startDir = process.cwd()) {
+ if (this._cache) return this._cache;
+ try {
+ let currentDir = startDir;
+ let isRootFound = null;
+ while (!isRootFound) {
+ const pkgPath = await packageUp({ cwd: currentDir });
+ if (!pkgPath) throw new Error(`Could not find package.json in parent`);
+ const rootDir = dirname(pkgPath);
+ const isMonorepo = existsSync(join(rootDir, 'pnpm-workspace.yaml'));
+ if (isMonorepo) {
+ isRootFound = rootDir;
+ break;
+ }
+ // Move up one level and try again
+ const parentDir = dirname(rootDir);
+ if (parentDir === rootDir) {
+ // We've reached the filesystem root
+ // Fall back to the first package.json we found
+ console.warn(
+ `โ ๏ธ Warning: Monorepo structure not detected, using: ${rootDir}`,
+ );
+ isRootFound = rootDir;
+ break;
+ }
+ currentDir = parentDir;
+ }
+ this._cache = isRootFound;
+ return isRootFound;
+ } catch (error) {
+ throw new Error(`Failed to find monorepo root: ${error.message}`);
+ }
+ }
+
+ /**
+ * Resolve a path relative to the monorepo root
+ */
+ async resolvePath(relativePath, startDir = process.cwd()) {
+ if (isAbsolute(relativePath)) return relativePath;
+ const root = await this.findRoot(startDir);
+ return resolve(root, relativePath);
+ }
+
+ /**
+ * Get default paths based on monorepo structure
+ */
+ async getDefaultPaths(startDir = process.cwd()) {
+ const root = await this.findRoot(startDir);
+ return {
+ root,
+ clientDir: join(root, 'packages/app-api-client'),
+ backendOpenApiPath: join(root, 'apps/backend/openapi.json'),
+ };
+ }
+}
+
+// Singleton instance
+const rootFinder = new RootFinder();
+
+/**
+ * Resolve path relative to monorepo root
+ */
+export async function resolveFromRoot(relativePath, startDir) {
+ return rootFinder.resolvePath(relativePath, startDir);
+}
+
+/**
+ * Get default paths for the monorepo
+ */
+export async function getDefaultPaths(startDir) {
+ return rootFinder.getDefaultPaths(startDir);
+}
+
+export default RootFinder;
diff --git a/packages/api-client-generator/src/lib/template-helpers.js b/packages/api-client-generator/src/lib/template-helpers.js
new file mode 100644
index 0000000..a749d43
--- /dev/null
+++ b/packages/api-client-generator/src/lib/template-helpers.js
@@ -0,0 +1,230 @@
+import { stripIndent } from 'common-tags';
+
+// Template helpers for code generation
+export function generateResponseHelpers() {
+ return stripIndent`
+ // Helper to extract full response
+ function extractFullResponse(res) {
+ return res?.data || {};
+ }
+
+ // Helper to extract data from API response format
+ function extractData(res) {
+ const response = extractFullResponse(res);
+ if (response.success && response.data !== undefined) return response.data;
+ // Handle error responses
+ if (!response.success && response.error) {
+ const error = new Error(response.error.message || 'API Error');
+ error.code = response.error.code;
+ error.type = response.error.type;
+ error.details = response.error.details;
+ error.meta = response.meta;
+ throw error;
+ }
+ // Return response directly if not in standard format
+ return response;
+ }
+
+ // Helper to extract pagination info
+ function extractPaginationMeta(res) {
+ const response = extractFullResponse(res);
+ return response?.meta?.pagination || null;
+ }
+
+ // Build axios request config from API client request
+ function buildAxiosConfig(request, path, method) {
+ const config = {
+ url: path,
+ method: method.toLowerCase(),
+ };
+ if (request?.body) {
+ config.data = request.body;
+ }
+ if (request?.query) {
+ config.params = request.query;
+ }
+ if (request?.path) {
+ // Replace path parameters in URL
+ let finalPath = path;
+ for (const [key, value] of Object.entries(request.path)) {
+ finalPath = finalPath.replace(\`{\${key}}\`, encodeURIComponent(value));
+ }
+ config.url = finalPath;
+ }
+ return config;
+ }
+ `;
+}
+
+/**
+ * Generate a single axios method for an operation
+ */
+export function generateAxiosMethod(operation) {
+ const cleanPath = operation.path.startsWith('/api')
+ ? operation.path.substring('/api'.length)
+ : operation.path;
+ return stripIndent`
+ // ${operation.summary || 'No description'}
+ index.${operation.namespace}.${operation.method} = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '${cleanPath}', '${operation.httpMethod}');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+ };
+ // Add raw method that returns full axios response
+ index.${operation.namespace}.${operation.method}.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '${cleanPath}',
+ '${operation.httpMethod}');
+ return await axiosClient.request(axiosConfig);
+ };
+ `;
+}
+
+/**
+ * Generate the main client header comment
+ */
+export function generateClientHeader() {
+ return stripIndent`
+ /**
+ * Auto-generated axios-based API client
+ * Generated from: ${new Date().toISOString()}
+ * Usage:
+ * import { createApiClient } from 'app-api-client'
+ * const api = await createApiClient({ axiosClient })
+ * const userData = await api.auth.login({ body: { email, password } })
+ */`;
+}
+
+/**
+ * Generate namespace initializers
+ */
+export function generateNamespaceInitializers(namespaces) {
+ if (namespaces.length === 0) return '';
+ return namespaces.map((ns) => ` ${ns}: {}`).join(',\n');
+}
+
+/**
+ * Generate TypeScript definitions header
+ */
+export function generateTypeDefinitionsHeader() {
+ return stripIndent`
+ /**
+ * TypeScript definitions for axios-based API client
+ */
+ import type { AxiosInstance, AxiosResponse } from 'axios';`;
+}
+
+/**
+ * Generate base TypeScript interfaces
+ */
+export function generateBaseInterfaces() {
+ return stripIndent`
+ // Response wrapper interface
+ export interface ApiResponse {
+ statusCode: number;
+ headers: any;
+ body: {
+ success: boolean;
+ data: T;
+ meta?: {
+ pagination?: {
+ total: number;
+ limit: number;
+ page: number;
+ totalPages: number;
+ hasPrevious: boolean;
+ hasNext: boolean;
+ };
+ };
+ error?: any;
+ };
+ data: T;
+ }
+
+ // Raw method interface
+ export interface RawMethod {
+ (request?: TRequest): Promise>;
+ }
+
+ // API method interface
+ export interface ApiMethod {
+ (request?: TRequest): Promise>;
+ raw: RawMethod;
+ }
+
+ // Helper function interfaces
+ export interface ResponseHelpers {
+ extractData(res: AxiosResponse): any;
+ extractFullResponse(res: AxiosResponse): any;
+ extractPaginationMeta(res: AxiosResponse): any;
+ }`;
+}
+
+/**
+ * Generate success message
+ */
+export function printSuccessMessage(operations, namespaces, clientDir, config) {
+ console.log(`\n${config.Messages.Success}`);
+ console.log('\n๐ Generated files:');
+ console.log(` โข ${clientDir}/${config.ClientJsFile} (axios-based client)`);
+ console.log(` โข ${clientDir}/${config.ClientTypesFile} (TS definitions)`);
+ console.log('\n๐ท๏ธ Namespaces created:');
+ namespaces.forEach((ns) => {
+ const count = operations.filter((op) => op.namespace === ns).length;
+ console.log(` โข ${ns} (${count} methods)`);
+ });
+ console.log('\n๐ Usage example:');
+ console.log(`import { createApiClient } from 'app-api-client';`);
+ console.log(`import axiosClient from './request';`);
+ console.log('const api = await createApiClient({ axiosClient });');
+ console.log('await api.auth.login({ body: { email, password } });');
+}
+
+export default {
+ generateResponseHelpers,
+ generateAxiosMethod,
+ generateClientHeader,
+ generateNamespaceInitializers,
+ generateTypeDefinitionsHeader,
+ generateBaseInterfaces,
+ printSuccessMessage,
+};
diff --git a/packages/api-client-generator/src/lib/type-generator.js b/packages/api-client-generator/src/lib/type-generator.js
new file mode 100644
index 0000000..0d4a4cd
--- /dev/null
+++ b/packages/api-client-generator/src/lib/type-generator.js
@@ -0,0 +1,92 @@
+#!/usr/bin/env node
+import upperFirst from 'lodash/upperFirst.js';
+import { stripIndent } from 'common-tags';
+
+import {
+ generateTypeDefinitionsHeader,
+ generateBaseInterfaces,
+} from './template-helpers.js';
+
+export class TypeGenerator {
+ constructor(parser) {
+ this.parser = parser;
+ }
+
+ generateNamespaceInterfaces(operations, namespaces) {
+ return namespaces
+ .map((ns) => {
+ const methods = operations.filter((op) => op.namespace === ns);
+ const capitalNs = upperFirst(ns);
+ const methodDefinitions = methods
+ .map((op) => {
+ const { requestType, responseType } =
+ this.parser.getOperationTypes(op);
+ return stripIndent`
+ /**
+ * ${op.summary || 'No description'}
+ */
+ ${op.method}: ApiMethod<${requestType}, ${responseType}>;`;
+ })
+ .join('\n');
+
+ return stripIndent`
+ export interface ${capitalNs}Namespace { ${methodDefinitions} }`;
+ })
+ .join('\n');
+ }
+
+ /**
+ * Generate main client interface
+ */
+ generateMainInterface(namespaces) {
+ return namespaces
+ .map((ns) => ` ${ns}: ${upperFirst(ns)}Namespace;`)
+ .join('\n');
+ }
+
+ /**
+ * Generate client creation interfaces
+ */
+ generateClientCreationInterfaces() {
+ return stripIndent`
+ // Client creation options
+ export interface CreateAcOpts {
+ axiosClient: AxiosInstance;
+ [key: string]: any;
+ }
+ export declare function createApiClient(opts: CreateAcOpts): Promise;
+ export default createApiClient;`;
+ }
+
+ /**
+ * Generate complete TypeScript definitions
+ */
+ generateTypeDefinitions(operations, namespaces) {
+ const schemaTypes = this.parser.generateSchemaTypes();
+ const namespaceInterfaces = this.generateNamespaceInterfaces(
+ operations,
+ namespaces,
+ );
+ const mainInterface = this.generateMainInterface(namespaces);
+ const baseInterfaces = generateBaseInterfaces();
+ const clientCreationInterfaces = this.generateClientCreationInterfaces();
+
+ return stripIndent`
+ ${generateTypeDefinitionsHeader()}
+
+ // Auto-generated schema types from OpenAPI spec${schemaTypes}
+ ${baseInterfaces}
+
+ // Namespace interfaces
+ ${namespaceInterfaces}
+
+ // Main client interface
+ export interface ApiClient extends ResponseHelpers {
+ ${mainInterface}
+ _axiosClient: AxiosInstance;
+ }
+ ${clientCreationInterfaces}`;
+ }
+}
+
+export default TypeGenerator;
diff --git a/packages/app-api-client/index.d.ts b/packages/app-api-client/index.d.ts
new file mode 100644
index 0000000..12c33c6
--- /dev/null
+++ b/packages/app-api-client/index.d.ts
@@ -0,0 +1,294 @@
+/**
+ * TypeScript definitions for axios-based API client
+ */
+import type { AxiosInstance, AxiosResponse } from 'axios';
+
+ // Auto-generated schema types from OpenAPI spec
+export interface LoginDto {
+ /** User email address */
+ email: string;
+
+ /** User password */
+ password: string;
+}
+
+export interface UserDto {
+ id: number;
+
+ email: string;
+
+ role: 'ADMIN' | 'USER';
+
+ firstName: string;
+
+ lastName: string;
+
+ fullName: string;
+
+ label: string;
+
+ imgUrl: string;
+
+ createdAt: string;
+
+ updatedAt: string;
+
+ deletedAt: string;
+}
+
+export interface LoginResponseDto {
+ user: UserDto;
+
+ /** JWT access token */
+ accessToken: string;
+
+ /** Token expiration time in milliseconds */
+ expiresInMs: number;
+}
+
+export interface ChangePasswordDto {
+ /** Current password */
+ currentPassword: string;
+
+ /** New password */
+ newPassword: string;
+}
+
+export interface ChangePasswordResponseDto {
+ /** Success message */
+ message: string;
+}
+
+export interface ForgotPasswordDto {
+ /** Email address to send reset link to */
+ email: string;
+}
+
+export interface ResetPasswordDto {
+ /** Password reset token */
+ token: string;
+
+ /** New password */
+ newPassword: string;
+}
+
+export interface UpdateProfileDto {
+ /** User email address */
+ email?: string;
+
+ /** User first name */
+ firstName?: string;
+
+ /** User last name */
+ lastName?: string;
+
+ /** User avatar as data URL (base64 encoded image) */
+ imgUrl?: string;
+}
+
+export interface PaginatedUsersDto {
+ data: Array;
+
+ /** Total number of items */
+ total: number;
+
+ /** Number of items per page */
+ limit: number;
+
+ /** Current page number */
+ page: number;
+
+ /** Total number of pages */
+ totalPages: number;
+
+ /** Has previous page */
+ hasPrevious: boolean;
+
+ /** Has next page */
+ hasNext: boolean;
+}
+
+export interface CreateUserDto {
+ /** User email address */
+ email: string;
+
+ /** User first name */
+ firstName?: string;
+
+ /** User last name */
+ lastName?: string;
+
+ /** User role */
+ role?: 'ADMIN' | 'USER';
+}
+
+export interface UpdateUserDto {
+ /** User email address */
+ email?: string;
+
+ /** User first name */
+ firstName?: string;
+
+ /** User last name */
+ lastName?: string;
+
+ /** User avatar as data URL (base64 encoded image) */
+ imgUrl?: string;
+
+ /** User role (admin only) */
+ role?: 'ADMIN' | 'USER';
+}
+
+export interface SeedResponseDto {
+ /** Result message */
+ message: string;
+
+ /** Response data */
+ data?: object;
+}
+ // Response wrapper interface
+export interface ApiResponse {
+ statusCode: number;
+ headers: any;
+ body: {
+ success: boolean;
+ data: T;
+ meta?: {
+ pagination?: {
+ total: number;
+ limit: number;
+ page: number;
+ totalPages: number;
+ hasPrevious: boolean;
+ hasNext: boolean;
+ };
+ };
+ error?: any;
+ };
+ data: T;
+}
+
+// Raw method interface
+export interface RawMethod {
+ (request?: TRequest): Promise>;
+}
+
+// API method interface
+export interface ApiMethod {
+ (request?: TRequest): Promise>;
+ raw: RawMethod;
+}
+
+// Helper function interfaces
+export interface ResponseHelpers {
+ extractData(res: AxiosResponse): any;
+ extractFullResponse(res: AxiosResponse): any;
+ extractPaginationMeta(res: AxiosResponse): any;
+}
+
+ // Namespace interfaces
+ export interface AuthNamespace { /**
+ * User login
+ */
+login: ApiMethod<{body: LoginDto}, LoginResponseDto>;
+/**
+ * User logout
+ */
+logout: ApiMethod<{}, any>;
+/**
+ * Change current password
+ */
+changePassword: ApiMethod<{body: ChangePasswordDto}, ChangePasswordResponseDto>;
+/**
+ * Request password reset
+ */
+forgotPassword: ApiMethod<{body: ForgotPasswordDto}, any>;
+/**
+ * Reset password with token
+ */
+resetPassword: ApiMethod<{body: ResetPasswordDto}, any>;
+/**
+ * Validate reset token
+ */
+validateResetToken: ApiMethod<{}, any>; }
+export interface CurrentUserNamespace { /**
+ * Get current user profile
+ */
+get: ApiMethod<{}, UserDto>;
+/**
+ * Update user profile
+ */
+update: ApiMethod<{body: UpdateProfileDto}, UserDto>; }
+export interface HealthNamespace { /**
+ * Basic health check
+ */
+healthCheck: ApiMethod<{}, any>;
+/**
+ * Liveness probe
+ */
+liveness: ApiMethod<{}, any>;
+/**
+ * Readiness probe
+ */
+readiness: ApiMethod<{}, any>;
+/**
+ * Test Sentry error capture (development only)
+ */
+sentryDebug: ApiMethod<{}, any>;
+/**
+ * Test Sentry message capture (development only)
+ */
+sentryMessage: ApiMethod<{}, any>; }
+export interface SeedNamespace { /**
+ * Reset database with base seed data
+ */
+resetDatabase: ApiMethod<{}, SeedResponseDto>;
+/**
+ * Create a single test user
+ */
+seedUser: ApiMethod<{}, SeedResponseDto>; }
+export interface UserNamespace { /**
+ * List users (Admin only)
+ */
+fetch: ApiMethod<{query?: {email?: string; search?: string; includeArchived?: boolean; page?: number; limit?: number; sortBy?: 'id' | 'email' | 'firstName' | 'lastName' | 'createdAt' | 'updatedAt'; sortOrder?: 'ASC' | 'DESC'}}, Array>;
+/**
+ * Create or invite user (Admin only)
+ */
+create: ApiMethod<{body: CreateUserDto}, UserDto>;
+/**
+ * Get user by ID (Admin only)
+ */
+get: ApiMethod<{path: {id: string}}, UserDto>;
+/**
+ * Update user by ID
+ */
+update: ApiMethod<{path: {id: string}; body: UpdateUserDto}, UserDto>;
+/**
+ * Delete user (Admin only)
+ */
+remove: ApiMethod<{path: {id: string}}, any>;
+/**
+ * Restore soft-deleted user (Admin only)
+ */
+restore: ApiMethod<{path: {id: string}}, UserDto>;
+/**
+ * Reinvite user (Admin only)
+ */
+reinvite: ApiMethod<{path: {id: string}}, any>; }
+
+ // Main client interface
+ export interface ApiClient extends ResponseHelpers {
+ auth: AuthNamespace;
+ currentUser: CurrentUserNamespace;
+ health: HealthNamespace;
+ seed: SeedNamespace;
+ user: UserNamespace;
+ _axiosClient: AxiosInstance;
+ }
+ // Client creation options
+export interface CreateAcOpts {
+ axiosClient: AxiosInstance;
+ [key: string]: any;
+}
+export declare function createApiClient(opts: CreateAcOpts): Promise;
+export default createApiClient;
\ No newline at end of file
diff --git a/packages/app-api-client/index.mjs b/packages/app-api-client/index.mjs
new file mode 100644
index 0000000..081fb93
--- /dev/null
+++ b/packages/app-api-client/index.mjs
@@ -0,0 +1,1251 @@
+/**
+ * Auto-generated axios-based API client
+ * Generated from: 2025-10-15T12:02:19.394Z
+ * Usage:
+ * import { createApiClient } from 'app-api-client'
+ * const api = await createApiClient({ axiosClient })
+ * const userData = await api.auth.login({ body: { email, password } })
+ */
+
+ export async function createApiClient(opts = {}) {
+ const { axiosClient, ...otherOpts } = opts;
+
+ if (!axiosClient) {
+ throw new Error('axiosClient is required for API client');
+ }
+
+ // Helper to extract full response
+function extractFullResponse(res) {
+ return res?.data || {};
+}
+
+// Helper to extract data from API response format
+function extractData(res) {
+ const response = extractFullResponse(res);
+ if (response.success && response.data !== undefined) return response.data;
+ // Handle error responses
+ if (!response.success && response.error) {
+ const error = new Error(response.error.message || 'API Error');
+ error.code = response.error.code;
+ error.type = response.error.type;
+ error.details = response.error.details;
+ error.meta = response.meta;
+ throw error;
+ }
+ // Return response directly if not in standard format
+ return response;
+}
+
+// Helper to extract pagination info
+function extractPaginationMeta(res) {
+ const response = extractFullResponse(res);
+ return response?.meta?.pagination || null;
+}
+
+// Build axios request config from API client request
+function buildAxiosConfig(request, path, method) {
+ const config = {
+ url: path,
+ method: method.toLowerCase(),
+ };
+ if (request?.body) {
+ config.data = request.body;
+ }
+ if (request?.query) {
+ config.params = request.query;
+ }
+ if (request?.path) {
+ // Replace path parameters in URL
+ let finalPath = path;
+ for (const [key, value] of Object.entries(request.path)) {
+ finalPath = finalPath.replace(`{${key}}`, encodeURIComponent(value));
+ }
+ config.url = finalPath;
+ }
+ return config;
+}
+
+ // Initialize namespace groups
+ const index = {
+ auth: {},
+ currentUser: {},
+ health: {},
+ seed: {},
+ user: {},
+ _axiosClient: axiosClient,
+ extractData,
+ extractFullResponse,
+ extractPaginationMeta
+ };
+
+ // Generate axios-based methods
+ // User login
+index.auth.login = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/auth/login', 'POST');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.auth.login.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/auth/login',
+ 'POST');
+ return await axiosClient.request(axiosConfig);
+};
+// User logout
+index.auth.logout = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/auth/logout', 'GET');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.auth.logout.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/auth/logout',
+ 'GET');
+ return await axiosClient.request(axiosConfig);
+};
+// Change current password
+index.auth.changePassword = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/auth/change-password', 'POST');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.auth.changePassword.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/auth/change-password',
+ 'POST');
+ return await axiosClient.request(axiosConfig);
+};
+// Request password reset
+index.auth.forgotPassword = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/auth/forgot-password', 'POST');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.auth.forgotPassword.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/auth/forgot-password',
+ 'POST');
+ return await axiosClient.request(axiosConfig);
+};
+// Reset password with token
+index.auth.resetPassword = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/auth/reset-password', 'POST');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.auth.resetPassword.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/auth/reset-password',
+ 'POST');
+ return await axiosClient.request(axiosConfig);
+};
+// Validate reset token
+index.auth.validateResetToken = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/auth/reset-password/token-status', 'POST');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.auth.validateResetToken.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/auth/reset-password/token-status',
+ 'POST');
+ return await axiosClient.request(axiosConfig);
+};
+// Get current user profile
+index.currentUser.get = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/me', 'GET');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.currentUser.get.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/me',
+ 'GET');
+ return await axiosClient.request(axiosConfig);
+};
+// Update user profile
+index.currentUser.update = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/me', 'PATCH');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.currentUser.update.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/me',
+ 'PATCH');
+ return await axiosClient.request(axiosConfig);
+};
+// List users (Admin only)
+index.user.fetch = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/users', 'GET');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.user.fetch.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/users',
+ 'GET');
+ return await axiosClient.request(axiosConfig);
+};
+// Create or invite user (Admin only)
+index.user.create = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/users', 'POST');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.user.create.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/users',
+ 'POST');
+ return await axiosClient.request(axiosConfig);
+};
+// Get user by ID (Admin only)
+index.user.get = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/users/{id}', 'GET');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.user.get.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/users/{id}',
+ 'GET');
+ return await axiosClient.request(axiosConfig);
+};
+// Update user by ID
+index.user.update = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/users/{id}', 'PATCH');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.user.update.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/users/{id}',
+ 'PATCH');
+ return await axiosClient.request(axiosConfig);
+};
+// Delete user (Admin only)
+index.user.remove = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/users/{id}', 'DELETE');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.user.remove.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/users/{id}',
+ 'DELETE');
+ return await axiosClient.request(axiosConfig);
+};
+// Restore soft-deleted user (Admin only)
+index.user.restore = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/users/{id}/restore', 'POST');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.user.restore.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/users/{id}/restore',
+ 'POST');
+ return await axiosClient.request(axiosConfig);
+};
+// Reinvite user (Admin only)
+index.user.reinvite = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/users/{id}/reinvite', 'POST');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.user.reinvite.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/users/{id}/reinvite',
+ 'POST');
+ return await axiosClient.request(axiosConfig);
+};
+// Basic health check
+index.health.healthCheck = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/healthcheck', 'GET');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.health.healthCheck.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/healthcheck',
+ 'GET');
+ return await axiosClient.request(axiosConfig);
+};
+// Liveness probe
+index.health.liveness = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/health/live', 'GET');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.health.liveness.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/health/live',
+ 'GET');
+ return await axiosClient.request(axiosConfig);
+};
+// Readiness probe
+index.health.readiness = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/health/ready', 'GET');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.health.readiness.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/health/ready',
+ 'GET');
+ return await axiosClient.request(axiosConfig);
+};
+// Test Sentry error capture (development only)
+index.health.sentryDebug = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/sentry/debug', 'GET');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.health.sentryDebug.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/sentry/debug',
+ 'GET');
+ return await axiosClient.request(axiosConfig);
+};
+// Test Sentry message capture (development only)
+index.health.sentryMessage = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/sentry/message', 'GET');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.health.sentryMessage.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/sentry/message',
+ 'GET');
+ return await axiosClient.request(axiosConfig);
+};
+// Reset database with base seed data
+index.seed.resetDatabase = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/seed/reset', 'POST');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.seed.resetDatabase.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/seed/reset',
+ 'POST');
+ return await axiosClient.request(axiosConfig);
+};
+// Create a single test user
+index.seed.seedUser = async (request = {}) => {
+ const axiosConfig =
+ buildAxiosConfig(request, '/seed/user', 'POST');
+ try {
+ const response = await axiosClient.request(axiosConfig);
+ return {
+ statusCode: response.status,
+ headers: response.headers,
+ body: response.data,
+ data: extractData(response)
+ };
+ } catch (err) {
+ // Debug: log the error structure
+ console.log('API Client Error:', {
+ hasResponse: !!err.response,
+ hasRequest: !!err.request,
+ status: err.response?.status,
+ message: err.message,
+ errorKeys: Object.keys(err)
+ });
+
+ // Handle axios errors (4xx, 5xx status codes)
+ if (err.response) {
+ return {
+ statusCode: err.response.status,
+ headers: err.response.headers || {},
+ body: err.response.data,
+ data: err.response.data // Use raw error response data instead of extractData
+ };
+ }
+ // Handle request errors (no response received)
+ if (err.request) {
+ return {
+ statusCode: 0,
+ headers: {},
+ body: null,
+ data: { error: 'No response received from server' }
+ };
+ }
+ // Re-throw other errors (network errors, etc.)
+ throw err;
+ }
+};
+// Add raw method that returns full axios response
+index.seed.seedUser.raw =
+ async (request = {}) => {
+ const axiosConfig = buildAxiosConfig(
+ request,
+ '/seed/user',
+ 'POST');
+ return await axiosClient.request(axiosConfig);
+};
+ return index;
+ }
+
+ export default createApiClient;
\ No newline at end of file
diff --git a/packages/app-api-client/package.json b/packages/app-api-client/package.json
new file mode 100644
index 0000000..ec8fdfa
--- /dev/null
+++ b/packages/app-api-client/package.json
@@ -0,0 +1,37 @@
+{
+ "name": "app-api-client",
+ "version": "1.0.0",
+ "description": "Auto-generated API client for the app",
+ "type": "module",
+ "main": "index.mjs",
+ "types": "index.d.ts",
+ "exports": {
+ ".": {
+ "types": "./index.d.ts",
+ "import": "./index.mjs"
+ },
+ "./response-dtos": {
+ "types": "./response-dtos.d.ts"
+ },
+ "./typed-methods": {
+ "types": "./typed-methods.d.ts",
+ "import": "./typed-methods.js"
+ }
+ },
+ "files": [
+ "index.mjs",
+ "index.d.ts",
+ "api-client.mjs",
+ "api-client-types.d.ts",
+ "response-dtos.d.ts"
+ ],
+ "keywords": [
+ "api",
+ "client",
+ "auto-generated"
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+}
diff --git a/packages/app-api-client/spec.openapi.json b/packages/app-api-client/spec.openapi.json
new file mode 100644
index 0000000..1f314f6
--- /dev/null
+++ b/packages/app-api-client/spec.openapi.json
@@ -0,0 +1,1006 @@
+{
+ "openapi": "3.0.0",
+ "paths": {
+ "/api/auth/login": {
+ "post": {
+ "operationId": "Auth_login",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/LoginDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "User logged in successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/LoginResponseDto"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Invalid credentials"
+ }
+ },
+ "summary": "User login",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/auth/logout": {
+ "get": {
+ "operationId": "Auth_logout",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User logged out successfully"
+ }
+ },
+ "summary": "User logout",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/auth/change-password": {
+ "post": {
+ "operationId": "Auth_changePassword",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChangePasswordDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Password changed successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChangePasswordResponseDto"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Current password is incorrect!"
+ }
+ },
+ "summary": "Change current password",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/auth/forgot-password": {
+ "post": {
+ "operationId": "Auth_forgotPassword",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ForgotPasswordDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Password reset email sent if user exists"
+ }
+ },
+ "summary": "Request password reset",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/auth/reset-password": {
+ "post": {
+ "operationId": "Auth_resetPassword",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResetPasswordDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "Password reset successfully"
+ },
+ "400": {
+ "description": "Invalid or expired token"
+ }
+ },
+ "summary": "Reset password with token",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/auth/reset-password/token-status": {
+ "post": {
+ "operationId": "Auth_validateResetToken",
+ "parameters": [],
+ "responses": {
+ "202": {
+ "description": "Token is valid"
+ }
+ },
+ "summary": "Validate reset token",
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/api/me": {
+ "get": {
+ "operationId": "CurrentUser_get",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Current user profile",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ }
+ },
+ "summary": "Get current user profile",
+ "tags": [
+ "me"
+ ]
+ },
+ "patch": {
+ "operationId": "CurrentUser_update",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateProfileDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated user profile",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ }
+ },
+ "summary": "Update user profile",
+ "tags": [
+ "me"
+ ]
+ }
+ },
+ "/api/users": {
+ "get": {
+ "operationId": "User_fetch",
+ "parameters": [
+ {
+ "name": "email",
+ "required": false,
+ "in": "query",
+ "description": "Find by exact email",
+ "schema": {
+ "example": "admin@example.com",
+ "type": "string"
+ }
+ },
+ {
+ "name": "search",
+ "required": false,
+ "in": "query",
+ "description": "Search term for email, first name, or last name",
+ "schema": {
+ "example": "john",
+ "type": "string"
+ }
+ },
+ {
+ "name": "includeArchived",
+ "required": false,
+ "in": "query",
+ "description": "Include soft-deleted users",
+ "schema": {
+ "default": false,
+ "example": false,
+ "type": "boolean"
+ }
+ },
+ {
+ "name": "page",
+ "required": false,
+ "in": "query",
+ "description": "Page number",
+ "schema": {
+ "minimum": 1,
+ "default": 1,
+ "type": "number"
+ }
+ },
+ {
+ "name": "limit",
+ "required": false,
+ "in": "query",
+ "description": "Number of items per page",
+ "schema": {
+ "minimum": 1,
+ "maximum": 100,
+ "default": 20,
+ "type": "number"
+ }
+ },
+ {
+ "name": "sortBy",
+ "required": false,
+ "in": "query",
+ "description": "Field to sort by",
+ "schema": {
+ "default": "createdAt",
+ "type": "string",
+ "enum": [
+ "id",
+ "email",
+ "firstName",
+ "lastName",
+ "createdAt",
+ "updatedAt"
+ ]
+ }
+ },
+ {
+ "name": "sortOrder",
+ "required": false,
+ "in": "query",
+ "description": "Sort order",
+ "schema": {
+ "default": "DESC",
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ]
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of users",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PaginatedUsersDto"
+ }
+ }
+ }
+ }
+ },
+ "summary": "List users (Admin only)",
+ "tags": [
+ "users"
+ ]
+ },
+ "post": {
+ "operationId": "User_create",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateUserDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "User created successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "User already exists"
+ }
+ },
+ "summary": "Create or invite user (Admin only)",
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/api/users/{id}": {
+ "get": {
+ "operationId": "User_get",
+ "parameters": [
+ {
+ "name": "id",
+ "required": true,
+ "in": "path",
+ "description": "User ID",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "User found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "User not found"
+ }
+ },
+ "summary": "Get user by ID (Admin only)",
+ "tags": [
+ "users"
+ ]
+ },
+ "patch": {
+ "operationId": "User_update",
+ "parameters": [
+ {
+ "name": "id",
+ "required": true,
+ "in": "path",
+ "description": "User ID",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateUserDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "User updated successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden"
+ },
+ "404": {
+ "description": "User not found"
+ }
+ },
+ "summary": "Update user by ID",
+ "tags": [
+ "users"
+ ]
+ },
+ "delete": {
+ "operationId": "User_remove",
+ "parameters": [
+ {
+ "name": "id",
+ "required": true,
+ "in": "path",
+ "description": "User ID",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User deleted successfully"
+ },
+ "404": {
+ "description": "User not found"
+ }
+ },
+ "summary": "Delete user (Admin only)",
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/api/users/{id}/restore": {
+ "post": {
+ "operationId": "User_restore",
+ "parameters": [
+ {
+ "name": "id",
+ "required": true,
+ "in": "path",
+ "description": "User ID",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "User restored successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "User not found"
+ }
+ },
+ "summary": "Restore soft-deleted user (Admin only)",
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/api/users/{id}/reinvite": {
+ "post": {
+ "operationId": "User_reinvite",
+ "parameters": [
+ {
+ "name": "id",
+ "required": true,
+ "in": "path",
+ "description": "User ID",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Invitation sent"
+ },
+ "404": {
+ "description": "User not found"
+ }
+ },
+ "summary": "Reinvite user (Admin only)",
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/api/healthcheck": {
+ "get": {
+ "operationId": "Health_healthCheck",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Service is healthy"
+ }
+ },
+ "summary": "Basic health check",
+ "tags": [
+ "health"
+ ]
+ }
+ },
+ "/api/health/live": {
+ "get": {
+ "operationId": "Health_liveness",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Service is alive"
+ }
+ },
+ "summary": "Liveness probe",
+ "tags": [
+ "health"
+ ]
+ }
+ },
+ "/api/health/ready": {
+ "get": {
+ "operationId": "Health_readiness",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Service is ready"
+ },
+ "503": {
+ "description": "Service is not ready"
+ }
+ },
+ "summary": "Readiness probe",
+ "tags": [
+ "health"
+ ]
+ }
+ },
+ "/api/sentry/debug": {
+ "get": {
+ "operationId": "Health_sentryDebug",
+ "parameters": [],
+ "responses": {
+ "500": {
+ "description": "Test error thrown for Sentry"
+ }
+ },
+ "summary": "Test Sentry error capture (development only)",
+ "tags": [
+ "health"
+ ]
+ }
+ },
+ "/api/sentry/message": {
+ "get": {
+ "operationId": "Health_sentryMessage",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Test message sent to Sentry"
+ }
+ },
+ "summary": "Test Sentry message capture (development only)",
+ "tags": [
+ "health"
+ ]
+ }
+ },
+ "/api/seed/reset": {
+ "post": {
+ "description": "Clears all data and reseeds with base admin user. Only in non prod env.",
+ "operationId": "Seed_resetDatabase",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Database reset successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SeedResponseDto"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden - not available in production"
+ }
+ },
+ "summary": "Reset database with base seed data",
+ "tags": [
+ "seed"
+ ]
+ }
+ },
+ "/api/seed/user": {
+ "post": {
+ "description": "Creates a test user with random data",
+ "operationId": "Seed_seedUser",
+ "parameters": [],
+ "responses": {
+ "201": {
+ "description": "Test user created successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SeedResponseDto"
+ }
+ }
+ }
+ }
+ },
+ "summary": "Create a single test user",
+ "tags": [
+ "seed"
+ ]
+ }
+ }
+ },
+ "info": {
+ "title": "API",
+ "description": "API documentation",
+ "version": "1.0",
+ "contact": {}
+ },
+ "tags": [
+ {
+ "name": "auth",
+ "description": "Authentication endpoints"
+ },
+ {
+ "name": "me",
+ "description": "Current user profile endpoints"
+ },
+ {
+ "name": "users",
+ "description": "User management endpoints"
+ },
+ {
+ "name": "health",
+ "description": "Health check endpoints"
+ }
+ ],
+ "servers": [],
+ "components": {
+ "securitySchemes": {
+ "bearer": {
+ "scheme": "bearer",
+ "bearerFormat": "JWT",
+ "type": "http"
+ }
+ },
+ "schemas": {
+ "LoginDto": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User email address",
+ "example": "user@example.com"
+ },
+ "password": {
+ "type": "string",
+ "description": "User password",
+ "example": "password123",
+ "minLength": 8
+ }
+ },
+ "required": [
+ "email",
+ "password"
+ ]
+ },
+ "UserDto": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "number"
+ },
+ "email": {
+ "type": "string"
+ },
+ "role": {
+ "type": "string",
+ "enum": [
+ "ADMIN",
+ "USER"
+ ]
+ },
+ "firstName": {
+ "type": "string"
+ },
+ "lastName": {
+ "type": "string"
+ },
+ "fullName": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "imgUrl": {
+ "type": "string"
+ },
+ "createdAt": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "updatedAt": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "deletedAt": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "email",
+ "role",
+ "firstName",
+ "lastName",
+ "fullName",
+ "label",
+ "imgUrl",
+ "createdAt",
+ "updatedAt",
+ "deletedAt"
+ ]
+ },
+ "LoginResponseDto": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "$ref": "#/components/schemas/UserDto"
+ },
+ "accessToken": {
+ "type": "string",
+ "description": "JWT access token"
+ },
+ "expiresInMs": {
+ "type": "number",
+ "description": "Token expiration time in milliseconds"
+ }
+ },
+ "required": [
+ "user",
+ "accessToken",
+ "expiresInMs"
+ ]
+ },
+ "ChangePasswordDto": {
+ "type": "object",
+ "properties": {
+ "currentPassword": {
+ "type": "string",
+ "description": "Current password",
+ "example": "OldPassword123"
+ },
+ "newPassword": {
+ "type": "string",
+ "description": "New password",
+ "minLength": 8,
+ "example": "NewSecureP@ssw0rd"
+ }
+ },
+ "required": [
+ "currentPassword",
+ "newPassword"
+ ]
+ },
+ "ChangePasswordResponseDto": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Success message"
+ }
+ },
+ "required": [
+ "message"
+ ]
+ },
+ "ForgotPasswordDto": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email address to send reset link to",
+ "example": "user@example.com"
+ }
+ },
+ "required": [
+ "email"
+ ]
+ },
+ "ResetPasswordDto": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string",
+ "description": "Password reset token",
+ "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
+ },
+ "newPassword": {
+ "type": "string",
+ "description": "New password",
+ "example": "NewSecureP@ssw0rd",
+ "minLength": 8
+ }
+ },
+ "required": [
+ "token",
+ "newPassword"
+ ]
+ },
+ "UpdateProfileDto": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User email address",
+ "example": "user@example.com"
+ },
+ "firstName": {
+ "type": "string",
+ "description": "User first name",
+ "example": "John"
+ },
+ "lastName": {
+ "type": "string",
+ "description": "User last name",
+ "example": "Doe"
+ },
+ "imgUrl": {
+ "type": "string",
+ "description": "User avatar as data URL (base64 encoded image)",
+ "example": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIpQBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpdmZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoePPQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKcTNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jcW+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQjLYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII="
+ }
+ }
+ },
+ "PaginatedUsersDto": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ },
+ "total": {
+ "type": "number",
+ "description": "Total number of items",
+ "example": 100
+ },
+ "limit": {
+ "type": "number",
+ "description": "Number of items per page",
+ "example": 20
+ },
+ "page": {
+ "type": "number",
+ "description": "Current page number",
+ "example": 1
+ },
+ "totalPages": {
+ "type": "number",
+ "description": "Total number of pages",
+ "example": 5
+ },
+ "hasPrevious": {
+ "type": "boolean",
+ "description": "Has previous page",
+ "example": false
+ },
+ "hasNext": {
+ "type": "boolean",
+ "description": "Has next page",
+ "example": true
+ }
+ },
+ "required": [
+ "data",
+ "total",
+ "limit",
+ "page",
+ "totalPages",
+ "hasPrevious",
+ "hasNext"
+ ]
+ },
+ "CreateUserDto": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User email address",
+ "example": "user@example.com"
+ },
+ "firstName": {
+ "type": "string",
+ "description": "User first name",
+ "example": "John"
+ },
+ "lastName": {
+ "type": "string",
+ "description": "User last name",
+ "example": "Doe"
+ },
+ "role": {
+ "type": "string",
+ "description": "User role",
+ "enum": [
+ "ADMIN",
+ "USER"
+ ],
+ "example": "USER"
+ }
+ },
+ "required": [
+ "email"
+ ]
+ },
+ "UpdateUserDto": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User email address",
+ "example": "user@example.com"
+ },
+ "firstName": {
+ "type": "string",
+ "description": "User first name",
+ "example": "John"
+ },
+ "lastName": {
+ "type": "string",
+ "description": "User last name",
+ "example": "Doe"
+ },
+ "imgUrl": {
+ "type": "string",
+ "description": "User avatar as data URL (base64 encoded image)",
+ "example": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIpQBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpdmZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoePPQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKcTNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jcW+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQjLYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII="
+ },
+ "role": {
+ "type": "string",
+ "description": "User role (admin only)",
+ "enum": [
+ "ADMIN",
+ "USER"
+ ],
+ "example": "USER"
+ }
+ }
+ },
+ "SeedResponseDto": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Result message"
+ },
+ "data": {
+ "type": "object",
+ "description": "Response data"
+ }
+ },
+ "required": [
+ "message"
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/app-config/package.json b/packages/app-config/package.json
index 6dc609e..0359cf5 100644
--- a/packages/app-config/package.json
+++ b/packages/app-config/package.json
@@ -13,6 +13,6 @@
"url-parse": "^1.5.10"
},
"devDependencies": {
- "rollup": "^4.24.4"
+ "rollup": "^4.52.4"
}
}
diff --git a/packages/app-config/src/index.js b/packages/app-config/src/index.js
index f91b912..0d9ddc8 100644
--- a/packages/app-config/src/index.js
+++ b/packages/app-config/src/index.js
@@ -1 +1,2 @@
export * as role from './role.js';
+export * from './url.js';
diff --git a/packages/app-config/src/url.js b/packages/app-config/src/url.js
index 2cdca86..bcdd533 100644
--- a/packages/app-config/src/url.js
+++ b/packages/app-config/src/url.js
@@ -1,11 +1,10 @@
import isLocalhost from 'is-localhost';
-import parse from 'url-parse';
-export default function (env) {
- const hostname = resolveHostname(env);
+export function resolveOrigin(env) {
+ const { HOSTNAME: hostname } = env;
const protocol = env.PROTOCOL ? env.PROTOCOL : resolveProtocol(hostname);
const port = resolvePort(env);
- const origin = resolveOrigin(
+ const origin = resolveOriginUrl(
hostname,
protocol,
port,
@@ -14,21 +13,12 @@ export default function (env) {
return { hostname, protocol, port, origin };
}
-// Legacy config support
-function resolveHostname(env) {
- const { HOSTNAME, SERVER_URL } = env;
- if (HOSTNAME) return HOSTNAME;
- const LEGACY_HOSTNAME = parse(SERVER_URL).hostname;
- return LEGACY_HOSTNAME || 'localhost';
-}
-
function resolveProtocol(hostname) {
return isLocalhost(hostname) ? 'http' : 'https';
}
function resolvePort(env) {
- const { PORT, SERVER_PORT } = env;
- return PORT || SERVER_PORT || 3001;
+ return env.PORT || 3000;
}
function resolveOriginPort(port, reverseProxyPort) {
@@ -37,10 +27,10 @@ function resolveOriginPort(port, reverseProxyPort) {
return `:${reverseProxyPort}`;
}
-function resolveOrigin(
+function resolveOriginUrl(
hostname = 'localhost',
protocol = 'http',
- port = 3001,
+ port = 3000,
reverseProxyPort,
) {
return `${protocol}://${hostname}${resolveOriginPort(
diff --git a/packages/app-interfaces/user.ts b/packages/app-interfaces/user.ts
index 046d2ac..aff1980 100644
--- a/packages/app-interfaces/user.ts
+++ b/packages/app-interfaces/user.ts
@@ -1,6 +1,5 @@
export interface User {
- id: number;
- uid: string;
+ id: string;
email: string;
role: string;
fullName: null | string;
diff --git a/packages/app-seed/user.json b/packages/app-seed/user.json
index d357502..70981b1 100644
--- a/packages/app-seed/user.json
+++ b/packages/app-seed/user.json
@@ -1,8 +1,11 @@
[
{
"email": "admin@example.com",
- "password": "test",
+ "password": "admin123!",
+ "firstName": "Admin",
+ "lastName": "User",
"role": "ADMIN",
- "img_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAA6lBMVEX///9Kxsbb9PQqUIP/Tko8w8NCxMQjTIFac5rL7u7Z8/Py+/s+w8M0wsLe9fWG1tb2/PxZysrq+Piv4+PG6+uf3t6W29u+6Ohtz89gzMyK2NgeSX8APHj/TkZ/1NSy5OQWRX1/ka4TUIX/Qj1IZZDHztvx8/aaqL6qtcc6XItofqHM098xVoi6T2L6TkvvxMYAOnfd4uq3wNCJmrWjsMRjUHmeT2vFT17QTlpHUH6qT2bnTlKUT21UUHuyT2TaTleQdpB0PWb0n6D4r6/3X17/OjTbcHjOwsv05+nqb3L0U1Pdtrzy1Nb+wL94C8E/AAANZElEQVR4nN2deXvbuBGHTTmAQ4qkeIgUSduSbCfOfTjbZLs9tsd2t9t2+/2/TkFKssQDwAwIkHR/fyTPk1AiX85gBhhAwNmZcQW+vYqTdJFleRhaTGGYZ+siiZe2Pzd/e6OK7HiRW8QjLmWyTlX+g0sIsfIitqOxH1RF0TLJGFqDq0sM1CNZunpKmNFqbREI3KlJCQmL1ZNwWrsIPRcDd4JJvDBxxgYQy15QokZ3pLQKOxibgyOn6It3gCQLe2yYtqLE0oJ3gKTJtCLPMvP04e0hvWw5NtZBQazTfCeMzJBTaJHzlLoG8HZy3WJsZ40W2t2zLuqNyjhfGHHPBiMpxuoIBKlh+x0Z01HaY6zYc1FidOPB+WyLDMZXiljDdgLmmTcoXykvGzDkxAMEmLYoGcpV/XBYBz2K5IOYMRkognZpCDNG+VgG3InkhpPjZkQD7kTJyiTgevgQ2pZXGOPzrbENuBMNDQWc5RQMWIkSI+k/mQwgk5foB1yPG0ObIgvNfEE+jSZ4lJtrHW9EE4kxp6KWxnjjTMtD96JkpgvQnlKMOZWnqUA+nSzRkqcla6ymC6gHccIWLOX1LhtPHLC/FZ2pA/ZFfAKADNFXB4wmmQdbIsqpfz72o4Ol2oELp9dV6xbN1QDXTwWQIa5VAFO9jXC3fIZ4TOXfLmqphlREYbyoLxFSSjySr5PNynb8KIr8mWOv4nSRV0uJNN0En/k1hVHqelaWLDnBbu7E65DoKaCjA6qOKMNsl22kyWq+KqiGGiUNcYCL3rekhKzBnuPHeW9Iiqpr9B5PUC9b4ZJU/+UqHqJU3LcRujRV6WbYPdesIJpiv7ITsZSnT6Kijx3hiT/pY0KX9poeCpIejNCs6PdohFQl9dY177GABTjMCNUBPS0LQ3zlGTyYn6r7qBv2GKnVtFLt00FmUNXjqM65hEB1Ho/InShTfHtUmwF3WqpFHPkoQ7XDrX/aMsqVVgRKyzZqfJaRqedU6W1L+qex0nvTOklyIiWHEgebuVKYcTNTC+tmKjGViJ6mUGndRKmEAJPKtB5NBd+n5BXmlkYwBQoDVY+fMVRqTyZm1GvCDwMo952rJHvjgCrlBu4wSmFg37+jbQKRN9yf41uh2TZ4UIAON5yWmOId3mAUPdUcbcTOcDpHJ3vVYjpe6CGr22VEhe7McCvosaUxtys+oH20z7wdWiny/bvtr1hiUwWmeKdByLRI2rVa7LiQn1bNCNllplnzC9AdNmQRvb+QTdFrZv0EacJBG+FOuD4lbcYaHN8wfZmGAmSkqH/aRn56cB8ttUI9ZGMdMbJLOoKPlkJFw0YoxGWboePoQbiuTS0lIp2UjvXzXJSr1dwU56RkMxIgLinWxlDIVDEWIHL8Q4+fw61y7ugQDSbUGJYclxDjRoajZAqVRz0ZJaLm08Y0IbKW9GgLXPliVBPi+m6PxQxUX2G8QLoTZsnr42wKKldQ4f0HEKJJPeYLBJ+wZD6MUNWW3UdQjbc17BpcmKixLw1j6hftofPwQvS/93EfM/h1gXHm3c2LFzcvwQ/9srz8AXjxBu6m+2EwZkziwfrcN58vLy4ur94Cn/ntVXn55xvY1YiCy97lEH4NdNJXV+eVtrBnvtnuLr96BUPM4Q9MkK/EckEVxPs9IHtmiOc9HC+/BxEimlUVGDFjQ8Hc44m+bA+PvIVY5dXx8i8gQsQTV2NETH6BTVQcH/kS4qY3l6gXcoZpV9W+NogeTatC163XR8LvAJd/dyR8DSOEN8SqV4Npt7AfUZ00LEjCeIlrtmeoIVTpdXBAy4M9wNnzvVUu3oAuf3Oxtzg0u2D6KLg6K3TgdH9eIV5uYTZ52O4uP4eFUlTNjQSo/Anvdd9cbbdXb6FPfP+2vByY8JkCVLrAhF7EfNr9u3dQPoXL4SMoFjpW8GQxUqW7Q/COJuujxIhkMYV9GivBgymNMV2gkSs0J4KbhaVwxOuYwNhwL3hliUVHeJdm/ALGo+DhkXVqMui1Vr+fimgVokifITptsKHTIEKk/BxBaGZzJiUhuik5JnlOZzNxBGGIIJxOwsdUFEPE0GL8UumjMDVTDOF09vU3Rfh/b0Mym02FEUWIiKX+zJkIIyrSoAhnM8efwgADRYjI+CVhyQh9jpc3b59DdPM7zOgXSZgj+qV7QiZQUH14X85GQHS5hRZK8YRsQASfFz8SQsz4sL04hws6ZYEnXCPGh0dCJmlrfI8BhJdK0YQpYoxfI3Qknnqcu4AJVP9XIUwQBYEa4cwR543nOBOen18YIowRtbY6oQTxPRLwfGuG0F0iCgINQnG8wZrQFCEb1MKHy01CIeILLOJ7M4RsyAeft2gRihz1NTbSQObhFAjLHwVDr+0gFCEiCU1li3LNELjb1kEoQHyFQrx4gQFEEJbzh+CCaRchPy8GXQ3xdqf2fwBn8NGE1RwwOCF2Es645akvVy28r98+fP/77z98+9qEBE6lKhCWNV5wuugmnHED6vPLGt8PHz5eH/Txxx9qjFfvDBFWFVBwZY5DyG2K9yd+env74fr62VHX1384QdyiAimGcFd56WnDmcPrhR9XLNx+/XjKVzH+8dGMyDCDIazWRIGnG3mEfD/98nkP+KcmX6U/7xAvttgB8NkcOF7YT5dBx09cQn7KeF1Z8fbHTsBn1xXiBXA9w4miGTB47KfLoJNxXEJ+PGUB9YIL+OzZRyXAwHeghPuVB9A1wnxCvp+ePZxvu120MuJfbrdvsC4aOex+UMK9d8EARYTcYMPe+F9/5gEyxL+hBr6lmAHhhIffLwF7NQJCgRHPzj5d33H47r7BlxHv35ezux2M8HGtPrAhiggFRmT6+91d21Ov775/ja29Rs4MQ/i4AAiY80WEQiMy/fSPn2uQ13d3v/wTXVs+AEIJjzMtsLq3kFBsRKZff/rXx7uD/v3Lf9A5kDXB4/uEER6Xx8AyopAQMqER/Prbp0///fTpt3ulmYFTjwERniweAXq1kFDbiSgAQCDh6bS8BhvKCqg6AaE2PPk4KF9IbGh2lr9xLwhh7XfAoEW3EkKjKzUatwYR1n4KGkDKwjJCg27avDPMhrWvgLiphNCgmz7mQQxhY8MvkNUlhMai6bwJCCJsLuHSYENp0ldU0AKE2bDxNYCkL7WhoVUMHXcCELbWigL6plJCMw0xUiNsr/6RV2vGIezwUQhhx4JmeUqUEhoJNd3vUkrYtS9CfxuaCDVdPgqyYcd3SX+lJyfUn/M7fRRA2HnavHTfRLmX6g+mnFvKCTvdSbaJ8AiEHBNKCTk/K5AljBEIuVV2CSFvKaykcyon1J0ueCaUEXJ36pIYcXhC7g0lhPzjWMRGHJyQa0IJoeDUILERByfszoVyQtGCdGE4HZyQa0IxofAX58LFNUQGqJmQb0IJobBrlQjS/tCEomkSQS9adhCLyIZ8rzFByI8z7EaCHVxkvwMVHClBlpJyoq+VUOCkM58/yy0/WpY/TqSJYIrUj3x7ubJt2+/XsYl8h31J2TsSzgNxnxKwibpgRjjn9YMjJ15b1dGU1SmVVrFSGmU4SUa8w5eEK4c5BYeQH2gAZwUJzntyN1139KNNRupniVBCMuzOfH5B69/i0jy1uxl9btcEct6TcK7Nad3Q92Or66hNSizMT079zmPzqJdvOhj5kRS4Dz5/TS3NZ83y+jLkOwz4BKig4B61RjK7VfB2eHcEnw/I91Ma1u7nO8KjtSjweI+l6LwcStK6GX2Huz07zEdLCXZ4d4tDAGB/xbKjfCAnsUkPIKu9Vp95DTeOws9qEK2woXSdLBmlsypC+XwO9WSvVWjAw7eks+q1sj/sNf/ZOo984Ei4wzulLqXlH9InK0VyUdsIFqBVEuy1xkvbXqW54DQ23JHAGk+sFrXGDfjEKkqrg6AFV7jILbh7HPPYfjp309XdDzZU48HY2POA1Q634sqlaXOK2E6p0hlvPKHPdO5/JHBd5QHIycqOSjnLJPP0nFX9KHmHuy3NZ6vvmpK3O1td78HqlupZDRqjjWmpHsuk4/TxQaR8LNN87CcHiobKk159z+ceSLTHnNdMb0A1o357rmD2Bx9JXs/FWKqn5w4mlURYl+bMr1u47vYTRNQBOGlH7e+iO9lTRewbZI7CndIylCjVWGNXOXjYtGiodXHLfHJ9VDfXvT5JUAEaQyaOylY7y92QzBy0PJ3ESE1t4ehPJN7Q0NyOY7Ly9CDy+ItJNGjDnUIZStT0iVpRPm5MJbn53RuTEc1I4bNLfeTzpwwNSzwHolOx5nIuTAMZcKcoGz6oetmw+6cuLa2zDlKRcPh9mpMBXZWOs5d4kA4UVSlJxtpSdF4MYEdKijE3MI4Whu1IvWLsbW/nqWsu5rhuOoUNqIOYGnFW9q3xFLb0rbTsXLTVj89DL40zqyixNBqSmS8Zu/l1yClcLZAMr5jOMQwN2Yu+TZJ9fjEt72zJLkIPuFyqTeeFyXSOmBAoWq0t5HqLcp1GqLi0eCRFy2pJM2RZnsuuy9LlBCOLXJEdL3KLAVRL/RpGoxWalRex/SThThT49ipO0kWW5WG1XC4M82xdJPHSjgbI6P8Dr/kRWKqNYfYAAAAASUVORK5CYII="
+ "imgUrl": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAA6lBMVEX///9Kxsbb9PQqUIP/Tko8w8NCxMQjTIFac5rL7u7Z8/Py+/s+w8M0wsLe9fWG1tb2/PxZysrq+Piv4+PG6+uf3t6W29u+6Ohtz89gzMyK2NgeSX8APHj/TkZ/1NSy5OQWRX1/ka4TUIX/Qj1IZZDHztvx8/aaqL6qtcc6XItofqHM098xVoi6T2L6TkvvxMYAOnfd4uq3wNCJmrWjsMRjUHmeT2vFT17QTlpHUH6qT2bnTlKUT21UUHuyT2TaTleQdpB0PWb0n6D4r6/3X17/OjTbcHjOwsv05+nqb3L0U1Pdtrzy1Nb+wL94C8E/AAANZElEQVR4nN2deXvbuBGHTTmAQ4qkeIgUSduSbCfOfTjbZLs9tsd2t9t2+/2/TkFKssQDwAwIkHR/fyTPk1AiX85gBhhAwNmZcQW+vYqTdJFleRhaTGGYZ+siiZe2Pzd/e6OK7HiRW8QjLmWyTlX+g0sIsfIitqOxH1RF0TLJGFqDq0sM1CNZunpKmNFqbREI3KlJCQmL1ZNwWrsIPRcDd4JJvDBxxgYQy15QokZ3pLQKOxibgyOn6It3gCQLe2yYtqLE0oJ3gKTJtCLPMvP04e0hvWw5NtZBQazTfCeMzJBTaJHzlLoG8HZy3WJsZ40W2t2zLuqNyjhfGHHPBiMpxuoIBKlh+x0Z01HaY6zYc1FidOPB+WyLDMZXiljDdgLmmTcoXykvGzDkxAMEmLYoGcpV/XBYBz2K5IOYMRkognZpCDNG+VgG3InkhpPjZkQD7kTJyiTgevgQ2pZXGOPzrbENuBMNDQWc5RQMWIkSI+k/mQwgk5foB1yPG0ObIgvNfEE+jSZ4lJtrHW9EE4kxp6KWxnjjTMtD96JkpgvQnlKMOZWnqUA+nSzRkqcla6ymC6gHccIWLOX1LhtPHLC/FZ2pA/ZFfAKADNFXB4wmmQdbIsqpfz72o4Ol2oELp9dV6xbN1QDXTwWQIa5VAFO9jXC3fIZ4TOXfLmqphlREYbyoLxFSSjySr5PNynb8KIr8mWOv4nSRV0uJNN0En/k1hVHqelaWLDnBbu7E65DoKaCjA6qOKMNsl22kyWq+KqiGGiUNcYCL3rekhKzBnuPHeW9Iiqpr9B5PUC9b4ZJU/+UqHqJU3LcRujRV6WbYPdesIJpiv7ITsZSnT6Kijx3hiT/pY0KX9poeCpIejNCs6PdohFQl9dY177GABTjMCNUBPS0LQ3zlGTyYn6r7qBv2GKnVtFLt00FmUNXjqM65hEB1Ho/InShTfHtUmwF3WqpFHPkoQ7XDrX/aMsqVVgRKyzZqfJaRqedU6W1L+qex0nvTOklyIiWHEgebuVKYcTNTC+tmKjGViJ6mUGndRKmEAJPKtB5NBd+n5BXmlkYwBQoDVY+fMVRqTyZm1GvCDwMo952rJHvjgCrlBu4wSmFg37+jbQKRN9yf41uh2TZ4UIAON5yWmOId3mAUPdUcbcTOcDpHJ3vVYjpe6CGr22VEhe7McCvosaUxtys+oH20z7wdWiny/bvtr1hiUwWmeKdByLRI2rVa7LiQn1bNCNllplnzC9AdNmQRvb+QTdFrZv0EacJBG+FOuD4lbcYaHN8wfZmGAmSkqH/aRn56cB8ttUI9ZGMdMbJLOoKPlkJFw0YoxGWboePoQbiuTS0lIp2UjvXzXJSr1dwU56RkMxIgLinWxlDIVDEWIHL8Q4+fw61y7ugQDSbUGJYclxDjRoajZAqVRz0ZJaLm08Y0IbKW9GgLXPliVBPi+m6PxQxUX2G8QLoTZsnr42wKKldQ4f0HEKJJPeYLBJ+wZD6MUNWW3UdQjbc17BpcmKixLw1j6hftofPwQvS/93EfM/h1gXHm3c2LFzcvwQ/9srz8AXjxBu6m+2EwZkziwfrcN58vLy4ur94Cn/ntVXn55xvY1YiCy97lEH4NdNJXV+eVtrBnvtnuLr96BUPM4Q9MkK/EckEVxPs9IHtmiOc9HC+/BxEimlUVGDFjQ8Hc44m+bA+PvIVY5dXx8i8gQsQTV2NETH6BTVQcH/kS4qY3l6gXcoZpV9W+NogeTatC163XR8LvAJd/dyR8DSOEN8SqV4Npt7AfUZ00LEjCeIlrtmeoIVTpdXBAy4M9wNnzvVUu3oAuf3Oxtzg0u2D6KLg6K3TgdH9eIV5uYTZ52O4uP4eFUlTNjQSo/Anvdd9cbbdXb6FPfP+2vByY8JkCVLrAhF7EfNr9u3dQPoXL4SMoFjpW8GQxUqW7Q/COJuujxIhkMYV9GivBgymNMV2gkSs0J4KbhaVwxOuYwNhwL3hliUVHeJdm/ALGo+DhkXVqMui1Vr+fimgVokifITptsKHTIEKk/BxBaGZzJiUhuik5JnlOZzNxBGGIIJxOwsdUFEPE0GL8UumjMDVTDOF09vU3Rfh/b0Mym02FEUWIiKX+zJkIIyrSoAhnM8efwgADRYjI+CVhyQh9jpc3b59DdPM7zOgXSZgj+qV7QiZQUH14X85GQHS5hRZK8YRsQASfFz8SQsz4sL04hws6ZYEnXCPGh0dCJmlrfI8BhJdK0YQpYoxfI3Qknnqcu4AJVP9XIUwQBYEa4cwR543nOBOen18YIowRtbY6oQTxPRLwfGuG0F0iCgINQnG8wZrQFCEb1MKHy01CIeILLOJ7M4RsyAeft2gRihz1NTbSQObhFAjLHwVDr+0gFCEiCU1li3LNELjb1kEoQHyFQrx4gQFEEJbzh+CCaRchPy8GXQ3xdqf2fwBn8NGE1RwwOCF2Es645akvVy28r98+fP/77z98+9qEBE6lKhCWNV5wuugmnHED6vPLGt8PHz5eH/Txxx9qjFfvDBFWFVBwZY5DyG2K9yd+env74fr62VHX1384QdyiAimGcFd56WnDmcPrhR9XLNx+/XjKVzH+8dGMyDCDIazWRIGnG3mEfD/98nkP+KcmX6U/7xAvttgB8NkcOF7YT5dBx09cQn7KeF1Z8fbHTsBn1xXiBXA9w4miGTB47KfLoJNxXEJ+PGUB9YIL+OzZRyXAwHeghPuVB9A1wnxCvp+ePZxvu120MuJfbrdvsC4aOex+UMK9d8EARYTcYMPe+F9/5gEyxL+hBr6lmAHhhIffLwF7NQJCgRHPzj5d33H47r7BlxHv35ezux2M8HGtPrAhiggFRmT6+91d21Ov775/ja29Rs4MQ/i4AAiY80WEQiMy/fSPn2uQ13d3v/wTXVs+AEIJjzMtsLq3kFBsRKZff/rXx7uD/v3Lf9A5kDXB4/uEER6Xx8AyopAQMqER/Prbp0///fTpt3ulmYFTjwERniweAXq1kFDbiSgAQCDh6bS8BhvKCqg6AaE2PPk4KF9IbGh2lr9xLwhh7XfAoEW3EkKjKzUatwYR1n4KGkDKwjJCg27avDPMhrWvgLiphNCgmz7mQQxhY8MvkNUlhMai6bwJCCJsLuHSYENp0ldU0AKE2bDxNYCkL7WhoVUMHXcCELbWigL6plJCMw0xUiNsr/6RV2vGIezwUQhhx4JmeUqUEhoJNd3vUkrYtS9CfxuaCDVdPgqyYcd3SX+lJyfUn/M7fRRA2HnavHTfRLmX6g+mnFvKCTvdSbaJ8AiEHBNKCTk/K5AljBEIuVV2CSFvKaykcyon1J0ueCaUEXJ36pIYcXhC7g0lhPzjWMRGHJyQa0IJoeDUILERByfszoVyQtGCdGE4HZyQa0IxofAX58LFNUQGqJmQb0IJobBrlQjS/tCEomkSQS9adhCLyIZ8rzFByI8z7EaCHVxkvwMVHClBlpJyoq+VUOCkM58/yy0/WpY/TqSJYIrUj3x7ubJt2+/XsYl8h31J2TsSzgNxnxKwibpgRjjn9YMjJ15b1dGU1SmVVrFSGmU4SUa8w5eEK4c5BYeQH2gAZwUJzntyN1139KNNRupniVBCMuzOfH5B69/i0jy1uxl9btcEct6TcK7Nad3Q92Or66hNSizMT079zmPzqJdvOhj5kRS4Dz5/TS3NZ83y+jLkOwz4BKig4B61RjK7VfB2eHcEnw/I91Ma1u7nO8KjtSjweI+l6LwcStK6GX2Huz07zEdLCXZ4d4tDAGB/xbKjfCAnsUkPIKu9Vp95DTeOws9qEK2woXSdLBmlsypC+XwO9WSvVWjAw7eks+q1sj/sNf/ZOo984Ei4wzulLqXlH9InK0VyUdsIFqBVEuy1xkvbXqW54DQ23JHAGk+sFrXGDfjEKkqrg6AFV7jILbh7HPPYfjp309XdDzZU48HY2POA1Q634sqlaXOK2E6p0hlvPKHPdO5/JHBd5QHIycqOSjnLJPP0nFX9KHmHuy3NZ6vvmpK3O1td78HqlupZDRqjjWmpHsuk4/TxQaR8LNN87CcHiobKk159z+ceSLTHnNdMb0A1o357rmD2Bx9JXs/FWKqn5w4mlURYl+bMr1u47vYTRNQBOGlH7e+iO9lTRewbZI7CndIylCjVWGNXOXjYtGiodXHLfHJ9VDfXvT5JUAEaQyaOylY7y92QzBy0PJ3ESE1t4ehPJN7Q0NyOY7Ly9CDy+ItJNGjDnUIZStT0iVpRPm5MJbn53RuTEc1I4bNLfeTzpwwNSzwHolOx5nIuTAMZcKcoGz6oetmw+6cuLa2zDlKRcPh9mpMBXZWOs5d4kA4UVSlJxtpSdF4MYEdKijE3MI4Whu1IvWLsbW/nqWsu5rhuOoUNqIOYGnFW9q3xFLb0rbTsXLTVj89DL40zqyixNBqSmS8Zu/l1yClcLZAMr5jOMQwN2Yu+TZJ9fjEt72zJLkIPuFyqTeeFyXSOmBAoWq0t5HqLcp1GqLi0eCRFy2pJM2RZnsuuy9LlBCOLXJEdL3KLAVRL/RpGoxWalRex/SThThT49ipO0kWW5WG1XC4M82xdJPHSjgbI6P8Dr/kRWKqNYfYAAAAASUVORK5CYII=",
+ "lastLoginAt": "2023-10-01T00:00:00.000Z"
}
]
diff --git a/packages/app-vue-components/package.json b/packages/app-vue-components/package.json
index d583803..670b7b8 100644
--- a/packages/app-vue-components/package.json
+++ b/packages/app-vue-components/package.json
@@ -10,7 +10,7 @@
"main": "./src/index.ts",
"devDependencies": {
"@app/interfaces": "workspace:*",
- "@types/lodash": "^4.17.13",
+ "@types/lodash": "^4.17.20",
"@types/pluralize": "^0.0.33"
},
"peerDependencies": {
@@ -28,11 +28,11 @@
"yup": "^1.4.0"
},
"dependencies": {
- "@tiptap/extension-character-count": "^2.8.0",
- "@tiptap/extension-subscript": "^2.8.0",
- "@tiptap/extension-superscript": "^2.8.0",
- "@tiptap/extension-underline": "^2.8.0",
- "@vueuse/core": "^10.11.0"
+ "@tiptap/extension-character-count": "^3.6.6",
+ "@tiptap/extension-subscript": "^3.6.6",
+ "@tiptap/extension-superscript": "^3.6.6",
+ "@tiptap/extension-underline": "^3.6.6",
+ "@vueuse/core": "^13.9.0"
},
"bundledDependencies": [
"@app/interfaces"
diff --git a/packages/app-vue-components/src/components/ActiveUsers.vue b/packages/app-vue-components/src/components/ActiveUsers.vue
deleted file mode 100644
index f1af22a..0000000
--- a/packages/app-vue-components/src/components/ActiveUsers.vue
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
- {{ user.label }}
-
-
-
-
-
diff --git a/packages/app-vue-components/src/components/TailorTreeview/ItemGroup.vue b/packages/app-vue-components/src/components/TailorTreeview/ItemGroup.vue
deleted file mode 100644
index 3b79b07..0000000
--- a/packages/app-vue-components/src/components/TailorTreeview/ItemGroup.vue
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/app-vue-components/src/components/TailorTreeview/ListItem.vue b/packages/app-vue-components/src/components/TailorTreeview/ListItem.vue
deleted file mode 100644
index dd4f65e..0000000
--- a/packages/app-vue-components/src/components/TailorTreeview/ListItem.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
- {{ title }}
-
-
-
- mdi-page-next-outline
-
-
-
-
-
-
-
-
diff --git a/packages/app-vue-components/src/components/TailorTreeview/index.vue b/packages/app-vue-components/src/components/TailorTreeview/index.vue
deleted file mode 100644
index 518350a..0000000
--- a/packages/app-vue-components/src/components/TailorTreeview/index.vue
+++ /dev/null
@@ -1,125 +0,0 @@
-
-
-
- Toggle all
-
-
-
-
-
-
- No items found!
-
-
-
-
diff --git a/packages/app-vue-components/src/index.ts b/packages/app-vue-components/src/index.ts
index af036d0..77e99c4 100644
--- a/packages/app-vue-components/src/index.ts
+++ b/packages/app-vue-components/src/index.ts
@@ -1,7 +1,5 @@
export { default as CircularProgress } from './components/CircularProgress.vue';
-export { default as TailorTreeview } from './components/TailorTreeview/index.vue';
export { default as UserAvatar } from './components/UserAvatar.vue';
-export { default as ActiveUsers } from './components/ActiveUsers.vue';
export { useLoader } from './composables/useLoader';
export { useConfirmationDialog } from './composables/useConfirmationDialog';
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index fe5a4b2..11a8329 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9,14 +9,14 @@ importers:
.:
dependencies:
'@inquirer/select':
- specifier: ^2.4.7
- version: 2.4.7
+ specifier: ^4.3.4
+ version: 4.3.4(@types/node@24.7.2)
concurrently:
- specifier: ^9.1.0
- version: 9.1.0
+ specifier: ^9.2.1
+ version: 9.2.1
dotenv:
- specifier: ^16.4.5
- version: 16.4.5
+ specifier: ^17.2.3
+ version: 17.2.3
fkill:
specifier: ^9.0.0
version: 9.0.0
@@ -25,312 +25,288 @@ importers:
specifier: workspace:^
version: link:packages/app-seed
'@nuxt/eslint-config':
- specifier: ^0.6.1
- version: 0.6.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
+ specifier: ^1.9.0
+ version: 1.9.0(@typescript-eslint/utils@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
boxen:
specifier: ^8.0.1
version: 8.0.1
chalk:
- specifier: ^5.3.0
- version: 5.3.0
+ specifier: ^5.6.2
+ version: 5.6.2
dotenv-cli:
- specifier: ^7.4.2
- version: 7.4.2
+ specifier: ^10.0.0
+ version: 10.0.0
eslint:
- specifier: ^9.14.0
- version: 9.14.0(jiti@2.4.0)
+ specifier: ^9.37.0
+ version: 9.37.0(jiti@2.6.1)
execa:
- specifier: ^9.5.1
- version: 9.5.1
+ specifier: ^9.6.0
+ version: 9.6.0
inquirer:
- specifier: ^9.2.23
- version: 9.3.6
+ specifier: ^12.9.6
+ version: 12.9.6(@types/node@24.7.2)
lodash:
specifier: ^4.17.21
version: 4.17.21
+ massimo:
+ specifier: ^1.0.1
+ version: 1.0.1
+ massimo-cli:
+ specifier: ^1.0.1
+ version: 1.0.1
minimist:
specifier: ^1.2.8
version: 1.2.8
ora:
- specifier: ^8.1.1
- version: 8.1.1
+ specifier: ^9.0.0
+ version: 9.0.0
pg:
- specifier: ^8.13.1
- version: 8.13.1
+ specifier: ^8.16.3
+ version: 8.16.3
pid-port:
- specifier: ^1.0.0
- version: 1.0.0
+ specifier: ^2.0.0
+ version: 2.0.0
pkg-dir:
- specifier: ^8.0.0
- version: 8.0.0
+ specifier: ^9.0.0
+ version: 9.0.0
+ prettier:
+ specifier: ^3.6.2
+ version: 3.6.2
shelljs:
- specifier: ^0.8.5
- version: 0.8.5
+ specifier: ^0.10.0
+ version: 0.10.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.9.3
+ version: 5.9.3
vitepress:
- specifier: ^1.5.0
- version: 1.5.0(@algolia/client-search@4.24.0)(@types/node@22.9.0)(axios@1.7.7)(change-case@5.4.4)(postcss@8.4.47)(sass@1.79.5)(search-insights@2.17.0)(sortablejs@1.14.0)(terser@5.36.0)(typescript@5.6.3)
+ specifier: ^1.6.4
+ version: 1.6.4(@algolia/client-search@5.40.0)(@types/node@24.7.2)(axios@1.12.2)(change-case@5.4.4)(fuse.js@7.1.0)(postcss@8.5.6)(sass@1.93.2)(search-insights@2.17.3)(sortablejs@1.14.0)(terser@5.44.0)(typescript@5.9.3)
apps/backend:
dependencies:
'@app/config':
- specifier: workspace:*
+ specifier: workspace:^
version: link:../../packages/app-config
'@app/seed':
- specifier: workspace:*
+ specifier: workspace:^
version: link:../../packages/app-seed
- '@aws-sdk/client-s3':
- specifier: ^3.687.0
- version: 3.687.0
- '@aws-sdk/lib-storage':
- specifier: ^3.687.0
- version: 3.687.0(@aws-sdk/client-s3@3.687.0)
- '@aws-sdk/s3-request-presigner':
- specifier: ^3.687.0
- version: 3.687.0
- '@aws-sdk/util-format-url':
- specifier: ^3.686.0
- version: 3.686.0
- '@faker-js/faker':
- specifier: ^8.4.1
- version: 8.4.1
- '@keyv/redis':
- specifier: ^3.0.1
- version: 3.0.1
- '@paralleldrive/cuid2':
- specifier: ^2.2.2
- version: 2.2.2
- JSONStream:
- specifier: ^1.3.5
- version: 1.3.5
- auto-bind:
- specifier: ^5.0.1
- version: 5.0.1
- axios:
- specifier: ^1.7.7
- version: 1.7.7(debug@4.3.7)
+ '@mikro-orm/cli':
+ specifier: ^6.5.8
+ version: 6.5.8(libsql@0.5.22)(pg@8.16.3)
+ '@mikro-orm/core':
+ specifier: ^6.5.8
+ version: 6.5.8
+ '@mikro-orm/migrations':
+ specifier: ^6.5.8
+ version: 6.5.8(@mikro-orm/core@6.5.8)(@types/node@24.7.2)(libsql@0.5.22)(pg@8.16.3)
+ '@mikro-orm/nestjs':
+ specifier: ^6.1.1
+ version: 6.1.1(@mikro-orm/core@6.5.8)(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)
+ '@mikro-orm/postgresql':
+ specifier: ^6.5.8
+ version: 6.5.8(@mikro-orm/core@6.5.8)(libsql@0.5.22)
+ '@mikro-orm/reflection':
+ specifier: ^6.5.8
+ version: 6.5.8(@mikro-orm/core@6.5.8)
+ '@mikro-orm/seeder':
+ specifier: ^6.5.8
+ version: 6.5.8(@mikro-orm/core@6.5.8)
+ '@mikro-orm/sql-highlighter':
+ specifier: ^1.0.1
+ version: 1.0.1
+ '@nestjs/common':
+ specifier: ^11.1.6
+ version: 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/config':
+ specifier: ^4.0.2
+ version: 4.0.2(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(rxjs@7.8.2)
+ '@nestjs/core':
+ specifier: ^11.1.6
+ version: 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.6)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/jwt':
+ specifier: ^11.0.1
+ version: 11.0.1(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))
+ '@nestjs/passport':
+ specifier: ^11.0.5
+ version: 11.0.5(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(passport@0.7.0)
+ '@nestjs/platform-express':
+ specifier: ^11.1.6
+ version: 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)
+ '@nestjs/serve-static':
+ specifier: ^5.0.4
+ version: 5.0.4(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)(express@5.1.0)
+ '@nestjs/swagger':
+ specifier: ^11.2.0
+ version: 11.2.0(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)
+ '@nestjs/throttler':
+ specifier: ^6.4.0
+ version: 6.4.0(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)(reflect-metadata@0.2.2)
+ '@sentry/nestjs':
+ specifier: ^10.19.0
+ version: 10.19.0(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)
+ '@sentry/profiling-node':
+ specifier: ^10.19.0
+ version: 10.19.0
+ '@types/handlebars':
+ specifier: ^4.1.0
+ version: 4.1.0
bcrypt:
- specifier: ^5.1.1
- version: 5.1.1(encoding@0.1.13)
- bluebird:
- specifier: ^3.7.2
- version: 3.7.2
- body-parser:
- specifier: ^1.20.3
- version: 1.20.3
- boxen:
- specifier: ^7.1.1
- version: 7.1.1
- change-case:
- specifier: ^5.4.4
- version: 5.4.4
- cheerio:
- specifier: 1.0.0-rc.12
- version: 1.0.0-rc.12
- connect-history-api-fallback:
- specifier: ^2.0.0
- version: 2.0.0
- consolidate:
- specifier: ^1.0.4
- version: 1.0.4(@babel/core@7.26.0)(lodash@4.17.21)(mustache@4.2.0)
- cookie-parser:
- specifier: ^1.4.7
- version: 1.4.7
- cors:
- specifier: ^2.8.5
- version: 2.8.5
- date-fns:
- specifier: ^2.30.0
- version: 2.30.0
- dotenv:
- specifier: ^16.4.5
- version: 16.4.5
- emailjs:
- specifier: ^4.0.3
- version: 4.0.3(typescript@5.6.3)
- express:
- specifier: 5.0.0
- version: 5.0.0
- express-rate-limit:
- specifier: ^7.4.1
- version: 7.4.1(express@5.0.0)
- express-session:
- specifier: ^1.18.1
- version: 1.18.1
- fecha:
- specifier: ^4.2.3
- version: 4.2.3
- fs-blob-store:
specifier: ^6.0.0
version: 6.0.0
- gravatar:
+ casual:
+ specifier: ^1.6.2
+ version: 1.6.2
+ class-transformer:
+ specifier: ^0.5.1
+ version: 0.5.1
+ class-validator:
+ specifier: ^0.14.2
+ version: 0.14.2
+ common-tags:
specifier: ^1.8.2
version: 1.8.2
- hash-obj:
- specifier: ^4.0.0
- version: 4.0.0
- hashids:
- specifier: ^2.3.0
- version: 2.3.0
+ cookie-parser:
+ specifier: ^1.4.7
+ version: 1.4.7
+ handlebars:
+ specifier: ^4.7.8
+ version: 4.7.8
helmet:
- specifier: ^7.1.0
- version: 7.1.0
- html-to-text:
- specifier: ^9.0.5
- version: 9.0.5
- http-errors:
- specifier: ^2.0.0
- version: 2.0.0
- http-status-codes:
- specifier: ^2.3.0
- version: 2.3.0
- jsonwebtoken:
- specifier: ^9.0.2
- version: 9.0.2
- jszip:
- specifier: ^3.10.1
- version: 3.10.1
- keyv:
- specifier: ^5.1.3
- version: 5.1.3
- lodash:
- specifier: ^4.17.21
- version: 4.17.21
- luxon:
- specifier: ^3.5.0
- version: 3.5.0
- mime-types:
- specifier: ^2.1.35
- version: 2.1.35
- minimist:
- specifier: ^1.2.8
- version: 1.2.8
- mjml:
- specifier: ^4.15.3
- version: 4.15.3(encoding@0.1.13)
- mkdirp:
- specifier: ^3.0.1
- version: 3.0.1
+ specifier: ^8.1.0
+ version: 8.1.0
+ joi:
+ specifier: ^18.0.1
+ version: 18.0.1
+ ms:
+ specifier: ^2.1.3
+ version: 2.1.3
multer:
- specifier: ^1.4.5-lts.1
- version: 1.4.5-lts.1
- mustache:
- specifier: ^4.2.0
- version: 4.2.0
- openai:
- specifier: ^4.71.1
- version: 4.71.1(encoding@0.1.13)
- openid-client:
- specifier: ^5.7.0
- version: 5.7.0
+ specifier: ^2.0.2
+ version: 2.0.2
+ nestjs-pino:
+ specifier: ^4.4.1
+ version: 4.4.1(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(pino-http@10.5.0)(pino@9.13.1)(rxjs@7.8.2)
+ nodemailer:
+ specifier: ^7.0.9
+ version: 7.0.9
passport:
- specifier: ^0.6.0
- version: 0.6.0
+ specifier: ^0.7.0
+ version: 0.7.0
passport-jwt:
specifier: ^4.0.1
version: 4.0.1
passport-local:
specifier: ^1.0.0
version: 1.0.0
- path-exists:
- specifier: ^5.0.0
- version: 5.0.0
- pg:
- specifier: ^8.13.1
- version: 8.13.1
- pg-query-stream:
- specifier: ^4.7.1
- version: 4.7.1(pg@8.13.1)
- pino:
- specifier: ^9.5.0
- version: 9.5.0
- pino-http:
- specifier: ^10.3.0
- version: 10.3.0
pino-pretty:
- specifier: ^12.0.0
- version: 12.0.0
- pkg-dir:
- specifier: ^8.0.0
- version: 8.0.0
- promise-queue:
- specifier: ^2.2.5
- version: 2.2.5
- qs:
- specifier: ^6.13.0
- version: 6.13.0
- randomstring:
- specifier: ^1.3.0
- version: 1.3.0
- read-pkg-up:
- specifier: ^10.1.0
- version: 10.1.0
- safe-require:
- specifier: ^1.0.4
- version: 1.0.4
- semver:
- specifier: ^7.6.3
- version: 7.6.3
- sequelize:
- specifier: ^6.37.5
- version: 6.37.5(pg@8.13.1)
- sequelize-replace-enum-postgres:
- specifier: ^1.6.0
- version: 1.6.0
- simple-oauth2:
+ specifier: ^13.1.2
+ version: 13.1.2
+ reflect-metadata:
+ specifier: ^0.2.2
+ version: 0.2.2
+ rxjs:
+ specifier: ^7.8.2
+ version: 7.8.2
+ swagger-ui-express:
+ specifier: ^5.0.1
+ version: 5.0.1(express@5.1.0)
+ uuid:
+ specifier: ^13.0.0
+ version: 13.0.0
+ yn:
specifier: ^5.1.0
version: 5.1.0
- to-case:
+ devDependencies:
+ '@libsql/client':
+ specifier: ^0.15.15
+ version: 0.15.15
+ '@mikro-orm/libsql':
+ specifier: ^6.5.8
+ version: 6.5.8(@mikro-orm/core@6.5.8)(pg@8.16.3)
+ '@nestjs/cli':
+ specifier: ^11.0.10
+ version: 11.0.10(@types/node@24.7.2)
+ '@nestjs/schematics':
+ specifier: ^11.0.9
+ version: 11.0.9(chokidar@4.0.3)(typescript@5.9.3)
+ '@nestjs/testing':
+ specifier: ^11.1.6
+ version: 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)(@nestjs/platform-express@11.1.6)
+ '@types/bcrypt':
+ specifier: ^6.0.0
+ version: 6.0.0
+ '@types/cookie-parser':
+ specifier: ^1.4.9
+ version: 1.4.9(@types/express@5.0.3)
+ '@types/express':
+ specifier: ^5.0.3
+ version: 5.0.3
+ '@types/jest':
+ specifier: ^30.0.0
+ version: 30.0.0
+ '@types/jsonwebtoken':
+ specifier: ^9.0.10
+ version: 9.0.10
+ '@types/multer':
specifier: ^2.0.0
version: 2.0.0
- untildify:
- specifier: ^5.0.0
- version: 5.0.0
- url-join:
- specifier: ^5.0.0
- version: 5.0.0
- url-parse:
- specifier: ^1.5.10
- version: 1.5.10
- uuid:
+ '@types/node':
+ specifier: ^24.7.2
+ version: 24.7.2
+ '@types/nodemailer':
+ specifier: ^7.0.2
+ version: 7.0.2
+ '@types/passport-jwt':
+ specifier: ^4.0.1
+ version: 4.0.1
+ '@types/passport-local':
+ specifier: ^1.0.38
+ version: 1.0.38
+ '@types/set-cookie-parser':
+ specifier: ^2.4.10
+ version: 2.4.10
+ '@types/supertest':
+ specifier: ^6.0.3
+ version: 6.0.3
+ '@types/uuid':
+ specifier: ^11.0.0
+ version: 11.0.0
+ dotenv-cli:
specifier: ^10.0.0
version: 10.0.0
- yn:
- specifier: ^5.0.0
- version: 5.0.0
- yup:
- specifier: ^1.4.0
- version: 1.4.0
- devDependencies:
- '@types/bluebird':
- specifier: ^3.5.42
- version: 3.5.42
- '@types/express':
- specifier: ^5.0.0
- version: 5.0.0
- dargs:
- specifier: ^8.1.0
- version: 8.1.0
- del-cli:
- specifier: ^5.1.0
- version: 5.1.0
- dotenv-cli:
- specifier: ^7.4.2
- version: 7.4.2
- nodemon:
- specifier: ^3.1.7
- version: 3.1.7
- sequelize-cli:
- specifier: ^6.6.2
- version: 6.6.2
- terser:
- specifier: ^5.36.0
- version: 5.36.0
- umzug:
- specifier: ^3.8.2
- version: 3.8.2(@types/node@22.9.0)
+ jest:
+ specifier: ^30.2.0
+ version: 30.2.0(@types/node@24.7.2)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))
+ jsonwebtoken:
+ specifier: ^9.0.2
+ version: 9.0.2
+ prettier:
+ specifier: ^3.6.2
+ version: 3.6.2
+ set-cookie-parser:
+ specifier: ^2.7.1
+ version: 2.7.1
+ source-map-support:
+ specifier: ^0.5.21
+ version: 0.5.21
+ supertest:
+ specifier: ^7.1.4
+ version: 7.1.4
+ ts-jest:
+ specifier: ^29.4.5
+ version: 29.4.5(@babel/core@7.28.4)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.4))(jest-util@30.2.0)(jest@30.2.0(@types/node@24.7.2)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3)))(typescript@5.9.3)
+ ts-loader:
+ specifier: ^9.5.4
+ version: 9.5.4(typescript@5.9.3)(webpack@5.100.2)
+ ts-node:
+ specifier: ^10.9.2
+ version: 10.9.2(@types/node@24.7.2)(typescript@5.9.3)
+ tsconfig-paths:
+ specifier: ^4.2.0
+ version: 4.2.0
+ typescript:
+ specifier: ^5.9.3
+ version: 5.9.3
apps/frontend:
dependencies:
@@ -344,20 +320,23 @@ importers:
specifier: ^2.2.2
version: 2.2.2
'@pinia/nuxt':
- specifier: ^0.5.1
- version: 0.5.5(magicast@0.3.5)(rollup@4.24.4)(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)
+ specifier: ^0.11.2
+ version: 0.11.2(magicast@0.3.5)(pinia@3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)))
'@vee-validate/i18n':
- specifier: ^4.14.6
- version: 4.14.6
+ specifier: ^4.15.1
+ version: 4.15.1
'@vee-validate/rules':
- specifier: ^4.14.6
- version: 4.14.6(vue@3.5.12(typescript@5.6.3))
+ specifier: ^4.15.1
+ version: 4.15.1(vue@3.5.22(typescript@5.9.3))
'@vueuse/core':
- specifier: ^10.11.0
- version: 10.11.1(vue@3.5.12(typescript@5.6.3))
+ specifier: ^13.9.0
+ version: 13.9.0(vue@3.5.22(typescript@5.9.3))
+ app-api-client:
+ specifier: workspace:*
+ version: link:../../packages/app-api-client
axios:
- specifier: ^1.7.7
- version: 1.7.7(debug@4.3.7)
+ specifier: ^1.12.2
+ version: 1.12.2(debug@4.4.3)
bluebird:
specifier: ^3.7.2
version: 3.7.2
@@ -365,11 +344,11 @@ importers:
specifier: ^1.2.1
version: 1.2.1
date-fns:
- specifier: ^3.6.0
- version: 3.6.0
+ specifier: ^4.1.0
+ version: 4.1.0
debug:
- specifier: ^4.3.7
- version: 4.3.7(supports-color@9.4.0)
+ specifier: ^4.4.3
+ version: 4.4.3
fecha:
specifier: ^4.2.3
version: 4.2.3
@@ -377,8 +356,8 @@ importers:
specifier: ^2.3.0
version: 2.3.0
humanize-string:
- specifier: ^3.0.0
- version: 3.0.0
+ specifier: ^3.1.0
+ version: 3.1.0
lodash:
specifier: ^4.17.21
version: 4.17.21
@@ -386,11 +365,11 @@ importers:
specifier: ^3.0.1
version: 3.0.1
p-min-delay:
- specifier: ^4.0.2
- version: 4.0.2
+ specifier: ^4.2.0
+ version: 4.2.0
pinia:
- specifier: ^2.2.6
- version: 2.2.6(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))
+ specifier: ^3.0.3
+ version: 3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))
pluralize:
specifier: ^8.0.0
version: 8.0.0
@@ -405,32 +384,32 @@ importers:
version: 5.0.0
v-clipboard:
specifier: 3.0.0-next.1
- version: 3.0.0-next.1(typescript@5.6.3)
+ version: 3.0.0-next.1(typescript@5.9.3)
vee-validate:
- specifier: 4.14.6
- version: 4.14.6(vue@3.5.12(typescript@5.6.3))
+ specifier: 4.15.1
+ version: 4.15.1(vue@3.5.22(typescript@5.9.3))
vue3-tree-vue:
- specifier: ^2.0.11
- version: 2.0.11(vue@3.5.12(typescript@5.6.3))
+ specifier: ^2.0.15
+ version: 2.0.15(vue@3.5.22(typescript@5.9.3))
vuedraggable:
specifier: 4.1.0
- version: 4.1.0(vue@3.5.12(typescript@5.6.3))
+ version: 4.1.0(vue@3.5.22(typescript@5.9.3))
vuetify:
- specifier: 3.7.4
- version: 3.7.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))
+ specifier: 3.10.5
+ version: 3.10.5(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))
yup:
- specifier: ^1.4.0
- version: 1.4.0
+ specifier: ^1.7.1
+ version: 1.7.1
devDependencies:
'@app/interfaces':
specifier: workspace:*
version: link:../../packages/app-interfaces
'@nuxt/devtools':
specifier: latest
- version: 1.3.14(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(webpack-sources@3.2.3)
+ version: 2.6.5(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))
'@nuxtjs/google-fonts':
specifier: ^3.2.0
- version: 3.2.0(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
+ version: 3.2.0(magicast@0.3.5)
'@types/bluebird':
specifier: ^3.5.42
version: 3.5.42
@@ -438,8 +417,8 @@ importers:
specifier: ^4.1.12
version: 4.1.12
'@types/lodash':
- specifier: ^4.17.13
- version: 4.17.13
+ specifier: ^4.17.20
+ version: 4.17.20
'@types/pluralize':
specifier: ^0.0.33
version: 0.0.33
@@ -447,42 +426,62 @@ importers:
specifier: ^2.2.3
version: 2.2.3
'@typescript-eslint/parser':
- specifier: ^6.9.0
- version: 6.21.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
+ specifier: ^8.46.0
+ version: 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
autoprefixer:
- specifier: ^10.4.20
- version: 10.4.20(postcss@8.4.47)
+ specifier: ^10.4.21
+ version: 10.4.21(postcss@8.5.6)
nuxt:
- specifier: 3.13.0
- version: 3.13.0(@parcel/watcher@2.4.1)(@types/node@22.9.0)(encoding@0.1.13)(eslint@9.14.0(jiti@2.4.0))(ioredis@5.4.1)(magicast@0.3.5)(meow@10.1.5)(optionator@0.9.4)(rollup@4.24.4)(sass@1.79.5)(terser@5.36.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue-tsc@2.1.6(typescript@5.6.3))(webpack-sources@3.2.3)(xml2js@0.6.2)
+ specifier: 4.1.2
+ version: 4.1.2(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.22)(db0@0.3.4(@libsql/client@0.15.15))(encoding@0.1.13)(eslint@9.37.0(jiti@2.6.1))(ioredis@5.8.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.4)(sass@1.93.2)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1)
sass:
- specifier: ^1.79.5
- version: 1.79.5
+ specifier: ^1.93.2
+ version: 1.93.2
vue:
- specifier: ^3.5.12
- version: 3.5.12(typescript@5.6.3)
+ specifier: ^3.5.22
+ version: 3.5.22(typescript@5.9.3)
vue-router:
- specifier: ^4.4.5
- version: 4.4.5(vue@3.5.12(typescript@5.6.3))
+ specifier: ^4.5.1
+ version: 4.5.1(vue@3.5.22(typescript@5.9.3))
infrastructure:
dependencies:
'@pulumi/aws':
- specifier: ^6.58.0
- version: 6.58.0(typescript@5.6.3)
+ specifier: ^7.8.0
+ version: 7.8.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
'@pulumi/awsx':
- specifier: ^2.17.0
- version: 2.17.0(typescript@5.6.3)
+ specifier: ^3.0.0
+ version: 3.0.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
'@pulumi/pulumi':
- specifier: ^3.138.0
- version: 3.138.0(typescript@5.6.3)
+ specifier: ^3.202.0
+ version: 3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
'@studion/infra-code-blocks':
- specifier: ^0.6.11
- version: 0.6.11(typescript@5.6.3)
+ specifier: ^0.7.0
+ version: 0.7.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
devDependencies:
'@types/node':
- specifier: ^22
- version: 22.5.0
+ specifier: ^24
+ version: 24.7.2
+
+ packages/api-client-generator:
+ dependencies:
+ chokidar:
+ specifier: ^4.0.3
+ version: 4.0.3
+ common-tags:
+ specifier: ^1.8.2
+ version: 1.8.2
+ lodash:
+ specifier: ^4.17.21
+ version: 4.17.21
+ minimist:
+ specifier: ^1.2.8
+ version: 1.2.8
+ package-up:
+ specifier: ^5.0.0
+ version: 5.0.0
+
+ packages/app-api-client: {}
packages/app-config:
dependencies:
@@ -494,8 +493,8 @@ importers:
version: 1.5.10
devDependencies:
rollup:
- specifier: ^4.24.4
- version: 4.24.4
+ specifier: ^4.52.4
+ version: 4.52.4
packages/app-interfaces: {}
@@ -504,29 +503,29 @@ importers:
packages/app-vue-components:
dependencies:
'@tiptap/extension-character-count':
- specifier: ^2.8.0
- version: 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)
+ specifier: ^3.6.6
+ version: 3.6.6(@tiptap/extensions@3.6.6(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3))
'@tiptap/extension-subscript':
- specifier: ^2.8.0
- version: 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
+ specifier: ^3.6.6
+ version: 3.6.6(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)
'@tiptap/extension-superscript':
- specifier: ^2.8.0
- version: 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
+ specifier: ^3.6.6
+ version: 3.6.6(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)
'@tiptap/extension-underline':
- specifier: ^2.8.0
- version: 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
+ specifier: ^3.6.6
+ version: 3.6.6(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
'@tiptap/pm':
specifier: ^2.4.0
- version: 2.9.1
+ version: 2.26.3
'@tiptap/starter-kit':
specifier: ^2.4.0
- version: 2.9.1
+ version: 2.26.3
'@tiptap/vue-3':
specifier: ^2.4.0
- version: 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)(vue@3.5.12(typescript@5.6.3))
+ version: 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)(vue@3.5.22(typescript@5.9.3))
'@vueuse/core':
- specifier: ^10.11.0
- version: 10.11.1(vue@3.5.12(typescript@5.6.3))
+ specifier: ^13.9.0
+ version: 13.9.0(vue@3.5.22(typescript@5.9.3))
date-fns:
specifier: ^3.6.0
version: 3.6.0
@@ -535,32 +534,32 @@ importers:
version: 4.17.21
p-min-delay:
specifier: ^4.0.2
- version: 4.0.2
+ version: 4.2.0
pluralize:
specifier: ^8.0.0
version: 8.0.0
vee-validate:
specifier: ^4.13.2
- version: 4.13.2(vue@3.5.12(typescript@5.6.3))
+ version: 4.15.1(vue@3.5.22(typescript@5.9.3))
vue:
specifier: ^3.3.4
- version: 3.5.12(typescript@5.6.3)
+ version: 3.5.22(typescript@5.9.3)
vuedraggable:
specifier: ^4.1.0
- version: 4.1.0(vue@3.5.12(typescript@5.6.3))
+ version: 4.1.0(vue@3.5.22(typescript@5.9.3))
vuetify:
specifier: 3.7.0
- version: 3.7.0(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))
+ version: 3.7.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))
yup:
specifier: ^1.4.0
- version: 1.4.0
+ version: 1.7.1
devDependencies:
'@app/interfaces':
specifier: workspace:*
version: link:../app-interfaces
'@types/lodash':
- specifier: ^4.17.13
- version: 4.17.13
+ specifier: ^4.17.20
+ version: 4.17.20
'@types/pluralize':
specifier: ^0.0.33
version: 0.0.33
@@ -571,123 +570,170 @@ importers:
specifier: workspace:^
version: link:../packages/app-seed
'@faker-js/faker':
- specifier: ^8.4.1
- version: 8.4.1
+ specifier: ^10.0.0
+ version: 10.0.0
date-fns:
- specifier: ^3.6.0
- version: 3.6.0
+ specifier: ^4.1.0
+ version: 4.1.0
dotenv:
- specifier: ^16.4.5
- version: 16.4.5
+ specifier: ^17.2.3
+ version: 17.2.3
jsdom:
- specifier: ^24.1.0
- version: 24.1.3
+ specifier: ^27.0.0
+ version: 27.0.0(postcss@8.5.6)
lodash:
specifier: ^4.17.21
version: 4.17.21
mailtrap:
- specifier: ^3.4.0
- version: 3.4.0
+ specifier: ^4.3.0
+ version: 4.3.0
devDependencies:
'@axe-core/playwright':
- specifier: 4.10.0
- version: 4.10.0(playwright-core@1.46.1)
+ specifier: 4.10.2
+ version: 4.10.2(playwright-core@1.56.0)
'@percy/cli':
- specifier: ^1.30.1
- version: 1.30.1(typescript@5.6.3)
+ specifier: ^1.31.3
+ version: 1.31.3(typescript@5.9.3)
'@percy/playwright':
- specifier: ^1.0.6
- version: 1.0.6(playwright-core@1.46.1)
+ specifier: ^1.0.9
+ version: 1.0.9(playwright-core@1.56.0)
'@playwright/test':
- specifier: 1.46.1
- version: 1.46.1
+ specifier: 1.56.0
+ version: 1.56.0
'@types/node':
- specifier: ^22.9.0
- version: 22.9.0
+ specifier: ^24.7.2
+ version: 24.7.2
packages:
- '@algolia/autocomplete-core@1.9.3':
- resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==}
+ '@algolia/abtesting@1.6.0':
+ resolution: {integrity: sha512-c4M/Z/KWkEG+RHpZsWKDTTlApXu3fe4vlABNcpankWBhdMe4oPZ/r4JxEr2zKUP6K+BT66tnp8UbHmgOd/vvqQ==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/autocomplete-plugin-algolia-insights@1.9.3':
- resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==}
+ '@algolia/autocomplete-core@1.17.7':
+ resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==}
+
+ '@algolia/autocomplete-plugin-algolia-insights@1.17.7':
+ resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==}
peerDependencies:
search-insights: '>= 1 < 3'
- '@algolia/autocomplete-preset-algolia@1.9.3':
- resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==}
+ '@algolia/autocomplete-preset-algolia@1.17.7':
+ resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==}
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
- '@algolia/autocomplete-shared@1.9.3':
- resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==}
+ '@algolia/autocomplete-shared@1.17.7':
+ resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==}
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
- '@algolia/cache-browser-local-storage@4.24.0':
- resolution: {integrity: sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==}
+ '@algolia/client-abtesting@5.40.0':
+ resolution: {integrity: sha512-qegVlgHtmiS8m9nEsuKUVhlw1FHsIshtt5nhNnA6EYz3g+tm9+xkVZZMzkrMLPP7kpoheHJZAwz2MYnHtwFa9A==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/cache-common@4.24.0':
- resolution: {integrity: sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==}
+ '@algolia/client-analytics@5.40.0':
+ resolution: {integrity: sha512-Dw2c+6KGkw7mucnnxPyyMsIGEY8+hqv6oB+viYB612OMM3l8aNaWToBZMnNvXsyP+fArwq7XGR+k3boPZyV53A==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/cache-in-memory@4.24.0':
- resolution: {integrity: sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==}
+ '@algolia/client-common@5.40.0':
+ resolution: {integrity: sha512-dbE4+MJIDsTghG3hUYWBq7THhaAmqNqvW9g2vzwPf5edU4IRmuYpKtY3MMotes8/wdTasWG07XoaVhplJBlvdg==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/client-account@4.24.0':
- resolution: {integrity: sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==}
+ '@algolia/client-insights@5.40.0':
+ resolution: {integrity: sha512-SH6zlROyGUCDDWg71DlCnbbZ/zEHYPZC8k901EAaBVhvY43Ju8Wa6LAcMPC4tahcDBgkG2poBy8nJZXvwEWAlQ==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/client-analytics@4.24.0':
- resolution: {integrity: sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==}
+ '@algolia/client-personalization@5.40.0':
+ resolution: {integrity: sha512-EgHjJEEf7CbUL9gJHI1ULmAtAFeym2cFNSAi1uwHelWgLPcnLjYW2opruPxigOV7NcetkGu+t2pcWOWmZFuvKQ==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/client-common@4.24.0':
- resolution: {integrity: sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==}
+ '@algolia/client-query-suggestions@5.40.0':
+ resolution: {integrity: sha512-HvE1jtCag95DR41tDh7cGwrMk4X0aQXPOBIhZRmsBPolMeqRJz0kvfVw8VCKvA1uuoAkjFfTG0X0IZED+rKXoA==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/client-personalization@4.24.0':
- resolution: {integrity: sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==}
+ '@algolia/client-search@5.40.0':
+ resolution: {integrity: sha512-nlr/MMgoLNUHcfWC5Ns2ENrzKx9x51orPc6wJ8Ignv1DsrUmKm0LUih+Tj3J+kxYofzqQIQRU495d4xn3ozMbg==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/client-search@4.24.0':
- resolution: {integrity: sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==}
+ '@algolia/ingestion@1.40.0':
+ resolution: {integrity: sha512-OfHnhE+P0f+p3i90Kmshf9Epgesw5oPV1IEUOY4Mq1HV7cQk16gvklVN1EaY/T9sVavl+Vc3g4ojlfpIwZFA4g==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/logger-common@4.24.0':
- resolution: {integrity: sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==}
+ '@algolia/monitoring@1.40.0':
+ resolution: {integrity: sha512-SWANV32PTKhBYvwKozeWP9HOnVabOixAuPdFFGoqtysTkkwutrtGI/rrh80tvG+BnQAmZX0vUmD/RqFZVfr/Yg==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/logger-console@4.24.0':
- resolution: {integrity: sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==}
+ '@algolia/recommend@5.40.0':
+ resolution: {integrity: sha512-1Qxy9I5bSb3mrhPk809DllMa561zl5hLsMR6YhIqNkqQ0OyXXQokvJ2zApSxvd39veRZZnhN+oGe+XNoNwLgkw==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/recommend@4.24.0':
- resolution: {integrity: sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==}
+ '@algolia/requester-browser-xhr@5.40.0':
+ resolution: {integrity: sha512-MGt94rdHfkrVjfN/KwUfWcnaeohYbWGINrPs96f5J7ZyRYpVLF+VtPQ2FmcddFvK4gnKXSu8BAi81hiIhUpm3w==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/requester-browser-xhr@4.24.0':
- resolution: {integrity: sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==}
+ '@algolia/requester-fetch@5.40.0':
+ resolution: {integrity: sha512-wXQ05JZZ10Dr642QVAkAZ4ZZlU+lh5r6dIBGmm9WElz+1EaQ6BNYtEOTV6pkXuFYsZpeJA89JpDOiwBOP9j24w==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/requester-common@4.24.0':
- resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==}
+ '@algolia/requester-node-http@5.40.0':
+ resolution: {integrity: sha512-5qCRoySnzpbQVg2IPLGFCm4LF75pToxI5tdjOYgUMNL/um91aJ4dH3SVdBEuFlVsalxl8mh3bWPgkUmv6NpJiQ==}
+ engines: {node: '>= 14.0.0'}
- '@algolia/requester-node-http@4.24.0':
- resolution: {integrity: sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==}
+ '@angular-devkit/core@19.2.15':
+ resolution: {integrity: sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==}
+ engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+ peerDependencies:
+ chokidar: ^4.0.0
+ peerDependenciesMeta:
+ chokidar:
+ optional: true
- '@algolia/transporter@4.24.0':
- resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==}
+ '@angular-devkit/core@19.2.17':
+ resolution: {integrity: sha512-Ah008x2RJkd0F+NLKqIpA34/vUGwjlprRCkvddjDopAWRzYn6xCkz1Tqwuhn0nR1Dy47wTLKYD999TYl5ONOAQ==}
+ engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+ peerDependencies:
+ chokidar: ^4.0.0
+ peerDependenciesMeta:
+ chokidar:
+ optional: true
- '@ampproject/remapping@2.3.0':
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
+ '@angular-devkit/schematics-cli@19.2.15':
+ resolution: {integrity: sha512-1ESFmFGMpGQmalDB3t2EtmWDGv6gOFYBMxmHO2f1KI/UDl8UmZnCGL4mD3EWo8Hv0YIsZ9wOH9Q7ZHNYjeSpzg==}
+ engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+ hasBin: true
- '@antfu/utils@0.7.10':
- resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==}
+ '@angular-devkit/schematics@19.2.15':
+ resolution: {integrity: sha512-kNOJ+3vekJJCQKWihNmxBkarJzNW09kP5a9E1SRNiQVNOUEeSwcRR0qYotM65nx821gNzjjhJXnAZ8OazWldrg==}
+ engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
- '@aws-crypto/crc32@5.2.0':
- resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==}
- engines: {node: '>=16.0.0'}
+ '@angular-devkit/schematics@19.2.17':
+ resolution: {integrity: sha512-ADfbaBsrG8mBF6Mfs+crKA/2ykB8AJI50Cv9tKmZfwcUcyAdmTr+vVvhsBCfvUAEokigSsgqgpYxfkJVxhJYeg==}
+ engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+
+ '@antfu/install-pkg@1.1.0':
+ resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
+
+ '@apidevtools/json-schema-ref-parser@11.9.3':
+ resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==}
+ engines: {node: '>= 16'}
+
+ '@apm-js-collab/code-transformer@0.8.2':
+ resolution: {integrity: sha512-YRjJjNq5KFSjDUoqu5pFUWrrsvGOxl6c3bu+uMFc9HNNptZ2rNU/TI2nLw4jnhQNtka972Ee2m3uqbvDQtPeCA==}
+
+ '@apm-js-collab/tracing-hooks@0.3.1':
+ resolution: {integrity: sha512-Vu1CbmPURlN5fTboVuKMoJjbO5qcq9fA5YXpskx3dXe/zTBvjODFoerw+69rVBlRLrJpwPqSDqEuJDEKIrTldw==}
+
+ '@asamuzakjp/css-color@4.0.5':
+ resolution: {integrity: sha512-lMrXidNhPGsDjytDy11Vwlb6OIGrT3CmLg3VWNFyWkLWtijKl7xjvForlh8vuj0SHGjgl4qZEQzUmYTeQA2JFQ==}
- '@aws-crypto/crc32c@5.2.0':
- resolution: {integrity: sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==}
+ '@asamuzakjp/dom-selector@6.6.2':
+ resolution: {integrity: sha512-+AG0jN9HTwfDLBhjhX1FKi6zlIAc/YGgEHlN/OMaHD1pOPFsC5CpYQpLkPX0aFjyaVmoq9330cQDCU4qnSL1qA==}
- '@aws-crypto/sha1-browser@5.2.0':
- resolution: {integrity: sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==}
+ '@asamuzakjp/nwsapi@2.3.9':
+ resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
'@aws-crypto/sha256-browser@5.2.0':
resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==}
@@ -702,500 +748,389 @@ packages:
'@aws-crypto/util@5.2.0':
resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==}
- '@aws-sdk/client-ecs@3.637.0':
- resolution: {integrity: sha512-/PcQKx4kBoWBpSu+10HXfU4LtUjTq92mCcJXYhjtlI8sQwkA1zvPThW0bjLJ34mIXhxvHSnUXG1NrjNZQ9ps4g==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/client-ecs@3.908.0':
+ resolution: {integrity: sha512-HVgwoj/+VhM/7DWv7UgoKWP+AmtxCm1Tnc964+rCECzuSCcC3cYXOf0LZJLmaUxCQHLEzNuANsAMyl9jCzXenw==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/client-s3@3.687.0':
- resolution: {integrity: sha512-2IoaVAd7HCIDhfeTTrk8CAosEVqnQig47Tra2uOBEyzpcCFQLmcY57/sbHCpJ3ntnU8see53q0bQ+fdew4MGLA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/client-sesv2@3.908.0':
+ resolution: {integrity: sha512-UfY1u1/dO0T1rmpCb7yzpoO5RZ4tQt+n1H0aLWG/QTQJR5rNraa3A2E1rqdMQKLEUaKoaOHUKdfriHsdkTyRYA==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/client-sso-oidc@3.637.0':
- resolution: {integrity: sha512-27bHALN6Qb6m6KZmPvRieJ/QRlj1lyac/GT2Rn5kJpre8Mpp+yxrtvp3h9PjNBty4lCeFEENfY4dGNSozBuBcw==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.637.0
+ '@aws-sdk/client-sso@3.908.0':
+ resolution: {integrity: sha512-PseFMWvtac+Q+zaY9DMISE+2+glNh0ROJ1yR4gMzeafNHSwkdYu4qcgxLWIOnIodGydBv/tQ6nzHPzExXnUUgw==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/client-sso-oidc@3.687.0':
- resolution: {integrity: sha512-Rdd8kLeTeh+L5ZuG4WQnWgYgdv7NorytKdZsGjiag1D8Wv3PcJvPqqWdgnI0Og717BSXVoaTYaN34FyqFYSx6Q==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.687.0
+ '@aws-sdk/core@3.908.0':
+ resolution: {integrity: sha512-okl6FC2cQT1Oidvmnmvyp/IEvqENBagKO0ww4YV5UtBkf0VlhAymCWkZqhovtklsqgq0otag2VRPAgnrMt6nVQ==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/client-sso@3.637.0':
- resolution: {integrity: sha512-+KjLvgX5yJYROWo3TQuwBJlHCY0zz9PsLuEolmXQn0BVK1L/m9GteZHtd+rEdAoDGBpE0Xqjy1oz5+SmtsaRUw==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-env@3.908.0':
+ resolution: {integrity: sha512-FK2YuxoI5CxUflPOIMbVAwDbi6Xvu+2sXopXLmrHc2PfI39M3vmjEoQwYCP8WuQSRb+TbAP3xAkxHjFSBFR35w==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/client-sso@3.687.0':
- resolution: {integrity: sha512-dfj0y9fQyX4kFill/ZG0BqBTLQILKlL7+O5M4F9xlsh2WNuV2St6WtcOg14Y1j5UODPJiJs//pO+mD1lihT5Kw==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-http@3.908.0':
+ resolution: {integrity: sha512-eLbz0geVW9EykujQNnYfR35Of8MreI6pau5K6XDFDUSWO9GF8wqH7CQwbXpXHBlCTHtq4QSLxzorD8U5CROhUw==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/client-sts@3.637.0':
- resolution: {integrity: sha512-xUi7x4qDubtA8QREtlblPuAcn91GS/09YVEY/RwU7xCY0aqGuFwgszAANlha4OUIqva8oVj2WO4gJuG+iaSnhw==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-ini@3.908.0':
+ resolution: {integrity: sha512-7Cgnv5wabgFtsgr+Uc/76EfPNGyxmbG8aICn3g3D3iJlcO4uuOZI8a77i0afoDdchZrTC6TG6UusS/NAW6zEoQ==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/client-sts@3.687.0':
- resolution: {integrity: sha512-SQjDH8O4XCTtouuCVYggB0cCCrIaTzUZIkgJUpOsIEJBLlTbNOb/BZqUShAQw2o9vxr2rCeOGjAQOYPysW/Pmg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-node@3.908.0':
+ resolution: {integrity: sha512-8OKbykpGw5bdfF/pLTf8YfUi1Kl8o1CTjBqWQTsLOkE3Ho3hsp1eQx8Cz4ttrpv0919kb+lox62DgmAOEmTr1w==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/core@3.635.0':
- resolution: {integrity: sha512-i1x/E/sgA+liUE1XJ7rj1dhyXpAKO1UKFUcTTHXok2ARjWTvszHnSXMOsB77aPbmn0fUp1JTx2kHUAZ1LVt5Bg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-process@3.908.0':
+ resolution: {integrity: sha512-sWnbkGjDPBi6sODUzrAh5BCDpnPw0wpK8UC/hWI13Q8KGfyatAmCBfr+9OeO3+xBHa8N5AskMncr7C4qS846yQ==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/core@3.686.0':
- resolution: {integrity: sha512-Xt3DV4DnAT3v2WURwzTxWQK34Ew+iiLzoUoguvLaZrVMFOqMMrwVjP+sizqIaHp1j7rGmFcN5I8saXnsDLuQLA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-sso@3.908.0':
+ resolution: {integrity: sha512-WV/aOzuS6ZZhrkPty6TJ3ZG24iS8NXP0m3GuTVuZ5tKi9Guss31/PJ1CrKPRCYGm15CsIjf+mrUxVnNYv9ap5g==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-env@3.620.1':
- resolution: {integrity: sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-web-identity@3.908.0':
+ resolution: {integrity: sha512-9xWrFn6nWlF5KlV4XYW+7E6F33S3wUUEGRZ/+pgDhkIZd527ycT2nPG2dZ3fWUZMlRmzijP20QIJDqEbbGWe1Q==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-env@3.686.0':
- resolution: {integrity: sha512-osD7lPO8OREkgxPiTWmA1i6XEmOth1uW9HWWj/+A2YGCj1G/t2sHu931w4Qj9NWHYZtbTTXQYVRg+TErALV7nQ==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/middleware-host-header@3.901.0':
+ resolution: {integrity: sha512-yWX7GvRmqBtbNnUW7qbre3GvZmyYwU0WHefpZzDTYDoNgatuYq6LgUIQ+z5C04/kCRoFkAFrHag8a3BXqFzq5A==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-http@3.635.0':
- resolution: {integrity: sha512-iJyRgEjOCQlBMXqtwPLIKYc7Bsc6nqjrZybdMDenPDa+kmLg7xh8LxHsu9088e+2/wtLicE34FsJJIfzu3L82g==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/middleware-logger@3.901.0':
+ resolution: {integrity: sha512-UoHebjE7el/tfRo8/CQTj91oNUm+5Heus5/a4ECdmWaSCHCS/hXTsU3PTTHAY67oAQR8wBLFPfp3mMvXjB+L2A==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-http@3.686.0':
- resolution: {integrity: sha512-xyGAD/f3vR/wssUiZrNFWQWXZvI4zRm2wpHhoHA1cC2fbRMNFYtFn365yw6dU7l00ZLcdFB1H119AYIUZS7xbw==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/middleware-recursion-detection@3.901.0':
+ resolution: {integrity: sha512-Wd2t8qa/4OL0v/oDpCHHYkgsXJr8/ttCxrvCKAt0H1zZe2LlRhY9gpDVKqdertfHrHDj786fOvEQA28G1L75Dg==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-ini@3.637.0':
- resolution: {integrity: sha512-h+PFCWfZ0Q3Dx84SppET/TFpcQHmxFW8/oV9ArEvMilw4EBN+IlxgbL0CnHwjHW64szcmrM0mbebjEfHf4FXmw==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.637.0
+ '@aws-sdk/middleware-sdk-s3@3.908.0':
+ resolution: {integrity: sha512-23MbAOHsGaD0kTVMVLumaIM1f9vtDImIn2lSvPullbjFHKS4XxfrKuPumtKDzl8gzcux+98XnmfDRKH0fzkOUA==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-ini@3.687.0':
- resolution: {integrity: sha512-6d5ZJeZch+ZosJccksN0PuXv7OSnYEmanGCnbhUqmUSz9uaVX6knZZfHCZJRgNcfSqg9QC0zsFA/51W5HCUqSQ==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.687.0
+ '@aws-sdk/middleware-user-agent@3.908.0':
+ resolution: {integrity: sha512-R0ePEOku72EvyJWy/D0Z5f/Ifpfxa0U9gySO3stpNhOox87XhsILpcIsCHPy0OHz1a7cMoZsF6rMKSzDeCnogQ==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-node@3.637.0':
- resolution: {integrity: sha512-yoEhoxJJfs7sPVQ6Is939BDQJZpZCoUgKr/ySse4YKOZ24t4VqgHA6+wV7rYh+7IW24Rd91UTvEzSuHYTlxlNA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/nested-clients@3.908.0':
+ resolution: {integrity: sha512-ZxDYrfxOKXNFHLyvJtT96TJ0p4brZOhwRE4csRXrezEVUN+pNgxuem95YvMALPVhlVqON2CTzr8BX+CcBKvX9Q==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-node@3.687.0':
- resolution: {integrity: sha512-Pqld8Nx11NYaBUrVk3bYiGGpLCxkz8iTONlpQWoVWFhSOzlO7zloNOaYbD2XgFjjqhjlKzE91drs/f41uGeCTA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/region-config-resolver@3.901.0':
+ resolution: {integrity: sha512-7F0N888qVLHo4CSQOsnkZ4QAp8uHLKJ4v3u09Ly5k4AEStrSlFpckTPyUx6elwGL+fxGjNE2aakK8vEgzzCV0A==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-process@3.620.1':
- resolution: {integrity: sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/signature-v4-multi-region@3.908.0':
+ resolution: {integrity: sha512-8OodflIzZM2GVuCGiGK6hqwsbfHRDl4kQcEYzHRg9p91H4h5Y876DPvLRkwM7pSC7LKUL0XkKWWVVjwJbp6/Ig==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-process@3.686.0':
- resolution: {integrity: sha512-sXqaAgyzMOc+dm4CnzAR5Q6S9OWVHyZjLfW6IQkmGjqeQXmZl24c4E82+w64C+CTkJrFLzH1VNOYp1Hy5gE6Qw==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/token-providers@3.908.0':
+ resolution: {integrity: sha512-4SosHWRQ8hj1X2yDenCYHParcCjHcd7S+Mdb/lelwF0JBFCNC+dNCI9ws3cP/dFdZO/AIhJQGUBzEQtieloixw==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-sso@3.637.0':
- resolution: {integrity: sha512-Mvz+h+e62/tl+dVikLafhv+qkZJ9RUb8l2YN/LeKMWkxQylPT83CPk9aimVhCV89zth1zpREArl97+3xsfgQvA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/types@3.901.0':
+ resolution: {integrity: sha512-FfEM25hLEs4LoXsLXQ/q6X6L4JmKkKkbVFpKD4mwfVHtRVQG6QxJiCPcrkcPISquiy6esbwK2eh64TWbiD60cg==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-sso@3.687.0':
- resolution: {integrity: sha512-N1YCoE7DovIRF2ReyRrA4PZzF0WNi4ObPwdQQkVxhvSm7PwjbWxrfq7rpYB+6YB1Uq3QPzgVwUFONE36rdpxUQ==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-arn-parser@3.893.0':
+ resolution: {integrity: sha512-u8H4f2Zsi19DGnwj5FSZzDMhytYF/bCh37vAtBsn3cNDL3YG578X5oc+wSX54pM3tOxS+NY7tvOAo52SW7koUA==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-web-identity@3.621.0':
- resolution: {integrity: sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.621.0
+ '@aws-sdk/util-endpoints@3.901.0':
+ resolution: {integrity: sha512-5nZP3hGA8FHEtKvEQf4Aww5QZOkjLW1Z+NixSd+0XKfHvA39Ah5sZboScjLx0C9kti/K3OGW1RCx5K9Zc3bZqg==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/credential-provider-web-identity@3.686.0':
- resolution: {integrity: sha512-40UqCpPxyHCXDP7CGd9JIOZDgDZf+u1OyLaGBpjQJlz1HYuEsIWnnbTe29Yg3Ah/Zc3g4NBWcUdlGVotlnpnDg==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.686.0
+ '@aws-sdk/util-locate-window@3.893.0':
+ resolution: {integrity: sha512-T89pFfgat6c8nMmpI8eKjBcDcgJq36+m9oiXbcUzeU55MP9ZuGgBomGjGnHaEyF36jenW9gmg3NfZDm0AO2XPg==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/lib-storage@3.687.0':
- resolution: {integrity: sha512-LAJOH1Ddm8vlA6j8WyFAt1Ithfj58XuJN1d2WJSDZLhGDGQp3+nDFzovOKODw/Bc9x6ZnDYm9rE+QMTbGSvqkA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-user-agent-browser@3.907.0':
+ resolution: {integrity: sha512-Hus/2YCQmtCEfr4Ls88d07Q99Ex59uvtktiPTV963Q7w7LHuIT/JBjrbwNxtSm2KlJR9PHNdqxwN+fSuNsMGMQ==}
+
+ '@aws-sdk/util-user-agent-node@3.908.0':
+ resolution: {integrity: sha512-l6AEaKUAYarcEy8T8NZ+dNZ00VGLs3fW2Cqu1AuPENaSad0/ahEU+VU7MpXS8FhMRGPgplxKVgCTLyTY0Lbssw==}
+ engines: {node: '>=18.0.0'}
peerDependencies:
- '@aws-sdk/client-s3': ^3.687.0
+ aws-crt: '>=1.0.0'
+ peerDependenciesMeta:
+ aws-crt:
+ optional: true
- '@aws-sdk/middleware-bucket-endpoint@3.686.0':
- resolution: {integrity: sha512-6qCoWI73/HDzQE745MHQUYz46cAQxHCgy1You8MZQX9vHAQwqBnkcsb2hGp7S6fnQY5bNsiZkMWVQ/LVd2MNjg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/xml-builder@3.901.0':
+ resolution: {integrity: sha512-pxFCkuAP7Q94wMTNPAwi6hEtNrp/BdFf+HOrIEeFQsk4EoOmpKY3I6S+u6A9Wg295J80Kh74LqDWM22ux3z6Aw==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/middleware-expect-continue@3.686.0':
- resolution: {integrity: sha512-5yYqIbyhLhH29vn4sHiTj7sU6GttvLMk3XwCmBXjo2k2j3zHqFUwh9RyFGF9VY6Z392Drf/E/cl+qOGypwULpg==}
- engines: {node: '>=16.0.0'}
+ '@aws/lambda-invoke-store@0.0.1':
+ resolution: {integrity: sha512-ORHRQ2tmvnBXc8t/X9Z8IcSbBA4xTLKuN873FopzklHMeqBst7YG0d+AX97inkvDX+NChYtSr+qGfcqGFaI8Zw==}
+ engines: {node: '>=18.0.0'}
- '@aws-sdk/middleware-flexible-checksums@3.687.0':
- resolution: {integrity: sha512-hsEr3eiJs7gOzj9nDMCMfhLkoYv4Z8m7fbic63TkeyimXvsHycqqF6PX0TkPykwa1ueyxVpz0vtO5u1rlucN2w==}
- engines: {node: '>=16.0.0'}
+ '@axe-core/playwright@4.10.2':
+ resolution: {integrity: sha512-6/b5BJjG6hDaRNtgzLIfKr5DfwyiLHO4+ByTLB0cJgWSM8Ll7KqtdblIS6bEkwSF642/Ex91vNqIl3GLXGlceg==}
+ peerDependencies:
+ playwright-core: '>= 1.0.0'
- '@aws-sdk/middleware-host-header@3.620.0':
- resolution: {integrity: sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==}
- engines: {node: '>=16.0.0'}
+ '@babel/code-frame@7.27.1':
+ resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+ engines: {node: '>=6.9.0'}
- '@aws-sdk/middleware-host-header@3.686.0':
- resolution: {integrity: sha512-+Yc6rO02z+yhFbHmRZGvEw1vmzf/ifS9a4aBjJGeVVU+ZxaUvnk+IUZWrj4YQopUQ+bSujmMUzJLXSkbDq7yuw==}
- engines: {node: '>=16.0.0'}
+ '@babel/compat-data@7.28.4':
+ resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==}
+ engines: {node: '>=6.9.0'}
- '@aws-sdk/middleware-location-constraint@3.686.0':
- resolution: {integrity: sha512-pCLeZzt5zUGY3NbW4J/5x3kaHyJEji4yqtoQcUlJmkoEInhSxJ0OE8sTxAfyL3nIOF4yr6L2xdaLCqYgQT8Aog==}
- engines: {node: '>=16.0.0'}
+ '@babel/core@7.28.4':
+ resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==}
+ engines: {node: '>=6.9.0'}
- '@aws-sdk/middleware-logger@3.609.0':
- resolution: {integrity: sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==}
- engines: {node: '>=16.0.0'}
+ '@babel/generator@7.28.3':
+ resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==}
+ engines: {node: '>=6.9.0'}
- '@aws-sdk/middleware-logger@3.686.0':
- resolution: {integrity: sha512-cX43ODfA2+SPdX7VRxu6gXk4t4bdVJ9pkktbfnkE5t27OlwNfvSGGhnHrQL8xTOFeyQ+3T+oowf26gf1OI+vIg==}
- engines: {node: '>=16.0.0'}
+ '@babel/helper-annotate-as-pure@7.27.3':
+ resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
+ engines: {node: '>=6.9.0'}
- '@aws-sdk/middleware-recursion-detection@3.620.0':
- resolution: {integrity: sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==}
- engines: {node: '>=16.0.0'}
+ '@babel/helper-compilation-targets@7.27.2':
+ resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
+ engines: {node: '>=6.9.0'}
- '@aws-sdk/middleware-recursion-detection@3.686.0':
- resolution: {integrity: sha512-jF9hQ162xLgp9zZ/3w5RUNhmwVnXDBlABEUX8jCgzaFpaa742qR/KKtjjZQ6jMbQnP+8fOCSXFAVNMU+s6v81w==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/middleware-sdk-s3@3.687.0':
- resolution: {integrity: sha512-YGHYqiyRiNNucmvLrfx3QxIkjSDWR/+cc72bn0lPvqFUQBRHZgmYQLxVYrVZSmRzzkH2FQ1HsZcXhOafLbq4vQ==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/middleware-ssec@3.686.0':
- resolution: {integrity: sha512-zJXml/CpVHFUdlGQqja87vNQ3rPB5SlDbfdwxlj1KBbjnRRwpBtxxmOlWRShg8lnVV6aIMGv95QmpIFy4ayqnQ==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/middleware-user-agent@3.637.0':
- resolution: {integrity: sha512-EYo0NE9/da/OY8STDsK2LvM4kNa79DBsf4YVtaG4P5pZ615IeFsD8xOHZeuJmUrSMlVQ8ywPRX7WMucUybsKug==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/middleware-user-agent@3.687.0':
- resolution: {integrity: sha512-nUgsKiEinyA50CaDXojAkOasAU3Apdg7Qox6IjNUC4ZjgOu7QWsCDB5N28AYMUt06cNYeYQdfMX1aEzG85a1Mg==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/region-config-resolver@3.614.0':
- resolution: {integrity: sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/region-config-resolver@3.686.0':
- resolution: {integrity: sha512-6zXD3bSD8tcsMAVVwO1gO7rI1uy2fCD3czgawuPGPopeLiPpo6/3FoUWCQzk2nvEhj7p9Z4BbjwZGSlRkVrXTw==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/s3-request-presigner@3.687.0':
- resolution: {integrity: sha512-/fX3F4nYjVEgdlVamsb2tDgnFA5dtzxkeN+hH91e+ZoBMJBow+FUb2EEtjloreGUynPx6E00UxdDXIKWmt99lA==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/signature-v4-multi-region@3.687.0':
- resolution: {integrity: sha512-vdOQHCRHJPX9mT8BM6xOseazHD6NodvHl9cyF5UjNtLn+gERRJEItIA9hf0hlt62odGD8Fqp+rFRuqdmbNkcNw==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/token-providers@3.614.0':
- resolution: {integrity: sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sso-oidc': ^3.614.0
-
- '@aws-sdk/token-providers@3.686.0':
- resolution: {integrity: sha512-9oL4kTCSePFmyKPskibeiOXV6qavPZ63/kXM9Wh9V6dTSvBtLeNnMxqGvENGKJcTdIgtoqyqA6ET9u0PJ5IRIg==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sso-oidc': ^3.686.0
-
- '@aws-sdk/types@3.609.0':
- resolution: {integrity: sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/types@3.686.0':
- resolution: {integrity: sha512-xFnrb3wxOoJcW2Xrh63ZgFo5buIu9DF7bOHnwoUxHdNpUXicUh0AHw85TjXxyxIAd0d1psY/DU7QHoNI3OswgQ==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/util-arn-parser@3.679.0':
- resolution: {integrity: sha512-CwzEbU8R8rq9bqUFryO50RFBlkfufV9UfMArHPWlo+lmsC+NlSluHQALoj6Jkq3zf5ppn1CN0c1DDLrEqdQUXg==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/util-endpoints@3.637.0':
- resolution: {integrity: sha512-pAqOKUHeVWHEXXDIp/qoMk/6jyxIb6GGjnK1/f8dKHtKIEs4tKsnnL563gceEvdad53OPXIt86uoevCcCzmBnw==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/util-endpoints@3.686.0':
- resolution: {integrity: sha512-7msZE2oYl+6QYeeRBjlDgxQUhq/XRky3cXE0FqLFs2muLS7XSuQEXkpOXB3R782ygAP6JX0kmBxPTLurRTikZg==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/util-format-url@3.686.0':
- resolution: {integrity: sha512-9doB6O4FAlnWZrvnFDUxTtSFtuL8kUqxlP00HTiDgL1uDJZ8e0S4gqjKR+9+N5goFtxGi7IJeNsDEz2H7imvgw==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/util-locate-window@3.568.0':
- resolution: {integrity: sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==}
- engines: {node: '>=16.0.0'}
-
- '@aws-sdk/util-user-agent-browser@3.609.0':
- resolution: {integrity: sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==}
-
- '@aws-sdk/util-user-agent-browser@3.686.0':
- resolution: {integrity: sha512-YiQXeGYZegF1b7B2GOR61orhgv79qmI0z7+Agm3NXLO6hGfVV3kFUJbXnjtH1BgWo5hbZYW7HQ2omGb3dnb6Lg==}
-
- '@aws-sdk/util-user-agent-node@3.614.0':
- resolution: {integrity: sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- aws-crt: '>=1.0.0'
- peerDependenciesMeta:
- aws-crt:
- optional: true
-
- '@aws-sdk/util-user-agent-node@3.687.0':
- resolution: {integrity: sha512-idkP6ojSTZ4ek1pJ8wIN7r9U3KR5dn0IkJn3KQBXQ58LWjkRqLtft2vxzdsktWwhPKjjmIKl1S0kbvqLawf8XQ==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- aws-crt: '>=1.0.0'
- peerDependenciesMeta:
- aws-crt:
- optional: true
-
- '@aws-sdk/xml-builder@3.686.0':
- resolution: {integrity: sha512-k0z5b5dkYSuOHY0AOZ4iyjcGBeVL9lWsQNF4+c+1oK3OW4fRWl/bNa1soMRMpangsHPzgyn/QkzuDbl7qR4qrw==}
- engines: {node: '>=16.0.0'}
-
- '@axe-core/playwright@4.10.0':
- resolution: {integrity: sha512-kEr3JPEVUSnKIYp/egV2jvFj+chIjCjPp3K3zlpJMza/CB3TFw8UZNbI9agEC2uMz4YbgAOyzlbUy0QS+OofFA==}
- peerDependencies:
- playwright-core: '>= 1.0.0'
-
- '@babel/code-frame@7.24.7':
- resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/code-frame@7.26.2':
- resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/compat-data@7.25.4':
- resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/compat-data@7.26.2':
- resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/core@7.25.2':
- resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/core@7.26.0':
- resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/generator@7.25.5':
- resolution: {integrity: sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==}
- engines: {node: '>=6.9.0'}
-
- '@babel/generator@7.26.2':
- resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==}
+ '@babel/helper-create-class-features-plugin@7.28.3':
+ resolution: {integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
- '@babel/helper-annotate-as-pure@7.24.7':
- resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==}
+ '@babel/helper-globals@7.28.0':
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-compilation-targets@7.25.2':
- resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==}
+ '@babel/helper-member-expression-to-functions@7.27.1':
+ resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-compilation-targets@7.25.9':
- resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==}
+ '@babel/helper-module-imports@7.27.1':
+ resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
engines: {node: '>=6.9.0'}
- '@babel/helper-create-class-features-plugin@7.25.4':
- resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==}
+ '@babel/helper-module-transforms@7.28.3':
+ resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-member-expression-to-functions@7.24.8':
- resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-module-imports@7.22.15':
- resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-module-imports@7.24.7':
- resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-module-imports@7.25.9':
- resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
+ '@babel/helper-optimise-call-expression@7.27.1':
+ resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-transforms@7.25.2':
- resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==}
+ '@babel/helper-plugin-utils@7.27.1':
+ resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- '@babel/helper-module-transforms@7.26.0':
- resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
+ '@babel/helper-replace-supers@7.27.1':
+ resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-optimise-call-expression@7.24.7':
- resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==}
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==}
engines: {node: '>=6.9.0'}
- '@babel/helper-plugin-utils@7.24.8':
- resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==}
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-replace-supers@7.25.0':
- resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==}
+ '@babel/helper-validator-identifier@7.27.1':
+ resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- '@babel/helper-simple-access@7.24.7':
- resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
+ '@babel/helper-validator-option@7.27.1':
+ resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
engines: {node: '>=6.9.0'}
- '@babel/helper-skip-transparent-expression-wrappers@7.24.7':
- resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==}
+ '@babel/helpers@7.28.4':
+ resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==}
engines: {node: '>=6.9.0'}
- '@babel/helper-string-parser@7.24.8':
- resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
- engines: {node: '>=6.9.0'}
+ '@babel/parser@7.28.4':
+ resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
- '@babel/helper-string-parser@7.25.9':
- resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-async-generators@7.8.4':
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@babel/helper-validator-identifier@7.24.7':
- resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-bigint@7.8.3':
+ resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@babel/helper-validator-identifier@7.25.9':
- resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-class-properties@7.12.13':
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@babel/helper-validator-option@7.24.8':
- resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==}
+ '@babel/plugin-syntax-class-static-block@7.14.5':
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@babel/helper-validator-option@7.25.9':
- resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
+ '@babel/plugin-syntax-import-attributes@7.27.1':
+ resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@babel/helpers@7.25.0':
- resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-import-meta@7.10.4':
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@babel/helpers@7.26.0':
- resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-json-strings@7.8.3':
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@babel/highlight@7.24.7':
- resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
+ '@babel/plugin-syntax-jsx@7.27.1':
+ resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@babel/parser@7.25.4':
- resolution: {integrity: sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==}
- engines: {node: '>=6.0.0'}
- hasBin: true
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4':
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@babel/parser@7.26.2':
- resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==}
- engines: {node: '>=6.0.0'}
- hasBin: true
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@babel/plugin-proposal-decorators@7.24.7':
- resolution: {integrity: sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-numeric-separator@7.10.4':
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-decorators@7.24.7':
- resolution: {integrity: sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-object-rest-spread@7.8.3':
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-import-attributes@7.24.7':
- resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3':
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-import-meta@7.10.4':
- resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ '@babel/plugin-syntax-optional-chaining@7.8.3':
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-jsx@7.24.7':
- resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==}
+ '@babel/plugin-syntax-private-property-in-object@7.14.5':
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-typescript@7.25.4':
- resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==}
+ '@babel/plugin-syntax-top-level-await@7.14.5':
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-typescript@7.25.2':
- resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==}
+ '@babel/plugin-syntax-typescript@7.27.1':
+ resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/runtime@7.25.4':
- resolution: {integrity: sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==}
+ '@babel/plugin-transform-typescript@7.28.0':
+ resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@babel/standalone@7.25.5':
- resolution: {integrity: sha512-46bI7GJHwgWfWszOWMvJIsJjXd+LBMIlaiw4R54+b7GvDfxTVE6ytsqR8uEiI/zYECoB33ChwfN0wq/MLHLFXg==}
+ '@babel/template@7.27.2':
+ resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
engines: {node: '>=6.9.0'}
- '@babel/standalone@7.26.2':
- resolution: {integrity: sha512-i2VbegsRfwa9yq3xmfDX3tG2yh9K0cCqwpSyVG2nPxifh0EOnucAZUeO/g4lW2Zfg03aPJNtPfxQbDHzXc7H+w==}
+ '@babel/traverse@7.28.4':
+ resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==}
engines: {node: '>=6.9.0'}
- '@babel/template@7.25.0':
- resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==}
+ '@babel/types@7.28.4':
+ resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
engines: {node: '>=6.9.0'}
- '@babel/template@7.25.9':
- resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
- engines: {node: '>=6.9.0'}
+ '@bcoe/v8-coverage@0.2.3':
+ resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
- '@babel/traverse@7.25.4':
- resolution: {integrity: sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==}
- engines: {node: '>=6.9.0'}
+ '@borewit/text-codec@0.1.1':
+ resolution: {integrity: sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA==}
- '@babel/traverse@7.25.9':
- resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
- engines: {node: '>=6.9.0'}
+ '@clack/core@0.5.0':
+ resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==}
- '@babel/types@7.25.4':
- resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==}
- engines: {node: '>=6.9.0'}
+ '@clack/prompts@0.11.0':
+ resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==}
- '@babel/types@7.26.0':
- resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
- engines: {node: '>=6.9.0'}
+ '@cloudflare/kv-asset-handler@0.4.0':
+ resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==}
+ engines: {node: '>=18.0.0'}
+
+ '@colors/colors@1.5.0':
+ resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
+ engines: {node: '>=0.1.90'}
+
+ '@cspotcode/source-map-support@0.8.1':
+ resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
+ engines: {node: '>=12'}
+
+ '@csstools/color-helpers@5.1.0':
+ resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==}
+ engines: {node: '>=18'}
+
+ '@csstools/css-calc@2.1.4':
+ resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/css-color-parser@3.1.0':
+ resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/css-parser-algorithms@3.0.5':
+ resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/css-syntax-patches-for-csstree@1.0.14':
+ resolution: {integrity: sha512-zSlIxa20WvMojjpCSy8WrNpcZ61RqfTfX3XTaOeVlGJrt/8HF3YbzgFZa01yTbT4GWQLwfTcC3EB8i3XnB647Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
- '@cloudflare/kv-asset-handler@0.3.4':
- resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==}
- engines: {node: '>=16.13'}
+ '@csstools/css-tokenizer@3.0.4':
+ resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
+ engines: {node: '>=18'}
- '@docsearch/css@3.6.2':
- resolution: {integrity: sha512-vKNZepO2j7MrYBTZIGXvlUOIR+v9KRf70FApRgovWrj3GTs1EITz/Xb0AOlm1xsQBp16clVZj1SY/qaOJbQtZw==}
+ '@docsearch/css@3.8.2':
+ resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==}
- '@docsearch/js@3.6.2':
- resolution: {integrity: sha512-pS4YZF+VzUogYrkblCucQ0Oy2m8Wggk8Kk7lECmZM60hTbaydSIhJTTiCrmoxtBqV8wxORnOqcqqOfbmkkQEcA==}
+ '@docsearch/js@3.8.2':
+ resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==}
- '@docsearch/react@3.6.2':
- resolution: {integrity: sha512-rtZce46OOkVflCQH71IdbXSFK+S8iJZlUF56XBW5rIgx/eG5qoomC7Ag3anZson1bBac/JFQn7XOBfved/IMRA==}
+ '@docsearch/react@3.8.2':
+ resolution: {integrity: sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==}
peerDependencies:
'@types/react': '>= 16.8.0 < 19.0.0'
react: '>= 16.8.0 < 19.0.0'
@@ -1211,9 +1146,18 @@ packages:
search-insights:
optional: true
- '@es-joy/jsdoccomment@0.49.0':
- resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==}
- engines: {node: '>=16'}
+ '@emnapi/core@1.5.0':
+ resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==}
+
+ '@emnapi/runtime@1.5.0':
+ resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
+
+ '@emnapi/wasi-threads@1.1.0':
+ resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
+
+ '@es-joy/jsdoccomment@0.56.0':
+ resolution: {integrity: sha512-c6EW+aA1w2rjqOMjbL93nZlwxp6c1Ln06vTYs5FjRRhmJXK8V/OrSXdT+pUr4aRYgjCgu8/OkiZr0tzeVrRSbw==}
+ engines: {node: '>=20.11.0'}
'@esbuild/aix-ppc64@0.21.5':
resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
@@ -1221,14 +1165,8 @@ packages:
cpu: [ppc64]
os: [aix]
- '@esbuild/aix-ppc64@0.23.1':
- resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
- '@esbuild/aix-ppc64@0.24.0':
- resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==}
+ '@esbuild/aix-ppc64@0.25.10':
+ resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
@@ -1239,14 +1177,8 @@ packages:
cpu: [arm64]
os: [android]
- '@esbuild/android-arm64@0.23.1':
- resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm64@0.24.0':
- resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==}
+ '@esbuild/android-arm64@0.25.10':
+ resolution: {integrity: sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
@@ -1257,14 +1189,8 @@ packages:
cpu: [arm]
os: [android]
- '@esbuild/android-arm@0.23.1':
- resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-arm@0.24.0':
- resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==}
+ '@esbuild/android-arm@0.25.10':
+ resolution: {integrity: sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
@@ -1275,14 +1201,8 @@ packages:
cpu: [x64]
os: [android]
- '@esbuild/android-x64@0.23.1':
- resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/android-x64@0.24.0':
- resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==}
+ '@esbuild/android-x64@0.25.10':
+ resolution: {integrity: sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
@@ -1293,14 +1213,8 @@ packages:
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-arm64@0.23.1':
- resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-arm64@0.24.0':
- resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==}
+ '@esbuild/darwin-arm64@0.25.10':
+ resolution: {integrity: sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
@@ -1311,14 +1225,8 @@ packages:
cpu: [x64]
os: [darwin]
- '@esbuild/darwin-x64@0.23.1':
- resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.24.0':
- resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==}
+ '@esbuild/darwin-x64@0.25.10':
+ resolution: {integrity: sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
@@ -1329,14 +1237,8 @@ packages:
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-arm64@0.23.1':
- resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-arm64@0.24.0':
- resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==}
+ '@esbuild/freebsd-arm64@0.25.10':
+ resolution: {integrity: sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
@@ -1347,14 +1249,8 @@ packages:
cpu: [x64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.23.1':
- resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.24.0':
- resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==}
+ '@esbuild/freebsd-x64@0.25.10':
+ resolution: {integrity: sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
@@ -1365,14 +1261,8 @@ packages:
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm64@0.23.1':
- resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm64@0.24.0':
- resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==}
+ '@esbuild/linux-arm64@0.25.10':
+ resolution: {integrity: sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
@@ -1383,14 +1273,8 @@ packages:
cpu: [arm]
os: [linux]
- '@esbuild/linux-arm@0.23.1':
- resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-arm@0.24.0':
- resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==}
+ '@esbuild/linux-arm@0.25.10':
+ resolution: {integrity: sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
@@ -1401,14 +1285,8 @@ packages:
cpu: [ia32]
os: [linux]
- '@esbuild/linux-ia32@0.23.1':
- resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-ia32@0.24.0':
- resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==}
+ '@esbuild/linux-ia32@0.25.10':
+ resolution: {integrity: sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
@@ -1419,14 +1297,8 @@ packages:
cpu: [loong64]
os: [linux]
- '@esbuild/linux-loong64@0.23.1':
- resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-loong64@0.24.0':
- resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==}
+ '@esbuild/linux-loong64@0.25.10':
+ resolution: {integrity: sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
@@ -1437,14 +1309,8 @@ packages:
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-mips64el@0.23.1':
- resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.24.0':
- resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==}
+ '@esbuild/linux-mips64el@0.25.10':
+ resolution: {integrity: sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
@@ -1455,14 +1321,8 @@ packages:
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-ppc64@0.23.1':
- resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.24.0':
- resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==}
+ '@esbuild/linux-ppc64@0.25.10':
+ resolution: {integrity: sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
@@ -1473,14 +1333,8 @@ packages:
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-riscv64@0.23.1':
- resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.24.0':
- resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==}
+ '@esbuild/linux-riscv64@0.25.10':
+ resolution: {integrity: sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
@@ -1491,14 +1345,8 @@ packages:
cpu: [s390x]
os: [linux]
- '@esbuild/linux-s390x@0.23.1':
- resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-s390x@0.24.0':
- resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==}
+ '@esbuild/linux-s390x@0.25.10':
+ resolution: {integrity: sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
@@ -1509,17 +1357,17 @@ packages:
cpu: [x64]
os: [linux]
- '@esbuild/linux-x64@0.23.1':
- resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==}
+ '@esbuild/linux-x64@0.25.10':
+ resolution: {integrity: sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/linux-x64@0.24.0':
- resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==}
+ '@esbuild/netbsd-arm64@0.25.10':
+ resolution: {integrity: sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==}
engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
+ cpu: [arm64]
+ os: [netbsd]
'@esbuild/netbsd-x64@0.21.5':
resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
@@ -1527,26 +1375,14 @@ packages:
cpu: [x64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.23.1':
- resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/netbsd-x64@0.24.0':
- resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==}
+ '@esbuild/netbsd-x64@0.25.10':
+ resolution: {integrity: sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.23.1':
- resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
- '@esbuild/openbsd-arm64@0.24.0':
- resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==}
+ '@esbuild/openbsd-arm64@0.25.10':
+ resolution: {integrity: sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
@@ -1557,17 +1393,17 @@ packages:
cpu: [x64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.23.1':
- resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==}
+ '@esbuild/openbsd-x64@0.25.10':
+ resolution: {integrity: sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.24.0':
- resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==}
+ '@esbuild/openharmony-arm64@0.25.10':
+ resolution: {integrity: sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==}
engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
+ cpu: [arm64]
+ os: [openharmony]
'@esbuild/sunos-x64@0.21.5':
resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
@@ -1575,14 +1411,8 @@ packages:
cpu: [x64]
os: [sunos]
- '@esbuild/sunos-x64@0.23.1':
- resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/sunos-x64@0.24.0':
- resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==}
+ '@esbuild/sunos-x64@0.25.10':
+ resolution: {integrity: sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
@@ -1593,14 +1423,8 @@ packages:
cpu: [arm64]
os: [win32]
- '@esbuild/win32-arm64@0.23.1':
- resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-arm64@0.24.0':
- resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==}
+ '@esbuild/win32-arm64@0.25.10':
+ resolution: {integrity: sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
@@ -1611,14 +1435,8 @@ packages:
cpu: [ia32]
os: [win32]
- '@esbuild/win32-ia32@0.23.1':
- resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-ia32@0.24.0':
- resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==}
+ '@esbuild/win32-ia32@0.25.10':
+ resolution: {integrity: sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
@@ -1629,20 +1447,14 @@ packages:
cpu: [x64]
os: [win32]
- '@esbuild/win32-x64@0.23.1':
- resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
- '@esbuild/win32-x64@0.24.0':
- resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==}
+ '@esbuild/win32-x64@0.25.10':
+ resolution: {integrity: sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.4.0':
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ '@eslint-community/eslint-utils@4.9.0':
+ resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
@@ -1651,152 +1463,403 @@ packages:
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/compat@1.2.2':
- resolution: {integrity: sha512-jhgiIrsw+tRfcBQ4BFl2C3vCrIUw2trCY0cnDvGZpwTtKCEDmZhAtMfrEUP/KpnwM6PrO0T+Ltm+ccW74olG3Q==}
+ '@eslint/compat@1.4.0':
+ resolution: {integrity: sha512-DEzm5dKeDBPm3r08Ixli/0cmxr8LkRdwxMRUIJBlSCpAwSrvFEJpVBzV+66JhDxiaqKxnRzCXhtiMiczF7Hglg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^9.10.0
+ eslint: ^8.40 || 9
peerDependenciesMeta:
eslint:
optional: true
- '@eslint/config-array@0.18.0':
- resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
+ '@eslint/config-array@0.21.0':
+ resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@0.7.0':
- resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==}
+ '@eslint/config-helpers@0.4.0':
+ resolution: {integrity: sha512-WUFvV4WoIwW8Bv0KeKCIIEgdSiFOsulyN0xrMu+7z43q/hkOLXjvb5u7UC9jDxvRzcrbEmuZBX5yJZz1741jog==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/eslintrc@3.1.0':
- resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
+ '@eslint/core@0.15.2':
+ resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.14.0':
- resolution: {integrity: sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==}
+ '@eslint/core@0.16.0':
+ resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/object-schema@2.1.4':
- resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
+ '@eslint/eslintrc@3.3.1':
+ resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.2.2':
- resolution: {integrity: sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==}
+ '@eslint/js@9.37.0':
+ resolution: {integrity: sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@faker-js/faker@8.4.1':
- resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'}
+ '@eslint/object-schema@2.1.6':
+ resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@grpc/grpc-js@1.11.1':
- resolution: {integrity: sha512-gyt/WayZrVPH2w/UTLansS7F9Nwld472JxxaETamrM8HNlsa+jSLNyKAZmhxI2Me4c3mQHFiS1wWHDY1g1Kthw==}
- engines: {node: '>=12.10.0'}
+ '@eslint/plugin-kit@0.3.5':
+ resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@grpc/proto-loader@0.7.13':
- resolution: {integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==}
- engines: {node: '>=6'}
- hasBin: true
+ '@eslint/plugin-kit@0.4.0':
+ resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@hapi/boom@10.0.1':
- resolution: {integrity: sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==}
+ '@faker-js/faker@10.0.0':
+ resolution: {integrity: sha512-UollFEUkVXutsaP+Vndjxar40Gs5JL2HeLcl8xO1QAjJgOdhc3OmBFWyEylS+RddWaaBiAzH+5/17PLQJwDiLw==}
+ engines: {node: ^20.19.0 || ^22.13.0 || ^23.5.0 || >=24.0.0, npm: '>=10'}
- '@hapi/bourne@3.0.0':
- resolution: {integrity: sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==}
+ '@fastify/error@4.2.0':
+ resolution: {integrity: sha512-RSo3sVDXfHskiBZKBPRgnQTtIqpi/7zhJOEmAxCiBcM7d0uwdGdxLlsCaLzGs8v8NnxIRlfG0N51p5yFaOentQ==}
- '@hapi/hoek@11.0.4':
- resolution: {integrity: sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==}
+ '@grpc/grpc-js@1.14.0':
+ resolution: {integrity: sha512-N8Jx6PaYzcTRNzirReJCtADVoq4z7+1KQ4E70jTg/koQiMoUSN1kbNjPOqpPbhMFhfU1/l7ixspPl8dNY+FoUg==}
+ engines: {node: '>=12.10.0'}
- '@hapi/hoek@9.3.0':
- resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
+ '@grpc/proto-loader@0.8.0':
+ resolution: {integrity: sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ '@hapi/address@5.1.1':
+ resolution: {integrity: sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==}
+ engines: {node: '>=14.0.0'}
- '@hapi/topo@5.1.0':
- resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+ '@hapi/formula@3.0.2':
+ resolution: {integrity: sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw==}
+
+ '@hapi/hoek@11.0.7':
+ resolution: {integrity: sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==}
+
+ '@hapi/pinpoint@2.0.1':
+ resolution: {integrity: sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==}
+
+ '@hapi/tlds@1.1.3':
+ resolution: {integrity: sha512-QIvUMB5VZ8HMLZF9A2oWr3AFM430QC8oGd0L35y2jHpuW6bIIca6x/xL7zUf4J7L9WJ3qjz+iJII8ncaeMbpSg==}
+ engines: {node: '>=14.0.0'}
- '@hapi/wreck@18.1.0':
- resolution: {integrity: sha512-0z6ZRCmFEfV/MQqkQomJ7sl/hyxvcZM7LtuVqN3vdAO4vM9eBbowl0kaqQj9EJJQab+3Uuh1GxbGIBFy4NfJ4w==}
+ '@hapi/topo@6.0.2':
+ resolution: {integrity: sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==}
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
- '@humanfs/node@0.16.6':
- resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
+ '@humanfs/node@0.16.7':
+ resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
engines: {node: '>=18.18.0'}
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
- '@humanwhocodes/retry@0.3.1':
- resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
+ '@humanwhocodes/retry@0.4.3':
+ resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
- '@humanwhocodes/retry@0.4.1':
- resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==}
- engines: {node: '>=18.18'}
-
- '@iconify-json/simple-icons@1.2.11':
- resolution: {integrity: sha512-AHCGDtBRqP+JzAbBzgO8uN/08CXxEmuaC6lQQZ3b5burKhRU12AJnJczwbUw2K5Mb/U85EpSUNhYMG3F28b8NA==}
+ '@iconify-json/simple-icons@1.2.54':
+ resolution: {integrity: sha512-OQQYl8yC5j3QklZOYnK31QYe5h47IhyCoxSLd53f0e0nA4dgi8VOZS30SgSAbsecQ+S0xlGJMjXIHTIqZ+ML3w==}
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
- '@inquirer/core@9.0.10':
- resolution: {integrity: sha512-TdESOKSVwf6+YWDz8GhS6nKscwzkIyakEzCLJ5Vh6O3Co2ClhCJ0A4MG909MUWfaWdpJm7DE45ii51/2Kat9tA==}
+ '@inquirer/ansi@1.0.0':
+ resolution: {integrity: sha512-JWaTfCxI1eTmJ1BIv86vUfjVatOdxwD0DAVKYevY8SazeUUZtW+tNbsdejVO1GYE0GXJW1N1ahmiC3TFd+7wZA==}
+ engines: {node: '>=18'}
+
+ '@inquirer/checkbox@4.2.4':
+ resolution: {integrity: sha512-2n9Vgf4HSciFq8ttKXk+qy+GsyTXPV1An6QAwe/8bkbbqvG4VW1I/ZY1pNu2rf+h9bdzMLPbRSfcNxkHBy/Ydw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/confirm@5.1.18':
+ resolution: {integrity: sha512-MilmWOzHa3Ks11tzvuAmFoAd/wRuaP3SwlT1IZhyMke31FKLxPiuDWcGXhU+PKveNOpAc4axzAgrgxuIJJRmLw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/core@10.2.2':
+ resolution: {integrity: sha512-yXq/4QUnk4sHMtmbd7irwiepjB8jXU0kkFRL4nr/aDBA2mDz13cMakEWdDwX3eSCTkk03kwcndD1zfRAIlELxA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/editor@4.2.20':
+ resolution: {integrity: sha512-7omh5y5bK672Q+Brk4HBbnHNowOZwrb/78IFXdrEB9PfdxL3GudQyDk8O9vQ188wj3xrEebS2M9n18BjJoI83g==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/expand@4.0.20':
+ resolution: {integrity: sha512-Dt9S+6qUg94fEvgn54F2Syf0Z3U8xmnBI9ATq2f5h9xt09fs2IJXSCIXyyVHwvggKWFXEY/7jATRo2K6Dkn6Ow==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/external-editor@1.0.2':
+ resolution: {integrity: sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/figures@1.0.13':
+ resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==}
+ engines: {node: '>=18'}
+
+ '@inquirer/input@4.2.4':
+ resolution: {integrity: sha512-cwSGpLBMwpwcZZsc6s1gThm0J+it/KIJ+1qFL2euLmSKUMGumJ5TcbMgxEjMjNHRGadouIYbiIgruKoDZk7klw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/number@3.0.20':
+ resolution: {integrity: sha512-bbooay64VD1Z6uMfNehED2A2YOPHSJnQLs9/4WNiV/EK+vXczf/R988itL2XLDGTgmhMF2KkiWZo+iEZmc4jqg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/password@4.0.20':
+ resolution: {integrity: sha512-nxSaPV2cPvvoOmRygQR+h0B+Av73B01cqYLcr7NXcGXhbmsYfUb8fDdw2Us1bI2YsX+VvY7I7upgFYsyf8+Nug==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/prompts@7.3.2':
+ resolution: {integrity: sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/prompts@7.8.0':
+ resolution: {integrity: sha512-JHwGbQ6wjf1dxxnalDYpZwZxUEosT+6CPGD9Zh4sm9WXdtUp9XODCQD3NjSTmu+0OAyxWXNOqf0spjIymJa2Tw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/prompts@7.8.6':
+ resolution: {integrity: sha512-68JhkiojicX9SBUD8FE/pSKbOKtwoyaVj1kwqLfvjlVXZvOy3iaSWX4dCLsZyYx/5Ur07Fq+yuDNOen+5ce6ig==}
engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/rawlist@4.1.8':
+ resolution: {integrity: sha512-CQ2VkIASbgI2PxdzlkeeieLRmniaUU1Aoi5ggEdm6BIyqopE9GuDXdDOj9XiwOqK5qm72oI2i6J+Gnjaa26ejg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- '@inquirer/figures@1.0.5':
- resolution: {integrity: sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==}
+ '@inquirer/search@3.1.3':
+ resolution: {integrity: sha512-D5T6ioybJJH0IiSUK/JXcoRrrm8sXwzrVMjibuPs+AgxmogKslaafy1oxFiorNI4s3ElSkeQZbhYQgLqiL8h6Q==}
engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- '@inquirer/select@2.4.7':
- resolution: {integrity: sha512-JH7XqPEkBpNWp3gPCqWqY8ECbyMoFcCZANlL6pV9hf59qK6dGmkOlx1ydyhY+KZ0c5X74+W6Mtp+nm2QX0/MAQ==}
+ '@inquirer/select@4.3.4':
+ resolution: {integrity: sha512-Qp20nySRmfbuJBBsgPU7E/cL62Hf250vMZRzYDcBHty2zdD1kKCnoDFWRr0WO2ZzaXp3R7a4esaVGJUx0E6zvA==}
engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- '@inquirer/type@1.5.2':
- resolution: {integrity: sha512-w9qFkumYDCNyDZmNQjf/n6qQuvQ4dMC3BJesY4oF+yr0CxR5vxujflAVeIcS6U336uzi9GM0kAfZlLrZ9UTkpA==}
+ '@inquirer/type@3.0.8':
+ resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==}
engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@ioredis/commands@1.4.0':
+ resolution: {integrity: sha512-aFT2yemJJo+TZCmieA7qnYGQooOS7QfNmYrzGtsYd3g9j5iDP8AimYYAesf79ohjbLG12XxC4nG5DyEnC88AsQ==}
+
+ '@isaacs/balanced-match@4.0.1':
+ resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==}
+ engines: {node: 20 || >=22}
- '@ioredis/commands@1.2.0':
- resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==}
+ '@isaacs/brace-expansion@5.0.0':
+ resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==}
+ engines: {node: 20 || >=22}
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
+ '@isaacs/fs-minipass@4.0.1':
+ resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
+ engines: {node: '>=18.0.0'}
+
'@isaacs/string-locale-compare@1.1.0':
resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==}
- '@jridgewell/gen-mapping@0.3.5':
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
- engines: {node: '>=6.0.0'}
+ '@istanbuljs/load-nyc-config@1.1.0':
+ resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
+ engines: {node: '>=8'}
+
+ '@istanbuljs/schema@0.1.3':
+ resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
+ engines: {node: '>=8'}
+
+ '@jercle/yargonaut@1.1.5':
+ resolution: {integrity: sha512-zBp2myVvBHp1UaJsNTyS6q4UDKT7eRiqTS4oNTS6VQMd6mpxYOdbeK4pY279cDCdakGy6hG0J3ejoXZVsPwHqw==}
+
+ '@jest/console@30.2.0':
+ resolution: {integrity: sha512-+O1ifRjkvYIkBqASKWgLxrpEhQAAE7hY77ALLUufSk5717KfOShg6IbqLmdsLMPdUiFvA2kTs0R7YZy+l0IzZQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/core@30.2.0':
+ resolution: {integrity: sha512-03W6IhuhjqTlpzh/ojut/pDB2LPRygyWX8ExpgHtQA8H/3K7+1vKmcINx5UzeOX1se6YEsBsOHQ1CRzf3fOwTQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ '@jest/diff-sequences@30.0.1':
+ resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/environment@30.2.0':
+ resolution: {integrity: sha512-/QPTL7OBJQ5ac09UDRa3EQes4gt1FTEG/8jZ/4v5IVzx+Cv7dLxlVIvfvSVRiiX2drWyXeBjkMSR8hvOWSog5g==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/expect-utils@30.2.0':
+ resolution: {integrity: sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/expect@30.2.0':
+ resolution: {integrity: sha512-V9yxQK5erfzx99Sf+7LbhBwNWEZ9eZay8qQ9+JSC0TrMR1pMDHLMY+BnVPacWU6Jamrh252/IKo4F1Xn/zfiqA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/fake-timers@30.2.0':
+ resolution: {integrity: sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/get-type@30.1.0':
+ resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/globals@30.2.0':
+ resolution: {integrity: sha512-b63wmnKPaK+6ZZfpYhz9K61oybvbI1aMcIs80++JI1O1rR1vaxHUCNqo3ITu6NU0d4V34yZFoHMn/uoKr/Rwfw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/pattern@30.0.1':
+ resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/reporters@30.2.0':
+ resolution: {integrity: sha512-DRyW6baWPqKMa9CzeiBjHwjd8XeAyco2Vt8XbcLFjiwCOEKOvy82GJ8QQnJE9ofsxCMPjH4MfH8fCWIHHDKpAQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ '@jest/schemas@30.0.5':
+ resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/snapshot-utils@30.2.0':
+ resolution: {integrity: sha512-0aVxM3RH6DaiLcjj/b0KrIBZhSX1373Xci4l3cW5xiUWPctZ59zQ7jj4rqcJQ/Z8JuN/4wX3FpJSa3RssVvCug==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/source-map@30.0.1':
+ resolution: {integrity: sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/test-result@30.2.0':
+ resolution: {integrity: sha512-RF+Z+0CCHkARz5HT9mcQCBulb1wgCP3FBvl9VFokMX27acKphwyQsNuWH3c+ojd1LeWBLoTYoxF0zm6S/66mjg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/test-sequencer@30.2.0':
+ resolution: {integrity: sha512-wXKgU/lk8fKXMu/l5Hog1R61bL4q5GCdT6OJvdAFz1P+QrpoFuLU68eoKuVc4RbrTtNnTL5FByhWdLgOPSph+Q==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/transform@30.2.0':
+ resolution: {integrity: sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/types@30.2.0':
+ resolution: {integrity: sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
'@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
- '@jridgewell/set-array@1.2.1':
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
+ '@jridgewell/source-map@0.3.11':
+ resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==}
- '@jridgewell/source-map@0.3.6':
- resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
- '@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+ '@jridgewell/trace-mapping@0.3.9':
+ resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
'@js-sdsl/ordered-map@4.4.2':
resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==}
- '@keyv/redis@3.0.1':
- resolution: {integrity: sha512-eyqzomQC76LjUOEkPP8rdR2Fk4eZBSS0Ma47i7CNiQuv8NCw3trZvghx8L5Xruk7XPEj/eRAMrAxP//xQFOPdQ==}
- engines: {node: '>= 18'}
-
- '@keyv/serialize@1.0.1':
- resolution: {integrity: sha512-kKXeynfORDGPUEEl2PvTExM2zs+IldC6ZD8jPcfvI351MDNtfMlw9V9s4XZXuJNDK2qR5gbEKxRyoYx3quHUVQ==}
+ '@jsdevtools/ono@7.1.3':
+ resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==}
'@kwsites/file-exists@1.1.1':
resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==}
@@ -1804,432 +1867,1188 @@ packages:
'@kwsites/promise-deferred@1.1.1':
resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==}
- '@logdna/tail-file@2.2.0':
- resolution: {integrity: sha512-XGSsWDweP80Fks16lwkAUIr54ICyBs6PsI4mpfTLQaWgEJRtY9xEV+PeyDpJ+sJEGZxqINlpmAwe/6tS1pP8Ng==}
- engines: {node: '>=10.3.0'}
+ '@libsql/client@0.15.15':
+ resolution: {integrity: sha512-twC0hQxPNHPKfeOv3sNT6u2pturQjLcI+CnpTM0SjRpocEGgfiZ7DWKXLNnsothjyJmDqEsBQJ5ztq9Wlu470w==}
- '@mapbox/node-pre-gyp@1.0.11':
- resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
- hasBin: true
+ '@libsql/core@0.15.15':
+ resolution: {integrity: sha512-C88Z6UKl+OyuKKPwz224riz02ih/zHYI3Ho/LAcVOgjsunIRZoBw7fjRfaH9oPMmSNeQfhGklSG2il1URoOIsA==}
- '@mdi/font@7.4.47':
- resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==}
+ '@libsql/darwin-arm64@0.5.22':
+ resolution: {integrity: sha512-4B8ZlX3nIDPndfct7GNe0nI3Yw6ibocEicWdC4fvQbSs/jdq/RC2oCsoJxJ4NzXkvktX70C1J4FcmmoBy069UA==}
+ cpu: [arm64]
+ os: [darwin]
- '@netlify/functions@2.8.2':
- resolution: {integrity: sha512-DeoAQh8LuNPvBE4qsKlezjKj0PyXDryOFJfJKo3Z1qZLKzQ21sT314KQKPVjfvw6knqijj+IO+0kHXy/TJiqNA==}
- engines: {node: '>=14.0.0'}
+ '@libsql/darwin-x64@0.5.22':
+ resolution: {integrity: sha512-ny2HYWt6lFSIdNFzUFIJ04uiW6finXfMNJ7wypkAD8Pqdm6nAByO+Fdqu8t7sD0sqJGeUCiOg480icjyQ2/8VA==}
+ cpu: [x64]
+ os: [darwin]
- '@netlify/node-cookies@0.1.0':
- resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==}
- engines: {node: ^14.16.0 || >=16.0.0}
+ '@libsql/hrana-client@0.7.0':
+ resolution: {integrity: sha512-OF8fFQSkbL7vJY9rfuegK1R7sPgQ6kFMkDamiEccNUvieQ+3urzfDFI616oPl8V7T9zRmnTkSjMOImYCAVRVuw==}
- '@netlify/serverless-functions-api@1.26.1':
- resolution: {integrity: sha512-q3L9i3HoNfz0SGpTIS4zTcKBbRkxzCRpd169eyiTuk3IwcPC3/85mzLHranlKo2b+HYT0gu37YxGB45aD8A3Tw==}
+ '@libsql/isomorphic-fetch@0.3.1':
+ resolution: {integrity: sha512-6kK3SUK5Uu56zPq/Las620n5aS9xJq+jMBcNSOmjhNf/MUvdyji4vrMTqD7ptY7/4/CAVEAYDeotUz60LNQHtw==}
engines: {node: '>=18.0.0'}
- '@noble/hashes@1.4.0':
- resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==}
- engines: {node: '>= 16'}
-
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
-
- '@npmcli/agent@2.2.2':
- resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@libsql/isomorphic-ws@0.1.5':
+ resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==}
- '@npmcli/arborist@7.5.4':
- resolution: {integrity: sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==}
- engines: {node: ^16.14.0 || >=18.0.0}
- hasBin: true
+ '@libsql/linux-arm-gnueabihf@0.5.22':
+ resolution: {integrity: sha512-3Uo3SoDPJe/zBnyZKosziRGtszXaEtv57raWrZIahtQDsjxBVjuzYQinCm9LRCJCUT5t2r5Z5nLDPJi2CwZVoA==}
+ cpu: [arm]
+ os: [linux]
- '@npmcli/fs@3.1.1':
- resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@libsql/linux-arm-musleabihf@0.5.22':
+ resolution: {integrity: sha512-LCsXh07jvSojTNJptT9CowOzwITznD+YFGGW+1XxUr7fS+7/ydUrpDfsMX7UqTqjm7xG17eq86VkWJgHJfvpNg==}
+ cpu: [arm]
+ os: [linux]
- '@npmcli/git@5.0.8':
- resolution: {integrity: sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@libsql/linux-arm64-gnu@0.5.22':
+ resolution: {integrity: sha512-KSdnOMy88c9mpOFKUEzPskSaF3VLflfSUCBwas/pn1/sV3pEhtMF6H8VUCd2rsedwoukeeCSEONqX7LLnQwRMA==}
+ cpu: [arm64]
+ os: [linux]
- '@npmcli/installed-package-contents@2.1.0':
- resolution: {integrity: sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- hasBin: true
+ '@libsql/linux-arm64-musl@0.5.22':
+ resolution: {integrity: sha512-mCHSMAsDTLK5YH//lcV3eFEgiR23Ym0U9oEvgZA0667gqRZg/2px+7LshDvErEKv2XZ8ixzw3p1IrBzLQHGSsw==}
+ cpu: [arm64]
+ os: [linux]
- '@npmcli/map-workspaces@3.0.6':
- resolution: {integrity: sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@libsql/linux-x64-gnu@0.5.22':
+ resolution: {integrity: sha512-kNBHaIkSg78Y4BqAdgjcR2mBilZXs4HYkAmi58J+4GRwDQZh5fIUWbnQvB9f95DkWUIGVeenqLRFY2pcTmlsew==}
+ cpu: [x64]
+ os: [linux]
- '@npmcli/metavuln-calculator@7.1.1':
- resolution: {integrity: sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@libsql/linux-x64-musl@0.5.22':
+ resolution: {integrity: sha512-UZ4Xdxm4pu3pQXjvfJiyCzZop/9j/eA2JjmhMaAhe3EVLH2g11Fy4fwyUp9sT1QJYR1kpc2JLuybPM0kuXv/Tg==}
+ cpu: [x64]
+ os: [linux]
- '@npmcli/name-from-folder@2.0.0':
- resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@libsql/win32-x64-msvc@0.5.22':
+ resolution: {integrity: sha512-Fj0j8RnBpo43tVZUVoNK6BV/9AtDUM5S7DF3LB4qTYg1LMSZqi3yeCneUTLJD6XomQJlZzbI4mst89yspVSAnA==}
+ cpu: [x64]
+ os: [win32]
- '@npmcli/node-gyp@3.0.0':
- resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@logdna/tail-file@2.2.0':
+ resolution: {integrity: sha512-XGSsWDweP80Fks16lwkAUIr54ICyBs6PsI4mpfTLQaWgEJRtY9xEV+PeyDpJ+sJEGZxqINlpmAwe/6tS1pP8Ng==}
+ engines: {node: '>=10.3.0'}
- '@npmcli/package-json@5.2.0':
- resolution: {integrity: sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@lukeed/csprng@1.1.0':
+ resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==}
+ engines: {node: '>=8'}
- '@npmcli/promise-spawn@7.0.2':
- resolution: {integrity: sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@mapbox/node-pre-gyp@2.0.0':
+ resolution: {integrity: sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==}
+ engines: {node: '>=18'}
+ hasBin: true
- '@npmcli/query@3.1.0':
- resolution: {integrity: sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@mdi/font@7.4.47':
+ resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==}
- '@npmcli/redact@2.0.1':
- resolution: {integrity: sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@microsoft/tsdoc@0.15.1':
+ resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==}
- '@npmcli/run-script@8.1.0':
- resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@mikro-orm/cli@6.5.8':
+ resolution: {integrity: sha512-QM3Pvnu833XbnB8eUlnH2sTq5FEkeMbGqXwOWREY6A8Od/PPRtVmBsKsGS3pX88gz7e03pZnwRW7NNy38V9zdA==}
+ engines: {node: '>= 18.12.0'}
+ hasBin: true
- '@nuxt/devalue@2.0.2':
- resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==}
+ '@mikro-orm/core@6.5.8':
+ resolution: {integrity: sha512-0jym5Pd7AwjpzsgPvs5c1WhrqqsfD2K32UcDmsN0CVU0uXCgKKEfXWnAHsesvUBghg0pKzFhTonI2G6I1GYYUA==}
+ engines: {node: '>= 18.12.0'}
- '@nuxt/devtools-kit@1.3.14':
- resolution: {integrity: sha512-mLPuCf5nFYLm/1JD0twt8qfFGwoVhTRA4Zx9CPiyWCQNf7XJXb3TfhCm89vHpcPP+9T6ulZxRJp+JZETjXY8+A==}
+ '@mikro-orm/knex@6.5.8':
+ resolution: {integrity: sha512-/+/jc5zlOgdRlq/SC5RHGdIgrJw7TsGSICumYq6+dauYq2ChMHw3rrN1mW7bKkS/A2oB8eabyNyUj2WKOC3PKA==}
+ engines: {node: '>= 18.12.0'}
peerDependencies:
- vite: '*'
+ '@mikro-orm/core': ^6.0.0
+ better-sqlite3: '*'
+ libsql: '*'
+ mariadb: '*'
+ peerDependenciesMeta:
+ better-sqlite3:
+ optional: true
+ libsql:
+ optional: true
+ mariadb:
+ optional: true
- '@nuxt/devtools-kit@1.6.0':
- resolution: {integrity: sha512-kJ8mVKwTSN3tdEVNy7mxKCiQk9wsG5t3oOrRMWk6IEbTSov+5sOULqQSM/+OWxWsEDmDfA7QlS5sM3Ti9uMRqQ==}
+ '@mikro-orm/libsql@6.5.8':
+ resolution: {integrity: sha512-dWJf9wIcFhYNF3zodYQVMp+9ZglxAz+5Gp75bV3yBlEAKGWBxUgnX8vpTl1ZoU+2zzpZYOVvLw0cggecQa3iVQ==}
+ engines: {node: '>= 18.12.0'}
peerDependencies:
- vite: '*'
+ '@mikro-orm/core': ^6.0.0
- '@nuxt/devtools-wizard@1.3.14':
- resolution: {integrity: sha512-5kLB53/7YUME6Y8byrOxRhl0hXWm05jPStJd1CJHKDcGrp+hjxYZaSgEwYtEIQ0A1GF04rfL4bJ+qIL+7e0+9Q==}
- hasBin: true
-
- '@nuxt/devtools-wizard@1.6.0':
- resolution: {integrity: sha512-n+mzz5NwnKZim0tq1oBi+x1nNXb21fp7QeBl7bYKyDT1eJ0XCxFkVTr/kB/ddkkLYZ+o8TykpeNPa74cN+xAyQ==}
- hasBin: true
+ '@mikro-orm/migrations@6.5.8':
+ resolution: {integrity: sha512-KQu+dovQ0KMooGzoBb8FP8n32AvrdN5NB4pGFmT6AxNchSnRxeLDRSN2aHDHHMwu+Duy0HgXnMgQ540VZ0ioqQ==}
+ engines: {node: '>= 18.12.0'}
+ peerDependencies:
+ '@mikro-orm/core': ^6.0.0
- '@nuxt/devtools@1.3.14':
- resolution: {integrity: sha512-ebeVWBisXbhJ7begAZTgSDF8cPbExHv4RPDb9fWTMI1YoVVxX+elqUPw0K6T5Yi4atdGhyxRtGMqjikl7QKp9w==}
- hasBin: true
+ '@mikro-orm/nestjs@6.1.1':
+ resolution: {integrity: sha512-aluD3eTeuCvIePDk5UBanHIhu1zAJQXqWAg47MZdHJmFkNuXn62DCXbD2c4X5TCpKW/m0zjba22ilyZ/AFG9qg==}
+ engines: {node: '>= 18.12.0'}
peerDependencies:
- vite: '*'
+ '@mikro-orm/core': ^6.0.0 || ^6.0.0-dev.0 || ^7.0.0-dev.0
+ '@nestjs/common': ^10.0.0 || ^11.0.5
+ '@nestjs/core': ^10.0.0 || ^11.0.5
- '@nuxt/devtools@1.6.0':
- resolution: {integrity: sha512-xNorMapzpM8HaW7NnAsEEO38OrmrYBzGvkkqfBU5nNh5XEymmIfCbQc7IA/GIOH9pXOV4gRutCjHCWXHYbOl3A==}
- hasBin: true
+ '@mikro-orm/postgresql@6.5.8':
+ resolution: {integrity: sha512-NeQqI8J/QyzqgLPvdOd26TSkefYjLUfFeLUEQ2DeT/yKJd/SF0re1OfYZrqsKve8VIz8MHu6HiVBvz3iZvhfDw==}
+ engines: {node: '>= 18.12.0'}
peerDependencies:
- vite: '*'
+ '@mikro-orm/core': ^6.0.0
- '@nuxt/eslint-config@0.6.1':
- resolution: {integrity: sha512-AgWCX4iZtUgEiuTi+Azt5/zl8gAwW421BzhkcHmVzCVJgyKvZHNrrWUmlwwbE7iD9ZydKGSPeszSxBehf6F5jA==}
+ '@mikro-orm/reflection@6.5.8':
+ resolution: {integrity: sha512-Dgq5BE7tx/yguv9n42zv9ysxuo9N2GORugrMTkO/Y1jo6Yxnde2EmzHjeUhakoWwirkKZ3u/wCHxBZtQgti0xQ==}
+ engines: {node: '>= 18.12.0'}
peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
+ '@mikro-orm/core': ^6.0.0
- '@nuxt/eslint-plugin@0.6.1':
- resolution: {integrity: sha512-fg8NWhiksBEgTQEQrTNbmgmVQFKDXZh+QaivTyxiBLSct8WXBp6d6/3586SIzKzBQFtP62xThK3yzy0AjMHs2Q==}
+ '@mikro-orm/seeder@6.5.8':
+ resolution: {integrity: sha512-EVfXNJ+Q7I1jKLlYwWDdQ/67DxhuBSfS2U/XKKo/+uEaxGBl5vDe8kV3RNRwx8I9x6DHsQpt1NzJL+JS3fSt3w==}
+ engines: {node: '>= 18.12.0'}
peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
+ '@mikro-orm/core': ^6.0.0
- '@nuxt/kit@3.13.0':
- resolution: {integrity: sha512-gbhSbDvYfkGQ0R2ztqTLQLHRMv+7g50kAKKuN6mbF4tL9jg7NPnQ8bAarn2I4Qx8xtmwO+qY1ABkmYMn5S1CpA==}
- engines: {node: ^14.18.0 || >=16.10.0}
+ '@mikro-orm/sql-highlighter@1.0.1':
+ resolution: {integrity: sha512-iO+FwRNuqNDVlIo5zfgOu2mMGVicX/FqzP+F/A0xpJLHyqvWyXzVwntgAMimBjQaxiX9Rpmc0u3Jq6/A6V6JQA==}
+ engines: {node: '>= 10.13.0'}
- '@nuxt/kit@3.14.159':
- resolution: {integrity: sha512-ZqxsCI1NKV/gjfEUUZjMcr82sg0MKYZOuyB6bu9QY5Zr7NGpfIZY/z5Z822AKTmFxKGChnuz9M0UaS4ze6p42g==}
- engines: {node: ^14.18.0 || >=16.10.0}
+ '@napi-rs/wasm-runtime@0.2.12':
+ resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
- '@nuxt/schema@3.13.0':
- resolution: {integrity: sha512-JBGSjF9Hd8guvTV2312eM1RulCMJc50yR3CeMZPLDsI02A8TXQnABS8EbgvGRvxD43q/ITjj21B2ffG1wEVrnQ==}
- engines: {node: ^14.18.0 || >=16.10.0}
+ '@napi-rs/wasm-runtime@1.0.7':
+ resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==}
- '@nuxt/schema@3.14.159':
- resolution: {integrity: sha512-ggXA3F2f9udQoEy5WwrY6bTMvpDaErUYRLSEzdMqqCqjOQ5manfFgfuScGj3ooZiXLIX2TGLVTzcll4nnpDlnQ==}
- engines: {node: ^14.18.0 || >=16.10.0}
+ '@neon-rs/load@0.0.4':
+ resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==}
- '@nuxt/telemetry@2.6.0':
- resolution: {integrity: sha512-h4YJ1d32cU7tDKjjhjtIIEck4WF/w3DTQBT348E9Pz85YLttnLqktLM0Ez9Xc2LzCeUgBDQv1el7Ob/zT3KUqg==}
+ '@nestjs/cli@11.0.10':
+ resolution: {integrity: sha512-4waDT0yGWANg0pKz4E47+nUrqIJv/UqrZ5wLPkCqc7oMGRMWKAaw1NDZ9rKsaqhqvxb2LfI5+uXOWr4yi94DOQ==}
+ engines: {node: '>= 20.11'}
hasBin: true
-
- '@nuxt/vite-builder@3.13.0':
- resolution: {integrity: sha512-FVIpT5wTxGcU3JDFxIyvT6isSZUujVKavQyPo3kgOQKWURDcBcvVY4HdJIVMsSIcaXafH13RZc5RKLlxfIGFdQ==}
- engines: {node: ^14.18.0 || >=16.10.0}
peerDependencies:
- vue: ^3.3.4
-
+ '@swc/cli': ^0.1.62 || ^0.3.0 || ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0
+ '@swc/core': ^1.3.62
+ peerDependenciesMeta:
+ '@swc/cli':
+ optional: true
+ '@swc/core':
+ optional: true
+
+ '@nestjs/common@11.1.6':
+ resolution: {integrity: sha512-krKwLLcFmeuKDqngG2N/RuZHCs2ycsKcxWIDgcm7i1lf3sQ0iG03ci+DsP/r3FcT/eJDFsIHnKtNta2LIi7PzQ==}
+ peerDependencies:
+ class-transformer: '>=0.4.1'
+ class-validator: '>=0.13.2'
+ reflect-metadata: ^0.1.12 || ^0.2.0
+ rxjs: ^7.1.0
+ peerDependenciesMeta:
+ class-transformer:
+ optional: true
+ class-validator:
+ optional: true
+
+ '@nestjs/config@4.0.2':
+ resolution: {integrity: sha512-McMW6EXtpc8+CwTUwFdg6h7dYcBUpH5iUILCclAsa+MbCEvC9ZKu4dCHRlJqALuhjLw97pbQu62l4+wRwGeZqA==}
+ peerDependencies:
+ '@nestjs/common': ^10.0.0 || ^11.0.0
+ rxjs: ^7.1.0
+
+ '@nestjs/core@11.1.6':
+ resolution: {integrity: sha512-siWX7UDgErisW18VTeJA+x+/tpNZrJewjTBsRPF3JVxuWRuAB1kRoiJcxHgln8Lb5UY9NdvklITR84DUEXD0Cg==}
+ engines: {node: '>= 20'}
+ peerDependencies:
+ '@nestjs/common': ^11.0.0
+ '@nestjs/microservices': ^11.0.0
+ '@nestjs/platform-express': ^11.0.0
+ '@nestjs/websockets': ^11.0.0
+ reflect-metadata: ^0.1.12 || ^0.2.0
+ rxjs: ^7.1.0
+ peerDependenciesMeta:
+ '@nestjs/microservices':
+ optional: true
+ '@nestjs/platform-express':
+ optional: true
+ '@nestjs/websockets':
+ optional: true
+
+ '@nestjs/jwt@11.0.1':
+ resolution: {integrity: sha512-HXSsc7SAnCnjA98TsZqrE7trGtHDnYXWp4Ffy6LwSmck1QvbGYdMzBquXofX5l6tIRpeY4Qidl2Ti2CVG77Pdw==}
+ peerDependencies:
+ '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0
+
+ '@nestjs/mapped-types@2.1.0':
+ resolution: {integrity: sha512-W+n+rM69XsFdwORF11UqJahn4J3xi4g/ZEOlJNL6KoW5ygWSmBB2p0S2BZ4FQeS/NDH72e6xIcu35SfJnE8bXw==}
+ peerDependencies:
+ '@nestjs/common': ^10.0.0 || ^11.0.0
+ class-transformer: ^0.4.0 || ^0.5.0
+ class-validator: ^0.13.0 || ^0.14.0
+ reflect-metadata: ^0.1.12 || ^0.2.0
+ peerDependenciesMeta:
+ class-transformer:
+ optional: true
+ class-validator:
+ optional: true
+
+ '@nestjs/passport@11.0.5':
+ resolution: {integrity: sha512-ulQX6mbjlws92PIM15Naes4F4p2JoxGnIJuUsdXQPT+Oo2sqQmENEZXM7eYuimocfHnKlcfZOuyzbA33LwUlOQ==}
+ peerDependencies:
+ '@nestjs/common': ^10.0.0 || ^11.0.0
+ passport: ^0.5.0 || ^0.6.0 || ^0.7.0
+
+ '@nestjs/platform-express@11.1.6':
+ resolution: {integrity: sha512-HErwPmKnk+loTq8qzu1up+k7FC6Kqa8x6lJ4cDw77KnTxLzsCaPt+jBvOq6UfICmfqcqCCf3dKXg+aObQp+kIQ==}
+ peerDependencies:
+ '@nestjs/common': ^11.0.0
+ '@nestjs/core': ^11.0.0
+
+ '@nestjs/schematics@11.0.9':
+ resolution: {integrity: sha512-0NfPbPlEaGwIT8/TCThxLzrlz3yzDNkfRNpbL7FiplKq3w4qXpJg0JYwqgMEJnLQZm3L/L/5XjoyfJHUO3qX9g==}
+ peerDependencies:
+ typescript: '>=4.8.2'
+
+ '@nestjs/serve-static@5.0.4':
+ resolution: {integrity: sha512-3kO1M9D3vsPyWPFardxIjUYeuolS58PnhCoBTkS7t3BrdZFZCKHnBZ15js+UOzOR2Q6HmD7ssGjLd0DVYVdvOw==}
+ peerDependencies:
+ '@fastify/static': ^8.0.4
+ '@nestjs/common': ^11.0.2
+ '@nestjs/core': ^11.0.2
+ express: ^5.0.1
+ fastify: ^5.2.1
+ peerDependenciesMeta:
+ '@fastify/static':
+ optional: true
+ express:
+ optional: true
+ fastify:
+ optional: true
+
+ '@nestjs/swagger@11.2.0':
+ resolution: {integrity: sha512-5wolt8GmpNcrQv34tIPUtPoV1EeFbCetm40Ij3+M0FNNnf2RJ3FyWfuQvI8SBlcJyfaounYVTKzKHreFXsUyOg==}
+ peerDependencies:
+ '@fastify/static': ^8.0.0
+ '@nestjs/common': ^11.0.1
+ '@nestjs/core': ^11.0.1
+ class-transformer: '*'
+ class-validator: '*'
+ reflect-metadata: ^0.1.12 || ^0.2.0
+ peerDependenciesMeta:
+ '@fastify/static':
+ optional: true
+ class-transformer:
+ optional: true
+ class-validator:
+ optional: true
+
+ '@nestjs/testing@11.1.6':
+ resolution: {integrity: sha512-srYzzDNxGvVCe1j0SpTS9/ix75PKt6Sn6iMaH1rpJ6nj2g8vwNrhK0CoJJXvpCYgrnI+2WES2pprYnq8rAMYHA==}
+ peerDependencies:
+ '@nestjs/common': ^11.0.0
+ '@nestjs/core': ^11.0.0
+ '@nestjs/microservices': ^11.0.0
+ '@nestjs/platform-express': ^11.0.0
+ peerDependenciesMeta:
+ '@nestjs/microservices':
+ optional: true
+ '@nestjs/platform-express':
+ optional: true
+
+ '@nestjs/throttler@6.4.0':
+ resolution: {integrity: sha512-osL67i0PUuwU5nqSuJjtUJZMkxAnYB4VldgYUMGzvYRJDCqGRFMWbsbzm/CkUtPLRL30I8T74Xgt/OQxnYokiA==}
+ peerDependencies:
+ '@nestjs/common': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0
+ '@nestjs/core': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0
+ reflect-metadata: ^0.1.13 || ^0.2.0
+
+ '@noble/hashes@1.8.0':
+ resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==}
+ engines: {node: ^14.21.3 || >=16}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@npmcli/agent@2.2.2':
+ resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/arborist@7.5.4':
+ resolution: {integrity: sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+ hasBin: true
+
+ '@npmcli/fs@3.1.1':
+ resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/git@5.0.8':
+ resolution: {integrity: sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/installed-package-contents@2.1.0':
+ resolution: {integrity: sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+
+ '@npmcli/map-workspaces@3.0.6':
+ resolution: {integrity: sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/metavuln-calculator@7.1.1':
+ resolution: {integrity: sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/name-from-folder@2.0.0':
+ resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/node-gyp@3.0.0':
+ resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/package-json@5.2.1':
+ resolution: {integrity: sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/promise-spawn@7.0.2':
+ resolution: {integrity: sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/query@3.1.0':
+ resolution: {integrity: sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/redact@2.0.1':
+ resolution: {integrity: sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/run-script@8.1.0':
+ resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@nuxt/cli@3.29.3':
+ resolution: {integrity: sha512-48GYmH4SyzR5pqd02UXVzBfrvEGaurPKMjSWxlHgqnpI5buwOYCvH+OqvHOmvnLrDP2bxR9hbDod/UIphOjMhg==}
+ engines: {node: ^16.10.0 || >=18.0.0}
+ hasBin: true
+
+ '@nuxt/devalue@2.0.2':
+ resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==}
+
+ '@nuxt/devtools-kit@2.6.5':
+ resolution: {integrity: sha512-t+NxoENyzJ8KZDrnbVYv3FJI5VXqSi6X4w6ZsuIIh0aKABu6+6k9nR/LoEhrM0oekn/2LDhA0NmsRZyzCXt2xQ==}
+ peerDependencies:
+ vite: '>=6.0'
+
+ '@nuxt/devtools-wizard@2.6.5':
+ resolution: {integrity: sha512-nYYGxT4lmQDvfHL6qolNWLu0QTavsdN/98F57falPuvdgs5ev1NuYsC12hXun+5ENcnigEcoM9Ij92qopBgqmQ==}
+ hasBin: true
+
+ '@nuxt/devtools@2.6.5':
+ resolution: {integrity: sha512-Xh9XF1SzCTL5Zj6EULqsN2UjiNj4zWuUpS69rGAy5C55UTaj+Wn46IkDc6Q0+EKkGI279zlG6SzPRFawqPPUEw==}
+ hasBin: true
+ peerDependencies:
+ vite: '>=6.0'
+
+ '@nuxt/eslint-config@1.9.0':
+ resolution: {integrity: sha512-KLiYlX/MmWR9dhC0u7GSZQl6wyVLGAHme5aAL5fAUT1PLYgcFiJIUg1Z+b296LmwHGTa+oGPRBIk3yoDmX9/9Q==}
+ peerDependencies:
+ eslint: ^9.0.0
+ eslint-plugin-format: '*'
+ peerDependenciesMeta:
+ eslint-plugin-format:
+ optional: true
+
+ '@nuxt/eslint-plugin@1.9.0':
+ resolution: {integrity: sha512-DY4ZSavgFyKQxI/NCOpSCUHg3dpS2O4lAdic5UmvP2NWj1xwtvmA9UwEZQ2nW2/f/Km6N+Q53UsgFSIBjz8jDQ==}
+ peerDependencies:
+ eslint: ^9.0.0
+
+ '@nuxt/kit@3.19.3':
+ resolution: {integrity: sha512-ze46EW5xW+UxDvinvPkYt2MzR355Az1lA3bpX8KDialgnCwr+IbkBij/udbUEC6ZFbidPkfK1eKl4ESN7gMY+w==}
+ engines: {node: '>=18.12.0'}
+
+ '@nuxt/kit@4.1.2':
+ resolution: {integrity: sha512-P5q41xeEOa6ZQC0PvIP7TSBmOAMxXK4qihDcCbYIJq8RcVsEPbGZVlidmxE6EOw1ucSyodq9nbV31FAKwoL4NQ==}
+ engines: {node: '>=18.12.0'}
+
+ '@nuxt/opencollective@0.4.1':
+ resolution: {integrity: sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ==}
+ engines: {node: ^14.18.0 || >=16.10.0, npm: '>=5.10.0'}
+ hasBin: true
+
+ '@nuxt/schema@4.1.2':
+ resolution: {integrity: sha512-uFr13C6c52OFbF3hZVIV65KvhQRyrwp1GlAm7EVNGjebY8279QEel57T4R9UA1dn2Et6CBynBFhWoFwwo97Pig==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
+ '@nuxt/telemetry@2.6.6':
+ resolution: {integrity: sha512-Zh4HJLjzvm3Cq9w6sfzIFyH9ozK5ePYVfCUzzUQNiZojFsI2k1QkSBrVI9BGc6ArKXj/O6rkI6w7qQ+ouL8Cag==}
+ engines: {node: '>=18.12.0'}
+ hasBin: true
+
+ '@nuxt/vite-builder@4.1.2':
+ resolution: {integrity: sha512-to9NKVtzMBtyuhIIVgwo/ph5UCONcxkVsoAjm8HnSkDi0o9nDPhHOAg1AUMlvPnHpdXOzwnSrXo/t8E7W+UZ/A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ peerDependencies:
+ vue: ^3.3.4
+
'@nuxtjs/google-fonts@3.2.0':
resolution: {integrity: sha512-cGAjDJoeQ2jm6VJCo4AtSmKO6KjsbO9RSLj8q261fD0lMVNMZCxkCxBkg8L0/2Vfgp+5QBHWVXL71p1tiybJFw==}
- '@one-ini/wasm@0.1.1':
- resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==}
+ '@opentelemetry/api-logs@0.204.0':
+ resolution: {integrity: sha512-DqxY8yoAaiBPivoJD4UtgrMS8gEmzZ5lnaxzPojzLVHBGqPxgWm4zcuvcUHZiqQ6kRX2Klel2r9y8cA2HAtqpw==}
+ engines: {node: '>=8.0.0'}
- '@opentelemetry/api-logs@0.52.1':
- resolution: {integrity: sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==}
+ '@opentelemetry/api-logs@0.55.0':
+ resolution: {integrity: sha512-3cpa+qI45VHYcA5c0bHM6VHo9gicv3p5mlLHNG3rLyjQU8b7e0st1rWtrUn3JbZ3DwwCfhKop4eQ9UuYlC6Pkg==}
+ engines: {node: '>=14'}
+
+ '@opentelemetry/api-logs@0.57.2':
+ resolution: {integrity: sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A==}
engines: {node: '>=14'}
'@opentelemetry/api@1.9.0':
resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==}
engines: {node: '>=8.0.0'}
- '@opentelemetry/context-async-hooks@1.25.1':
- resolution: {integrity: sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ==}
+ '@opentelemetry/context-async-hooks@1.30.1':
+ resolution: {integrity: sha512-s5vvxXPVdjqS3kTLKMeBMvop9hbWkwzBpu+mUO2M7sZtlkyDJGwFe33wRKnbaYDo8ExRVBIIdwIGrqpxHuKttA==}
engines: {node: '>=14'}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/core@1.25.1':
- resolution: {integrity: sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==}
+ '@opentelemetry/context-async-hooks@2.1.0':
+ resolution: {integrity: sha512-zOyetmZppnwTyPrt4S7jMfXiSX9yyfF0hxlA8B5oo2TtKl+/RGCy7fi4DrBfIf3lCPrkKsRBWZZD7RFojK7FDg==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/core@1.30.1':
+ resolution: {integrity: sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==}
engines: {node: '>=14'}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/exporter-zipkin@1.25.1':
- resolution: {integrity: sha512-RmOwSvkimg7ETwJbUOPTMhJm9A9bG1U8s7Zo3ajDh4zM7eYcycQ0dM7FbLD6NXWbI2yj7UY4q8BKinKYBQksyw==}
+ '@opentelemetry/core@2.1.0':
+ resolution: {integrity: sha512-RMEtHsxJs/GiHHxYT58IY57UXAQTuUnZVco6ymDEqTNlJKTimM4qPUPVe8InNFyBjhHBEAx4k3Q8LtNayBsbUQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/exporter-zipkin@1.30.1':
+ resolution: {integrity: sha512-6S2QIMJahIquvFaaxmcwpvQQRD/YFaMTNoIxrfPIPOeITN+a8lfEcPDxNxn8JDAaxkg+4EnXhz8upVDYenoQjA==}
engines: {node: '>=14'}
peerDependencies:
'@opentelemetry/api': ^1.0.0
- '@opentelemetry/instrumentation-grpc@0.52.1':
- resolution: {integrity: sha512-EdSDiDSAO+XRXk/ZN128qQpBo1I51+Uay/LUPcPQhSRGf7fBPIEUBeOLQiItguGsug5MGOYjql2w/1wCQF3fdQ==}
+ '@opentelemetry/instrumentation-amqplib@0.51.0':
+ resolution: {integrity: sha512-XGmjYwjVRktD4agFnWBWQXo9SiYHKBxR6Ag3MLXwtLE4R99N3a08kGKM5SC1qOFKIELcQDGFEFT9ydXMH00Luw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-connect@0.48.0':
+ resolution: {integrity: sha512-OMjc3SFL4pC16PeK+tDhwP7MRvDPalYCGSvGqUhX5rASkI2H0RuxZHOWElYeXkV0WP+70Gw6JHWac/2Zqwmhdw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-dataloader@0.22.0':
+ resolution: {integrity: sha512-bXnTcwtngQsI1CvodFkTemrrRSQjAjZxqHVc+CJZTDnidT0T6wt3jkKhnsjU/Kkkc0lacr6VdRpCu2CUWa0OKw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-express@0.53.0':
+ resolution: {integrity: sha512-r/PBafQmFYRjuxLYEHJ3ze1iBnP2GDA1nXOSS6E02KnYNZAVjj6WcDA1MSthtdAUUK0XnotHvvWM8/qz7DMO5A==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-fs@0.24.0':
+ resolution: {integrity: sha512-HjIxJ6CBRD770KNVaTdMXIv29Sjz4C1kPCCK5x1Ujpc6SNnLGPqUVyJYZ3LUhhnHAqdbrl83ogVWjCgeT4Q0yw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-generic-pool@0.48.0':
+ resolution: {integrity: sha512-TLv/On8pufynNR+pUbpkyvuESVASZZKMlqCm4bBImTpXKTpqXaJJ3o/MUDeMlM91rpen+PEv2SeyOKcHCSlgag==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-graphql@0.52.0':
+ resolution: {integrity: sha512-3fEJ8jOOMwopvldY16KuzHbRhPk8wSsOTSF0v2psmOCGewh6ad+ZbkTx/xyUK9rUdUMWAxRVU0tFpj4Wx1vkPA==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-grpc@0.55.0':
+ resolution: {integrity: sha512-n2ZH4pRwOy0Vhag/3eKqiyDBwcpUnGgJI9iiIRX7vivE0FMncaLazWphNFezRRaM/LuKwq1TD8pVUvieP68mow==}
engines: {node: '>=14'}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/instrumentation@0.52.1':
- resolution: {integrity: sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==}
+ '@opentelemetry/instrumentation-hapi@0.51.0':
+ resolution: {integrity: sha512-qyf27DaFNL1Qhbo/da+04MSCw982B02FhuOS5/UF+PMhM61CcOiu7fPuXj8TvbqyReQuJFljXE6UirlvoT/62g==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-http@0.204.0':
+ resolution: {integrity: sha512-1afJYyGRA4OmHTv0FfNTrTAzoEjPQUYgd+8ih/lX0LlZBnGio/O80vxA0lN3knsJPS7FiDrsDrWq25K7oAzbkw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-ioredis@0.52.0':
+ resolution: {integrity: sha512-rUvlyZwI90HRQPYicxpDGhT8setMrlHKokCtBtZgYxQWRF5RBbG4q0pGtbZvd7kyseuHbFpA3I/5z7M8b/5ywg==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-kafkajs@0.14.0':
+ resolution: {integrity: sha512-kbB5yXS47dTIdO/lfbbXlzhvHFturbux4EpP0+6H78Lk0Bn4QXiZQW7rmZY1xBCY16mNcCb8Yt0mhz85hTnSVA==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-knex@0.49.0':
+ resolution: {integrity: sha512-NKsRRT27fbIYL4Ix+BjjP8h4YveyKc+2gD6DMZbr5R5rUeDqfC8+DTfIt3c3ex3BIc5Vvek4rqHnN7q34ZetLQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-koa@0.52.0':
+ resolution: {integrity: sha512-JJSBYLDx/mNSy8Ibi/uQixu2rH0bZODJa8/cz04hEhRaiZQoeJ5UrOhO/mS87IdgVsHrnBOsZ6vDu09znupyuA==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-lru-memoizer@0.49.0':
+ resolution: {integrity: sha512-ctXu+O/1HSadAxtjoEg2w307Z5iPyLOMM8IRNwjaKrIpNAthYGSOanChbk1kqY6zU5CrpkPHGdAT6jk8dXiMqw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mongodb@0.57.0':
+ resolution: {integrity: sha512-KD6Rg0KSHWDkik+qjIOWoksi1xqSpix8TSPfquIK1DTmd9OTFb5PHmMkzJe16TAPVEuElUW8gvgP59cacFcrMQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mongoose@0.51.0':
+ resolution: {integrity: sha512-gwWaAlhhV2By7XcbyU3DOLMvzsgeaymwP/jktDC+/uPkCmgB61zurwqOQdeiRq9KAf22Y2dtE5ZLXxytJRbEVA==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mysql2@0.51.0':
+ resolution: {integrity: sha512-zT2Wg22Xn43RyfU3NOUmnFtb5zlDI0fKcijCj9AcK9zuLZ4ModgtLXOyBJSSfO+hsOCZSC1v/Fxwj+nZJFdzLQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mysql@0.50.0':
+ resolution: {integrity: sha512-duKAvMRI3vq6u9JwzIipY9zHfikN20bX05sL7GjDeLKr2qV0LQ4ADtKST7KStdGcQ+MTN5wghWbbVdLgNcB3rA==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-nestjs-core@0.50.0':
+ resolution: {integrity: sha512-10u2Gjw260W8vdUem6pM7ENrb8i+UAyrgouhjN7HRdQYh9rcit51tRhgrI52fxTsRjrrBNIItHkX0YM8WnEU2w==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-pg@0.57.0':
+ resolution: {integrity: sha512-dWLGE+r5lBgm2A8SaaSYDE3OKJ/kwwy5WLyGyzor8PLhUL9VnJRiY6qhp4njwhnljiLtzeffRtG2Mf/YyWLeTw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-redis@0.53.0':
+ resolution: {integrity: sha512-WUHV8fr+8yo5RmzyU7D5BIE1zwiaNQcTyZPwtxlfr7px6NYYx7IIpSihJK7WA60npWynfxxK1T67RAVF0Gdfjg==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-tedious@0.23.0':
+ resolution: {integrity: sha512-3TMTk/9VtlRonVTaU4tCzbg4YqW+Iq/l5VnN2e5whP6JgEg/PKfrGbqQ+CxQWNLfLaQYIUgEZqAn5gk/inh1uQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-undici@0.15.0':
+ resolution: {integrity: sha512-sNFGA/iCDlVkNjzTzPRcudmI11vT/WAfAguRdZY9IspCw02N4WSC72zTuQhSMheh2a1gdeM9my1imnKRvEEvEg==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.7.0
+
+ '@opentelemetry/instrumentation@0.204.0':
+ resolution: {integrity: sha512-vV5+WSxktzoMP8JoYWKeopChy6G3HKk4UQ2hESCRDUUTZqQ3+nM3u8noVG0LmNfRWwcFBnbZ71GKC7vaYYdJ1g==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation@0.55.0':
+ resolution: {integrity: sha512-YDCMlaQRZkziLL3t6TONRgmmGxDx6MyQDXRD0dknkkgUZtOK5+8MWft1OXzmNu6XfBOdT12MKN5rz+jHUkafKQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation@0.57.2':
+ resolution: {integrity: sha512-BdBGhQBh8IjZ2oIIX6F2/Q3LKm/FDDKi6ccYKcBTeilh6SNdNKveDOLk73BkSJjQLJk6qe4Yh+hHw1UPhCDdrg==}
engines: {node: '>=14'}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/propagator-b3@1.25.1':
- resolution: {integrity: sha512-p6HFscpjrv7//kE+7L+3Vn00VEDUJB0n6ZrjkTYHrJ58QZ8B3ajSJhRbCcY6guQ3PDjTbxWklyvIN2ojVbIb1A==}
+ '@opentelemetry/propagator-b3@1.30.1':
+ resolution: {integrity: sha512-oATwWWDIJzybAZ4pO76ATN5N6FFbOA1otibAVlS8v90B4S1wClnhRUk7K+2CHAwN1JKYuj4jh/lpCEG5BAqFuQ==}
engines: {node: '>=14'}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/propagator-jaeger@1.25.1':
- resolution: {integrity: sha512-nBprRf0+jlgxks78G/xq72PipVK+4or9Ypntw0gVZYNTCSK8rg5SeaGV19tV920CMqBD/9UIOiFr23Li/Q8tiA==}
+ '@opentelemetry/propagator-jaeger@1.30.1':
+ resolution: {integrity: sha512-Pj/BfnYEKIOImirH76M4hDaBSx6HyZ2CXUqk+Kj02m6BB80c/yo4BdWkn/1gDFfU+YPY+bPR2U0DKBfdxCKwmg==}
engines: {node: '>=14'}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/resources@1.25.1':
- resolution: {integrity: sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==}
+ '@opentelemetry/redis-common@0.38.2':
+ resolution: {integrity: sha512-1BCcU93iwSRZvDAgwUxC/DV4T/406SkMfxGqu5ojc3AvNI+I9GhV7v0J1HljsczuuhcnFLYqD5VmwVXfCGHzxA==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+
+ '@opentelemetry/resources@1.30.1':
+ resolution: {integrity: sha512-5UxZqiAgLYGFjS4s9qm5mBVo433u+dSPUFWVWXmLAD4wB65oMCoXaJP1KJa9DIYYMeHu3z4BZcStG3LC593cWA==}
engines: {node: '>=14'}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/sdk-trace-base@1.25.1':
- resolution: {integrity: sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==}
+ '@opentelemetry/resources@2.1.0':
+ resolution: {integrity: sha512-1CJjf3LCvoefUOgegxi8h6r4B/wLSzInyhGP2UmIBYNlo4Qk5CZ73e1eEyWmfXvFtm1ybkmfb2DqWvspsYLrWw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.3.0 <1.10.0'
+
+ '@opentelemetry/sdk-trace-base@1.30.1':
+ resolution: {integrity: sha512-jVPgBbH1gCy2Lb7X0AVQ8XAfgg0pJ4nvl8/IiQA6nxOsPvS+0zMJaFSs2ltXe0J6C8dqjcnpyqINDJmU30+uOg==}
engines: {node: '>=14'}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/sdk-trace-node@1.25.1':
- resolution: {integrity: sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ==}
+ '@opentelemetry/sdk-trace-base@2.1.0':
+ resolution: {integrity: sha512-uTX9FBlVQm4S2gVQO1sb5qyBLq/FPjbp+tmGoxu4tIgtYGmBYB44+KX/725RFDe30yBSaA9Ml9fqphe1hbUyLQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.3.0 <1.10.0'
+
+ '@opentelemetry/sdk-trace-node@1.30.1':
+ resolution: {integrity: sha512-cBjYOINt1JxXdpw1e5MlHmFRc5fgj4GW/86vsKFxJCJ8AL4PdVtYH41gWwl4qd4uQjqEL1oJVrXkSy5cnduAnQ==}
engines: {node: '>=14'}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/semantic-conventions@1.25.1':
- resolution: {integrity: sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==}
+ '@opentelemetry/semantic-conventions@1.27.0':
+ resolution: {integrity: sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==}
engines: {node: '>=14'}
- '@opentelemetry/semantic-conventions@1.26.0':
- resolution: {integrity: sha512-U9PJlOswJPSgQVPI+XEuNLElyFWkb0hAiMg+DExD9V0St03X2lPHGMdxMY/LrVmoukuIpXJ12oyrOtEZ4uXFkw==}
+ '@opentelemetry/semantic-conventions@1.28.0':
+ resolution: {integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==}
engines: {node: '>=14'}
+ '@opentelemetry/semantic-conventions@1.37.0':
+ resolution: {integrity: sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA==}
+ engines: {node: '>=14'}
+
+ '@opentelemetry/sql-common@0.41.2':
+ resolution: {integrity: sha512-4mhWm3Z8z+i508zQJ7r6Xi7y4mmoJpdvH0fZPFRkWrdp5fq7hhZ2HhYokEOLkfqSMgPR4Z9EyB3DBkbKGOqZiQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+
+ '@oxc-minify/binding-android-arm64@0.87.0':
+ resolution: {integrity: sha512-ZbJmAfXvNAamOSnXId3BiM3DiuzlD1isqKjtmRFb/hpvChHHA23FSPrFcO16w+ugZKg33sZ93FinFkKtlC4hww==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxc-minify/binding-darwin-arm64@0.87.0':
+ resolution: {integrity: sha512-ewmNsTY8YbjWOI8+EOWKTVATOYvG4Qq4zQHH5VFBeqhQPVusY1ORD6Ei+BijVKrnlbpjibLlkTl8IWqXCGK89A==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-minify/binding-darwin-x64@0.87.0':
+ resolution: {integrity: sha512-qDH4w4EYttSC3Cs2VCh+CiMYKrcL2SNmnguBZXoUXe/RNk3csM+RhgcwdpX687xGvOhTFhH5PCIA84qh3ZpIbQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-minify/binding-freebsd-x64@0.87.0':
+ resolution: {integrity: sha512-5kxjHlSev2A09rDeITk+LMHxSrU3Iu8pUb0Zp4m+ul8FKlB9FrvFkAYwbctin6g47O98s3Win7Ewhy0w8JaiUA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxc-minify/binding-linux-arm-gnueabihf@0.87.0':
+ resolution: {integrity: sha512-NjbGXnNaAl5EgyonaDg2cPyH2pTf5a/+AP/5SRCJ0KetpXV22ZSUCvcy04Yt4QqjMcDs+WnJaGVxwx15Ofr6Gw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-minify/binding-linux-arm-musleabihf@0.87.0':
+ resolution: {integrity: sha512-llAjfCA0iV2LMMl+LTR3JhqAc2iQmj+DTKd0VWOrbNOuNczeE9D5kJFkqYplD73LrkuqxrX9oDeUjjeLdVBPXw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-minify/binding-linux-arm64-gnu@0.87.0':
+ resolution: {integrity: sha512-tf2Shom09AaSmu7U1hYYcEFF/cd+20HtmQ8eyGsRkqD5bqUj6lDu8TNSU9FWZ9tcZ83NzyFMwXZWHyeeIIbpxw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-minify/binding-linux-arm64-musl@0.87.0':
+ resolution: {integrity: sha512-pgWeYfSprtpnJVea9Q5eI6Eo80lDGlMw2JdcSMXmShtBjEhBl6bvDNHlV+6kNfh7iT65y/uC6FR8utFrRghu8A==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-minify/binding-linux-riscv64-gnu@0.87.0':
+ resolution: {integrity: sha512-O1QPczlT+lqNZVeKOdFxxL+s1RIlnixaJYFLrcqDcRyn82MGKLz7sAenBTFRQoIfLnSxtMGL6dqHOefYkQx7Cg==}
+ engines: {node: '>=14.0.0'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@oxc-minify/binding-linux-s390x-gnu@0.87.0':
+ resolution: {integrity: sha512-tcwt3ZUWOKfNLXN2edxFVHMlIuPvbuyMaKmRopgljSCfFcNHWhfTNlxlvmECRNhuQ91EcGwte6F1dwoeMCNd7A==}
+ engines: {node: '>=14.0.0'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@oxc-minify/binding-linux-x64-gnu@0.87.0':
+ resolution: {integrity: sha512-Xf4AXF14KXUzSnfgTcFLFSM0TykJhFw14+xwNvlAb6WdqXAKlMrz9joIAezc8dkW1NNscCVTsqBUPJ4RhvCM1Q==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-minify/binding-linux-x64-musl@0.87.0':
+ resolution: {integrity: sha512-LIqvpx9UihEW4n9QbEljDnfUdAWqhr6dRqmzSFwVAeLZRUECluLCDdsdwemrC/aZkvnisA4w0LFcFr3HmeTLJg==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-minify/binding-wasm32-wasi@0.87.0':
+ resolution: {integrity: sha512-h0xluvc+YryfH5G5dndjGHuA/D4Kp85EkPMxqoOjNudOKDCtdobEaC9horhCqnOOQ0lgn+PGFl3w8u4ToOuRrA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@oxc-minify/binding-win32-arm64-msvc@0.87.0':
+ resolution: {integrity: sha512-fgxSx+TUc7e2rNtRAMnhHrjqh1e8p/JKmWxRZXtkILveMr/TOHGiDis7U3JJbwycmTZ+HSsJ/PNFQl+tKzmDxw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-minify/binding-win32-x64-msvc@0.87.0':
+ resolution: {integrity: sha512-K6TTrlitEJgD0FGIW2r0t3CIJNqBkzHT97h49gZLS24ey2UG1zKt27iSHkpXMJYDiG97ZD2yv3pSph1ctMlFXw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ '@oxc-parser/binding-android-arm64@0.87.0':
+ resolution: {integrity: sha512-3APxTyYaAjpW5zifjzfsPgoIa4YHwA5GBjtgLRQpGVXCykXBIEbUTokoAs411ZuOwS3sdTVXBTGAdziXRd8rUg==}
+ engines: {node: '>=20.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxc-parser/binding-darwin-arm64@0.87.0':
+ resolution: {integrity: sha512-99e8E76M+k3Gtwvs5EU3VTs2hQkJmvnrl/eu7HkBUc9jLFHA4nVjYSgukMuqahWe270udUYEPRfcWKmoE1Nukg==}
+ engines: {node: '>=20.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-parser/binding-darwin-x64@0.87.0':
+ resolution: {integrity: sha512-2rRo6Dz560/4ot5Q0KPUTEunEObkP8mDC9mMiH0RJk1FiOb9c+xpPbkYoUHNKuVMm8uIoiBCxIAbPtBhs9QaXQ==}
+ engines: {node: '>=20.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-parser/binding-freebsd-x64@0.87.0':
+ resolution: {integrity: sha512-uR+WZAvWkFQPVoeqXgQFr7iy+3hEI295qTbQ4ujmklgM5eTX3YgMFoIV00Stloxfd1irSDDSaK7ySnnzF6mRJg==}
+ engines: {node: '>=20.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.87.0':
+ resolution: {integrity: sha512-Emm1NpVGKbwzQOIZJI8ZuZu0z8FAd5xscqdS6qpDFpDdEMxk6ab7o3nM8V09RhNCORAzeUlk4TBHQ2Crzjd50A==}
+ engines: {node: '>=20.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm-musleabihf@0.87.0':
+ resolution: {integrity: sha512-1PPCxRZSJXzQaqc8y+wH7EqPgSfQ/JU3pK6WTN/1SUe/8paNVSKKqk175a8BbRVxGUtPnwEG89pi+xfPTSE7GA==}
+ engines: {node: '>=20.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm64-gnu@0.87.0':
+ resolution: {integrity: sha512-fcnnsfcyLamJOMVKq+BQ8dasb8gRnZtNpCUfZhaEFAdXQ7J2RmZreFzlygcn80iti0V7c5LejcjHbF4IdK3GAw==}
+ engines: {node: '>=20.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm64-musl@0.87.0':
+ resolution: {integrity: sha512-tBPkSPgRSSbmrje8CUovISi/Hj/tWjZJ3n/qnrjx2B+u86hWtwLsngtPDQa5d4seSyDaHSx6tNEUcH7+g5Ee0Q==}
+ engines: {node: '>=20.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-riscv64-gnu@0.87.0':
+ resolution: {integrity: sha512-z4UKGM4wv2wEAQAlx2pBq6+pDJw5J/5oDEXqW6yBSLbWLjLDo4oagmRSE3+giOWteUa+0FVJ+ypq4iYxBkYSWg==}
+ engines: {node: '>=20.0.0'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-s390x-gnu@0.87.0':
+ resolution: {integrity: sha512-6W1ENe/nZtr2TBnrEzmdGEraEAdZOiH3YoUNNeQWuqwLkmpoHTJJdclieToPe/l2IKJ4WL3FsSLSGHE8yt/OEg==}
+ engines: {node: '>=20.0.0'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-x64-gnu@0.87.0':
+ resolution: {integrity: sha512-s3kB/Ii3X3IOZ27Iu7wx2zYkIcDO22Emu32SNC6kkUSy09dPBc1yaW14TnAkPMe/rvtuzR512JPWj3iGpl+Dng==}
+ engines: {node: '>=20.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-x64-musl@0.87.0':
+ resolution: {integrity: sha512-3+M9hfrZSDi4+Uy4Ll3rtOuVG3IHDQlj027jgtmAAHJK1eqp4CQfC7rrwE+LFUqUwX+KD2GwlxR+eHyyEf5Gbg==}
+ engines: {node: '>=20.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-parser/binding-wasm32-wasi@0.87.0':
+ resolution: {integrity: sha512-2jgeEeOa4GbQQg2Et/gFTgs5wKS/+CxIg+CN2mMOJ4EqbmvUVeGiumO01oFOWTYnJy1oONwIocBzrnMuvOcItA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@oxc-parser/binding-win32-arm64-msvc@0.87.0':
+ resolution: {integrity: sha512-KZp9poaBaVvuFM0TrsHCDOjPQK5eMDXblz21boMhKHGW5/bOlkMlg3CYn5j0f67FkK68NSdNKREMxmibBeXllQ==}
+ engines: {node: '>=20.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-parser/binding-win32-x64-msvc@0.87.0':
+ resolution: {integrity: sha512-86uisngtp/8XdcerIKxMyJTqgDSTJatkfpylpUH0d96W8Bb9E+bVvM2fIIhLWB0Eb03PeY2BdIT7DNIln9TnHg==}
+ engines: {node: '>=20.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ '@oxc-project/types@0.87.0':
+ resolution: {integrity: sha512-ipZFWVGE9fADBVXXWJWY/cxpysc41Gt5upKDeb32F6WMgFyO7XETUMVq8UuREKCih+Km5E6p2VhEvf6Fuhey6g==}
+
+ '@oxc-transform/binding-android-arm64@0.87.0':
+ resolution: {integrity: sha512-B7W6J8T9cS054LUGLfYkYz8bz5+t+4yPftZ67Bn6MJ03okMLnbbEfm1bID1tqcP5tJwMurTILVy/dQfDYDcMgQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxc-transform/binding-darwin-arm64@0.87.0':
+ resolution: {integrity: sha512-HImW3xOPx7FHKqfC5WfE82onhRfnWQUiB7R+JgYrk+7NR404h3zANSPzu3V/W9lbDxlmHTcqoD2LKbNC5j0TQA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-transform/binding-darwin-x64@0.87.0':
+ resolution: {integrity: sha512-MDbgugi6mvuPTfS78E2jyozm7493Kuqmpc5r406CsUdEsXlnsF+xvmKlrW9ZIkisO74dD+HWouSiDtNyPQHjlw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-transform/binding-freebsd-x64@0.87.0':
+ resolution: {integrity: sha512-N0M5D/4haJw7BMn2WZ3CWz0WkdLyoK1+3KxOyCv2CPedMCxx6eQay2AtJxSzj9tjVU1+ukbSb2fDO24JIJGsVA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxc-transform/binding-linux-arm-gnueabihf@0.87.0':
+ resolution: {integrity: sha512-PubObCNOUOzm1S+P0yn7S+/6xRLbSPMqhgrb73L3p+J1Z20fv/FYVg0kFd36Yho24TSC/byOkebEZWAtxCasWw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-transform/binding-linux-arm-musleabihf@0.87.0':
+ resolution: {integrity: sha512-Nk2d/FS7sMCmCl99vHojzigakjDPamkjOXs2i+H71o/NqytS0pk3M+tXat8M3IGpeLJIEszA5Mv+dcq731nlYA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-transform/binding-linux-arm64-gnu@0.87.0':
+ resolution: {integrity: sha512-BxFkIcso2V1+FCDoU+KctxvJzSQVSnEZ5EEQ8O3Up9EoFVQRnZ8ktXvqYj2Oqvc4IYPskLPsKUgc9gdK8wGhUg==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-transform/binding-linux-arm64-musl@0.87.0':
+ resolution: {integrity: sha512-MZ1/TNaebhXK73j1UDfwyBFnAy0tT3n6otOkhlt1vlJwqboUS/D7E/XrCZmAuHIfVPxAXRPovkl7kfxLB43SKw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-transform/binding-linux-riscv64-gnu@0.87.0':
+ resolution: {integrity: sha512-JCWE6n4Hicu0FVbvmLdH/dS8V6JykOUsbrbDYm6JwFlHr4eFTTlS2B+mh5KPOxcdeOlv/D/XRnvMJ6WGYs25EA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@oxc-transform/binding-linux-s390x-gnu@0.87.0':
+ resolution: {integrity: sha512-n2NTgM+3PqFagJV9UXRDNOmYesF+TO9SF9FeHqwVmW893ayef9KK+vfWAAhvOYHXYaKWT5XoHd87ODD7nruyhw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@oxc-transform/binding-linux-x64-gnu@0.87.0':
+ resolution: {integrity: sha512-ZOKW3wx0bW2O7jGdOzr8DyLZqX2C36sXvJdsHj3IueZZ//d/NjLZqEiUKz+q0JlERHtCVKShQ5PLaCx7NpuqNg==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-transform/binding-linux-x64-musl@0.87.0':
+ resolution: {integrity: sha512-eIspx/JqkVMPK1CAYEOo2J8o49s4ZTf+32MSMUknIN2ZS1fvRmWS0D/xFFaLP/9UGhdrXRIPbn/iSYEA8JnV/g==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-transform/binding-wasm32-wasi@0.87.0':
+ resolution: {integrity: sha512-4uRjJQnt/+kmJUIC6Iwzn+MqqZhLP1zInPtDwgL37KI4VuUewUQWoL+sggMssMEgm7ZJwOPoZ6piuSWwMgOqgQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@oxc-transform/binding-win32-arm64-msvc@0.87.0':
+ resolution: {integrity: sha512-l/qSi4/N5W1yXKU9+1gWGo0tBoRpp4zvHYrpsbq3zbefPL4VYdA0gKF7O10/ZQVkYylzxiVh2zpYO34/FbZdIg==}
+ engines: {node: '>=14.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-transform/binding-win32-x64-msvc@0.87.0':
+ resolution: {integrity: sha512-jG/MhMjfSdyj5KyhnwNWr4mnAlAsz+gNUYpjQ+UXWsfsoB3f8HqbsTkG02RBtNa/IuVQYvYYVf1eIimNN3gBEQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [x64]
+ os: [win32]
+
'@paralleldrive/cuid2@2.2.2':
resolution: {integrity: sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==}
- '@parcel/watcher-android-arm64@2.4.1':
- resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==}
+ '@parcel/watcher-android-arm64@2.5.1':
+ resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [android]
- '@parcel/watcher-darwin-arm64@2.4.1':
- resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==}
+ '@parcel/watcher-darwin-arm64@2.5.1':
+ resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [darwin]
- '@parcel/watcher-darwin-x64@2.4.1':
- resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==}
+ '@parcel/watcher-darwin-x64@2.5.1':
+ resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [darwin]
- '@parcel/watcher-freebsd-x64@2.4.1':
- resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==}
+ '@parcel/watcher-freebsd-x64@2.5.1':
+ resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [freebsd]
- '@parcel/watcher-linux-arm-glibc@2.4.1':
- resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==}
+ '@parcel/watcher-linux-arm-glibc@2.5.1':
+ resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ '@parcel/watcher-linux-arm-musl@2.5.1':
+ resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==}
engines: {node: '>= 10.0.0'}
cpu: [arm]
os: [linux]
- '@parcel/watcher-linux-arm64-glibc@2.4.1':
- resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==}
+ '@parcel/watcher-linux-arm64-glibc@2.5.1':
+ resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [linux]
- '@parcel/watcher-linux-arm64-musl@2.4.1':
- resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==}
+ '@parcel/watcher-linux-arm64-musl@2.5.1':
+ resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [linux]
- '@parcel/watcher-linux-x64-glibc@2.4.1':
- resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==}
+ '@parcel/watcher-linux-x64-glibc@2.5.1':
+ resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [linux]
- '@parcel/watcher-linux-x64-musl@2.4.1':
- resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==}
+ '@parcel/watcher-linux-x64-musl@2.5.1':
+ resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [linux]
- '@parcel/watcher-wasm@2.4.1':
- resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==}
+ '@parcel/watcher-wasm@2.5.1':
+ resolution: {integrity: sha512-RJxlQQLkaMMIuWRozy+z2vEqbaQlCuaCgVZIUCzQLYggY22LZbP5Y1+ia+FD724Ids9e+XIyOLXLrLgQSHIthw==}
engines: {node: '>= 10.0.0'}
bundledDependencies:
- napi-wasm
- '@parcel/watcher-win32-arm64@2.4.1':
- resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==}
+ '@parcel/watcher-win32-arm64@2.5.1':
+ resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [win32]
- '@parcel/watcher-win32-ia32@2.4.1':
- resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==}
+ '@parcel/watcher-win32-ia32@2.5.1':
+ resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==}
engines: {node: '>= 10.0.0'}
cpu: [ia32]
os: [win32]
- '@parcel/watcher-win32-x64@2.4.1':
- resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==}
+ '@parcel/watcher-win32-x64@2.5.1':
+ resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [win32]
- '@parcel/watcher@2.4.1':
- resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==}
+ '@parcel/watcher@2.5.1':
+ resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==}
engines: {node: '>= 10.0.0'}
- '@percy/cli-app@1.30.1':
- resolution: {integrity: sha512-/ZLGjAFeQKHeaQI5xQ9w6lLljEKWXB/+QuIHl3kGK+NL1+cZtRBk6oDbWj+QRKxg/tr+3zvwjioNIdkDaXgXUQ==}
+ '@percy/cli-app@1.31.3':
+ resolution: {integrity: sha512-g9NnYQgVVugGQZhUnpd4bJY9zfZnSOM4jJVPrdA2cOO+JxKJr7079JCkcNdrOqmtSbZ01XugSKz5UgQN+SUgMg==}
engines: {node: '>=14'}
- '@percy/cli-build@1.30.1':
- resolution: {integrity: sha512-jr9URjHjYKBchUy7I0eh2agGzpN5Ct+A/Q+jlUbkR5N7AyXW3FbkbA6ZiPYXuG+i2Sjm1wuxMGPKMSIKTVZ3GQ==}
+ '@percy/cli-build@1.31.3':
+ resolution: {integrity: sha512-VNybZILAj9GoEf2lB/DueO+KibEhgV2Gbh1kCUsUwmINOrZy2vD6Izy+asCPgdLWY5xe09K2QuLPOfgq5JfZWw==}
engines: {node: '>=14'}
- '@percy/cli-command@1.30.1':
- resolution: {integrity: sha512-a8qoZu4IaPp6cKse5ovruI6oeuXJQR2D2aJGwDpnaBbryX4ArSX+x0LoI59SfdEisUxf5JPjiSPmixTmWUxqxA==}
+ '@percy/cli-command@1.31.3':
+ resolution: {integrity: sha512-NLF4HoLkz3vlgIIfgweQgwFowyOG5PYD67DCzzwK34picoeOa6u1zlx1mhaZA9L1kDwJcfTSNSbht7CpBiL6JQ==}
engines: {node: '>=14'}
hasBin: true
- '@percy/cli-config@1.30.1':
- resolution: {integrity: sha512-Rgefm7jyYNdh86eEWj+TKeXhKC1+thlSzFQEraTaanhacBaVHDwEtd5x1hmRMQZPiI759cwVh+dFus3n8DwsaQ==}
+ '@percy/cli-config@1.31.3':
+ resolution: {integrity: sha512-hELWI27R9RyRGC59f30+Ob9Zy07OuGPqrm9SccGsybpj31qZkV0WK8H3vTWkLzPBPoHMnXbshPFYr5VkEsUBTA==}
engines: {node: '>=14'}
- '@percy/cli-exec@1.30.1':
- resolution: {integrity: sha512-XsXzfXUIrpKo/3CmgffgVurLlVFlThCO+Kc5IV83ggJhdFAVoJc9cSLOgZyrTBsKEprHmWi5Wn4RLMXhxlaGVg==}
+ '@percy/cli-exec@1.31.3':
+ resolution: {integrity: sha512-TZiCFoDyNmsw8ZB3dmz2ciVVoApHYkaK4plCBBRY1BI7d6jRBJifct0rNvklnTjHYsCsTGVGthnenAih33kFaA==}
engines: {node: '>=14'}
- '@percy/cli-snapshot@1.30.1':
- resolution: {integrity: sha512-86ahSoh3PgbM8ZAL38PVz4X6NMTKsyHTfnGf8T0KH9/MLLp2uokJPJTIpXkPq4OeqzNEq2eOHzaRuXf5wOeHtw==}
+ '@percy/cli-snapshot@1.31.3':
+ resolution: {integrity: sha512-amurMrPpj3AmoHopdr3utA/iv0Oj6d+BPqbRLvh7OhutPMPOc0zrDKVDKiocfRKTkGVxkBgnt8NTl+rvx450Vg==}
engines: {node: '>=14'}
- '@percy/cli-upload@1.30.1':
- resolution: {integrity: sha512-wRR4yLI5tKGXz5Y6ZaufLRo2yKVGZVA4zZsYLTbQgmgPxnAYCc5/eu1C2cxfvgeCxNZqwmS6giqxMzfa5z9nKg==}
+ '@percy/cli-upload@1.31.3':
+ resolution: {integrity: sha512-rP+iDQBFguuG2wWN+OwbclM+3Vj01dkxNUcBBEeQ16pZQ0zSbOq5Qt/2Mw93SMoNpa0il4vk4zmcXPgApA+Qgg==}
engines: {node: '>=14'}
- '@percy/cli@1.30.1':
- resolution: {integrity: sha512-9mLD6q5nT106+Qxkkw28GVxcL2vgqG9mO6Tp55MeEjySSh+EBpadsCUh93oDN64ZcRUObAE56B+sy4H8PkBLGQ==}
+ '@percy/cli@1.31.3':
+ resolution: {integrity: sha512-BhxNjwTWuN1xxin1bc1qGCqe2suusFUDKYot7e90UGRa6wUSZsyjmzC9kGfb3IhEmpM0EswQSePp7RR2d6saww==}
engines: {node: '>=14'}
hasBin: true
- '@percy/client@1.30.1':
- resolution: {integrity: sha512-vaue3/dOykOWZ9ER/vecb9mkcuTe72wgCrYbzIcKNtSUc5AQEGiV5c8rGZav868i5YCtGejexWZ7PKDO05asag==}
+ '@percy/client@1.31.3':
+ resolution: {integrity: sha512-XzXHNco39qqzclL8y7t/k/VTR+9nhXkyfCqvbxFUS9DDG+Jd2Tv6dpRc5qv7phhp2VoKBdVVu46gMBG+qSl7yg==}
engines: {node: '>=14'}
- '@percy/config@1.30.1':
- resolution: {integrity: sha512-wvI2QIf7/oLPsnrXGHFCLRdDY5BRFE3Smil8IY2ijtGUFWXRPsmRx2tjSdbZ/kpctkeyZappNHPzSiwi1MjJlA==}
+ '@percy/config@1.31.3':
+ resolution: {integrity: sha512-yTl+MUGNxMv+xQbMXR3g/tISRohE39b+s7216Z3ILtqJejIzxB0jbBfkvGqLAmlBbC63hTjg6s2JECoH7x131w==}
engines: {node: '>=14'}
- '@percy/core@1.30.1':
- resolution: {integrity: sha512-XQNPFO8ZmKWMMkWaa+IWN6Kzh7CXCwosLWK7OsEldK7N/CVNGmU8mkCwpqYlDXEeiahGfUxqCr4yHZS26OveyQ==}
+ '@percy/core@1.31.3':
+ resolution: {integrity: sha512-RuYNMDpnybYpE8bcB9ymmBH67gZkL04gtqt5MljYwOvhdtBhG6B/Tn0j7j9wSwA+ob70jzJ+/YHDQkMVOQA+TA==}
engines: {node: '>=14'}
- '@percy/dom@1.30.1':
- resolution: {integrity: sha512-dYHVGETIXzwqchShfzOkCrGCqjw/KLsubUZR3PYWd6UtTWZ9kFWr9I6MzizPE4XfhJs5rQ0e0Keb29FrGTey5Q==}
+ '@percy/dom@1.31.3':
+ resolution: {integrity: sha512-Sj52zexDmEvDlASrPyf0HFQ8qQOw/X8GjAgdvfCMOiwqxRfEwYGxOYO0L7x69+BVNqaZj4rlvaNdJJ9RekQLnA==}
+
+ '@percy/env@1.31.3':
+ resolution: {integrity: sha512-luUfJq4gN1PgbvQQGx+cytqxmp/pOThCze/cts2PZx1vxGyRjOzBmMQYlrx99rnKeJ3vw6DVdnAyk1y55nVz6g==}
+ engines: {node: '>=14'}
- '@percy/env@1.30.1':
- resolution: {integrity: sha512-ib9Ty/zo/+kfQSRC7RyzxnrS5zzsaoWJLgvTUDwi4iv/UIvx6vrEp7YPE0FQu1VGoRoL7zxRKalTh06/kBAsXg==}
+ '@percy/logger@1.31.3':
+ resolution: {integrity: sha512-msfmqpthOblDfsnLzRKTeJeV/qHYMZ1dPDP2mZJmN7BmgADw81imPylrbzCWmvv4ljoQ7vYu4QuAM9qHV3dzFw==}
engines: {node: '>=14'}
- '@percy/logger@1.30.1':
- resolution: {integrity: sha512-FaVW4YGmgPaW0OviMFUn7m7ski2uZQAeUJ/hg+IXFIN+zSreX2ORcsp+Fep2p+h5UjcZX5wFuf/8O3nth5YAfQ==}
+ '@percy/monitoring@1.31.3':
+ resolution: {integrity: sha512-+QERs2QMkG27nh2a9feQ1+WEUxS7m2qqt0FzO0TReUbQLH1hNa4qREWhLqeYAzbYI+FKZjtcE6ghVSu8+PZDYA==}
engines: {node: '>=14'}
- '@percy/playwright@1.0.6':
- resolution: {integrity: sha512-oi98dnsTp/QG0NUFTUHsyqoWvgDOuzBmSzCwZCjxu52k7F8hzaOazqRqqdRHc7GVRUL561RUdkzZi0xhiW+Jfg==}
+ '@percy/playwright@1.0.9':
+ resolution: {integrity: sha512-t74a0hZcAR+ssNpbcL6vnYU5mwEGcdRByLYFb12yFQUq4n250YUAX76jI4OHzH440Tikp84hml4JnbXrvgEmFQ==}
engines: {node: '>=14'}
peerDependencies:
playwright-core: '>=1'
- '@percy/sdk-utils@1.30.1':
- resolution: {integrity: sha512-xdeaHEdQvytFEbNBYCFdu1ToD6T/BT6YtZYwfNKAYXwQqVbm4wr/3LVH+GUcxYZsBCxmeSyCrF4buspUhxTNJQ==}
+ '@percy/sdk-utils@1.31.3':
+ resolution: {integrity: sha512-iEnhc+x5lVmH6va5FuljAWfSFcjjqcPJ+GgoFvuvvYv39nMgXgsw4qGT+sr2ET+FpBB4f0MNs/Bn7QEkk1TlvA==}
engines: {node: '>=14'}
- '@percy/webdriver-utils@1.30.1':
- resolution: {integrity: sha512-mXY40mUBLsdwFMKsZpg87K457a76Qi0Dq8+nZ0rLqYj5STZs3RQWbgi9qMI3ELoB3BqLzePqR9pL8J9WjvRXDg==}
+ '@percy/webdriver-utils@1.31.3':
+ resolution: {integrity: sha512-+MzTmpcmuLCX9jYmtJxNV9yE8748DSk0NZfu56Jp4HuOf/LBRnh/ShpHHo4tuEg3qaM3yqNP7KvR99/HpECQRg==}
engines: {node: '>=14'}
- '@pinia/nuxt@0.5.5':
- resolution: {integrity: sha512-wjxS7YqIesh4OLK+qE3ZjhdOJ5pYZQ+VlEmZNtTwzQn1Kavei/khovx7mzXVXNA/mvSPXVhb9xBzhyS3XMURtw==}
+ '@pinia/nuxt@0.11.2':
+ resolution: {integrity: sha512-CgvSWpbktxxWBV7ModhAcsExsQZqpPq6vMYEe9DexmmY6959ev8ukL4iFhr/qov2Nb9cQAWd7niFDnaWkN+FHg==}
+ peerDependencies:
+ pinia: ^3.0.3
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
- '@pkgr/core@0.1.1':
- resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
+ '@pkgr/core@0.2.9':
+ resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
- '@playwright/test@1.46.1':
- resolution: {integrity: sha512-Fq6SwLujA/DOIvNC2EL/SojJnkKf/rAwJ//APpJJHRyMi1PdKrY3Az+4XNQ51N4RTbItbIByQ0jgd1tayq1aeA==}
+ '@playwright/test@1.56.0':
+ resolution: {integrity: sha512-Tzh95Twig7hUwwNe381/K3PggZBZblKUe2wv25oIpzWLr6Z0m4KgV1ZVIjnR6GM9ANEqjZD7XsZEa6JL/7YEgg==}
engines: {node: '>=18'}
hasBin: true
- '@polka/url@1.0.0-next.25':
- resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
+ '@polka/url@1.0.0-next.29':
+ resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
'@popperjs/core@2.11.8':
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
+ '@poppinss/colors@4.1.5':
+ resolution: {integrity: sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==}
+
+ '@poppinss/dumper@0.6.4':
+ resolution: {integrity: sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ==}
+
+ '@poppinss/exception@1.2.2':
+ resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==}
+
+ '@prisma/instrumentation@6.15.0':
+ resolution: {integrity: sha512-6TXaH6OmDkMOQvOxwLZ8XS51hU2v4A3vmE2pSijCIiGRJYyNeMcL6nMHQMyYdZRD8wl7LF3Wzc+AMPMV/9Oo7A==}
+ peerDependencies:
+ '@opentelemetry/api': ^1.8
+
'@protobufjs/aspromise@1.1.2':
resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
@@ -2260,27 +3079,30 @@ packages:
'@protobufjs/utf8@1.1.0':
resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
- '@pulumi/aws@5.43.0':
- resolution: {integrity: sha512-ZWI+QvEaFy27wUW8j8EVadgvl6u3926AAgpghflSPxF/9mG5XoDy0rqkRZOgO13ZJinC1qkQDzoMz0ACgmwTiw==}
+ '@pulumi/aws@6.83.0':
+ resolution: {integrity: sha512-uYpYSA5aaDERFuxy3D+FDWiwH7YYNHSwGLpHVuARAzBfQ/SQDkS/tfJI5NNo7/+KCmje3rloKE2enUK/Q9bVBg==}
- '@pulumi/aws@6.58.0':
- resolution: {integrity: sha512-nP8kdpcHsu/RO8P9LGCaJ06KnGKt6fpvNZE7IUfkHdZ9ErYu4kCx+eX/mo/QAexeOmOmdt3Oa7BLhACQRb3M8Q==}
+ '@pulumi/aws@7.8.0':
+ resolution: {integrity: sha512-OVdg0dZtzO5qZ/erX4aLZ/9U1AKw9LX+79N3RyZEMSkq5KVUOEBugYBw0xlxJV5kkRrxjzSgMb4LknX7v0tZRw==}
- '@pulumi/awsx@1.0.6':
- resolution: {integrity: sha512-zTBsRO6EeSg6V2sEkw1b8OtvExaYMg1rUlaJVfui54W86M3KvFANtGI99a+aScUxJMxGqkS9cb6LdzZjTlKQGA==}
+ '@pulumi/awsx@2.22.0':
+ resolution: {integrity: sha512-uajrWX6zkk8G9DCCkCkRaH2yzeGRkCElkC8FOE9viUtb9WyVt01EbNqJkje+QwYq4g055jWqcq2YRn7xT1Y44w==}
- '@pulumi/awsx@2.17.0':
- resolution: {integrity: sha512-uw2a9P9KVx2JWAiHNUN/xpeLoSr7GNKMZdzM3TePbV0+Gz44/BrwT43qPMHbiTcW+Yxz4S1L3sh46w/IyzIwIA==}
+ '@pulumi/awsx@3.0.0':
+ resolution: {integrity: sha512-Qce18z2zSSIpeQA+aUKNlDKAZaZIc7h5ioYgmLfmpliRFwzFGN7DbxJuZY+Ja3hbtjpe74UYBjI5VleFM+Ougw==}
+
+ '@pulumi/docker-build@0.0.8':
+ resolution: {integrity: sha512-tS6UUgmDjQ+LVekMXGC/6ND7riY75h3oO9fLiVOrvNafCBumxK+Cjm6ZZ9tUChLYvw6H+rZRExZEhfC8F/SQgQ==}
'@pulumi/docker@3.6.1':
resolution: {integrity: sha512-BZME50QkT556v+LvmTXPT8ssB2xxNkp9+msB5xYFEnUnWcdGAx5yUysQw70RJCb+U0GbkJSbxtlgMJgOQf/now==}
- '@pulumi/docker@4.5.5':
- resolution: {integrity: sha512-+5u0A3H3PTkxGfVuvDafbdyyYT8xLzLJnKdKc2jFEpphwKlXF+lc4YhjsDLBp1cc/5JPfE4hujOxGAxwt/5BUQ==}
+ '@pulumi/docker@4.9.0':
+ resolution: {integrity: sha512-Iw5WQClre7j32oQmo3ObmHKAab0y/7Pf0hmQvcGCiBgb7X20uW3XMKV8OAFjk7/5tdyYHd1LK6s6H882IT0Bvw==}
- '@pulumi/pulumi@3.138.0':
- resolution: {integrity: sha512-LcQTYwVecIpoA9Dnbq31+3IuOT4QYsGmCbXO0+wJLFlXBxBEoeq4Rft16shxM01n3EXJnTo4w5/pLetoAz0pYg==}
- engines: {node: '>=18'}
+ '@pulumi/pulumi@3.202.0':
+ resolution: {integrity: sha512-Vxpo6K4dpHb4ldxxp1IvG3lzIIthmd5dWguLySqbz7MmEksHPvbgSzk2I2v8SJKGjluozQASYpgW+1myUIZjGA==}
+ engines: {node: '>=20'}
peerDependencies:
ts-node: '>= 7.0.1 < 12'
typescript: '>= 3.8.3 < 6'
@@ -2290,25 +3112,18 @@ packages:
typescript:
optional: true
- '@pulumi/query@0.3.0':
- resolution: {integrity: sha512-xfo+yLRM2zVjVEA4p23IjQWzyWl1ZhWOGobsBqRpIarzLvwNH/RAGaoehdxlhx4X92302DrpdIFgTICMN4P38w==}
-
- '@pulumi/random@4.16.3':
- resolution: {integrity: sha512-B1cB3RAxC/Ic6g7Rj6bJv+wJJOBR2xorWOTSSTxjr0f10KdoQxLc+vzMu11MMgOzThhL4n7n8ZSLADxc7Rzk/g==}
-
- '@redocly/ajv@8.11.2':
- resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==}
-
- '@redocly/config@0.16.0':
- resolution: {integrity: sha512-t9jnODbUcuANRSl/K4L9nb12V+U5acIHnVSl26NWrtSdDZVtoqUXk2yGFPZzohYf62cCfEQUT8ouJ3bhPfpnJg==}
-
- '@redocly/openapi-core@1.25.11':
- resolution: {integrity: sha512-bH+a8izQz4fnKROKoX3bEU8sQ9rjvEIZOqU6qTmxlhOJ0NsKa5e+LmU18SV0oFeg5YhWQhhEDihXkvKJ1wMMNQ==}
- engines: {node: '>=14.19.0', npm: '>=7.0.0'}
+ '@pulumi/random@4.18.3':
+ resolution: {integrity: sha512-2OKJPNTZu0YyxOMvxnHiUzh3qGm5EowIffAx9dKNUQRQLHOqm3TM2HQ0jYMQUrydrRbXopaiRavFFPD0QKyJEg==}
'@remirror/core-constants@3.0.0':
resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==}
+ '@rolldown/pluginutils@1.0.0-beta.29':
+ resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==}
+
+ '@rolldown/pluginutils@1.0.0-beta.43':
+ resolution: {integrity: sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ==}
+
'@rollup/plugin-alias@5.1.1':
resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==}
engines: {node: '>=14.0.0'}
@@ -2318,8 +3133,8 @@ packages:
rollup:
optional: true
- '@rollup/plugin-commonjs@28.0.1':
- resolution: {integrity: sha512-+tNWdlWKbpB3WgBN7ijjYkq9X5uhjmcvyjEght4NmH5fAU++zfQzAJ6wumLS+dNcvwEZhKx2Z+skY8m7v0wGSA==}
+ '@rollup/plugin-commonjs@28.0.6':
+ resolution: {integrity: sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==}
engines: {node: '>=16.0.0 || 14 >= 14.17'}
peerDependencies:
rollup: ^2.68.0||^3.0.0||^4.0.0
@@ -2345,8 +3160,8 @@ packages:
rollup:
optional: true
- '@rollup/plugin-node-resolve@15.3.0':
- resolution: {integrity: sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==}
+ '@rollup/plugin-node-resolve@16.0.3':
+ resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==}
engines: {node: '>=14.0.0'}
peerDependencies:
rollup: ^2.78.0||^3.0.0||^4.0.0
@@ -2354,39 +3169,8 @@ packages:
rollup:
optional: true
- '@rollup/plugin-replace@5.0.7':
- resolution: {integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
-
- '@rollup/plugin-replace@6.0.1':
- resolution: {integrity: sha512-2sPh9b73dj5IxuMmDAsQWVFT7mR+yoHweBaXG2W/R8vQ+IWZlnaI7BR7J6EguVQUp1hd8Z7XuozpDjEKQAAC2Q==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
-
- '@rollup/plugin-terser@0.4.4':
- resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
-
- '@rollup/pluginutils@4.2.1':
- resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
- engines: {node: '>= 8.0.0'}
-
- '@rollup/pluginutils@5.1.0':
- resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
+ '@rollup/plugin-replace@6.0.2':
+ resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==}
engines: {node: '>=14.0.0'}
peerDependencies:
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
@@ -2394,17 +3178,17 @@ packages:
rollup:
optional: true
- '@rollup/pluginutils@5.1.2':
- resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==}
+ '@rollup/plugin-terser@0.4.4':
+ resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ rollup: ^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
- '@rollup/pluginutils@5.1.3':
- resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==}
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
engines: {node: '>=14.0.0'}
peerDependencies:
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
@@ -2412,147 +3196,210 @@ packages:
rollup:
optional: true
- '@rollup/rollup-android-arm-eabi@4.24.4':
- resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==}
+ '@rollup/rollup-android-arm-eabi@4.52.4':
+ resolution: {integrity: sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.24.4':
- resolution: {integrity: sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==}
+ '@rollup/rollup-android-arm64@4.52.4':
+ resolution: {integrity: sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.24.4':
- resolution: {integrity: sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==}
+ '@rollup/rollup-darwin-arm64@4.52.4':
+ resolution: {integrity: sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.24.4':
- resolution: {integrity: sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==}
+ '@rollup/rollup-darwin-x64@4.52.4':
+ resolution: {integrity: sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.24.4':
- resolution: {integrity: sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==}
+ '@rollup/rollup-freebsd-arm64@4.52.4':
+ resolution: {integrity: sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.24.4':
- resolution: {integrity: sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==}
+ '@rollup/rollup-freebsd-x64@4.52.4':
+ resolution: {integrity: sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==}
cpu: [x64]
os: [freebsd]
- '@rollup/rollup-linux-arm-gnueabihf@4.24.4':
- resolution: {integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.52.4':
+ resolution: {integrity: sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm-musleabihf@4.24.4':
- resolution: {integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==}
+ '@rollup/rollup-linux-arm-musleabihf@4.52.4':
+ resolution: {integrity: sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm64-gnu@4.24.4':
- resolution: {integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==}
+ '@rollup/rollup-linux-arm64-gnu@4.52.4':
+ resolution: {integrity: sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm64-musl@4.24.4':
- resolution: {integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==}
+ '@rollup/rollup-linux-arm64-musl@4.52.4':
+ resolution: {integrity: sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-powerpc64le-gnu@4.24.4':
- resolution: {integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==}
+ '@rollup/rollup-linux-loong64-gnu@4.52.4':
+ resolution: {integrity: sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==}
+ cpu: [loong64]
+ os: [linux]
+
+ '@rollup/rollup-linux-ppc64-gnu@4.52.4':
+ resolution: {integrity: sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==}
cpu: [ppc64]
os: [linux]
- '@rollup/rollup-linux-riscv64-gnu@4.24.4':
- resolution: {integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==}
+ '@rollup/rollup-linux-riscv64-gnu@4.52.4':
+ resolution: {integrity: sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-musl@4.52.4':
+ resolution: {integrity: sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==}
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-s390x-gnu@4.24.4':
- resolution: {integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==}
+ '@rollup/rollup-linux-s390x-gnu@4.52.4':
+ resolution: {integrity: sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==}
cpu: [s390x]
os: [linux]
- '@rollup/rollup-linux-x64-gnu@4.24.4':
- resolution: {integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==}
+ '@rollup/rollup-linux-x64-gnu@4.52.4':
+ resolution: {integrity: sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-linux-x64-musl@4.24.4':
- resolution: {integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==}
+ '@rollup/rollup-linux-x64-musl@4.52.4':
+ resolution: {integrity: sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-win32-arm64-msvc@4.24.4':
- resolution: {integrity: sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==}
+ '@rollup/rollup-openharmony-arm64@4.52.4':
+ resolution: {integrity: sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rollup/rollup-win32-arm64-msvc@4.52.4':
+ resolution: {integrity: sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.24.4':
- resolution: {integrity: sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==}
+ '@rollup/rollup-win32-ia32-msvc@4.52.4':
+ resolution: {integrity: sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.24.4':
- resolution: {integrity: sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==}
+ '@rollup/rollup-win32-x64-gnu@4.52.4':
+ resolution: {integrity: sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==}
cpu: [x64]
os: [win32]
- '@rushstack/node-core-library@5.7.0':
- resolution: {integrity: sha512-Ff9Cz/YlWu9ce4dmqNBZpA45AEya04XaBFIjV7xTVeEf+y/kTjEasmozqFELXlNG4ROdevss75JrrZ5WgufDkQ==}
+ '@rollup/rollup-win32-x64-msvc@4.52.4':
+ resolution: {integrity: sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==}
+ cpu: [x64]
+ os: [win32]
+
+ '@rushstack/node-core-library@5.13.0':
+ resolution: {integrity: sha512-IGVhy+JgUacAdCGXKUrRhwHMTzqhWwZUI+qEPcdzsb80heOw0QPbhhoVsoiMF7Klp8eYsp7hzpScMXmOa3Uhfg==}
peerDependencies:
'@types/node': '*'
peerDependenciesMeta:
'@types/node':
optional: true
- '@rushstack/terminal@0.14.0':
- resolution: {integrity: sha512-juTKMAMpTIJKudeFkG5slD8Z/LHwNwGZLtU441l/u82XdTBfsP+LbGKJLCNwP5se+DMCT55GB8x9p6+C4UL7jw==}
+ '@rushstack/terminal@0.15.2':
+ resolution: {integrity: sha512-7Hmc0ysK5077R/IkLS9hYu0QuNafm+TbZbtYVzCMbeOdMjaRboLKrhryjwZSRJGJzu+TV1ON7qZHeqf58XfLpA==}
peerDependencies:
'@types/node': '*'
peerDependenciesMeta:
'@types/node':
optional: true
- '@rushstack/ts-command-line@4.22.6':
- resolution: {integrity: sha512-QSRqHT/IfoC5nk9zn6+fgyqOPXHME0BfchII9EUPR19pocsNp/xSbeBCbD3PIR2Lg+Q5qk7OFqk1VhWPMdKHJg==}
+ '@rushstack/ts-command-line@4.23.7':
+ resolution: {integrity: sha512-Gr9cB7DGe6uz5vq2wdr89WbVDKz0UeuFEn5H2CfWDe7JvjFFaiV15gi6mqDBTbHhHCWS7w8mF1h3BnIfUndqdA==}
+
+ '@scarf/scarf@1.4.0':
+ resolution: {integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==}
'@sec-ant/readable-stream@0.4.1':
resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==}
- '@selderee/plugin-htmlparser2@0.11.0':
- resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==}
+ '@sentry-internal/node-cpu-profiler@2.2.0':
+ resolution: {integrity: sha512-oLHVYurqZfADPh5hvmQYS5qx8t0UZzT2u6+/68VXsFruQEOnYJTODKgU3BVLmemRs3WE6kCJjPeFdHVYOQGSzQ==}
+ engines: {node: '>=18'}
+
+ '@sentry/core@10.19.0':
+ resolution: {integrity: sha512-OqZjYDYsK6ZmBG5UzML0uKiKq//G6mMwPcszfuCsFgPt+pg5giUCrCUbt5VIVkHdN1qEEBk321JO2haU5n2Eig==}
+ engines: {node: '>=18'}
+
+ '@sentry/nestjs@10.19.0':
+ resolution: {integrity: sha512-yGNDInvQjW6B4XVVMWmzxkMYLo8ZYJh4DYJN+7UxfD/RDQKbi6b7mSPy+qHdTVqtx8h3OEHUudrLPMqfna6T4g==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0
+ '@nestjs/core': ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0
+
+ '@sentry/node-core@10.19.0':
+ resolution: {integrity: sha512-m3xTaIDSh1V88K+e1zaGwKKuhDUAHMX1nncJmsGm8Hwg7FLK2fdr7wm9IJaIF0S1E4R38oHC4kZdL+ebrUghDg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.9.0
+ '@opentelemetry/context-async-hooks': ^1.30.1 || ^2.1.0
+ '@opentelemetry/core': ^1.30.1 || ^2.1.0
+ '@opentelemetry/instrumentation': '>=0.57.1 <1'
+ '@opentelemetry/resources': ^1.30.1 || ^2.1.0
+ '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0
+ '@opentelemetry/semantic-conventions': ^1.37.0
+
+ '@sentry/node@10.19.0':
+ resolution: {integrity: sha512-GUN/UVRsqnXd4O8GCxR8F682nyYemeO4mr0Yc5JPz0CxT2gYkemuifT29bFOont8V5o055WJv32NrQnZcm/nyg==}
+ engines: {node: '>=18'}
- '@shikijs/core@1.22.2':
- resolution: {integrity: sha512-bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==}
+ '@sentry/opentelemetry@10.19.0':
+ resolution: {integrity: sha512-o1NWDWXM4flBIqqBECcaZ+y0TS44UxQh5BtTTPJzkU0FsWOytn9lp9ccVi7qBMb7Zrl3rw3Q0BRNETKVG5Ag/w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.9.0
+ '@opentelemetry/context-async-hooks': ^1.30.1 || ^2.1.0
+ '@opentelemetry/core': ^1.30.1 || ^2.1.0
+ '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0
+ '@opentelemetry/semantic-conventions': ^1.37.0
+
+ '@sentry/profiling-node@10.19.0':
+ resolution: {integrity: sha512-PRFlxHLngxkJkzZkxD6deWtwzUtBo6EYPJkcPneDo/q29skQGtzVfPaWwNTldnOBBfgjtpA90hZLQoKuffxvqA==}
+ engines: {node: '>=18'}
+ hasBin: true
- '@shikijs/engine-javascript@1.22.2':
- resolution: {integrity: sha512-iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==}
+ '@shikijs/core@2.5.0':
+ resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==}
- '@shikijs/engine-oniguruma@1.22.2':
- resolution: {integrity: sha512-GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==}
+ '@shikijs/engine-javascript@2.5.0':
+ resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==}
- '@shikijs/transformers@1.22.2':
- resolution: {integrity: sha512-8f78OiBa6pZDoZ53lYTmuvpFPlWtevn23bzG+azpPVvZg7ITax57o/K3TC91eYL3OMJOO0onPbgnQyZjRos8XQ==}
+ '@shikijs/engine-oniguruma@2.5.0':
+ resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==}
- '@shikijs/types@1.22.2':
- resolution: {integrity: sha512-NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==}
+ '@shikijs/langs@2.5.0':
+ resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==}
- '@shikijs/vscode-textmate@9.3.0':
- resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==}
+ '@shikijs/themes@2.5.0':
+ resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==}
- '@sideway/address@4.1.5':
- resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
+ '@shikijs/transformers@2.5.0':
+ resolution: {integrity: sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==}
- '@sideway/formula@3.0.1':
- resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
+ '@shikijs/types@2.5.0':
+ resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==}
- '@sideway/pinpoint@2.0.0':
- resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
+ '@shikijs/vscode-textmate@10.0.2':
+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
'@sigstore/bundle@2.3.2':
resolution: {integrity: sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==}
@@ -2562,9 +3409,9 @@ packages:
resolution: {integrity: sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==}
engines: {node: ^16.14.0 || >=18.0.0}
- '@sigstore/protobuf-specs@0.3.2':
- resolution: {integrity: sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@sigstore/protobuf-specs@0.3.3':
+ resolution: {integrity: sha512-RpacQhBlwpBWd7KEJsRKcBQalbV28fvkxwTOJIqhIuDysMMaJW47V4OqW30iJB9uRpqOSxxEAQFdr8tTattReQ==}
+ engines: {node: ^18.17.0 || >=20.5.0}
'@sigstore/sign@2.3.2':
resolution: {integrity: sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==}
@@ -2578,391 +3425,404 @@ packages:
resolution: {integrity: sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==}
engines: {node: ^16.14.0 || >=18.0.0}
+ '@sinclair/typebox@0.34.41':
+ resolution: {integrity: sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==}
+
'@sindresorhus/is@4.6.0':
resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
engines: {node: '>=10'}
- '@sindresorhus/merge-streams@2.3.0':
- resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
+ '@sindresorhus/is@7.1.0':
+ resolution: {integrity: sha512-7F/yz2IphV39hiS2zB4QYVkivrptHHh0K8qJJd9HhuWSdvf8AN7NpebW3CcDZDBQsUPMoDKWsY2WWgW7bqOcfA==}
engines: {node: '>=18'}
'@sindresorhus/merge-streams@4.0.0':
resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==}
engines: {node: '>=18'}
- '@smithy/abort-controller@3.1.6':
- resolution: {integrity: sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==}
- engines: {node: '>=16.0.0'}
-
- '@smithy/chunked-blob-reader-native@3.0.1':
- resolution: {integrity: sha512-VEYtPvh5rs/xlyqpm5NRnfYLZn+q0SRPELbvBV+C/G7IQ+ouTuo+NKKa3ShG5OaFR8NYVMXls9hPYLTvIKKDrQ==}
-
- '@smithy/chunked-blob-reader@4.0.0':
- resolution: {integrity: sha512-jSqRnZvkT4egkq/7b6/QRCNXmmYVcHwnJldqJ3IhVpQE2atObVJ137xmGeuGFhjFUr8gCEVAOKwSY79OvpbDaQ==}
-
- '@smithy/config-resolver@3.0.10':
- resolution: {integrity: sha512-Uh0Sz9gdUuz538nvkPiyv1DZRX9+D15EKDtnQP5rYVAzM/dnYk3P8cg73jcxyOitPgT3mE3OVj7ky7sibzHWkw==}
- engines: {node: '>=16.0.0'}
-
- '@smithy/core@2.5.1':
- resolution: {integrity: sha512-DujtuDA7BGEKExJ05W5OdxCoyekcKT3Rhg1ZGeiUWaz2BJIWXjZmsG/DIP4W48GHno7AQwRsaCb8NcBgH3QZpg==}
- engines: {node: '>=16.0.0'}
-
- '@smithy/credential-provider-imds@3.2.5':
- resolution: {integrity: sha512-4FTQGAsuwqTzVMmiRVTn0RR9GrbRfkP0wfu/tXWVHd2LgNpTY0uglQpIScXK4NaEyXbB3JmZt8gfVqO50lP8wg==}
- engines: {node: '>=16.0.0'}
-
- '@smithy/eventstream-codec@3.1.7':
- resolution: {integrity: sha512-kVSXScIiRN7q+s1x7BrQtZ1Aa9hvvP9FeCqCdBxv37GimIHgBCOnZ5Ip80HLt0DhnAKpiobFdGqTFgbaJNrazA==}
-
- '@smithy/eventstream-serde-browser@3.0.11':
- resolution: {integrity: sha512-Pd1Wnq3CQ/v2SxRifDUihvpXzirJYbbtXfEnnLV/z0OGCTx/btVX74P86IgrZkjOydOASBGXdPpupYQI+iO/6A==}
- engines: {node: '>=16.0.0'}
+ '@sinonjs/commons@3.0.1':
+ resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
- '@smithy/eventstream-serde-config-resolver@3.0.8':
- resolution: {integrity: sha512-zkFIG2i1BLbfoGQnf1qEeMqX0h5qAznzaZmMVNnvPZz9J5AWBPkOMckZWPedGUPcVITacwIdQXoPcdIQq5FRcg==}
- engines: {node: '>=16.0.0'}
-
- '@smithy/eventstream-serde-node@3.0.10':
- resolution: {integrity: sha512-hjpU1tIsJ9qpcoZq9zGHBJPBOeBGYt+n8vfhDwnITPhEre6APrvqq/y3XMDEGUT2cWQ4ramNqBPRbx3qn55rhw==}
- engines: {node: '>=16.0.0'}
+ '@sinonjs/fake-timers@13.0.5':
+ resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==}
- '@smithy/eventstream-serde-universal@3.0.10':
- resolution: {integrity: sha512-ewG1GHbbqsFZ4asaq40KmxCmXO+AFSM1b+DcO2C03dyJj/ZH71CiTg853FSE/3SHK9q3jiYQIFjlGSwfxQ9kww==}
- engines: {node: '>=16.0.0'}
+ '@smithy/abort-controller@4.2.0':
+ resolution: {integrity: sha512-PLUYa+SUKOEZtXFURBu/CNxlsxfaFGxSBPcStL13KpVeVWIfdezWyDqkz7iDLmwnxojXD0s5KzuB5HGHvt4Aeg==}
+ engines: {node: '>=18.0.0'}
- '@smithy/fetch-http-handler@3.2.9':
- resolution: {integrity: sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==}
+ '@smithy/config-resolver@4.3.0':
+ resolution: {integrity: sha512-9oH+n8AVNiLPK/iK/agOsoWfrKZ3FGP3502tkksd6SRsKMYiu7AFX0YXo6YBADdsAj7C+G/aLKdsafIJHxuCkQ==}
+ engines: {node: '>=18.0.0'}
- '@smithy/fetch-http-handler@4.0.0':
- resolution: {integrity: sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==}
+ '@smithy/core@3.15.0':
+ resolution: {integrity: sha512-VJWncXgt+ExNn0U2+Y7UywuATtRYaodGQKFo9mDyh70q+fJGedfrqi2XuKU1BhiLeXgg6RZrW7VEKfeqFhHAJA==}
+ engines: {node: '>=18.0.0'}
- '@smithy/hash-blob-browser@3.1.7':
- resolution: {integrity: sha512-4yNlxVNJifPM5ThaA5HKnHkn7JhctFUHvcaz6YXxHlYOSIrzI6VKQPTN8Gs1iN5nqq9iFcwIR9THqchUCouIfg==}
+ '@smithy/credential-provider-imds@4.2.0':
+ resolution: {integrity: sha512-SOhFVvFH4D5HJZytb0bLKxCrSnwcqPiNlrw+S4ZXjMnsC+o9JcUQzbZOEQcA8yv9wJFNhfsUiIUKiEnYL68Big==}
+ engines: {node: '>=18.0.0'}
- '@smithy/hash-node@3.0.8':
- resolution: {integrity: sha512-tlNQYbfpWXHimHqrvgo14DrMAgUBua/cNoz9fMYcDmYej7MAmUcjav/QKQbFc3NrcPxeJ7QClER4tWZmfwoPng==}
- engines: {node: '>=16.0.0'}
+ '@smithy/fetch-http-handler@5.3.1':
+ resolution: {integrity: sha512-3AvYYbB+Dv5EPLqnJIAgYw/9+WzeBiUYS8B+rU0pHq5NMQMvrZmevUROS4V2GAt0jEOn9viBzPLrZE+riTNd5Q==}
+ engines: {node: '>=18.0.0'}
- '@smithy/hash-stream-node@3.1.7':
- resolution: {integrity: sha512-xMAsvJ3hLG63lsBVi1Hl6BBSfhd8/Qnp8fC06kjOpJvyyCEXdwHITa5Kvdsk6gaAXLhbZMhQMIGvgUbfnJDP6Q==}
- engines: {node: '>=16.0.0'}
+ '@smithy/hash-node@4.2.0':
+ resolution: {integrity: sha512-ugv93gOhZGysTctZh9qdgng8B+xO0cj+zN0qAZ+Sgh7qTQGPOJbMdIuyP89KNfUyfAqFSNh5tMvC+h2uCpmTtA==}
+ engines: {node: '>=18.0.0'}
- '@smithy/invalid-dependency@3.0.8':
- resolution: {integrity: sha512-7Qynk6NWtTQhnGTTZwks++nJhQ1O54Mzi7fz4PqZOiYXb4Z1Flpb2yRvdALoggTS8xjtohWUM+RygOtB30YL3Q==}
+ '@smithy/invalid-dependency@4.2.0':
+ resolution: {integrity: sha512-ZmK5X5fUPAbtvRcUPtk28aqIClVhbfcmfoS4M7UQBTnDdrNxhsrxYVv0ZEl5NaPSyExsPWqL4GsPlRvtlwg+2A==}
+ engines: {node: '>=18.0.0'}
'@smithy/is-array-buffer@2.2.0':
resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==}
engines: {node: '>=14.0.0'}
- '@smithy/is-array-buffer@3.0.0':
- resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==}
- engines: {node: '>=16.0.0'}
-
- '@smithy/md5-js@3.0.8':
- resolution: {integrity: sha512-LwApfTK0OJ/tCyNUXqnWCKoE2b4rDSr4BJlDAVCkiWYeHESr+y+d5zlAanuLW6fnitVJRD/7d9/kN/ZM9Su4mA==}
+ '@smithy/is-array-buffer@4.2.0':
+ resolution: {integrity: sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==}
+ engines: {node: '>=18.0.0'}
- '@smithy/middleware-content-length@3.0.10':
- resolution: {integrity: sha512-T4dIdCs1d/+/qMpwhJ1DzOhxCZjZHbHazEPJWdB4GDi2HjIZllVzeBEcdJUN0fomV8DURsgOyrbEUzg3vzTaOg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-content-length@4.2.0':
+ resolution: {integrity: sha512-6ZAnwrXFecrA4kIDOcz6aLBhU5ih2is2NdcZtobBDSdSHtE9a+MThB5uqyK4XXesdOCvOcbCm2IGB95birTSOQ==}
+ engines: {node: '>=18.0.0'}
- '@smithy/middleware-endpoint@3.2.1':
- resolution: {integrity: sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-endpoint@4.3.1':
+ resolution: {integrity: sha512-JtM4SjEgImLEJVXdsbvWHYiJ9dtuKE8bqLlvkvGi96LbejDL6qnVpVxEFUximFodoQbg0Gnkyff9EKUhFhVJFw==}
+ engines: {node: '>=18.0.0'}
- '@smithy/middleware-retry@3.0.25':
- resolution: {integrity: sha512-m1F70cPaMBML4HiTgCw5I+jFNtjgz5z5UdGnUbG37vw6kh4UvizFYjqJGHvicfgKMkDL6mXwyPp5mhZg02g5sg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-retry@4.4.1':
+ resolution: {integrity: sha512-wXxS4ex8cJJteL0PPQmWYkNi9QKDWZIpsndr0wZI2EL+pSSvA/qqxXU60gBOJoIc2YgtZSWY/PE86qhKCCKP1w==}
+ engines: {node: '>=18.0.0'}
- '@smithy/middleware-serde@3.0.8':
- resolution: {integrity: sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-serde@4.2.0':
+ resolution: {integrity: sha512-rpTQ7D65/EAbC6VydXlxjvbifTf4IH+sADKg6JmAvhkflJO2NvDeyU9qsWUNBelJiQFcXKejUHWRSdmpJmEmiw==}
+ engines: {node: '>=18.0.0'}
- '@smithy/middleware-stack@3.0.8':
- resolution: {integrity: sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-stack@4.2.0':
+ resolution: {integrity: sha512-G5CJ//eqRd9OARrQu9MK1H8fNm2sMtqFh6j8/rPozhEL+Dokpvi1Og+aCixTuwDAGZUkJPk6hJT5jchbk/WCyg==}
+ engines: {node: '>=18.0.0'}
- '@smithy/node-config-provider@3.1.9':
- resolution: {integrity: sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==}
- engines: {node: '>=16.0.0'}
+ '@smithy/node-config-provider@4.3.0':
+ resolution: {integrity: sha512-5QgHNuWdT9j9GwMPPJCKxy2KDxZ3E5l4M3/5TatSZrqYVoEiqQrDfAq8I6KWZw7RZOHtVtCzEPdYz7rHZixwcA==}
+ engines: {node: '>=18.0.0'}
- '@smithy/node-http-handler@3.2.5':
- resolution: {integrity: sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==}
- engines: {node: '>=16.0.0'}
+ '@smithy/node-http-handler@4.3.0':
+ resolution: {integrity: sha512-RHZ/uWCmSNZ8cneoWEVsVwMZBKy/8123hEpm57vgGXA3Irf/Ja4v9TVshHK2ML5/IqzAZn0WhINHOP9xl+Qy6Q==}
+ engines: {node: '>=18.0.0'}
- '@smithy/property-provider@3.1.8':
- resolution: {integrity: sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/property-provider@4.2.0':
+ resolution: {integrity: sha512-rV6wFre0BU6n/tx2Ztn5LdvEdNZ2FasQbPQmDOPfV9QQyDmsCkOAB0osQjotRCQg+nSKFmINhyda0D3AnjSBJw==}
+ engines: {node: '>=18.0.0'}
- '@smithy/protocol-http@4.1.5':
- resolution: {integrity: sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/protocol-http@5.3.0':
+ resolution: {integrity: sha512-6POSYlmDnsLKb7r1D3SVm7RaYW6H1vcNcTWGWrF7s9+2noNYvUsm7E4tz5ZQ9HXPmKn6Hb67pBDRIjrT4w/d7Q==}
+ engines: {node: '>=18.0.0'}
- '@smithy/querystring-builder@3.0.8':
- resolution: {integrity: sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/querystring-builder@4.2.0':
+ resolution: {integrity: sha512-Q4oFD0ZmI8yJkiPPeGUITZj++4HHYCW3pYBYfIobUCkYpI6mbkzmG1MAQQ3lJYYWj3iNqfzOenUZu+jqdPQ16A==}
+ engines: {node: '>=18.0.0'}
- '@smithy/querystring-parser@3.0.8':
- resolution: {integrity: sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/querystring-parser@4.2.0':
+ resolution: {integrity: sha512-BjATSNNyvVbQxOOlKse0b0pSezTWGMvA87SvoFoFlkRsKXVsN3bEtjCxvsNXJXfnAzlWFPaT9DmhWy1vn0sNEA==}
+ engines: {node: '>=18.0.0'}
- '@smithy/service-error-classification@3.0.8':
- resolution: {integrity: sha512-uEC/kCCFto83bz5ZzapcrgGqHOh/0r69sZ2ZuHlgoD5kYgXJEThCoTuw/y1Ub3cE7aaKdznb+jD9xRPIfIwD7g==}
- engines: {node: '>=16.0.0'}
+ '@smithy/service-error-classification@4.2.0':
+ resolution: {integrity: sha512-Ylv1ttUeKatpR0wEOMnHf1hXMktPUMObDClSWl2TpCVT4DwtJhCeighLzSLbgH3jr5pBNM0LDXT5yYxUvZ9WpA==}
+ engines: {node: '>=18.0.0'}
- '@smithy/shared-ini-file-loader@3.1.9':
- resolution: {integrity: sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/shared-ini-file-loader@4.3.0':
+ resolution: {integrity: sha512-VCUPPtNs+rKWlqqntX0CbVvWyjhmX30JCtzO+s5dlzzxrvSfRh5SY0yxnkirvc1c80vdKQttahL71a9EsdolSQ==}
+ engines: {node: '>=18.0.0'}
- '@smithy/signature-v4@4.2.0':
- resolution: {integrity: sha512-LafbclHNKnsorMgUkKm7Tk7oJ7xizsZ1VwqhGKqoCIrXh4fqDDp73fK99HOEEgcsQbtemmeY/BPv0vTVYYUNEQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/signature-v4@5.3.0':
+ resolution: {integrity: sha512-MKNyhXEs99xAZaFhm88h+3/V+tCRDQ+PrDzRqL0xdDpq4gjxcMmf5rBA3YXgqZqMZ/XwemZEurCBQMfxZOWq/g==}
+ engines: {node: '>=18.0.0'}
- '@smithy/smithy-client@3.4.2':
- resolution: {integrity: sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/smithy-client@4.7.1':
+ resolution: {integrity: sha512-WXVbiyNf/WOS/RHUoFMkJ6leEVpln5ojCjNBnzoZeMsnCg3A0BRhLK3WYc4V7PmYcYPZh9IYzzAg9XcNSzYxYQ==}
+ engines: {node: '>=18.0.0'}
- '@smithy/types@3.6.0':
- resolution: {integrity: sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==}
- engines: {node: '>=16.0.0'}
+ '@smithy/types@4.6.0':
+ resolution: {integrity: sha512-4lI9C8NzRPOv66FaY1LL1O/0v0aLVrq/mXP/keUa9mJOApEeae43LsLd2kZRUJw91gxOQfLIrV3OvqPgWz1YsA==}
+ engines: {node: '>=18.0.0'}
- '@smithy/url-parser@3.0.8':
- resolution: {integrity: sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==}
+ '@smithy/url-parser@4.2.0':
+ resolution: {integrity: sha512-AlBmD6Idav2ugmoAL6UtR6ItS7jU5h5RNqLMZC7QrLCoITA9NzIN3nx9GWi8g4z1pfWh2r9r96SX/jHiNwPJ9A==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-base64@3.0.0':
- resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-base64@4.3.0':
+ resolution: {integrity: sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-body-length-browser@3.0.0':
- resolution: {integrity: sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==}
+ '@smithy/util-body-length-browser@4.2.0':
+ resolution: {integrity: sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-body-length-node@3.0.0':
- resolution: {integrity: sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-body-length-node@4.2.1':
+ resolution: {integrity: sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA==}
+ engines: {node: '>=18.0.0'}
'@smithy/util-buffer-from@2.2.0':
resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==}
engines: {node: '>=14.0.0'}
- '@smithy/util-buffer-from@3.0.0':
- resolution: {integrity: sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-buffer-from@4.2.0':
+ resolution: {integrity: sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-config-provider@3.0.0':
- resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-config-provider@4.2.0':
+ resolution: {integrity: sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-defaults-mode-browser@3.0.25':
- resolution: {integrity: sha512-fRw7zymjIDt6XxIsLwfJfYUfbGoO9CmCJk6rjJ/X5cd20+d2Is7xjU5Kt/AiDt6hX8DAf5dztmfP5O82gR9emA==}
- engines: {node: '>= 10.0.0'}
+ '@smithy/util-defaults-mode-browser@4.3.0':
+ resolution: {integrity: sha512-H4MAj8j8Yp19Mr7vVtGgi7noJjvjJbsKQJkvNnLlrIFduRFT5jq5Eri1k838YW7rN2g5FTnXpz5ktKVr1KVgPQ==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-defaults-mode-node@3.0.25':
- resolution: {integrity: sha512-H3BSZdBDiVZGzt8TG51Pd2FvFO0PAx/A0mJ0EH8a13KJ6iUCdYnw/Dk/MdC1kTd0eUuUGisDFaxXVXo4HHFL1g==}
- engines: {node: '>= 10.0.0'}
+ '@smithy/util-defaults-mode-node@4.2.1':
+ resolution: {integrity: sha512-PuDcgx7/qKEMzV1QFHJ7E4/MMeEjaA7+zS5UNcHCLPvvn59AeZQ0DSDGMpqC2xecfa/1cNGm4l8Ec/VxCuY7Ug==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-endpoints@2.1.4':
- resolution: {integrity: sha512-kPt8j4emm7rdMWQyL0F89o92q10gvCUa6sBkBtDJ7nV2+P7wpXczzOfoDJ49CKXe5CCqb8dc1W+ZdLlrKzSAnQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-endpoints@3.2.0':
+ resolution: {integrity: sha512-TXeCn22D56vvWr/5xPqALc9oO+LN+QpFjrSM7peG/ckqEPoI3zaKZFp+bFwfmiHhn5MGWPaLCqDOJPPIixk9Wg==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-hex-encoding@3.0.0':
- resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-hex-encoding@4.2.0':
+ resolution: {integrity: sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-middleware@3.0.8':
- resolution: {integrity: sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-middleware@4.2.0':
+ resolution: {integrity: sha512-u9OOfDa43MjagtJZ8AapJcmimP+K2Z7szXn8xbty4aza+7P1wjFmy2ewjSbhEiYQoW1unTlOAIV165weYAaowA==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-retry@3.0.8':
- resolution: {integrity: sha512-TCEhLnY581YJ+g1x0hapPz13JFqzmh/pMWL2KEFASC51qCfw3+Y47MrTmea4bUE5vsdxQ4F6/KFbUeSz22Q1ow==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-retry@4.2.0':
+ resolution: {integrity: sha512-BWSiuGbwRnEE2SFfaAZEX0TqaxtvtSYPM/J73PFVm+A29Fg1HTPiYFb8TmX1DXp4hgcdyJcNQmprfd5foeORsg==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-stream@3.2.1':
- resolution: {integrity: sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-stream@4.5.0':
+ resolution: {integrity: sha512-0TD5M5HCGu5diEvZ/O/WquSjhJPasqv7trjoqHyWjNh/FBeBl7a0ztl9uFMOsauYtRfd8jvpzIAQhDHbx+nvZw==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-uri-escape@3.0.0':
- resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-uri-escape@4.2.0':
+ resolution: {integrity: sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA==}
+ engines: {node: '>=18.0.0'}
'@smithy/util-utf8@2.3.0':
resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==}
engines: {node: '>=14.0.0'}
- '@smithy/util-utf8@3.0.0':
- resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-utf8@4.2.0':
+ resolution: {integrity: sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==}
+ engines: {node: '>=18.0.0'}
- '@smithy/util-waiter@3.1.7':
- resolution: {integrity: sha512-d5yGlQtmN/z5eoTtIYgkvOw27US2Ous4VycnXatyoImIF9tzlcpnKqQ/V7qhvJmb2p6xZne1NopCLakdTnkBBQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-waiter@4.2.0':
+ resolution: {integrity: sha512-0Z+nxUU4/4T+SL8BCNN4ztKdQjToNvUYmkF1kXO5T7Yz3Gafzh0HeIG6mrkN8Fz3gn9hSyxuAT+6h4vM+iQSBQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/uuid@1.1.0':
+ resolution: {integrity: sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw==}
+ engines: {node: '>=18.0.0'}
- '@studion/infra-code-blocks@0.6.11':
- resolution: {integrity: sha512-u+oT5O6rEsL+ufD7TBp5PmHxjXAZpuJtHBwFc5KAYgE5h2djixgb2JkpLNO7UV4VHdNJdYU+nVQaoH4lsevtvA==}
+ '@speed-highlight/core@1.2.7':
+ resolution: {integrity: sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==}
- '@stylistic/eslint-plugin@2.10.1':
- resolution: {integrity: sha512-U+4yzNXElTf9q0kEfnloI9XbOyD4cnEQCxjUI94q0+W++0GAEQvJ/slwEj9lwjDHfGADRSr+Tco/z0XJvmDfCQ==}
+ '@standard-schema/spec@1.0.0':
+ resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
+
+ '@studion/infra-code-blocks@0.7.0':
+ resolution: {integrity: sha512-8WGjSnwBIgphzoWtMBHAJpuAZURJBDVDklBgAst5c9fkxzXp5VnwZZL3bbPpf8p93dM8AITbxN5c0cLJ9cEd/g==}
+
+ '@stylistic/eslint-plugin@5.4.0':
+ resolution: {integrity: sha512-UG8hdElzuBDzIbjG1QDwnYH0MQ73YLXDFHgZzB4Zh/YJfnw8XNsloVtytqzx0I2Qky9THSdpTmi8Vjn/pf/Lew==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: '>=8.40.0'
+ eslint: '>=9.0.0'
'@szmarczak/http-timer@4.0.6':
resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
engines: {node: '>=10'}
- '@tiptap/core@2.9.1':
- resolution: {integrity: sha512-tifnLL/ARzQ6/FGEJjVwj9UT3v+pENdWHdk9x6F3X0mB1y0SeCjV21wpFLYESzwNdBPAj8NMp8Behv7dBnhIfw==}
+ '@tiptap/core@2.26.3':
+ resolution: {integrity: sha512-TaOJzu2v5ufsOx+yu94NqXE504zmupVdFCxH1g3hk5fzZ3gT57Lh9R/27OjwM4e6o+Z3DXDl8yfFMHIcR3zUkg==}
peerDependencies:
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-blockquote@2.9.1':
- resolution: {integrity: sha512-Y0jZxc/pdkvcsftmEZFyG+73um8xrx6/DMfgUcNg3JAM63CISedNcr+OEI11L0oFk1KFT7/aQ9996GM6Kubdqg==}
+ '@tiptap/extension-blockquote@2.26.3':
+ resolution: {integrity: sha512-brz8+wh03TuMevNUztTSC9BzZEsLCNakPJCCicD8FRpBJoLj4benT6T3GYVdMhkk4BmhpruSFZB0FPY+rxCVlA==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-bold@2.9.1':
- resolution: {integrity: sha512-e2P1zGpnnt4+TyxTC5pX/lPxPasZcuHCYXY0iwQ3bf8qRQQEjDfj3X7EI+cXqILtnhOiviEOcYmeu5op2WhQDg==}
+ '@tiptap/extension-bold@2.26.3':
+ resolution: {integrity: sha512-ssXKQxSwQ+Webv65emK/A1d13iTvnfbw8I2wlzuxsrMChyb4wH2HyqI5N4g0FpLqCpkXFumforoY+0XKktve+w==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-bubble-menu@2.9.1':
- resolution: {integrity: sha512-DWUF6NG08/bZDWw0jCeotSTvpkyqZTi4meJPomG9Wzs/Ol7mEwlNCsCViD999g0+IjyXFatBk4DfUq1YDDu++Q==}
+ '@tiptap/extension-bubble-menu@2.26.3':
+ resolution: {integrity: sha512-vliC5bv/md4qkguqqL8w7LW8jnXBD1FLdSMDavHRVwdRaRnEfLRAIY7Oxtc1Voy3+762tfn912TuwDlCOPsNSQ==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-bullet-list@2.9.1':
- resolution: {integrity: sha512-0hizL/0j9PragJObjAWUVSuGhN1jKjCFnhLQVRxtx4HutcvS/lhoWMvFg6ZF8xqWgIa06n6A7MaknQkqhTdhKA==}
+ '@tiptap/extension-bullet-list@2.26.3':
+ resolution: {integrity: sha512-pfBMOup1JbXgf2aVTtG1A5t7qFZJrpD+wNPuypjF2YWmCl/pAlwbPFz9hNuWyZq14+QoQg5tML1/G1M7cgrrtw==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-character-count@2.9.1':
- resolution: {integrity: sha512-1V4gi+jA2B0W0aB8dH9W60YitZF88R5+Ck9LsxHsaEBRxPym+s382cYl1A7mXJyvv51WzYlr72iX4S0cdl3KOw==}
+ '@tiptap/extension-character-count@3.6.6':
+ resolution: {integrity: sha512-Doh4Td71t7qy3O6mTrYrR1Z6P56lY6b78wb2i1GAVEHg7nQ3Dh6hgH0UyIQ0tfxK3QuH4LF3IgfVsDXzdZ2sFw==}
peerDependencies:
- '@tiptap/core': ^2.7.0
- '@tiptap/pm': ^2.7.0
+ '@tiptap/extensions': ^3.6.6
- '@tiptap/extension-code-block@2.9.1':
- resolution: {integrity: sha512-A/50wPWDqEUUUPhrwRKILP5gXMO5UlQ0F6uBRGYB9CEVOREam9yIgvONOnZVJtszHqOayjIVMXbH/JMBeq11/g==}
+ '@tiptap/extension-code-block@2.26.3':
+ resolution: {integrity: sha512-3DbzKRfMqw9EGS7mGkpyopbRWTO+qpV52Mby4Ll2+OfhvGnHzSN4Q7xOsp+VeZr14GMEmua5Oq2e/gRypqXatQ==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-code@2.9.1':
- resolution: {integrity: sha512-WQqcVGe7i/E+yO3wz5XQteU1ETNZ00euUEl4ylVVmH2NM4Dh0KDjEhbhHlCM0iCfLUo7jhjC7dmS+hMdPUb+Tg==}
+ '@tiptap/extension-code@2.26.3':
+ resolution: {integrity: sha512-bAkUNzV+tA1J1RYbtbAGTFqkRw9+yRpAd+d3S9jy/dAD+uOe1ZD1EIngyEf2GTonnoy4bpDYtytbCjUt9PozoA==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-document@2.9.1':
- resolution: {integrity: sha512-1a+HCoDPnBttjqExfYLwfABq8MYdiowhy/wp8eCxVb6KGFEENO53KapstISvPzqH7eOi+qRjBB1KtVYb/ZXicg==}
+ '@tiptap/extension-document@2.26.3':
+ resolution: {integrity: sha512-gcJg4Otchilr4eSUwhPNwbhPUkEYvXhkUZ/1MAhVGD40Ovq2P8ZWkJipA3tKOCJinL5MJK59ccZBstnKSTw+JA==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-dropcursor@2.9.1':
- resolution: {integrity: sha512-wJZspSmJRkDBtPkzFz1g7gvZOEOayk8s93UHsgbJxcV4VWHYleZ5XhT74sZunSjefNDm3qC6v2BSgLp3vNHVKQ==}
+ '@tiptap/extension-dropcursor@2.26.3':
+ resolution: {integrity: sha512-54rgDTmRStVmXZR7KdCvSOCAbumh5luXgticUkRM8OM8PBe1c0T9X8jfV7+XEFGugRVl8mtCZZpgUt5vhuxHog==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-floating-menu@2.9.1':
- resolution: {integrity: sha512-MxZ7acNNsoNaKpetxfwi3Z11Bgrh0T2EJlCV77v9N1vWK38+st3H1WJanmLbPNtc2ocvhHJrz+DjDz3CWxQ9rQ==}
+ '@tiptap/extension-floating-menu@2.26.3':
+ resolution: {integrity: sha512-i2dsIMa0L6vjCPnTiXjPZXZqUu3sIIIAI+E1T4p0FsGYjjPTmN+AgkJqeO3bbe5XHmWcWKtgQevNCMF0kmU5rQ==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-gapcursor@2.9.1':
- resolution: {integrity: sha512-jsRBmX01vr+5H02GljiHMo0n5H1vzoMLmFarxe0Yq2d2l9G/WV2VWX2XnGliqZAYWd1bI0phs7uLQIN3mxGQTw==}
+ '@tiptap/extension-gapcursor@2.26.3':
+ resolution: {integrity: sha512-ZDNSkpz7ik2PJOjrys27rwko5Ufe6GtLjaAxjvkWmyzcgAOTadDeth9NaRdBVMDGgSLBKbXihYZZXLkiAP9RLA==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-hard-break@2.9.1':
- resolution: {integrity: sha512-fCuaOD/b7nDjm47PZ58oanq7y4ccS2wjPh42Qm0B0yipu/1fmC8eS1SmaXmk28F89BLtuL6uOCtR1spe+lZtlQ==}
+ '@tiptap/extension-hard-break@2.26.3':
+ resolution: {integrity: sha512-KJWUi+2KOZejVRb2KI0NM3LgCpNimxcunbOCKsZKygV/UByzhUl7UaCAIa+ySMM+kbu/Ec3hkTzafGfaU9ZkLg==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-heading@2.9.1':
- resolution: {integrity: sha512-SjZowzLixOFaCrV2cMaWi1mp8REK0zK1b3OcVx7bCZfVSmsOETJyrAIUpCKA8o60NwF7pwhBg0MN8oXlNKMeFw==}
+ '@tiptap/extension-heading@2.26.3':
+ resolution: {integrity: sha512-bp7YildFOustuGJGl8TInG26h7xbcpBKskm49TjwyBjUqRHPGH4V11554afStAr+bsTlPN4TDXt7extvq3UYLA==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-history@2.9.1':
- resolution: {integrity: sha512-wp9qR1NM+LpvyLZFmdNaAkDq0d4jDJ7z7Fz7icFQPu31NVxfQYO3IXNmvJDCNu8hFAbImpA5aG8MBuwzRo0H9w==}
+ '@tiptap/extension-history@2.26.3':
+ resolution: {integrity: sha512-Qg4+WWf/hDgiBspxLbrhrIFUy7lzi2eBKPSoF/haEYFw/t/FeN60NXYYYtpLimUNpUzyJSOSIwsngFcVJO5X+g==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-horizontal-rule@2.9.1':
- resolution: {integrity: sha512-ydUhABeaBI1CoJp+/BBqPhXINfesp1qMNL/jiDcMsB66fsD4nOyphpAJT7FaRFZFtQVF06+nttBtFZVkITQVqg==}
+ '@tiptap/extension-horizontal-rule@2.26.3':
+ resolution: {integrity: sha512-NhlJEDj0b/P1Rj4UOMgt4CjS4IXEhXQFsdiXmsYZxchfr4J72HrsOfZs4vAqIQbkrLgUlYEr/DGMNWzME78FrA==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-italic@2.9.1':
- resolution: {integrity: sha512-VkNA6Vz96+/+7uBlsgM7bDXXx4b62T1fDam/3UKifA72aD/fZckeWrbT7KrtdUbzuIniJSbA0lpTs5FY29+86Q==}
+ '@tiptap/extension-italic@2.26.3':
+ resolution: {integrity: sha512-DJX31JQsyerqoNM+hAtbjHoJ42W/EpnMMCtQr/gRS8ssEdrVtcDDhSO2tkaP6dNjhG8zH2hKYsXpLCCFdDgvwg==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-list-item@2.9.1':
- resolution: {integrity: sha512-6O4NtYNR5N2Txi4AC0/4xMRJq9xd4+7ShxCZCDVL0WDVX37IhaqMO7LGQtA6MVlYyNaX4W1swfdJaqrJJ5HIUw==}
+ '@tiptap/extension-list-item@2.26.3':
+ resolution: {integrity: sha512-9qU0SoC+tDSKYhfdWFS3dkioEk3ml1ycBeRmOxh7h+w0ezmTomiT5yvc9t3KM30ps8n1p78sIPo19GF65u1dFQ==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-ordered-list@2.9.1':
- resolution: {integrity: sha512-6J9jtv1XP8dW7/JNSH/K4yiOABc92tBJtgCsgP8Ep4+fjfjdj4HbjS1oSPWpgItucF2Fp/VF8qg55HXhjxHjTw==}
+ '@tiptap/extension-ordered-list@2.26.3':
+ resolution: {integrity: sha512-x6G0qA7dAvSq+kphA7P64m+ScoVEAW8s9pl7o3jIJzcIW/LrbL1xkyOjbgCvGEvwyQVsgyqtLQDQ2oeloosDBw==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-paragraph@2.9.1':
- resolution: {integrity: sha512-JOmT0xd4gd3lIhLwrsjw8lV+ZFROKZdIxLi0Ia05XSu4RLrrvWj0zdKMSB+V87xOWfSB3Epo95zAvnPox5Q16A==}
+ '@tiptap/extension-paragraph@2.26.3':
+ resolution: {integrity: sha512-eBC5UsaTJRUMhePtK1dcCAfes0CpqqFiewpIM0lWk4XMtpG2aoczVVVkImybbFKfqsvEEo3vgHJ2YiE5YZFCSg==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-strike@2.9.1':
- resolution: {integrity: sha512-V5aEXdML+YojlPhastcu7w4biDPwmzy/fWq0T2qjfu5Te/THcqDmGYVBKESBm5x6nBy5OLkanw2O+KHu2quDdg==}
+ '@tiptap/extension-strike@2.26.3':
+ resolution: {integrity: sha512-Po3al5hP0IwvHHIHYy3DbUvCD/kbYTsi3sWTjPAB9QgqaoJGl+jyhIyha8FsR+U3MCIIJIekMktI5o1+ySMGpg==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-subscript@2.9.1':
- resolution: {integrity: sha512-jjfuHmF2dCUAtHmJH2K/7HhOCleM3aPVOI/UsBBYa8xM4mDU4xuW1O5sLAr2JWcB1xxyk9YKcBWwyRq+b1ENFA==}
+ '@tiptap/extension-subscript@3.6.6':
+ resolution: {integrity: sha512-S6PSD1YFDSNI8MGsaYipKEayJiOk6C1yB3rF47FtpuhtILaTzl2O/OdUc1u+LIO9OjIORCNkV4jPPfhwn+cI7g==}
peerDependencies:
- '@tiptap/core': ^2.7.0
+ '@tiptap/core': ^3.6.6
+ '@tiptap/pm': ^3.6.6
- '@tiptap/extension-superscript@2.9.1':
- resolution: {integrity: sha512-7cgAPpUNgO/3QdvCN9/6dWP6JQC641o8dSgkyv0XzVv0nxISck4SU+2eADRYQLyP2s4M3xuSEFhCCiKZleK2yA==}
+ '@tiptap/extension-superscript@3.6.6':
+ resolution: {integrity: sha512-HHjwp2xuTE2YpSfPeS11tTDe3Eb/D6CbGBCXrwGLZw/LPFwHrbnBYIsxxbc5kLvRSXOQYqhF/E0zHedtJHYvsg==}
peerDependencies:
- '@tiptap/core': ^2.7.0
+ '@tiptap/core': ^3.6.6
+ '@tiptap/pm': ^3.6.6
- '@tiptap/extension-text-style@2.9.1':
- resolution: {integrity: sha512-LAxc0SeeiPiAVBwksczeA7BJSZb6WtVpYhy5Esvy9K0mK5kttB4KxtnXWeQzMIJZQbza65yftGKfQlexf/Y7yg==}
+ '@tiptap/extension-text-style@2.26.3':
+ resolution: {integrity: sha512-B+t6k41xtmlIxyi0r+g8MAShGMCK6kmz8EdxoLAUVrlCxYWVk6qvzoojZbjQKlb2sE+idIo4X5yCcKpdkxFe0w==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-text@2.9.1':
- resolution: {integrity: sha512-3wo9uCrkLVLQFgbw2eFU37QAa1jq1/7oExa+FF/DVxdtHRS9E2rnUZ8s2hat/IWzvPUHXMwo3Zg2XfhoamQpCA==}
+ '@tiptap/extension-text@2.26.3':
+ resolution: {integrity: sha512-sGRbX96ss4jQeKw9d0iphuAWja8Dv4w4ryTDKfxD7Lizx3UaIxQB/y+Wna89tM3kfbi/qJcrD3AF7NJgfc/tEA==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-underline@2.9.1':
- resolution: {integrity: sha512-IrUsIqKPgD7GcAjr4D+RC0WvLHUDBTMkD8uPNEoeD1uH9t9zFyDfMRPnx/z3/6Gf6fTh3HzLcHGibiW2HiMi2A==}
+ '@tiptap/extension-underline@3.6.6':
+ resolution: {integrity: sha512-PXhWYTZHM9IvGr3ElJl25qsyvKUejlul9TpFeBHv2awTY+0xoUL9FeEwOWOGx3sk8XTrz15b0/gjsgOV6U6Hiw==}
peerDependencies:
- '@tiptap/core': ^2.7.0
+ '@tiptap/core': ^3.6.6
+
+ '@tiptap/extensions@3.6.6':
+ resolution: {integrity: sha512-+U4ppBItDa75HVeJ861G/O1F1nKPUkTgM2Qed9akPx/IB8ELuOUXNEytIHPONqx0XqjJ+953fQans2xQowMBjg==}
+ peerDependencies:
+ '@tiptap/core': ^3.6.6
+ '@tiptap/pm': ^3.6.6
- '@tiptap/pm@2.9.1':
- resolution: {integrity: sha512-mvV86fr7kEuDYEApQ2uMPCKL2uagUE0BsXiyyz3KOkY1zifyVm1fzdkscb24Qy1GmLzWAIIihA+3UHNRgYdOlQ==}
+ '@tiptap/pm@2.26.3':
+ resolution: {integrity: sha512-8gUmdxWlUevmgq2mNvGxvf2CpDW097tVKECMWKEn8sf846kXv3CoqaGRhI3db4kfR+09uWZeRM7rtrjRBmUThg==}
- '@tiptap/starter-kit@2.9.1':
- resolution: {integrity: sha512-nsw6UF/7wDpPfHRhtGOwkj1ipIEiWZS1VGw+c14K61vM1CNj0uQ4jogbHwHZqN1dlL5Hh+FCqUHDPxG6ECbijg==}
+ '@tiptap/starter-kit@2.26.3':
+ resolution: {integrity: sha512-hznj/j+mFIuKfNB0ToaZVcVjdtpSOHoBoX3ocSz9BaYCtK+nX1c0gTlfbJ1BcpYUZNtqG+tpUeIfvXifRkq/OQ==}
- '@tiptap/vue-3@2.9.1':
- resolution: {integrity: sha512-51mKa4C3hdKe+o6G7Pk7d4puZ/VjoHWtTo2WxE249oH+bCkh6FObqNu2wfRK+9obVuTGXQ9dAc988cmwY+2eyw==}
+ '@tiptap/vue-3@2.26.3':
+ resolution: {integrity: sha512-UxEwRee0WOsOIr0IMHIOBecrrc3unh3xExgPDZJ7Zo6FAVy+D6wDEGPbcU4TbV6PPdamTAfS/xb5J9LAIY6UZw==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
vue: ^3.0.0
- '@trysound/sax@0.2.0':
- resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
- engines: {node: '>=10.13.0'}
+ '@tokenizer/inflate@0.2.7':
+ resolution: {integrity: sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg==}
+ engines: {node: '>=18'}
+
+ '@tokenizer/token@0.3.0':
+ resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==}
+
+ '@tootallnate/quickjs-emscripten@0.23.0':
+ resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
+
+ '@ts-morph/common@0.28.1':
+ resolution: {integrity: sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==}
+
+ '@tsconfig/node10@1.0.11':
+ resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
+
+ '@tsconfig/node12@1.0.11':
+ resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
+
+ '@tsconfig/node14@1.0.3':
+ resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
+
+ '@tsconfig/node16@1.0.4':
+ resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
'@tufjs/canonical-json@2.0.0':
resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==}
@@ -2972,17 +3832,35 @@ packages:
resolution: {integrity: sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==}
engines: {node: ^16.14.0 || >=18.0.0}
+ '@tybys/wasm-util@0.10.1':
+ resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+
'@types/argparse@1.0.38':
resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==}
- '@types/aws-lambda@8.10.143':
- resolution: {integrity: sha512-u5vzlcR14ge/4pMTTMDQr3MF0wEe38B2F9o84uC4F43vN5DGTy63npRrB6jQhyt+C0lGv4ZfiRcRkqJoZuPnmg==}
+ '@types/aws-lambda@8.10.155':
+ resolution: {integrity: sha512-wd1XgoL0gy/ybo7WozUKQBd+IOgUkdfG6uUGI0fQOTEq06FBFdO7tmPDSxgjkFkl8GlfApvk5TvqZlAl0g+Lbg==}
+
+ '@types/babel__core@7.20.5':
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+
+ '@types/babel__generator@7.27.0':
+ resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
+
+ '@types/babel__template@7.4.4':
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+
+ '@types/babel__traverse@7.28.0':
+ resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
+
+ '@types/bcrypt@6.0.0':
+ resolution: {integrity: sha512-/oJGukuH3D2+D+3H4JWLaAsJ/ji86dhRidzZ/Od7H/i8g+aCmvkeCc6Ni/f9uxGLSQVCRZkX2/lqEFG2BvWtlQ==}
'@types/bluebird@3.5.42':
resolution: {integrity: sha512-Jhy+MWRlro6UjVi578V/4ZGNfeCOcNCp0YaFNIUGFKlImowqwb1O/22wDVk3FDGMLqxdpOV3qQHD5fPEH4hK6A==}
- '@types/body-parser@1.19.5':
- resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
+ '@types/body-parser@1.19.6':
+ resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==}
'@types/cacheable-request@6.0.3':
resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
@@ -2990,44 +3868,74 @@ packages:
'@types/connect@3.4.38':
resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+ '@types/cookie-parser@1.4.9':
+ resolution: {integrity: sha512-tGZiZ2Gtc4m3wIdLkZ8mkj1T6CEHb35+VApbL2T14Dew8HA7c+04dmKqsKRNC+8RJPm16JEK0tFSwdZqubfc4g==}
+ peerDependencies:
+ '@types/express': '*'
+
+ '@types/cookiejar@2.1.5':
+ resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==}
+
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
- '@types/estree@1.0.6':
- resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+ '@types/eslint-scope@3.7.7':
+ resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
+
+ '@types/eslint@9.6.1':
+ resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
- '@types/express-serve-static-core@5.0.1':
- resolution: {integrity: sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==}
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
- '@types/express@5.0.0':
- resolution: {integrity: sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ==}
+ '@types/express-serve-static-core@5.1.0':
+ resolution: {integrity: sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==}
+
+ '@types/express@5.0.3':
+ resolution: {integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==}
'@types/google-protobuf@3.15.12':
resolution: {integrity: sha512-40um9QqwHjRS92qnOaDpL7RmDK15NuZYo9HihiJRbYkMQZlWnuH8AdvbMy8/o6lgLmKbDUKa+OALCltHdbOTpQ==}
+ '@types/handlebars@4.1.0':
+ resolution: {integrity: sha512-gq9YweFKNNB1uFK71eRqsd4niVkXrxHugqWFQkeLRJvGjnxsLr16bYtcsG4tOFwmYi0Bax+wCkbf1reUfdl4kA==}
+ deprecated: This is a stub types definition. handlebars provides its own type definitions, so you do not need this installed.
+
'@types/hast@3.0.4':
resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
'@types/http-cache-semantics@4.0.4':
resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
- '@types/http-errors@2.0.4':
- resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
+ '@types/http-errors@2.0.5':
+ resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==}
+
+ '@types/istanbul-lib-coverage@2.0.6':
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+
+ '@types/istanbul-lib-report@3.0.3':
+ resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
- '@types/http-proxy@1.17.15':
- resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==}
+ '@types/istanbul-reports@3.0.4':
+ resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+
+ '@types/jest@30.0.0':
+ resolution: {integrity: sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==}
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ '@types/jsonwebtoken@9.0.10':
+ resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==}
+
'@types/keyv@3.1.4':
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
'@types/linkify-it@5.0.0':
resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
- '@types/lodash@4.17.13':
- resolution: {integrity: sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==}
+ '@types/lodash@4.17.20':
+ resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==}
'@types/markdown-it@14.1.2':
resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
@@ -3038,32 +3946,48 @@ packages:
'@types/mdurl@2.0.0':
resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
+ '@types/methods@1.1.4':
+ resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==}
+
'@types/mime@1.3.5':
resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
- '@types/minimist@1.2.5':
- resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+
+ '@types/multer@2.0.0':
+ resolution: {integrity: sha512-C3Z9v9Evij2yST3RSBktxP9STm6OdMc5uR1xF1SGr98uv8dUlAL2hqwrZ3GVB3uyMyiegnscEK6PGtYvNrjTjw==}
- '@types/ms@0.7.34':
- resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
+ '@types/mysql@2.15.27':
+ resolution: {integrity: sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==}
- '@types/mute-stream@0.0.4':
- resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==}
+ '@types/node@24.7.2':
+ resolution: {integrity: sha512-/NbVmcGTP+lj5oa4yiYxxeBjRivKQ5Ns1eSZeB99ExsEQ6rX5XYU1Zy/gGxY/ilqtD4Etx9mKyrPxZRetiahhA==}
- '@types/node-fetch@2.6.11':
- resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==}
+ '@types/nodemailer@7.0.2':
+ resolution: {integrity: sha512-Zo6uOA9157WRgBk/ZhMpTQ/iCWLMk7OIs/Q9jvHarMvrzUUP/MDdPHL2U1zpf57HrrWGv4nYQn5uIxna0xY3xw==}
- '@types/node@18.19.45':
- resolution: {integrity: sha512-VZxPKNNhjKmaC1SUYowuXSRSMGyQGmQjvvA1xE4QZ0xce2kLtEhPDS+kqpCPBZYgqblCLQ2DAjSzmgCM5auvhA==}
+ '@types/parse-path@7.1.0':
+ resolution: {integrity: sha512-EULJ8LApcVEPbrfND0cRQqutIOdiIgJ1Mgrhpy755r14xMohPTEpkV/k28SJvuOs9bHRFW8x+KeDAEPiGQPB9Q==}
+ deprecated: This is a stub types definition. parse-path provides its own type definitions, so you do not need this installed.
- '@types/node@22.5.0':
- resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==}
+ '@types/passport-jwt@4.0.1':
+ resolution: {integrity: sha512-Y0Ykz6nWP4jpxgEUYq8NoVZeCQPo1ZndJLfapI249g1jHChvRfZRO/LS3tqu26YgAS/laI1qx98sYGz0IalRXQ==}
- '@types/node@22.9.0':
- resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==}
+ '@types/passport-local@1.0.38':
+ resolution: {integrity: sha512-nsrW4A963lYE7lNTv9cr5WmiUD1ibYJvWrpE13oxApFsRt77b0RdtZvKbCdNIY4v/QZ6TRQWaDDEwV1kCTmcXg==}
- '@types/normalize-package-data@2.4.4':
- resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
+ '@types/passport-strategy@0.2.38':
+ resolution: {integrity: sha512-GC6eMqqojOooq993Tmnmp7AUTbbQSgilyvpCYQjT+H6JfG/g6RGc7nXEniZlp0zyKJ0WUdOiZWLBZft9Yug1uA==}
+
+ '@types/passport@1.0.17':
+ resolution: {integrity: sha512-aciLyx+wDwT2t2/kJGJR2AEeBz0nJU4WuRX04Wu9Dqc5lSUtwu0WERPHYsLhF9PtseiAMPBGNUOtFjxZ56prsg==}
+
+ '@types/pg-pool@2.0.6':
+ resolution: {integrity: sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==}
+
+ '@types/pg@8.15.5':
+ resolution: {integrity: sha512-LF7lF6zWEKxuT3/OR8wAZGzkg4ENGXFNyiV/JeOt9z5B+0ZVwbql9McqX5c/WStFq1GaGso7H1AzP/qSzmlCKQ==}
'@types/pluralize@0.0.33':
resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==}
@@ -3071,8 +3995,8 @@ packages:
'@types/promise-queue@2.2.3':
resolution: {integrity: sha512-CuEQpGSYKvHr3SQ7C7WkluLg9CFjVORbn8YFRsQ5u6mqGbZVfSOv03ic9t95HtZuMchnlNqnIsQGFOpxqdhjTQ==}
- '@types/qs@6.9.17':
- resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==}
+ '@types/qs@6.14.0':
+ resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==}
'@types/range-parser@1.2.7':
resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
@@ -3083,319 +4007,356 @@ packages:
'@types/responselike@1.0.3':
resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
- '@types/semver@7.5.8':
- resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
+ '@types/semver@7.7.1':
+ resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==}
+
+ '@types/send@0.17.5':
+ resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==}
- '@types/send@0.17.4':
- resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
+ '@types/send@1.2.0':
+ resolution: {integrity: sha512-zBF6vZJn1IaMpg3xUF25VK3gd3l8zwE0ZLRX7dsQyQi+jp4E8mMDJNGDYnYse+bQhYwWERTxVwHpi3dMOq7RKQ==}
- '@types/serve-static@1.15.7':
- resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==}
+ '@types/serve-static@1.15.9':
+ resolution: {integrity: sha512-dOTIuqpWLyl3BBXU3maNQsS4A3zuuoYRNIvYSxxhebPfXg2mzWQEPne/nlJ37yOse6uGgR386uTpdsx4D0QZWA==}
+
+ '@types/set-cookie-parser@2.4.10':
+ resolution: {integrity: sha512-GGmQVGpQWUe5qglJozEjZV/5dyxbOOZ0LHe/lqyWssB88Y4svNfst0uqBVscdDeIKl5Jy5+aPSvy7mI9tYRguw==}
'@types/shimmer@1.2.0':
resolution: {integrity: sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==}
+ '@types/stack-utils@2.0.3':
+ resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
+
+ '@types/superagent@8.1.9':
+ resolution: {integrity: sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==}
+
+ '@types/supertest@6.0.3':
+ resolution: {integrity: sha512-8WzXq62EXFhJ7QsH3Ocb/iKQ/Ty9ZVWnVzoTKc9tyyFRRF3a74Tk2+TLFgaFFw364Ere+npzHKEJ6ga2LzIL7w==}
+
+ '@types/tedious@4.0.14':
+ resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==}
+
'@types/tmp@0.2.6':
resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==}
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
- '@types/validator@13.12.1':
- resolution: {integrity: sha512-w0URwf7BQb0rD/EuiG12KP0bailHKHP5YVviJG9zw3ykAokL0TuxU2TUqMB7EwZ59bDHYdeTIvjI5m0S7qHfOA==}
+ '@types/uuid@11.0.0':
+ resolution: {integrity: sha512-HVyk8nj2m+jcFRNazzqyVKiZezyhDKrGUA3jlEcg/nZ6Ms+qHwocba1Y/AaVaznJTAM9xpdFSh+ptbNrhOGvZA==}
+ deprecated: This is a stub types definition. uuid provides its own type definitions, so you do not need this installed.
+
+ '@types/validator@13.15.3':
+ resolution: {integrity: sha512-7bcUmDyS6PN3EuD9SlGGOxM77F8WLVsrwkxyWxKnxzmXoequ6c7741QBrANq6htVRGOITJ7z72mTP6Z4XyuG+Q==}
+
+ '@types/web-bluetooth@0.0.21':
+ resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
+
+ '@types/ws@8.18.1':
+ resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
- '@types/web-bluetooth@0.0.20':
- resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
+ '@types/yargs-parser@21.0.3':
+ resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
- '@types/wrap-ansi@3.0.0':
- resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==}
+ '@types/yargs@17.0.33':
+ resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==}
'@types/yauzl@2.10.3':
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
- '@typescript-eslint/eslint-plugin@8.13.0':
- resolution: {integrity: sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg==}
+ '@typescript-eslint/eslint-plugin@8.46.0':
+ resolution: {integrity: sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
+ '@typescript-eslint/parser': ^8.46.0
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@6.21.0':
- resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- '@typescript-eslint/parser@8.13.0':
- resolution: {integrity: sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ==}
+ '@typescript-eslint/parser@8.46.0':
+ resolution: {integrity: sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@6.21.0':
- resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==}
- engines: {node: ^16.0.0 || >=18.0.0}
-
- '@typescript-eslint/scope-manager@8.13.0':
- resolution: {integrity: sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==}
+ '@typescript-eslint/project-service@8.46.0':
+ resolution: {integrity: sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.2.0':
- resolution: {integrity: sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==}
+ '@typescript-eslint/scope-manager@8.46.0':
+ resolution: {integrity: sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/type-utils@8.13.0':
- resolution: {integrity: sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA==}
+ '@typescript-eslint/tsconfig-utils@8.46.0':
+ resolution: {integrity: sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/types@6.21.0':
- resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==}
- engines: {node: ^16.0.0 || >=18.0.0}
-
- '@typescript-eslint/types@8.13.0':
- resolution: {integrity: sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/types@8.2.0':
- resolution: {integrity: sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==}
+ '@typescript-eslint/type-utils@8.46.0':
+ resolution: {integrity: sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/typescript-estree@6.21.0':
- resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==}
- engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/typescript-estree@8.13.0':
- resolution: {integrity: sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==}
+ '@typescript-eslint/types@8.46.0':
+ resolution: {integrity: sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- '@typescript-eslint/typescript-estree@8.2.0':
- resolution: {integrity: sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA==}
+ '@typescript-eslint/typescript-estree@8.46.0':
+ resolution: {integrity: sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.13.0':
- resolution: {integrity: sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==}
+ '@typescript-eslint/utils@8.46.0':
+ resolution: {integrity: sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.2.0':
- resolution: {integrity: sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg==}
+ '@typescript-eslint/visitor-keys@8.46.0':
+ resolution: {integrity: sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@ungap/structured-clone@1.3.0':
+ resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+
+ '@unhead/vue@2.0.19':
+ resolution: {integrity: sha512-7BYjHfOaoZ9+ARJkT10Q2TjnTUqDXmMpfakIAsD/hXiuff1oqWg1xeXT5+MomhNcC15HbiABpbbBmITLSHxdKg==}
peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
+ vue: '>=3.5.18'
- '@typescript-eslint/visitor-keys@6.21.0':
- resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ '@unrs/resolver-binding-android-arm-eabi@1.11.1':
+ resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==}
+ cpu: [arm]
+ os: [android]
- '@typescript-eslint/visitor-keys@8.13.0':
- resolution: {integrity: sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@unrs/resolver-binding-android-arm64@1.11.1':
+ resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==}
+ cpu: [arm64]
+ os: [android]
- '@typescript-eslint/visitor-keys@8.2.0':
- resolution: {integrity: sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@unrs/resolver-binding-darwin-arm64@1.11.1':
+ resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@unrs/resolver-binding-darwin-x64@1.11.1':
+ resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==}
+ cpu: [x64]
+ os: [darwin]
- '@ungap/structured-clone@1.2.0':
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ '@unrs/resolver-binding-freebsd-x64@1.11.1':
+ resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1':
+ resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==}
+ cpu: [arm]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1':
+ resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==}
+ cpu: [arm]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-arm64-gnu@1.11.1':
+ resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-arm64-musl@1.11.1':
+ resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
+ resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
+ resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
+ resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
+ resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-x64-gnu@1.11.1':
+ resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==}
+ cpu: [x64]
+ os: [linux]
- '@unhead/dom@1.11.11':
- resolution: {integrity: sha512-4YwziCH5CmjvUzSGdZ4Klj6BqhLSTNZooA9kt47yDxj4Qw9uHqVnXwWWupYsVdIYPNsw1tR2AkHveg82y1Fn3A==}
+ '@unrs/resolver-binding-linux-x64-musl@1.11.1':
+ resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==}
+ cpu: [x64]
+ os: [linux]
- '@unhead/schema@1.11.11':
- resolution: {integrity: sha512-xSGsWHPBYcMV/ckQeImbrVu6ddeRnrdDCgXUKv3xIjGBY+ob/96V80lGX8FKWh8GwdFSwhblISObKlDAt5K9ZQ==}
+ '@unrs/resolver-binding-wasm32-wasi@1.11.1':
+ resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
- '@unhead/shared@1.11.11':
- resolution: {integrity: sha512-RfdvUskPn90ipO+PmR98jKZ8Lsx1uuzscOenO5xcrMrtWGhlLWaEBIrbvFOvX5PZ/u8/VNMJChTXGDUjEtHmlg==}
+ '@unrs/resolver-binding-win32-arm64-msvc@1.11.1':
+ resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==}
+ cpu: [arm64]
+ os: [win32]
- '@unhead/ssr@1.11.11':
- resolution: {integrity: sha512-NQC8y+4ldwkMr3x8WFwv3+OR6g+Sj7dwL6J/3ST25KnvlwDSub2KGbnm2hF1x8vTpTmXTVxMA3GDRL9MRfLvMg==}
+ '@unrs/resolver-binding-win32-ia32-msvc@1.11.1':
+ resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==}
+ cpu: [ia32]
+ os: [win32]
- '@unhead/vue@1.11.11':
- resolution: {integrity: sha512-AxsHHauZ+w0m2irwDHqkc3GdNChMLBtolk8CN3IAZM6vTwH0EbPXlFCFcIk4WwkH0opG+R2GlKTThr5H0HLm7g==}
- peerDependencies:
- vue: '>=2.7 || >=3'
+ '@unrs/resolver-binding-win32-x64-msvc@1.11.1':
+ resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==}
+ cpu: [x64]
+ os: [win32]
- '@upstash/pulumi@0.2.0':
- resolution: {integrity: sha512-wxc8UGP9+4ccFwQes6FWvo4/Cia8LeLl8q1VXUoeuGHL67A1oQQmIIQ5HSFtGzOxh6t6GPlg3+kummsCReJ4Qg==}
+ '@upstash/pulumi@0.3.14':
+ resolution: {integrity: sha512-tM0muzOEGmOBVu1J8rY86ThaV4iuZE+tfB+hc84dHPHP9jkSgUcDxBIVRRUs22/5O6Tt9R0hcigJBSGNWvIWfA==}
- '@vee-validate/i18n@4.14.6':
- resolution: {integrity: sha512-NXxwGuYcm9rxMyfmEQUVWnCEhYurrihGHFjGOQPBtooJuIdfw8UEroHSFpmyXlSrBFI0GvcDlCqYe8SyLzq5mg==}
+ '@vee-validate/i18n@4.15.1':
+ resolution: {integrity: sha512-6ogEyxkoTr7IZk4EAUT0rD3pr34Nw/YEToez/c0DSlI1/cBeOpunSmGmoYPh32pmd3imxFPEawCB7IyFvRJSAw==}
- '@vee-validate/rules@4.14.6':
- resolution: {integrity: sha512-aq2AGKyovW+1TrJ8I8y4b/KshyAyNJr3Ar7PDSRE1LaMNhJrb8TmjU/30T2jZjpvBd93S1x8Pdxk6QXG4GsH3w==}
+ '@vee-validate/rules@4.15.1':
+ resolution: {integrity: sha512-2TGXq2MYt21nT8ysuxyFY/LBVQDcMPKn1hY0w3uIDmG333vzBkOtXAylmvrS93AsJ7N5coHMJjcCGG4JxCO2hQ==}
- '@vercel/nft@0.27.6':
- resolution: {integrity: sha512-mwuyUxskdcV8dd7N7JnxBgvFEz1D9UOePI/WyLLzktv6HSCwgPNQGit/UJ2IykAWGlypKw4pBQjOKWvIbXITSg==}
- engines: {node: '>=16'}
+ '@vercel/nft@0.30.2':
+ resolution: {integrity: sha512-pquXF3XZFg/T3TBor08rUhIGgOhdSilbn7WQLVP/aVSSO+25Rs4H/m3nxNDQ2x3znX7Z3yYjryN8xaLwypcwQg==}
+ engines: {node: '>=18'}
hasBin: true
- '@vitejs/plugin-vue-jsx@4.0.1':
- resolution: {integrity: sha512-7mg9HFGnFHMEwCdB6AY83cVK4A6sCqnrjFYF4WIlebYAQVVJ/sC/CiTruVdrRlhrFoeZ8rlMxY9wYpPTIRhhAg==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ '@vitejs/plugin-vue-jsx@5.1.1':
+ resolution: {integrity: sha512-uQkfxzlF8SGHJJVH966lFTdjM/lGcwJGzwAHpVqAPDD/QcsqoUGa+q31ox1BrUfi+FLP2ChVp7uLXE3DkHyDdQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
- vite: ^5.0.0
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0
vue: ^3.0.0
- '@vitejs/plugin-vue@5.1.4':
- resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==}
+ '@vitejs/plugin-vue@5.2.4':
+ resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
- vite: ^5.0.0
+ vite: ^5.0.0 || ^6.0.0
vue: ^3.2.25
- '@volar/language-core@2.4.6':
- resolution: {integrity: sha512-FxUfxaB8sCqvY46YjyAAV6c3mMIq/NWQMVvJ+uS4yxr1KzOvyg61gAuOnNvgCvO4TZ7HcLExBEsWcDu4+K4E8A==}
+ '@vitejs/plugin-vue@6.0.1':
+ resolution: {integrity: sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ peerDependencies:
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0
+ vue: ^3.2.25
- '@volar/source-map@2.4.6':
- resolution: {integrity: sha512-Nsh7UW2ruK+uURIPzjJgF0YRGP5CX9nQHypA2OMqdM2FKy7rh+uv3XgPnWPw30JADbKvZ5HuBzG4gSbVDYVtiw==}
+ '@volar/language-core@2.4.23':
+ resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==}
- '@volar/typescript@2.4.6':
- resolution: {integrity: sha512-NMIrA7y5OOqddL9VtngPWYmdQU03htNKFtAYidbYfWA0TOhyGVd9tfcP4TsLWQ+RBWDZCbBqsr8xzU0ZOxYTCQ==}
+ '@volar/source-map@2.4.23':
+ resolution: {integrity: sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==}
- '@vue-macros/common@1.12.2':
- resolution: {integrity: sha512-+NGfhrPvPNOb3Wg9PNPEXPe0HTXmVe6XJawL1gi3cIjOSGIhpOdvmMT2cRuWb265IpA/PeL5Sqo0+DQnEDxLvw==}
- engines: {node: '>=16.14.0'}
+ '@vue-macros/common@3.0.0-beta.16':
+ resolution: {integrity: sha512-8O2gWxWFiaoNkk7PGi0+p7NPGe/f8xJ3/INUufvje/RZOs7sJvlI1jnR4lydtRFa/mU0ylMXUXXjSK0fHDEYTA==}
+ engines: {node: '>=20.18.0'}
peerDependencies:
vue: ^2.7.0 || ^3.2.25
peerDependenciesMeta:
vue:
optional: true
- '@vue/babel-helper-vue-transform-on@1.2.2':
- resolution: {integrity: sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==}
+ '@vue/babel-helper-vue-transform-on@1.5.0':
+ resolution: {integrity: sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==}
- '@vue/babel-plugin-jsx@1.2.2':
- resolution: {integrity: sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==}
+ '@vue/babel-plugin-jsx@1.5.0':
+ resolution: {integrity: sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==}
peerDependencies:
'@babel/core': ^7.0.0-0
peerDependenciesMeta:
'@babel/core':
optional: true
- '@vue/babel-plugin-resolve-type@1.2.2':
- resolution: {integrity: sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==}
+ '@vue/babel-plugin-resolve-type@1.5.0':
+ resolution: {integrity: sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@vue/compiler-core@3.4.38':
- resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==}
+ '@vue/compiler-core@3.5.22':
+ resolution: {integrity: sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==}
- '@vue/compiler-core@3.5.12':
- resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==}
+ '@vue/compiler-dom@3.5.22':
+ resolution: {integrity: sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==}
- '@vue/compiler-dom@3.4.38':
- resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==}
+ '@vue/compiler-sfc@3.5.22':
+ resolution: {integrity: sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==}
- '@vue/compiler-dom@3.5.12':
- resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==}
-
- '@vue/compiler-sfc@3.5.12':
- resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==}
-
- '@vue/compiler-ssr@3.5.12':
- resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==}
-
- '@vue/compiler-vue2@2.7.16':
- resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
+ '@vue/compiler-ssr@3.5.22':
+ resolution: {integrity: sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==}
'@vue/devtools-api@6.6.4':
resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
- '@vue/devtools-api@7.6.3':
- resolution: {integrity: sha512-H2TRzFA9hNezdtM6I0y3RCMhIg5T3gib/p9qI2IAS8gB9tvkAv4JZHAZZl5BZHhO7btuHkvHzU5qpO/vdsjYMg==}
-
- '@vue/devtools-core@7.3.3':
- resolution: {integrity: sha512-i6Bwkx4OwfY0QVHjAdsivhlzZ2HMj7fbNRYJsWspQ+dkA1f3nTzycPqZmVUsm2TGkbQlhTMhCAdDoP97JKoc+g==}
+ '@vue/devtools-api@7.7.7':
+ resolution: {integrity: sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==}
- '@vue/devtools-core@7.4.4':
- resolution: {integrity: sha512-DLxgA3DfeADkRzhAfm3G2Rw/cWxub64SdP5b+s5dwL30+whOGj+QNhmyFpwZ8ZTrHDFRIPj0RqNzJ8IRR1pz7w==}
+ '@vue/devtools-core@7.7.7':
+ resolution: {integrity: sha512-9z9TLbfC+AjAi1PQyWX+OErjIaJmdFlbDHcD+cAMYKY6Bh5VlsAtCeGyRMrXwIlMEQPukvnWt3gZBLwTAIMKzQ==}
peerDependencies:
vue: ^3.0.0
- '@vue/devtools-kit@7.3.3':
- resolution: {integrity: sha512-m+dFI57BrzKYPKq73mt4CJ5GWld5OLBseLHPHGVP7CaILNY9o1gWVJWAJeF8XtQ9LTiMxZSaK6NcBsFuxAhD0g==}
+ '@vue/devtools-kit@7.7.7':
+ resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==}
- '@vue/devtools-kit@7.4.4':
- resolution: {integrity: sha512-awK/4NfsUG0nQ7qnTM37m7ZkEUMREyPh8taFCX+uQYps/MTFEum0AD05VeGDRMXwWvMmGIcWX9xp8ZiBddY0jw==}
+ '@vue/devtools-shared@7.7.7':
+ resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==}
- '@vue/devtools-kit@7.6.3':
- resolution: {integrity: sha512-ETsFc8GlOp04rSFN79tB2TpVloWfsSx9BoCSElV3w3CaJTSBfz42KsIi5Ka+dNTJs1jY7QVLTDeoBmUGgA9h2A==}
-
- '@vue/devtools-shared@7.3.9':
- resolution: {integrity: sha512-CdfMRZKXyI8vw+hqOcQIiLihB6Hbbi7WNZGp7LsuH1Qe4aYAFmTaKjSciRZ301oTnwmU/knC/s5OGuV6UNiNoA==}
-
- '@vue/devtools-shared@7.6.3':
- resolution: {integrity: sha512-wJW5QF27i16+sNQIaes8QoEZg1eqEgF83GkiPUlEQe9k7ZoHXHV7PRrnrxOKem42sIHPU813J2V/ZK1uqTJe6g==}
-
- '@vue/language-core@2.1.6':
- resolution: {integrity: sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==}
+ '@vue/language-core@3.1.1':
+ resolution: {integrity: sha512-qjMY3Q+hUCjdH+jLrQapqgpsJ0rd/2mAY02lZoHG3VFJZZZKLjAlV+Oo9QmWIT4jh8+Rx8RUGUi++d7T9Wb6Mw==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@vue/reactivity@3.5.12':
- resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==}
+ '@vue/reactivity@3.5.22':
+ resolution: {integrity: sha512-f2Wux4v/Z2pqc9+4SmgZC1p73Z53fyD90NFWXiX9AKVnVBEvLFOWCEgJD3GdGnlxPZt01PSlfmLqbLYzY/Fw4A==}
- '@vue/runtime-core@3.5.12':
- resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==}
+ '@vue/runtime-core@3.5.22':
+ resolution: {integrity: sha512-EHo4W/eiYeAzRTN5PCextDUZ0dMs9I8mQ2Fy+OkzvRPUYQEyK9yAjbasrMCXbLNhF7P0OUyivLjIy0yc6VrLJQ==}
- '@vue/runtime-dom@3.5.12':
- resolution: {integrity: sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==}
+ '@vue/runtime-dom@3.5.22':
+ resolution: {integrity: sha512-Av60jsryAkI023PlN7LsqrfPvwfxOd2yAwtReCjeuugTJTkgrksYJJstg1e12qle0NarkfhfFu1ox2D+cQotww==}
- '@vue/server-renderer@3.5.12':
- resolution: {integrity: sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==}
+ '@vue/server-renderer@3.5.22':
+ resolution: {integrity: sha512-gXjo+ao0oHYTSswF+a3KRHZ1WszxIqO7u6XwNHqcqb9JfyIL/pbWrrh/xLv7jeDqla9u+LK7yfZKHih1e1RKAQ==}
peerDependencies:
- vue: 3.5.12
-
- '@vue/shared@3.4.38':
- resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==}
+ vue: 3.5.22
- '@vue/shared@3.5.12':
- resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==}
+ '@vue/shared@3.5.22':
+ resolution: {integrity: sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==}
- '@vueuse/core@10.11.1':
- resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==}
+ '@vueuse/core@12.8.2':
+ resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==}
- '@vueuse/core@11.1.0':
- resolution: {integrity: sha512-P6dk79QYA6sKQnghrUz/1tHi0n9mrb/iO1WTMk/ElLmTyNqgDeSZ3wcDf6fRBGzRJbeG1dxzEOvLENMjr+E3fg==}
+ '@vueuse/core@13.9.0':
+ resolution: {integrity: sha512-ts3regBQyURfCE2BcytLqzm8+MmLlo5Ln/KLoxDVcsZ2gzIwVNnQpQOL/UKV8alUqjSZOlpFZcRNsLRqj+OzyA==}
+ peerDependencies:
+ vue: ^3.5.0
- '@vueuse/integrations@11.1.0':
- resolution: {integrity: sha512-O2ZgrAGPy0qAjpoI2YR3egNgyEqwG85fxfwmA9BshRIGjV4G6yu6CfOPpMHAOoCD+UfsIl7Vb1bXJ6ifrHYDDA==}
+ '@vueuse/integrations@12.8.2':
+ resolution: {integrity: sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==}
peerDependencies:
async-validator: ^4
axios: ^1
@@ -3435,29 +4396,79 @@ packages:
universal-cookie:
optional: true
- '@vueuse/metadata@10.11.1':
- resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==}
+ '@vueuse/metadata@12.8.2':
+ resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==}
+
+ '@vueuse/metadata@13.9.0':
+ resolution: {integrity: sha512-1AFRvuiGphfF7yWixZa0KwjYH8ulyjDCC0aFgrGRz8+P4kvDFSdXLVfTk5xAN9wEuD1J6z4/myMoYbnHoX07zg==}
- '@vueuse/metadata@11.1.0':
- resolution: {integrity: sha512-l9Q502TBTaPYGanl1G+hPgd3QX5s4CGnpXriVBR5fEZ/goI6fvDaVmIl3Td8oKFurOxTmbXvBPSsgrd6eu6HYg==}
+ '@vueuse/shared@12.8.2':
+ resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==}
- '@vueuse/shared@10.11.1':
- resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==}
+ '@vueuse/shared@13.9.0':
+ resolution: {integrity: sha512-e89uuTLMh0U5cZ9iDpEI2senqPGfbPRTHM/0AaQkcxnpqjkZqDYP8rpfm7edOz8s+pOCOROEy1PIveSW8+fL5g==}
+ peerDependencies:
+ vue: ^3.5.0
- '@vueuse/shared@11.1.0':
- resolution: {integrity: sha512-YUtIpY122q7osj+zsNMFAfMTubGz0sn5QzE5gPzAIiCmtt2ha3uQUY1+JPyL4gRCTsLPX82Y9brNbo/aqlA91w==}
+ '@webassemblyjs/ast@1.14.1':
+ resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
- JSONStream@1.3.5:
- resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
- hasBin: true
+ '@webassemblyjs/floating-point-hex-parser@1.13.2':
+ resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==}
+
+ '@webassemblyjs/helper-api-error@1.13.2':
+ resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==}
+
+ '@webassemblyjs/helper-buffer@1.14.1':
+ resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==}
+
+ '@webassemblyjs/helper-numbers@1.13.2':
+ resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==}
+
+ '@webassemblyjs/helper-wasm-bytecode@1.13.2':
+ resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==}
+
+ '@webassemblyjs/helper-wasm-section@1.14.1':
+ resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==}
+
+ '@webassemblyjs/ieee754@1.13.2':
+ resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==}
+
+ '@webassemblyjs/leb128@1.13.2':
+ resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==}
+
+ '@webassemblyjs/utf8@1.13.2':
+ resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==}
- abbrev@1.1.1:
- resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
+ '@webassemblyjs/wasm-edit@1.14.1':
+ resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==}
+
+ '@webassemblyjs/wasm-gen@1.14.1':
+ resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==}
+
+ '@webassemblyjs/wasm-opt@1.14.1':
+ resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==}
+
+ '@webassemblyjs/wasm-parser@1.14.1':
+ resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==}
+
+ '@webassemblyjs/wast-printer@1.14.1':
+ resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
+
+ '@xtuc/ieee754@1.2.0':
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+
+ '@xtuc/long@4.2.2':
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
abbrev@2.0.0:
resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ abbrev@3.0.1:
+ resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==}
+ engines: {node: ^18.17.0 || >=20.5.0}
+
abort-controller@3.0.0:
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
engines: {node: '>=6.5'}
@@ -3471,41 +4482,34 @@ packages:
peerDependencies:
acorn: ^8
+ acorn-import-phases@1.0.4:
+ resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ acorn: ^8.14.0
+
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- acorn@8.12.1:
- resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
+ acorn-walk@8.3.4:
+ resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
engines: {node: '>=0.4.0'}
- hasBin: true
- acorn@8.14.0:
- resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
engines: {node: '>=0.4.0'}
hasBin: true
- agent-base@6.0.2:
- resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
- engines: {node: '>= 6.0.0'}
-
- agent-base@7.1.1:
- resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
+ agent-base@7.1.4:
+ resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
engines: {node: '>= 14'}
- agentkeepalive@4.5.0:
- resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==}
- engines: {node: '>= 8.0.0'}
-
aggregate-error@3.1.0:
resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
engines: {node: '>=8'}
- aggregate-error@4.0.1:
- resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
- engines: {node: '>=12'}
-
aggregate-error@5.0.0:
resolution: {integrity: sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==}
engines: {node: '>=18'}
@@ -3518,6 +4522,14 @@ packages:
ajv:
optional: true
+ ajv-formats@2.1.1:
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
ajv-formats@3.0.1:
resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
peerDependencies:
@@ -3526,6 +4538,16 @@ packages:
ajv:
optional: true
+ ajv-keywords@3.5.2:
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
+ peerDependencies:
+ ajv: ^6.9.1
+
+ ajv-keywords@5.1.0:
+ resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
+ peerDependencies:
+ ajv: ^8.8.2
+
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
@@ -3535,8 +4557,12 @@ packages:
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
- algoliasearch@4.24.0:
- resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==}
+ algoliasearch@5.40.0:
+ resolution: {integrity: sha512-a9aIL2E3Z7uYUPMCmjMFFd5MWhn+ccTubEvnMy7rOTZCB62dXBJtz0R5BZ/TPuX3R9ocBsgWuAbGWQ+Ph4Fmlg==}
+ engines: {node: '>= 14.0.0'}
+
+ alien-signals@3.0.0:
+ resolution: {integrity: sha512-JHoRJf18Y6HN4/KZALr3iU+0vW9LKG+8FMThQlbn4+gv8utsLIkwpomjElGPccGeNwh0FI2HN6BLnyFLo6OyLQ==}
ansi-align@3.0.1:
resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
@@ -3553,22 +4579,30 @@ packages:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
- ansi-regex@6.0.1:
- resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
engines: {node: '>=12'}
- ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
-
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
- ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
engines: {node: '>=12'}
+ ansis@4.1.0:
+ resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==}
+ engines: {node: '>=14'}
+
+ ansis@4.2.0:
+ resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==}
+ engines: {node: '>=14'}
+
anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
@@ -3576,9 +4610,6 @@ packages:
append-field@1.0.0:
resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==}
- aproba@2.0.0:
- resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
-
archiver-utils@5.0.2:
resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==}
engines: {node: '>= 14'}
@@ -3591,10 +4622,8 @@ packages:
resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
engines: {node: '>=14'}
- are-we-there-yet@2.0.0:
- resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
- engines: {node: '>=10'}
- deprecated: This package is no longer supported.
+ arg@4.1.3:
+ resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
argparse@1.0.10:
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
@@ -3602,39 +4631,27 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- array-buffer-byte-length@1.0.1:
- resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
- engines: {node: '>= 0.4'}
-
- array-flatten@3.0.0:
- resolution: {integrity: sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==}
+ array-timsort@1.0.3:
+ resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==}
array-union@2.1.0:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'}
- array.prototype.reduce@1.0.7:
- resolution: {integrity: sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==}
- engines: {node: '>= 0.4'}
-
- arraybuffer.prototype.slice@1.0.3:
- resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
- engines: {node: '>= 0.4'}
-
- arrify@1.0.1:
- resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
- engines: {node: '>=0.10.0'}
-
asap@2.0.6:
resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
- ast-kit@1.1.0:
- resolution: {integrity: sha512-RlNqd4u6c/rJ5R+tN/ZTtyNrH8X0NHCvyt6gD8RHa3JjzxxHWoyaU0Ujk3Zjbh7IZqrYl1Sxm6XzZifmVxXxHQ==}
- engines: {node: '>=16.14.0'}
+ ast-kit@2.1.3:
+ resolution: {integrity: sha512-TH+b3Lv6pUjy/Nu0m6A2JULtdzLpmqF9x1Dhj00ZoEiML8qvVA9j1flkzTKNYgdEhWrjDwtWNpyyCUbfQe514g==}
+ engines: {node: '>=20.19.0'}
- ast-walker-scope@0.6.2:
- resolution: {integrity: sha512-1UWOyC50xI3QZkRuDj6PqDtpm1oHWtYs+NQGwqL/2R11eN3Q81PHAHPM0SWW3BNQm53UDwS//Jv8L4CCVLM1bQ==}
- engines: {node: '>=16.14.0'}
+ ast-types@0.13.4:
+ resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
+ engines: {node: '>=4'}
+
+ ast-walker-scope@0.8.3:
+ resolution: {integrity: sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==}
+ engines: {node: '>=20.19.0'}
async-sema@3.1.1:
resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
@@ -3645,72 +4662,95 @@ packages:
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
- at-least-node@1.0.0:
- resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
- engines: {node: '>= 4.0.0'}
-
atomic-sleep@1.0.0:
resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
engines: {node: '>=8.0.0'}
- auto-bind@5.0.1:
- resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- autoprefixer@10.4.20:
- resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
+ autoprefixer@10.4.21:
+ resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
engines: {node: ^10 || ^12 || >=14}
hasBin: true
peerDependencies:
postcss: ^8.1.0
- available-typed-arrays@1.0.7:
- resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
- engines: {node: '>= 0.4'}
+ axe-core@4.10.3:
+ resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==}
+ engines: {node: '>=4'}
- aws-sdk@2.1682.0:
- resolution: {integrity: sha512-Kh4nXRKvidlNXwKA8V4aoMW2F4UeCj9J4sumQxUQE6EpHlSsdCGZTPoGcMcKp/kAlS+iuJtuQIOP2aXZWdGczQ==}
- engines: {node: '>= 10.0.0'}
+ axios@1.12.2:
+ resolution: {integrity: sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==}
- axe-core@4.10.0:
- resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==}
- engines: {node: '>=4'}
+ b4a@1.7.3:
+ resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==}
+ peerDependencies:
+ react-native-b4a: '*'
+ peerDependenciesMeta:
+ react-native-b4a:
+ optional: true
+
+ babel-jest@30.2.0:
+ resolution: {integrity: sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ '@babel/core': ^7.11.0 || ^8.0.0-0
+
+ babel-plugin-istanbul@7.0.1:
+ resolution: {integrity: sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==}
+ engines: {node: '>=12'}
+
+ babel-plugin-jest-hoist@30.2.0:
+ resolution: {integrity: sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- axios@1.7.7:
- resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==}
+ babel-preset-current-node-syntax@1.2.0:
+ resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0 || ^8.0.0-0
- b4a@1.6.6:
- resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==}
+ babel-preset-jest@30.2.0:
+ resolution: {integrity: sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ '@babel/core': ^7.11.0 || ^8.0.0-beta.1
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- bare-events@2.4.2:
- resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==}
+ bare-events@2.8.0:
+ resolution: {integrity: sha512-AOhh6Bg5QmFIXdViHbMc2tLDsBIRxdkIaIddPslJF9Z5De3APBScuqGP2uThXnIpqFrgoxMNC6km7uXNIMLHXA==}
+ peerDependencies:
+ bare-abort-controller: '*'
+ peerDependenciesMeta:
+ bare-abort-controller:
+ optional: true
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- bcrypt@5.1.1:
- resolution: {integrity: sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==}
- engines: {node: '>= 10.0.0'}
+ baseline-browser-mapping@2.8.16:
+ resolution: {integrity: sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw==}
+ hasBin: true
+
+ basic-ftp@5.0.5:
+ resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
+ engines: {node: '>=10.0.0'}
+
+ bcrypt@6.0.0:
+ resolution: {integrity: sha512-cU8v/EGSrnH+HnxV2z0J7/blxH8gq7Xh2JFT6Aroax7UohdmiJJlxApMxtKfuI7z68NvvVcmR78k2LbT6efhRg==}
+ engines: {node: '>= 18'}
+
+ bidi-js@1.0.3:
+ resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==}
bin-links@4.0.4:
resolution: {integrity: sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
-
bindings@1.5.0:
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
- birpc@0.2.17:
- resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==}
-
- birpc@0.2.19:
- resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==}
+ birpc@2.6.1:
+ resolution: {integrity: sha512-LPnFhlDpdSH6FJhJyn4M0kFO7vtQ5iPw24FnG0y21q09xC7e8+1LeR31S1MAIrDAHp4m7aas4bEkTDTvMAtebQ==}
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
@@ -3721,50 +4761,41 @@ packages:
blueimp-canvas-to-blob@3.29.0:
resolution: {integrity: sha512-0pcSSGxC0QxT+yVkivxIqW0Y4VlO2XSDPofBAqoJ1qJxgH9eiUDLv50Rixij2cDuEfx4M6DpD9UGZpRhT5Q8qg==}
- blueimp-md5@2.19.0:
- resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==}
-
- body-parser@1.20.3:
- resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
- body-parser@2.0.1:
- resolution: {integrity: sha512-PagxbjvuPH6tv0f/kdVbFGcb79D236SLcDTs6DrQ7GizJ88S1UWP4nMXFEo/I4fdhGRGabvFfFjVGm3M7U8JwA==}
- engines: {node: '>= 0.10'}
+ body-parser@2.2.0:
+ resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==}
+ engines: {node: '>=18'}
boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
- bowser@2.11.0:
- resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==}
-
- boxen@7.1.1:
- resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==}
- engines: {node: '>=14.16'}
+ bowser@2.12.1:
+ resolution: {integrity: sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw==}
boxen@8.0.1:
resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==}
engines: {node: '>=18'}
- brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ brace-expansion@1.1.12:
+ resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
- brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ brace-expansion@2.0.2:
+ resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
- browserslist@4.23.3:
- resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==}
+ browserslist@4.26.3:
+ resolution: {integrity: sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
- browserslist@4.24.2:
- resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
+ bs-logger@0.2.6:
+ resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
+ engines: {node: '>= 6'}
+
+ bser@2.1.1:
+ resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
buffer-crc32@0.2.13:
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
@@ -3779,25 +4810,15 @@ packages:
buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
- buffer@4.9.2:
- resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==}
-
- buffer@5.6.0:
- resolution: {integrity: sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==}
-
buffer@5.7.1:
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
buffer@6.0.3:
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
- builtin-modules@3.0.0:
- resolution: {integrity: sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==}
- engines: {node: '>=6'}
-
- builtin-modules@3.3.0:
- resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
- engines: {node: '>=6'}
+ builtin-modules@5.0.0:
+ resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==}
+ engines: {node: '>=18.20'}
bundle-name@4.1.0:
resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
@@ -3811,24 +4832,8 @@ packages:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'}
- c12@1.11.1:
- resolution: {integrity: sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg==}
- peerDependencies:
- magicast: ^0.3.4
- peerDependenciesMeta:
- magicast:
- optional: true
-
- c12@1.11.2:
- resolution: {integrity: sha512-oBs8a4uvSDO9dm8b7OCFW7+dgtVrwmwnrVXYzLm43ta7ep2jCn/0MhoUFygIWtxhyy6+/MG7/agvpY0U1Iemew==}
- peerDependencies:
- magicast: ^0.3.4
- peerDependenciesMeta:
- magicast:
- optional: true
-
- c12@2.0.1:
- resolution: {integrity: sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==}
+ c12@3.3.0:
+ resolution: {integrity: sha512-K9ZkuyeJQeqLEyqldbYLG3wjqwpw4BVaAqvmxq3GYKK0b1A/yYQdIcJxkzAOWcNVWhJpRXAPfZFueekiY/L8Dw==}
peerDependencies:
magicast: ^0.3.5
peerDependenciesMeta:
@@ -3851,21 +4856,18 @@ packages:
resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==}
engines: {node: '>=8'}
- call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
+
+ call-bound@1.0.4:
+ resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
engines: {node: '>= 0.4'}
callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
- camel-case@3.0.0:
- resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==}
-
- camelcase-keys@7.0.2:
- resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==}
- engines: {node: '>=12'}
-
camelcase@5.3.1:
resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
engines: {node: '>=6'}
@@ -3874,10 +4876,6 @@ packages:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'}
- camelcase@7.0.1:
- resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
- engines: {node: '>=14.16'}
-
camelcase@8.0.0:
resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
engines: {node: '>=16'}
@@ -3885,71 +4883,73 @@ packages:
caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
- caniuse-lite@1.0.30001653:
- resolution: {integrity: sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==}
+ caniuse-lite@1.0.30001750:
+ resolution: {integrity: sha512-cuom0g5sdX6rw00qOoLNSFCJ9/mYIsuSOA+yzpDw8eopiFqcVwQvZHqov0vmEighRxX++cfC0Vg1G+1Iy/mSpQ==}
- caniuse-lite@1.0.30001679:
- resolution: {integrity: sha512-j2YqID/YwpLnKzCmBOS4tlZdWprXm3ZmQLBH9ZBXFOhoxLA46fwyBvx6toCBWBmnuwUY/qB3kEU6gFx8qgCroA==}
+ casual@1.6.2:
+ resolution: {integrity: sha512-NQObL800rg32KZ9bBajHbyDjxLXxxuShChQg7A4tbSeG3n1t7VYGOSkzFSI9gkSgOHp+xilEJ7G0L5l6M30KYA==}
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
- chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
-
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
- chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
+ chalk@5.6.2:
+ resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
change-case@5.4.4:
resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==}
+ char-regex@1.0.2:
+ resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
+ engines: {node: '>=10'}
+
character-entities-html4@2.1.0:
resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
character-entities-legacy@3.0.0:
resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
- chardet@0.7.0:
- resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
-
- cheerio-select@2.1.0:
- resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
-
- cheerio@1.0.0-rc.12:
- resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
- engines: {node: '>= 6'}
-
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
+ chardet@2.1.0:
+ resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==}
- chokidar@4.0.1:
- resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
engines: {node: '>= 14.16.0'}
chownr@2.0.0:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
- ci-info@4.0.0:
- resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
+ chownr@3.0.0:
+ resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
+ engines: {node: '>=18'}
+
+ chrome-trace-event@1.0.4:
+ resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
+ engines: {node: '>=6.0'}
+
+ ci-info@4.3.1:
+ resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==}
engines: {node: '>=8'}
citty@0.1.6:
resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
- cjs-module-lexer@1.4.0:
- resolution: {integrity: sha512-N1NGmowPlGBLsOZLPvm48StN04V4YvQRL0i6b7ctrVY3epjP/ct7hFLOItz6pDIvRjwpfPxi52a2UWV2ziir8g==}
+ cjs-module-lexer@1.4.3:
+ resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
+
+ cjs-module-lexer@2.1.0:
+ resolution: {integrity: sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==}
- clean-css@4.2.4:
- resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==}
- engines: {node: '>= 4.0'}
+ class-transformer@0.5.1:
+ resolution: {integrity: sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==}
+
+ class-validator@0.14.2:
+ resolution: {integrity: sha512-3kMVRF2io8N8pY1IFIXlho9r8IPUUIfHe2hYVtiebvAzU2XeQFXTv+XI4WX+TnXmtwXMDcjngcpkiPM0O9PvLw==}
clean-regexp@1.0.0:
resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
@@ -3959,25 +4959,14 @@ packages:
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
engines: {node: '>=6'}
- clean-stack@4.2.0:
- resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==}
- engines: {node: '>=12'}
-
- clean-stack@5.2.0:
- resolution: {integrity: sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==}
+ clean-stack@5.3.0:
+ resolution: {integrity: sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==}
engines: {node: '>=14.16'}
- clear@0.1.0:
- resolution: {integrity: sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==}
-
cli-boxes@3.0.0:
resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
engines: {node: '>=10'}
- cli-color@2.0.4:
- resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==}
- engines: {node: '>=0.10'}
-
cli-cursor@3.1.0:
resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
engines: {node: '>=8'}
@@ -3990,6 +4979,14 @@ packages:
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
engines: {node: '>=6'}
+ cli-spinners@3.3.0:
+ resolution: {integrity: sha512-/+40ljC3ONVnYIttjMWrlL51nItDAbBrq2upN8BPyvGU/2n5Oxw3tbNwORCaNuNqLJnxGqOfjUuhsv7l5Q4IsQ==}
+ engines: {node: '>=18.20'}
+
+ cli-table3@0.6.5:
+ resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==}
+ engines: {node: 10.* || >= 12.*}
+
cli-width@4.1.0:
resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
engines: {node: '>= 12'}
@@ -3998,11 +4995,9 @@ packages:
resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==}
engines: {node: '>=18'}
- cliui@6.0.0:
- resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
-
- cliui@7.0.4:
- resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+ clipboardy@5.0.0:
+ resolution: {integrity: sha512-MQfKHaD09eP80Pev4qBxZLbxJK/ONnqfSYAPlCmPh+7BDboYtO/3BmB6HGzxDIT0SlTRc2tzS8lQqfcdLtZ0Kg==}
+ engines: {node: '>=20'}
cliui@8.0.1:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
@@ -4023,28 +5018,28 @@ packages:
resolution: {integrity: sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ co@4.6.0:
+ resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+
+ code-block-writer@13.0.3:
+ resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==}
+
+ collect-v8-coverage@1.0.2:
+ resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
- color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
-
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- color-support@1.1.3:
- resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
- hasBin: true
-
colord@2.9.3:
resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
- colorette@1.4.0:
- resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
+ colorette@2.0.19:
+ resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==}
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
@@ -4060,20 +5055,24 @@ packages:
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
engines: {node: '>=14'}
+ commander@11.1.0:
+ resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
+ engines: {node: '>=16'}
+
+ commander@14.0.1:
+ resolution: {integrity: sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==}
+ engines: {node: '>=20'}
+
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
- commander@6.2.1:
- resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
+ commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'}
- commander@7.2.0:
- resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
- engines: {node: '>= 10'}
-
- commander@8.3.0:
- resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
- engines: {node: '>= 12'}
+ comment-json@4.4.1:
+ resolution: {integrity: sha512-r1To31BQD5060QdkC+Iheai7gHwoSZobzunqkf2/kQ6xIAfJyrKNAFUwdKvkK7Qgu7pVTKQEa7ok7Ed3ycAJgg==}
+ engines: {node: '>= 6'}
comment-parser@1.4.1:
resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
@@ -4082,11 +5081,18 @@ packages:
common-ancestor-path@1.0.1:
resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
+ common-tags@1.8.2:
+ resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
+ engines: {node: '>=4.0.0'}
+
commondir@1.0.1:
resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
- compatx@0.1.8:
- resolution: {integrity: sha512-jcbsEAR81Bt5s1qOFymBufmCbXCXbk0Ql+K5ouj6gCyx2yHlu6AgmGIi9HxfKixpUDO5bCFJUHQ5uM6ecbTebw==}
+ compatx@0.2.0:
+ resolution: {integrity: sha512-6gLRNt4ygsi5NyMVhceOCFv14CIdDFN7fQjX1U4+47qVE/+kjPoXMK65KWK+dWxmFzMTuKazoQ9sch6pM0p5oA==}
+
+ component-emitter@1.3.1:
+ resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==}
compress-commons@6.0.2:
resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==}
@@ -4095,191 +5101,28 @@ packages:
compressorjs@1.2.1:
resolution: {integrity: sha512-+geIjeRnPhQ+LLvvA7wxBQE5ddeLU7pJ3FsKFWirDw6veY3s9iLxAQEw7lXGHnhCJvBujEQWuNnGzZcvCvdkLQ==}
- computeds@0.0.1:
- resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==}
-
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- concat-stream@1.6.2:
- resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==}
- engines: {'0': node >= 0.8}
+ concat-stream@2.0.0:
+ resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==}
+ engines: {'0': node >= 6.0}
- concurrently@9.1.0:
- resolution: {integrity: sha512-VxkzwMAn4LP7WyMnJNbHN5mKV9L2IbyDjpzemKr99sXNR3GqRNMMHdm7prV1ws9wg7ETj6WUkNOigZVsptwbgg==}
+ concurrently@9.2.1:
+ resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==}
engines: {node: '>=18'}
hasBin: true
- confbox@0.1.7:
- resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
-
confbox@0.1.8:
resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
- config-chain@1.1.13:
- resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
+ confbox@0.2.2:
+ resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
- connect-history-api-fallback@2.0.0:
- resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
- engines: {node: '>=0.8'}
-
- consola@3.2.3:
- resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
+ consola@3.4.2:
+ resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
engines: {node: ^14.18.0 || >=16.10.0}
- console-control-strings@1.1.0:
- resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
-
- consolidate@1.0.4:
- resolution: {integrity: sha512-RuZ3xnqEDsxiwaoIkqVeeK3gg9qxw7+YKYX2tKhLs1eukVKMgSr4VYI3iYFsRHi4TloHYDlugrz3kvkjs3nynA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.22.5
- arc-templates: ^0.5.3
- atpl: '>=0.7.6'
- bracket-template: ^1.1.5
- coffee-script: ^1.12.7
- dot: ^1.1.3
- dust: ^0.3.0
- dustjs-helpers: ^1.7.4
- dustjs-linkedin: ^2.7.5
- eco: ^1.1.0-rc-3
- ect: ^0.5.9
- ejs: ^3.1.5
- haml-coffee: ^1.14.1
- hamlet: ^0.3.3
- hamljs: ^0.6.2
- handlebars: ^4.7.6
- hogan.js: ^3.0.2
- htmling: ^0.0.8
- jazz: ^0.0.18
- jqtpl: ~1.1.0
- just: ^0.1.8
- liquid-node: ^3.0.1
- liquor: ^0.0.5
- lodash: ^4.17.20
- mote: ^0.2.0
- mustache: ^4.0.1
- nunjucks: ^3.2.2
- plates: ~0.4.11
- pug: ^3.0.0
- qejs: ^3.0.5
- ractive: ^1.3.12
- react: '>=16.13.1'
- react-dom: '>=16.13.1'
- slm: ^2.0.0
- swig: ^1.4.2
- swig-templates: ^2.0.3
- teacup: ^2.0.0
- templayed: '>=0.2.3'
- then-pug: '*'
- tinyliquid: ^0.2.34
- toffee: ^0.3.6
- twig: ^1.15.2
- twing: ^5.0.2
- underscore: ^1.11.0
- vash: ^0.13.0
- velocityjs: ^2.0.1
- walrus: ^0.10.1
- whiskers: ^0.4.0
- peerDependenciesMeta:
- '@babel/core':
- optional: true
- arc-templates:
- optional: true
- atpl:
- optional: true
- bracket-template:
- optional: true
- coffee-script:
- optional: true
- dot:
- optional: true
- dust:
- optional: true
- dustjs-helpers:
- optional: true
- dustjs-linkedin:
- optional: true
- eco:
- optional: true
- ect:
- optional: true
- ejs:
- optional: true
- haml-coffee:
- optional: true
- hamlet:
- optional: true
- hamljs:
- optional: true
- handlebars:
- optional: true
- hogan.js:
- optional: true
- htmling:
- optional: true
- jazz:
- optional: true
- jqtpl:
- optional: true
- just:
- optional: true
- liquid-node:
- optional: true
- liquor:
- optional: true
- lodash:
- optional: true
- mote:
- optional: true
- mustache:
- optional: true
- nunjucks:
- optional: true
- plates:
- optional: true
- pug:
- optional: true
- qejs:
- optional: true
- ractive:
- optional: true
- react:
- optional: true
- react-dom:
- optional: true
- slm:
- optional: true
- swig:
- optional: true
- swig-templates:
- optional: true
- teacup:
- optional: true
- templayed:
- optional: true
- then-pug:
- optional: true
- tinyliquid:
- optional: true
- toffee:
- optional: true
- twig:
- optional: true
- twing:
- optional: true
- underscore:
- optional: true
- vash:
- optional: true
- velocityjs:
- optional: true
- walrus:
- optional: true
- whiskers:
- optional: true
-
content-disposition@0.5.4:
resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
engines: {node: '>= 0.6'}
@@ -4298,6 +5141,9 @@ packages:
cookie-es@1.2.2:
resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==}
+ cookie-es@2.0.0:
+ resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==}
+
cookie-parser@1.4.7:
resolution: {integrity: sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==}
engines: {node: '>= 0.8.0'}
@@ -4305,27 +5151,27 @@ packages:
cookie-signature@1.0.6:
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
- cookie-signature@1.0.7:
- resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==}
-
- cookie-signature@1.2.1:
- resolution: {integrity: sha512-78KWk9T26NhzXtuL26cIJ8/qNHANyJ/ZYrmEXFzUmhZdjpBv+DlWlOANRTGBt48YcyslsLrj0bMLFTmXvLRCOw==}
+ cookie-signature@1.2.2:
+ resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==}
engines: {node: '>=6.6.0'}
- cookie@0.6.0:
- resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
- engines: {node: '>= 0.6'}
-
cookie@0.7.2:
resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
engines: {node: '>= 0.6'}
+ cookie@1.0.2:
+ resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==}
+ engines: {node: '>=18'}
+
+ cookiejar@2.1.4:
+ resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==}
+
copy-anything@3.0.5:
resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
engines: {node: '>=12.13'}
- core-js-compat@3.38.1:
- resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==}
+ core-js-compat@3.46.0:
+ resolution: {integrity: sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==}
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
@@ -4358,40 +5204,36 @@ packages:
crelt@1.0.6:
resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
- croner@9.0.0:
- resolution: {integrity: sha512-onMB0OkDjkXunhdW9htFjEhqrD54+M94i6ackoUkjHKbRnXdyEyKRelp4nJ1kAz32+s27jP1FsebpJCVl0BsvA==}
+ croner@9.1.0:
+ resolution: {integrity: sha512-p9nwwR4qyT5W996vBZhdvBCnMhicY5ytZkR4D1Xj0wuTDEiMnjwR57Q3RXYY/s0EpX6Ay3vgIcfaR+ewGHsi+g==}
engines: {node: '>=18.0'}
- cronstrue@2.50.0:
- resolution: {integrity: sha512-ULYhWIonJzlScCCQrPUG5uMXzXxSixty4djud9SS37DoNxDdkeRocxzHuAo4ImRBUK+mAuU5X9TSwEDccnnuPg==}
- hasBin: true
-
- cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
- crossws@0.3.1:
- resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==}
+ crossws@0.3.5:
+ resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==}
- css-declaration-sorter@7.2.0:
- resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
+ css-declaration-sorter@7.3.0:
+ resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==}
engines: {node: ^14 || ^16 || >=18}
peerDependencies:
postcss: ^8.0.9
- css-select@5.1.0:
- resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
+ css-select@5.2.2:
+ resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==}
css-tree@2.2.1:
resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
- css-tree@2.3.1:
- resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ css-tree@3.1.0:
+ resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
- css-what@6.1.0:
- resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ css-what@6.2.2:
+ resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
engines: {node: '>= 6'}
cssesc@3.0.0:
@@ -4399,77 +5241,68 @@ packages:
engines: {node: '>=4'}
hasBin: true
- cssnano-preset-default@7.0.6:
- resolution: {integrity: sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==}
+ cssnano-preset-default@7.0.9:
+ resolution: {integrity: sha512-tCD6AAFgYBOVpMBX41KjbvRh9c2uUjLXRyV7KHSIrwHiq5Z9o0TFfUCoM3TwVrRsRteN3sVXGNvjVNxYzkpTsA==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- cssnano-utils@5.0.0:
- resolution: {integrity: sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==}
+ cssnano-utils@5.0.1:
+ resolution: {integrity: sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- cssnano@7.0.6:
- resolution: {integrity: sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==}
+ cssnano@7.1.1:
+ resolution: {integrity: sha512-fm4D8ti0dQmFPeF8DXSAA//btEmqCOgAc/9Oa3C1LW94h5usNrJEfrON7b4FkPZgnDEn6OUs5NdxiJZmAtGOpQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
csso@5.0.5:
resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
- cssstyle@4.0.1:
- resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==}
- engines: {node: '>=18'}
+ cssstyle@5.3.1:
+ resolution: {integrity: sha512-g5PC9Aiph9eiczFpcgUhd9S4UUO3F+LHGRIi5NUMZ+4xtoIYbHNZwZnWA2JsFGe8OU8nl4WyaEFiZuGuxlutJQ==}
+ engines: {node: '>=20'}
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
- d@1.0.2:
- resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
- engines: {node: '>=0.12'}
-
- dargs@8.1.0:
- resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==}
- engines: {node: '>=12'}
-
- data-urls@5.0.0:
- resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
- engines: {node: '>=18'}
-
- data-view-buffer@1.0.1:
- resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
- engines: {node: '>= 0.4'}
+ data-uri-to-buffer@4.0.1:
+ resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
+ engines: {node: '>= 12'}
- data-view-byte-length@1.0.1:
- resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
- engines: {node: '>= 0.4'}
+ data-uri-to-buffer@6.0.2:
+ resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
+ engines: {node: '>= 14'}
- data-view-byte-offset@1.0.0:
- resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
- engines: {node: '>= 0.4'}
+ data-urls@6.0.0:
+ resolution: {integrity: sha512-BnBS08aLUM+DKamupXs3w2tJJoqU+AkaE/+6vQxi/G/DPmIZFJJp9Dkb1kM03AZx8ADehDUZgsNxju3mPXZYIA==}
+ engines: {node: '>=20'}
- date-fns@2.30.0:
- resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
- engines: {node: '>=0.11'}
+ dataloader@2.2.3:
+ resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==}
date-fns@3.6.0:
resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==}
+ date-fns@4.1.0:
+ resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
+
dateformat@4.6.3:
resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==}
- db0@0.2.1:
- resolution: {integrity: sha512-BWSFmLaCkfyqbSEZBQINMVNjCVfrogi7GQ2RSy1tmtfK9OXlsup6lUMwLsqSD7FbAjD04eWFdXowSHHUp6SE/Q==}
+ db0@0.3.4:
+ resolution: {integrity: sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw==}
peerDependencies:
'@electric-sql/pglite': '*'
'@libsql/client': '*'
better-sqlite3: '*'
drizzle-orm: '*'
mysql2: '*'
+ sqlite3: '*'
peerDependenciesMeta:
'@electric-sql/pglite':
optional: true
@@ -4481,36 +5314,11 @@ packages:
optional: true
mysql2:
optional: true
-
- de-indent@1.0.2:
- resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
-
- debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- debug@3.1.0:
- resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- debug@3.2.7:
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
+ sqlite3:
optional: true
- debug@4.3.6:
- resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
+ debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
@@ -4518,8 +5326,8 @@ packages:
supports-color:
optional: true
- debug@4.3.7:
- resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
@@ -4527,33 +5335,25 @@ packages:
supports-color:
optional: true
- debuglog@1.0.1:
- resolution: {integrity: sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==}
- deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
-
- decamelize-keys@1.1.1:
- resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
- engines: {node: '>=0.10.0'}
-
- decamelize@1.2.0:
- resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
- engines: {node: '>=0.10.0'}
-
- decamelize@5.0.1:
- resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==}
- engines: {node: '>=10'}
-
- decamelize@6.0.0:
- resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==}
+ decamelize@6.0.1:
+ resolution: {integrity: sha512-G7Cqgaelq68XHJNGlZ7lrNQyhZGsFqpwtGFexqUv4IQdjKoSYF7ipZ9UuTJZUSQXFj/XaoBLuEVIVqr8EJngEQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- decimal.js@10.4.3:
- resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
+ decimal.js@10.6.0:
+ resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
decompress-response@6.0.0:
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
engines: {node: '>=10'}
+ dedent@1.7.0:
+ resolution: {integrity: sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==}
+ peerDependencies:
+ babel-plugin-macros: ^3.1.0
+ peerDependenciesMeta:
+ babel-plugin-macros:
+ optional: true
+
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
@@ -4576,10 +5376,6 @@ packages:
resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
engines: {node: '>=10'}
- define-data-property@1.1.4:
- resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
- engines: {node: '>= 0.4'}
-
define-lazy-prop@2.0.0:
resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
engines: {node: '>=8'}
@@ -4588,29 +5384,17 @@ packages:
resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
engines: {node: '>=12'}
- define-properties@1.2.1:
- resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
- engines: {node: '>= 0.4'}
-
defu@6.1.4:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
- del-cli@5.1.0:
- resolution: {integrity: sha512-xwMeh2acluWeccsfzE7VLsG3yTr7nWikbfw+xhMnpRrF15pGSkw+3/vJZWlGoE4I86UiLRNHicmKt4tkIX9Jtg==}
- engines: {node: '>=14.16'}
- hasBin: true
-
- del@7.1.0:
- resolution: {integrity: sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==}
- engines: {node: '>=14.16'}
+ degenerator@5.0.1:
+ resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
+ engines: {node: '>= 14'}
delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
- delegates@1.0.0:
- resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
-
denque@2.1.0:
resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==}
engines: {node: '>=0.10'}
@@ -4623,27 +5407,28 @@ packages:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
- destr@2.0.3:
- resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
-
- destroy@1.2.0:
- resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ destr@2.0.5:
+ resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
detect-libc@1.0.3:
resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
engines: {node: '>=0.10'}
hasBin: true
- detect-libc@2.0.3:
- resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
+ detect-libc@2.0.2:
+ resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
engines: {node: '>=8'}
- detect-node@2.1.0:
- resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
+ detect-newline@3.1.0:
+ resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
+ engines: {node: '>=8'}
- devalue@5.1.1:
- resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==}
+ devalue@5.3.2:
+ resolution: {integrity: sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==}
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
@@ -4651,113 +5436,87 @@ packages:
dezalgo@1.0.4:
resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==}
- diff@5.2.0:
- resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==}
+ diff@4.0.2:
+ resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
engines: {node: '>=0.3.1'}
- diff@7.0.0:
- resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==}
+ diff@8.0.2:
+ resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==}
engines: {node: '>=0.3.1'}
dir-glob@3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
- doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
-
- dom-serializer@1.4.1:
- resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
-
dom-serializer@2.0.0:
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
domelementtype@2.3.0:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
- domhandler@3.3.0:
- resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==}
- engines: {node: '>= 4'}
-
- domhandler@4.3.1:
- resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
- engines: {node: '>= 4'}
-
domhandler@5.0.3:
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
engines: {node: '>= 4'}
- domutils@2.8.0:
- resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+ domutils@3.2.2:
+ resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
- domutils@3.1.0:
- resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
-
- dot-prop@9.0.0:
- resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==}
- engines: {node: '>=18'}
+ dot-prop@10.1.0:
+ resolution: {integrity: sha512-MVUtAugQMOff5RnBy2d9N31iG0lNwg1qAoAOn7pOK5wf94WIaE3My2p3uwTQuvS2AcqchkcR3bHByjaM0mmi7Q==}
+ engines: {node: '>=20'}
- dotenv-cli@7.4.2:
- resolution: {integrity: sha512-SbUj8l61zIbzyhIbg0FwPJq6+wjbzdn9oEtozQpZ6kW2ihCcapKVZj49oCT3oPM+mgQm+itgvUQcG5szxVrZTA==}
+ dotenv-cli@10.0.0:
+ resolution: {integrity: sha512-lnOnttzfrzkRx2echxJHQRB6vOAMSCzzZg79IxpC00tU42wZPuZkQxNNrrwVAxaQZIIh001l4PxVlCrBxngBzA==}
hasBin: true
- dotenv-expand@10.0.0:
- resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==}
+ dotenv-expand@11.0.7:
+ resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==}
+ engines: {node: '>=12'}
+
+ dotenv-expand@12.0.1:
+ resolution: {integrity: sha512-LaKRbou8gt0RNID/9RoI+J2rvXsBRPMV7p+ElHlPhcSARbCPDYcYG2s1TIzAfWv4YSgyY5taidWzzs31lNV3yQ==}
+ engines: {node: '>=12'}
+
+ dotenv@16.4.7:
+ resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==}
engines: {node: '>=12'}
- dotenv@16.4.5:
- resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
+ dotenv@16.6.1:
+ resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
engines: {node: '>=12'}
- dottie@2.0.6:
- resolution: {integrity: sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==}
+ dotenv@17.2.3:
+ resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==}
+ engines: {node: '>=12'}
+
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
- duplexify@4.1.3:
- resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==}
-
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
ecdsa-sig-formatter@1.0.11:
resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==}
- editorconfig@1.0.4:
- resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==}
- engines: {node: '>=14'}
- hasBin: true
-
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- electron-to-chromium@1.5.13:
- resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==}
-
- electron-to-chromium@1.5.55:
- resolution: {integrity: sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==}
-
- email-validator@2.0.4:
- resolution: {integrity: sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==}
- engines: {node: '>4.0'}
-
- emailjs@4.0.3:
- resolution: {integrity: sha512-1CDXoE3FxkSg7QRTlLsDCYG9elFNu/JQsYWu3Xfrk77ubbg5zYgFGg+JRUKQJ56mceM8o3rHHX0VB4wo9XsyLQ==}
- engines: {node: '>=12'}
- peerDependencies:
- typescript: '>=4.3.5'
- peerDependenciesMeta:
- typescript:
- optional: true
+ electron-to-chromium@1.5.234:
+ resolution: {integrity: sha512-RXfEp2x+VRYn8jbKfQlRImzoJU01kyDvVPBmG39eU2iuRVhuS6vQNocB8J0/8GrIMLnPzgz4eW6WiRnJkTuNWg==}
emittery@0.13.1:
resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
engines: {node: '>=12'}
- emoji-regex@10.3.0:
- resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
+ emoji-regex-xs@1.0.0:
+ resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==}
+
+ emoji-regex@10.6.0:
+ resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -4765,10 +5524,6 @@ packages:
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
- encodeurl@1.0.2:
- resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
- engines: {node: '>= 0.8'}
-
encodeurl@2.0.0:
resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
engines: {node: '>= 0.8'}
@@ -4776,20 +5531,21 @@ packages:
encoding@0.1.13:
resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
- end-of-stream@1.4.4:
- resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+ end-of-stream@1.4.5:
+ resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
- enhanced-resolve@5.17.1:
- resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
+ enhanced-resolve@5.18.3:
+ resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
engines: {node: '>=10.13.0'}
- entities@2.2.0:
- resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
-
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
+ entities@6.0.1:
+ resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
+ engines: {node: '>=0.12'}
+
env-paths@2.2.1:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'}
@@ -4797,86 +5553,48 @@ packages:
err-code@2.0.3:
resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==}
- error-ex@1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ error-ex@1.3.4:
+ resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
- error-stack-parser-es@0.1.5:
- resolution: {integrity: sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==}
+ error-stack-parser-es@1.0.5:
+ resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==}
errx@0.1.0:
resolution: {integrity: sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==}
- es-abstract@1.23.3:
- resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
- engines: {node: '>= 0.4'}
-
- es-array-method-boxes-properly@1.0.0:
- resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==}
-
- es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
engines: {node: '>= 0.4'}
es-errors@1.3.0:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
- es-module-lexer@1.5.4:
- resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
+ es-module-lexer@1.7.0:
+ resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
- es-object-atoms@1.0.0:
- resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
- es-set-tostringtag@2.0.3:
- resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
engines: {node: '>= 0.4'}
- es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
- engines: {node: '>= 0.4'}
-
- es5-ext@0.10.64:
- resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
- engines: {node: '>=0.10'}
-
- es6-iterator@2.0.3:
- resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
-
- es6-symbol@3.1.4:
- resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
- engines: {node: '>=0.12'}
-
- es6-weak-map@2.0.3:
- resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
-
esbuild@0.21.5:
resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
engines: {node: '>=12'}
hasBin: true
- esbuild@0.23.1:
- resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==}
+ esbuild@0.25.10:
+ resolution: {integrity: sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==}
engines: {node: '>=18'}
hasBin: true
- esbuild@0.24.0:
- resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==}
- engines: {node: '>=18'}
- hasBin: true
-
- escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
- engines: {node: '>=6'}
-
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
- escape-goat@3.0.0:
- resolution: {integrity: sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==}
- engines: {node: '>=10'}
-
escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
@@ -4887,6 +5605,10 @@ packages:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
+ escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+
escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
@@ -4895,65 +5617,112 @@ packages:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
engines: {node: '>=12'}
- eslint-config-flat-gitignore@0.3.0:
- resolution: {integrity: sha512-0Ndxo4qGhcewjTzw52TK06Mc00aDtHNTdeeW2JfONgDcLkRO/n/BteMRzNVpLQYxdCC/dFEilfM9fjjpGIJ9Og==}
+ escodegen@2.1.0:
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+ engines: {node: '>=6.0'}
+ hasBin: true
+
+ eslint-config-flat-gitignore@2.1.0:
+ resolution: {integrity: sha512-cJzNJ7L+psWp5mXM7jBX+fjHtBvvh06RBlcweMhKD8jWqQw0G78hOW5tpVALGHGFPsBV+ot2H+pdDGJy6CV8pA==}
peerDependencies:
eslint: ^9.5.0
- eslint-flat-config-utils@0.4.0:
- resolution: {integrity: sha512-kfd5kQZC+BMO0YwTol6zxjKX1zAsk8JfSAopbKjKqmENTJcew+yBejuvccAg37cvOrN0Mh+DVbeyznuNWEjt4A==}
+ eslint-flat-config-utils@2.1.4:
+ resolution: {integrity: sha512-bEnmU5gqzS+4O+id9vrbP43vByjF+8KOs+QuuV4OlqAuXmnRW2zfI/Rza1fQvdihQ5h4DUo0NqFAiViD4mSrzQ==}
+
+ eslint-import-context@0.1.9:
+ resolution: {integrity: sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ unrs-resolver: ^1.0.0
+ peerDependenciesMeta:
+ unrs-resolver:
+ optional: true
+
+ eslint-merge-processors@2.0.0:
+ resolution: {integrity: sha512-sUuhSf3IrJdGooquEUB5TNpGNpBoQccbnaLHsb1XkBLUPPqCNivCpY05ZcpCOiV9uHwO2yxXEWVczVclzMxYlA==}
+ peerDependencies:
+ eslint: '*'
- eslint-import-resolver-node@0.3.9:
- resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+ eslint-plugin-import-lite@0.3.0:
+ resolution: {integrity: sha512-dkNBAL6jcoCsXZsQ/Tt2yXmMDoNt5NaBh/U7yvccjiK8cai6Ay+MK77bMykmqQA2bTF6lngaLCDij6MTO3KkvA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=9.0.0'
+ typescript: '>=4.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
- eslint-plugin-import-x@4.4.0:
- resolution: {integrity: sha512-me58aWTjdkPtgmOzPe+uP0bebpN5etH4bJRnYzy85Rn9g/3QyASg6kTCqdwNzyaJRqMI2ii2o8s01P2LZpREHg==}
+ eslint-plugin-import-x@4.16.1:
+ resolution: {integrity: sha512-vPZZsiOKaBAIATpFE2uMI4w5IRwdv/FpQ+qZZMR4E+PeOcM4OeoEbqxRMnywdxP19TyB/3h6QBB0EWon7letSQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
+ '@typescript-eslint/utils': ^8.0.0
eslint: ^8.57.0 || ^9.0.0
+ eslint-import-resolver-node: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/utils':
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
- eslint-plugin-jsdoc@50.4.3:
- resolution: {integrity: sha512-uWtwFxGRv6B8sU63HZM5dAGDhgsatb+LONwmILZJhdRALLOkCX2HFZhdL/Kw2ls8SQMAVEfK+LmnEfxInRN8HA==}
- engines: {node: '>=18'}
+ eslint-plugin-jsdoc@54.7.0:
+ resolution: {integrity: sha512-u5Na4he2+6kY1rWqxzbQaAwJL3/tDCuT5ElDRc5UJ9stOeQeQ5L1JJ1kRRu7ldYMlOHMCJLsY8Mg/Tu3ExdZiQ==}
+ engines: {node: '>=20.11.0'}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
- eslint-plugin-regexp@2.6.0:
- resolution: {integrity: sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==}
+ eslint-plugin-regexp@2.10.0:
+ resolution: {integrity: sha512-ovzQT8ESVn5oOe5a7gIDPD5v9bCSjIFJu57sVPDqgPRXicQzOnYfFN21WoQBQF18vrhT5o7UMKFwJQVVjyJ0ng==}
engines: {node: ^18 || >=20}
peerDependencies:
eslint: '>=8.44.0'
- eslint-plugin-unicorn@56.0.0:
- resolution: {integrity: sha512-aXpddVz/PQMmd69uxO98PA4iidiVNvA0xOtbpUoz1WhBd4RxOQQYqN618v68drY0hmy5uU2jy1bheKEVWBjlPw==}
- engines: {node: '>=18.18'}
+ eslint-plugin-unicorn@60.0.0:
+ resolution: {integrity: sha512-QUzTefvP8stfSXsqKQ+vBQSEsXIlAiCduS/V1Em+FKgL9c21U/IIm20/e3MFy1jyCf14tHAhqC1sX8OTy6VUCg==}
+ engines: {node: ^20.10.0 || >=21.0.0}
+ peerDependencies:
+ eslint: '>=9.29.0'
+
+ eslint-plugin-vue@10.5.0:
+ resolution: {integrity: sha512-7BZHsG3kC2vei8F2W8hnfDi9RK+cv5eKPMvzBdrl8Vuc0hR5odGQRli8VVzUkrmUHkxFEm4Iio1r5HOKslO0Aw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: '>=8.56.0'
+ '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
+ '@typescript-eslint/parser': ^7.0.0 || ^8.0.0
+ eslint: ^8.57.0 || ^9.0.0
+ vue-eslint-parser: ^10.0.0
+ peerDependenciesMeta:
+ '@stylistic/eslint-plugin':
+ optional: true
+ '@typescript-eslint/parser':
+ optional: true
- eslint-plugin-vue@9.30.0:
- resolution: {integrity: sha512-CyqlRgShvljFkOeYK8wN5frh/OGTvkj1S7wlr2Q2pUvwq+X5VYiLd6ZjujpgSgLnys2W8qrBLkXQ41SUYaoPIQ==}
- engines: {node: ^14.17.0 || >=16.0.0}
+ eslint-processor-vue-blocks@2.0.0:
+ resolution: {integrity: sha512-u4W0CJwGoWY3bjXAuFpc/b6eK3NQEI8MoeW7ritKj3G3z/WtHrKjkqf+wk8mPEy5rlMGS+k6AZYOw2XBoN/02Q==}
peerDependencies:
- eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
+ '@vue/compiler-sfc': ^3.3.0
+ eslint: '>=9.0.0'
- eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
- eslint-scope@8.2.0:
- resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
+ eslint-scope@8.4.0:
+ resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- eslint-visitor-keys@4.2.0:
- resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
+ eslint-visitor-keys@4.2.1:
+ resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.14.0:
- resolution: {integrity: sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==}
+ eslint@9.37.0:
+ resolution: {integrity: sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -4962,18 +5731,14 @@ packages:
jiti:
optional: true
- esniff@2.0.1:
- resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
- engines: {node: '>=0.10'}
+ esm@3.2.25:
+ resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==}
+ engines: {node: '>=6'}
- espree@10.3.0:
- resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
+ espree@10.4.0:
+ resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
@@ -4987,6 +5752,10 @@ packages:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'}
+ estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+
estraverse@5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
@@ -5005,16 +5774,12 @@ packages:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
- event-emitter@0.3.5:
- resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
-
event-target-shim@5.0.1:
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
engines: {node: '>=6'}
- events@1.1.1:
- resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==}
- engines: {node: '>=0.4.x'}
+ events-universal@1.0.1:
+ resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==}
events@3.3.0:
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
@@ -5028,44 +5793,31 @@ packages:
resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- execa@7.2.0:
- resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==}
- engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0}
-
execa@8.0.1:
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
engines: {node: '>=16.17'}
- execa@9.5.1:
- resolution: {integrity: sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==}
+ execa@9.6.0:
+ resolution: {integrity: sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==}
engines: {node: ^18.19.0 || >=20.5.0}
- exponential-backoff@3.1.1:
- resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==}
-
- express-rate-limit@7.4.1:
- resolution: {integrity: sha512-KS3efpnpIDVIXopMc65EMbWbUht7qvTCdtCR2dD/IZmi9MIkopYESwyRqLgv8Pfu589+KqDqOdzJWW7AHoACeg==}
- engines: {node: '>= 16'}
- peerDependencies:
- express: 4 || 5 || ^5.0.0-beta.1
-
- express-session@1.18.1:
- resolution: {integrity: sha512-a5mtTqEaZvBCL9A9aqkrtfz+3SMDhOVUnjafjo+s7A9Txkq+SVX2DLvSp1Zrv4uCXa3lMSK3viWnh9Gg07PBUA==}
+ exit-x@0.2.2:
+ resolution: {integrity: sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==}
engines: {node: '>= 0.8.0'}
- express@5.0.0:
- resolution: {integrity: sha512-V4UkHQc+B7ldh1YC84HCXHwf60M4BOMvp9rkvTUWCK5apqDC1Esnbid4wm6nFyVuDy8XMfETsJw5lsIGBWyo0A==}
- engines: {node: '>= 18'}
+ expect@30.2.0:
+ resolution: {integrity: sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- ext@1.7.0:
- resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
+ exponential-backoff@3.1.3:
+ resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==}
- external-editor@3.1.0:
- resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
- engines: {node: '>=4'}
+ express@5.1.0:
+ resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==}
+ engines: {node: '>= 18'}
- externality@1.0.2:
- resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==}
+ exsolve@1.0.7:
+ resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==}
extract-zip@2.0.1:
resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
@@ -5081,8 +5833,8 @@ packages:
fast-fifo@1.3.2:
resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
- fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
fast-json-stable-stringify@2.1.0:
@@ -5091,39 +5843,31 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- fast-npm-meta@0.2.2:
- resolution: {integrity: sha512-E+fdxeaOQGo/CMWc9f4uHFfgUPJRAu7N3uB8GBvB3SDPAIWJK4GKyYhkAGFq+GYrcbKNfQIz5VVQyJnDuPPCrg==}
-
- fast-redact@3.5.0:
- resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
- engines: {node: '>=6'}
+ fast-npm-meta@0.4.7:
+ resolution: {integrity: sha512-aZU3i3eRcSb2NCq8i6N6IlyiTyF6vqAqzBGl2NBF6ngNx/GIqfYbkLDIKZ4z4P0o/RmtsFnVqHwdrSm13o4tnQ==}
fast-safe-stringify@2.1.1:
resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
- fast-uri@3.0.1:
- resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==}
+ fast-uri@3.1.0:
+ resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
- fast-xml-parser@4.4.1:
- resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==}
+ fast-xml-parser@5.2.5:
+ resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==}
hasBin: true
- fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ fastq@1.19.1:
+ resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+
+ fb-watchman@2.0.2:
+ resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
fd-slicer@1.1.0:
resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
- fdir@6.4.0:
- resolution: {integrity: sha512-3oB133prH1o4j/L5lLW7uOCF1PlD+/It2L0eL/iAqWMB91RBbqTewABqxhj0ibBd90EEmWZq7ntIWzVaWcXTGQ==}
- peerDependencies:
- picomatch: ^3 || ^4
- peerDependenciesMeta:
- picomatch:
- optional: true
-
- fdir@6.4.2:
- resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==}
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
peerDependencies:
picomatch: ^3 || ^4
peerDependenciesMeta:
@@ -5133,6 +5877,18 @@ packages:
fecha@4.2.3:
resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==}
+ fetch-blob@3.2.0:
+ resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
+ engines: {node: ^12.20 || >= 14.13}
+
+ fflate@0.8.2:
+ resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
+
+ figlet@1.9.3:
+ resolution: {integrity: sha512-majPgOpVtrZN1iyNGbsUP6bOtZ6eaJgg5HHh0vFvm5DJhh8dc+FJpOC4GABvMZ/A7XHAJUuJujhgUY/2jPWgMA==}
+ engines: {node: '>= 17.0.0'}
+ hasBin: true
+
figures@6.1.0:
resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==}
engines: {node: '>=18'}
@@ -5141,6 +5897,10 @@ packages:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'}
+ file-type@21.0.0:
+ resolution: {integrity: sha512-ek5xNX2YBYlXhiUXui3D/BXa3LdqPmoLJ7rqEx2bKJ7EAUEfmXgW0Das7Dc6Nr9MvqaOnIqiPV0mZk/r/UpNAg==}
+ engines: {node: '>=20'}
+
file-uri-to-path@1.0.0:
resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
@@ -5148,12 +5908,12 @@ packages:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
- finalhandler@2.0.0:
- resolution: {integrity: sha512-MX6Zo2adDViYh+GcxxB1dpO43eypOGUOL12rLCOTMQv/DfIbpSJUy4oQIIZhVZkH9e+bZWKMon0XHFEju16tkQ==}
+ finalhandler@2.1.0:
+ resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==}
engines: {node: '>= 0.8'}
- find-up-simple@1.0.0:
- resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
+ find-up-simple@1.0.1:
+ resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==}
engines: {node: '>=18'}
find-up@4.1.0:
@@ -5176,14 +5936,14 @@ packages:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
- flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ flatted@3.3.3:
+ resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
- focus-trap@7.6.0:
- resolution: {integrity: sha512-1td0l3pMkWJLFipobUcGaf+5DTY4PLDDrcqoSaKP8ediO/CoWCCYk/fT/Y2A4e6TNB+Sh6clRJCjOPPnKoNHnQ==}
+ focus-trap@7.6.5:
+ resolution: {integrity: sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==}
- follow-redirects@1.15.6:
- resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
+ follow-redirects@1.15.11:
+ resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
engines: {node: '>=4.0'}
peerDependencies:
debug: '*'
@@ -5191,23 +5951,31 @@ packages:
debug:
optional: true
- for-each@0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
-
- foreground-child@3.3.0:
- resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
+ foreground-child@3.3.1:
+ resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
engines: {node: '>=14'}
- form-data-encoder@1.7.2:
- resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==}
+ fork-ts-checker-webpack-plugin@9.1.0:
+ resolution: {integrity: sha512-mpafl89VFPJmhnJ1ssH+8wmM2b50n+Rew5x42NeI2U78aRWgtkEtGmctp7iT16UjquJTjorEmIfESj3DxdW84Q==}
+ engines: {node: '>=14.21.3'}
+ peerDependencies:
+ typescript: '>3.6.0'
+ webpack: ^5.11.0
- form-data@4.0.0:
- resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ form-data@4.0.4:
+ resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==}
engines: {node: '>= 6'}
- formdata-node@4.4.1:
- resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
- engines: {node: '>= 12.20'}
+ formdata-polyfill@4.0.10:
+ resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
+ engines: {node: '>=12.20.0'}
+
+ formidable@3.5.4:
+ resolution: {integrity: sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==}
+ engines: {node: '>=14.0.0'}
+
+ forwarded-parse@2.1.2:
+ resolution: {integrity: sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw==}
forwarded@0.2.0:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
@@ -5216,29 +5984,18 @@ packages:
fraction.js@4.3.7:
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
- fresh@0.5.2:
- resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
- engines: {node: '>= 0.6'}
-
fresh@2.0.0:
resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}
engines: {node: '>= 0.8'}
- fs-blob-store@6.0.0:
- resolution: {integrity: sha512-oMdboCaw6kTRXi5lKfjpw7DO7maC+gwFmaef3DsYQTYHtOoTmCo13ZGH1GoqFaD81RW5qbaT9YKlP+OA4dzbdA==}
+ fs-extra@10.1.0:
+ resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
+ engines: {node: '>=12'}
- fs-extra@11.2.0:
- resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
+ fs-extra@11.3.2:
+ resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==}
engines: {node: '>=14.14'}
- fs-extra@7.0.1:
- resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
- engines: {node: '>=6 <7 || >=8'}
-
- fs-extra@9.1.0:
- resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
- engines: {node: '>=10'}
-
fs-minipass@2.1.0:
resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
engines: {node: '>= 8'}
@@ -5247,6 +6004,9 @@ packages:
resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ fs-monkey@1.1.0:
+ resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==}
+
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
@@ -5263,17 +6023,9 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
- engines: {node: '>= 0.4'}
-
- functions-have-names@1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
-
- gauge@3.0.2:
- resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
+ fuse.js@7.1.0:
+ resolution: {integrity: sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==}
engines: {node: '>=10'}
- deprecated: This package is no longer supported.
gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
@@ -5283,16 +6035,24 @@ packages:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
- get-east-asian-width@1.2.0:
- resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
+ get-east-asian-width@1.4.0:
+ resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==}
engines: {node: '>=18'}
- get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
- get-port-please@3.1.2:
- resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==}
+ get-package-type@0.1.0:
+ resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
+ engines: {node: '>=8.0.0'}
+
+ get-port-please@3.2.0:
+ resolution: {integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==}
+
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+ engines: {node: '>= 0.4'}
get-stream@5.2.0:
resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
@@ -5310,26 +6070,25 @@ packages:
resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==}
engines: {node: '>=18'}
- get-symbol-description@1.0.2:
- resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
- engines: {node: '>= 0.4'}
+ get-tsconfig@4.12.0:
+ resolution: {integrity: sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==}
- get-tsconfig@4.7.6:
- resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==}
+ get-uri@6.0.5:
+ resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==}
+ engines: {node: '>= 14'}
- giget@1.2.3:
- resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==}
- hasBin: true
+ getopts@2.3.0:
+ resolution: {integrity: sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==}
- git-config-path@2.0.0:
- resolution: {integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==}
- engines: {node: '>=4'}
+ giget@2.0.0:
+ resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==}
+ hasBin: true
- git-up@7.0.0:
- resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==}
+ git-up@8.1.1:
+ resolution: {integrity: sha512-FDenSF3fVqBYSaJoYy1KSc2wosx0gCvKP+c+PRBht7cAaiCeQlBtfBDX9vgnNOHmdePlSFITVcn4pFfcgNvx3g==}
- git-url-parse@15.0.0:
- resolution: {integrity: sha512-5reeBufLi+i4QD3ZFftcJs9jC26aULFLBU23FeKM/b1rI0K6ofIeAblmDVO7Ht22zTDE9+CkJ3ZVb0CgJmz3UQ==}
+ git-url-parse@16.1.0:
+ resolution: {integrity: sha512-cPLz4HuK86wClEW7iDdeAKcCVlWXmrLpb2L+G9goW0Z1dtpNS6BXXSOckUTlJT/LDQViE1QZKstNORzHsLnobw==}
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
@@ -5339,10 +6098,18 @@ packages:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
+ glob-to-regexp@0.4.1:
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+
glob@10.4.5:
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
hasBin: true
+ glob@11.0.3:
+ resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==}
+ engines: {node: 20 || >=22}
+ hasBin: true
+
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
deprecated: Glob versions prior to v9 are no longer supported
@@ -5351,46 +6118,31 @@ packages:
resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
engines: {node: '>=18'}
- globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
-
- globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
-
globals@14.0.0:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
- globals@15.12.0:
- resolution: {integrity: sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==}
+ globals@16.4.0:
+ resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==}
engines: {node: '>=18'}
- globalthis@1.0.4:
- resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
- engines: {node: '>= 0.4'}
-
globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
- globby@13.2.2:
- resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- globby@14.0.2:
- resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==}
- engines: {node: '>=18'}
+ globby@15.0.0:
+ resolution: {integrity: sha512-oB4vkQGqlMl682wL1IlWd02tXCbquGWM4voPEI85QmNKCaw8zGTm1f1rubFgkg3Eli2PtKlFgrnmUqasbQWlkw==}
+ engines: {node: '>=20'}
- google-fonts-helper@3.6.0:
- resolution: {integrity: sha512-ReantWd/l8dedKqTYjvqaQ55rAl/rbRqWL5VXHNXtGwIhMX4N8VNA7V19drr7xiv5G3pzlYID0K4FauvGqnWEg==}
+ google-fonts-helper@3.7.3:
+ resolution: {integrity: sha512-dENZeK6RMvkCOFoKbLbS+pyoDgpmk4U6BYmfXnztMar2d8SjEG6valxql/Lkyi7bu5F+3FTdE+gAEYSYZ5zzMA==}
google-protobuf@3.21.4:
resolution: {integrity: sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==}
- gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
got@11.8.6:
resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
@@ -5402,58 +6154,34 @@ packages:
graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
- gravatar@1.8.2:
- resolution: {integrity: sha512-GdRwLM3oYpFQKy47MKuluw9hZ2gaCtiKPbDGdcDEuYDKlc8eNnW27KYL9LVbIDzEsx88WtDWQm2ClBcsgBnj6w==}
- engines: {node: '>=10'}
- hasBin: true
+ graphql@16.11.0:
+ resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==}
+ engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
gzip-size@7.0.0:
resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- h3@1.13.0:
- resolution: {integrity: sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg==}
-
- hard-rejection@2.1.0:
- resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
- engines: {node: '>=6'}
-
- has-bigints@1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ h3@1.15.4:
+ resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==}
- has-flag@3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
+ handlebars@4.7.8:
+ resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
+ engines: {node: '>=0.4.7'}
+ hasBin: true
has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
- has-property-descriptors@1.0.2:
- resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
-
- has-proto@1.0.3:
- resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
- engines: {node: '>= 0.4'}
-
- has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
engines: {node: '>= 0.4'}
has-tostringtag@1.0.2:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
engines: {node: '>= 0.4'}
- has-unicode@2.0.1:
- resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
-
- hash-obj@4.0.0:
- resolution: {integrity: sha512-FwO1BUVWkyHasWDW4S8o0ssQXjvyghLV2rfVhnN36b2bbcj45eGiuzdn9XOvOpjV3TKQD7Gm2BWNXdE9V4KKYg==}
- engines: {node: '>=12'}
-
- hash-sum@2.0.0:
- resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
-
hashids@2.3.0:
resolution: {integrity: sha512-ljM73TE/avEhNnazxaj0Dw3BbEUuLC5yYCQ9RSkSUcT4ZSU6ZebdKCIBJ+xT/DnSYW36E9k82GH1Q6MydSIosQ==}
@@ -5461,19 +6189,15 @@ packages:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
- hast-util-to-html@9.0.3:
- resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==}
+ hast-util-to-html@9.0.5:
+ resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
hast-util-whitespace@3.0.0:
resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
- he@1.2.0:
- resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
- hasBin: true
-
- helmet@7.1.0:
- resolution: {integrity: sha512-g+HZqgfbpXdCkme/Cd/mZkV0aV3BZZZSugecH03kl38m/Kmdx8jKjBikpDj2cr+Iynv4KpYEviojNdTJActJAg==}
- engines: {node: '>=16.0.0'}
+ helmet@8.1.0:
+ resolution: {integrity: sha512-jOiHyAZsmnr8LqoPGmCjYAaiuWwjAPLgY8ZX2XrmHawt99/u1y6RgrZMTeoPfpUbV96HOalYgz1qzkRbw54Pmg==}
+ engines: {node: '>=18.0.0'}
help-me@5.0.0:
resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==}
@@ -5481,13 +6205,6 @@ packages:
hookable@5.5.3:
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
- hosted-git-info@2.8.9:
- resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
-
- hosted-git-info@4.1.0:
- resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
- engines: {node: '>=10'}
-
hosted-git-info@7.0.2:
resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==}
engines: {node: ^16.14.0 || >=18.0.0}
@@ -5496,33 +6213,14 @@ packages:
resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
engines: {node: '>=18'}
- html-minifier@4.0.0:
- resolution: {integrity: sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==}
- engines: {node: '>=6'}
- hasBin: true
-
- html-tags@3.3.1:
- resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
- engines: {node: '>=8'}
-
- html-to-text@9.0.5:
- resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==}
- engines: {node: '>=14'}
+ html-escaper@2.0.2:
+ resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
- htmlparser2@5.0.1:
- resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==}
-
- htmlparser2@8.0.2:
- resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
-
- htmlparser2@9.1.0:
- resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
-
- http-cache-semantics@4.1.1:
- resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
+ http-cache-semantics@4.2.0:
+ resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
http-errors@2.0.0:
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
@@ -5536,23 +6234,16 @@ packages:
resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
- http-status-codes@2.3.0:
- resolution: {integrity: sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==}
-
http2-wrapper@1.0.3:
resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==}
engines: {node: '>=10.19.0'}
- https-proxy-agent@5.0.1:
- resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
- engines: {node: '>= 6'}
-
- https-proxy-agent@7.0.5:
- resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==}
+ https-proxy-agent@7.0.6:
+ resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
engines: {node: '>= 14'}
- httpxy@0.1.5:
- resolution: {integrity: sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==}
+ httpxy@0.1.7:
+ resolution: {integrity: sha512-pXNx8gnANKAndgga5ahefxc++tJvNL87CXoRwxn1cJE2ZkWEojF3tNfQIEhZX/vfpt+wzeAzpUI4qkediX1MLQ==}
human-signals@2.1.0:
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
@@ -5562,46 +6253,29 @@ packages:
resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==}
engines: {node: '>=12.20.0'}
- human-signals@4.3.1:
- resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==}
- engines: {node: '>=14.18.0'}
-
human-signals@5.0.0:
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
engines: {node: '>=16.17.0'}
- human-signals@8.0.0:
- resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==}
+ human-signals@8.0.1:
+ resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==}
engines: {node: '>=18.18.0'}
- humanize-ms@1.2.1:
- resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
-
- humanize-string@3.0.0:
- resolution: {integrity: sha512-jhWD2GAZRMELz0IEIfqpEdi0M4CMQF1GpJpBYIopFN6wT+78STiujfQTKcKqZzOJgUkIgJSo2xFeHdsg922JZQ==}
+ humanize-string@3.1.0:
+ resolution: {integrity: sha512-wEtOOR3sT8nZ7W0WZwEXo68z2EA0kpcpjaN/ZXxpps9PDzZdX8+TAj+XOGKx2WkagP9mnhWtFpfMNSd2WAhiIQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- iconv-lite@0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
- engines: {node: '>=0.10.0'}
-
- iconv-lite@0.5.2:
- resolution: {integrity: sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==}
- engines: {node: '>=0.10.0'}
-
iconv-lite@0.6.3:
resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
engines: {node: '>=0.10.0'}
- ieee754@1.1.13:
- resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==}
+ iconv-lite@0.7.0:
+ resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==}
+ engines: {node: '>=0.10.0'}
ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
- ignore-by-default@1.0.1:
- resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}
-
ignore-walk@6.0.5:
resolution: {integrity: sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -5610,35 +6284,40 @@ packages:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
- ignore@6.0.2:
- resolution: {integrity: sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==}
+ ignore@7.0.5:
+ resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
engines: {node: '>= 4'}
- image-meta@0.2.1:
- resolution: {integrity: sha512-K6acvFaelNxx8wc2VjbIzXKDVB0Khs0QT35U6NkGfTdCmjLNcO2945m7RFNR9/RPVFm48hq7QPzK8uGH18HCGw==}
+ image-meta@0.2.2:
+ resolution: {integrity: sha512-3MOLanc3sb3LNGWQl1RlQlNWURE5g32aUphrDyFeCsxBTk08iE3VNe4CwsUZ0Qs1X+EfX0+r29Sxdpza4B+yRA==}
- image-size@1.1.1:
- resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==}
+ image-size@1.2.1:
+ resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==}
engines: {node: '>=16.x'}
hasBin: true
- immediate@3.0.6:
- resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
-
- immutable@4.3.7:
- resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==}
+ immutable@5.1.4:
+ resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==}
- import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
engines: {node: '>=6'}
- import-in-the-middle@1.11.0:
- resolution: {integrity: sha512-5DimNQGoe0pLUHbR9qK84iWaWjjbsxiqXnw6Qz64+azRgleqv9k2kTt5fw7QsOpmaGYtuxxursnPPsnTKEx10Q==}
+ import-in-the-middle@1.15.0:
+ resolution: {integrity: sha512-bpQy+CrsRmYmoPMAE/0G33iwRqwW4ouqdRg8jgbH3aKuCtOc8lxgmYXg2dMM92CRiGP660EtBcymH/eVUpCSaA==}
import-lazy@4.0.0:
resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
engines: {node: '>=8'}
+ import-local@3.2.0:
+ resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ impound@1.0.0:
+ resolution: {integrity: sha512-8lAJ+1Arw2sMaZ9HE2ZmL5zOcMnt18s6+7Xqgq2aUVy4P1nlzAyPtzCDxsk51KVFwHEEdc6OWvUyqwHwhRYaug==}
+
imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
@@ -5651,14 +6330,6 @@ packages:
resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
engines: {node: '>=12'}
- index-to-position@0.1.2:
- resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==}
- engines: {node: '>=18'}
-
- inflection@1.13.4:
- resolution: {integrity: sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==}
- engines: {'0': node >= 0.4.0}
-
inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
@@ -5666,9 +6337,6 @@ packages:
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- ini@1.3.8:
- resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
-
ini@2.0.0:
resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
engines: {node: '>=10'}
@@ -5681,24 +6349,25 @@ packages:
resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- inquirer@9.3.6:
- resolution: {integrity: sha512-riK/iQB2ctwkpWYgjjWIRv3MBLt2gzb2Sj0JNQNbyTXgyXsLWcDPJ5WS5ZDTCx7BRFnJsARtYh+58fjP5M2Y0Q==}
+ inquirer@12.9.6:
+ resolution: {integrity: sha512-603xXOgyfxhuis4nfnWaZrMaotNT0Km9XwwBNWUKbIDqeCY89jGr2F9YPEMiNhU6XjIP4VoWISMBFfcc5NgrTw==}
engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- internal-slot@1.0.7:
- resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
- engines: {node: '>= 0.4'}
-
- interpret@1.4.0:
- resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
+ interpret@2.2.0:
+ resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==}
engines: {node: '>= 0.10'}
- ioredis@5.4.1:
- resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==}
+ ioredis@5.8.1:
+ resolution: {integrity: sha512-Qho8TgIamqEPdgiMadJwzRMW3TudIg6vpg4YONokGDudy4eqRIJtDbVX72pfLBcWxvbn3qm/40TyGUObdW4tLQ==}
engines: {node: '>=12.22.0'}
- ip-address@9.0.5:
- resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
+ ip-address@10.0.1:
+ resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==}
engines: {node: '>= 12'}
ipaddr.js@1.9.1:
@@ -5708,50 +6377,19 @@ packages:
iron-webcrypto@1.2.1:
resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
- is-arguments@1.1.1:
- resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
- engines: {node: '>= 0.4'}
-
- is-array-buffer@3.0.4:
- resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
- engines: {node: '>= 0.4'}
-
is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
- is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
-
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
is-blob@2.1.0:
resolution: {integrity: sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==}
engines: {node: '>=6'}
- is-boolean-object@1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
- engines: {node: '>= 0.4'}
-
- is-builtin-module@3.2.1:
- resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
- engines: {node: '>=6'}
-
- is-callable@1.2.7:
- resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
- engines: {node: '>= 0.4'}
-
- is-core-module@2.15.1:
- resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
- engines: {node: '>= 0.4'}
-
- is-data-view@1.0.1:
- resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
- engines: {node: '>= 0.4'}
+ is-builtin-module@5.0.0:
+ resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==}
+ engines: {node: '>=18.20'}
- is-date-object@1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ is-core-module@2.16.1:
+ resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
is-docker@2.2.1:
@@ -5772,9 +6410,9 @@ packages:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
- is-generator-function@1.0.10:
- resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
- engines: {node: '>= 0.4'}
+ is-generator-fn@2.1.0:
+ resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
+ engines: {node: '>=6'}
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
@@ -5806,34 +6444,14 @@ packages:
is-module@1.0.0:
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
- is-negative-zero@2.0.3:
- resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
- engines: {node: '>= 0.4'}
-
- is-number-object@1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
- engines: {node: '>= 0.4'}
-
is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
- is-obj@3.0.0:
- resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==}
- engines: {node: '>=12'}
-
- is-path-cwd@3.0.0:
- resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
is-path-inside@4.0.0:
resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==}
engines: {node: '>=12'}
- is-plain-obj@1.1.0:
- resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
- engines: {node: '>=0.10.0'}
-
is-plain-obj@4.1.0:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
engines: {node: '>=12'}
@@ -5841,25 +6459,14 @@ packages:
is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
- is-promise@2.2.2:
- resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
-
is-promise@4.0.0:
resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
is-reference@1.2.1:
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
- is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
- engines: {node: '>= 0.4'}
-
- is-shared-array-buffer@1.0.3:
- resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
- engines: {node: '>= 0.4'}
-
- is-ssh@1.4.0:
- resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==}
+ is-ssh@1.4.1:
+ resolution: {integrity: sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==}
is-stream@2.0.1:
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
@@ -5873,32 +6480,17 @@ packages:
resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==}
engines: {node: '>=18'}
- is-string@1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
- engines: {node: '>= 0.4'}
-
- is-symbol@1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
- engines: {node: '>= 0.4'}
-
- is-typed-array@1.1.13:
- resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
- engines: {node: '>= 0.4'}
-
is-unicode-supported@0.1.0:
resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
engines: {node: '>=10'}
- is-unicode-supported@1.3.0:
- resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
- engines: {node: '>=12'}
-
- is-unicode-supported@2.0.0:
- resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==}
+ is-unicode-supported@2.1.0:
+ resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==}
engines: {node: '>=18'}
- is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ is-wayland@0.1.0:
+ resolution: {integrity: sha512-QkbMsWkIfkrzOPxenwye0h56iAXirZYHG9eHVPb22fO9y+wPbaX/CHacOWBa/I++4ohTcByimhM1/nyCsH8KNA==}
+ engines: {node: '>=20'}
is-what@4.1.16:
resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
@@ -5919,9 +6511,6 @@ packages:
isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
- isarray@2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
-
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
@@ -5929,52 +6518,192 @@ packages:
resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
engines: {node: '>=16'}
+ istanbul-lib-coverage@3.2.2:
+ resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
+ engines: {node: '>=8'}
+
+ istanbul-lib-instrument@6.0.3:
+ resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==}
+ engines: {node: '>=10'}
+
+ istanbul-lib-report@3.0.1:
+ resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
+ engines: {node: '>=10'}
+
+ istanbul-lib-source-maps@5.0.6:
+ resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==}
+ engines: {node: '>=10'}
+
+ istanbul-reports@3.2.0:
+ resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==}
+ engines: {node: '>=8'}
+
+ iterare@1.2.1:
+ resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==}
+ engines: {node: '>=6'}
+
jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
- jiti@1.21.6:
- resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
+ jackspeak@4.1.1:
+ resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==}
+ engines: {node: 20 || >=22}
+
+ jest-changed-files@30.2.0:
+ resolution: {integrity: sha512-L8lR1ChrRnSdfeOvTrwZMlnWV8G/LLjQ0nG9MBclwWZidA2N5FviRki0Bvh20WRMOX31/JYvzdqTJrk5oBdydQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-circus@30.2.0:
+ resolution: {integrity: sha512-Fh0096NC3ZkFx05EP2OXCxJAREVxj1BcW/i6EWqqymcgYKWjyyDpral3fMxVcHXg6oZM7iULer9wGRFvfpl+Tg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-cli@30.2.0:
+ resolution: {integrity: sha512-Os9ukIvADX/A9sLt6Zse3+nmHtHaE6hqOsjQtNiugFTbKRHYIYtZXNGNK9NChseXy7djFPjndX1tL0sCTlfpAA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ jest-config@30.2.0:
+ resolution: {integrity: sha512-g4WkyzFQVWHtu6uqGmQR4CQxz/CH3yDSlhzXMWzNjDx843gYjReZnMRanjRCq5XZFuQrGDxgUaiYWE8BRfVckA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ '@types/node': '*'
+ esbuild-register: '>=3.4.0'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ esbuild-register:
+ optional: true
+ ts-node:
+ optional: true
+
+ jest-diff@30.2.0:
+ resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-docblock@30.2.0:
+ resolution: {integrity: sha512-tR/FFgZKS1CXluOQzZvNH3+0z9jXr3ldGSD8bhyuxvlVUwbeLOGynkunvlTMxchC5urrKndYiwCFC0DLVjpOCA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-each@30.2.0:
+ resolution: {integrity: sha512-lpWlJlM7bCUf1mfmuqTA8+j2lNURW9eNafOy99knBM01i5CQeY5UH1vZjgT9071nDJac1M4XsbyI44oNOdhlDQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-environment-node@30.2.0:
+ resolution: {integrity: sha512-ElU8v92QJ9UrYsKrxDIKCxu6PfNj4Hdcktcn0JX12zqNdqWHB0N+hwOnnBBXvjLd2vApZtuLUGs1QSY+MsXoNA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-haste-map@30.2.0:
+ resolution: {integrity: sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-leak-detector@30.2.0:
+ resolution: {integrity: sha512-M6jKAjyzjHG0SrQgwhgZGy9hFazcudwCNovY/9HPIicmNSBuockPSedAP9vlPK6ONFJ1zfyH/M2/YYJxOz5cdQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-matcher-utils@30.2.0:
+ resolution: {integrity: sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-message-util@30.2.0:
+ resolution: {integrity: sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-mock@30.2.0:
+ resolution: {integrity: sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-pnp-resolver@1.2.3:
+ resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
+ engines: {node: '>=6'}
+ peerDependencies:
+ jest-resolve: '*'
+ peerDependenciesMeta:
+ jest-resolve:
+ optional: true
+
+ jest-regex-util@30.0.1:
+ resolution: {integrity: sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-resolve-dependencies@30.2.0:
+ resolution: {integrity: sha512-xTOIGug/0RmIe3mmCqCT95yO0vj6JURrn1TKWlNbhiAefJRWINNPgwVkrVgt/YaerPzY3iItufd80v3lOrFJ2w==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-resolve@30.2.0:
+ resolution: {integrity: sha512-TCrHSxPlx3tBY3hWNtRQKbtgLhsXa1WmbJEqBlTBrGafd5fiQFByy2GNCEoGR+Tns8d15GaL9cxEzKOO3GEb2A==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-runner@30.2.0:
+ resolution: {integrity: sha512-PqvZ2B2XEyPEbclp+gV6KO/F1FIFSbIwewRgmROCMBo/aZ6J1w8Qypoj2pEOcg3G2HzLlaP6VUtvwCI8dM3oqQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-runtime@30.2.0:
+ resolution: {integrity: sha512-p1+GVX/PJqTucvsmERPMgCPvQJpFt4hFbM+VN3n8TMo47decMUcJbt+rgzwrEme0MQUA/R+1de2axftTHkKckg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-snapshot@30.2.0:
+ resolution: {integrity: sha512-5WEtTy2jXPFypadKNpbNkZ72puZCa6UjSr/7djeecHWOu7iYhSXSnHScT8wBz3Rn8Ena5d5RYRcsyKIeqG1IyA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-util@30.2.0:
+ resolution: {integrity: sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-validate@30.2.0:
+ resolution: {integrity: sha512-FBGWi7dP2hpdi8nBoWxSsLvBFewKAg0+uSQwBaof4Y4DPgBabXgpSYC5/lR7VmnIlSpASmCi/ntRWPbv7089Pw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-watcher@30.2.0:
+ resolution: {integrity: sha512-PYxa28dxJ9g777pGm/7PrbnMeA0Jr7osHP9bS7eJy9DuAjMgdGtxgf0uKMyoIsTWAkIbUW5hSDdJ3urmgXBqxg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-worker@27.5.1:
+ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
+ engines: {node: '>= 10.13.0'}
+
+ jest-worker@30.2.0:
+ resolution: {integrity: sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest@30.2.0:
+ resolution: {integrity: sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
- jiti@2.4.0:
- resolution: {integrity: sha512-H5UpaUI+aHOqZXlYOaFP/8AzKsg+guWu+Pr3Y8i7+Y3zr1aXAvCvTAQ1RxSc6oVD8R8c7brgNtTVP91E7upH/g==}
+ jiti@2.6.1:
+ resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
jju@1.4.0:
resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
- jmespath@0.16.0:
- resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==}
- engines: {node: '>= 0.6.0'}
-
- joi@17.13.3:
- resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==}
-
- jose@4.15.9:
- resolution: {integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==}
+ joi@18.0.1:
+ resolution: {integrity: sha512-IiQpRyypSnLisQf3PwuN2eIHAsAIGZIrLZkd4zdvIar2bDyhM91ubRjy8a3eYablXsh9BeI/c7dmPYHca5qtoA==}
+ engines: {node: '>= 20'}
joycon@3.1.1:
resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
engines: {node: '>=10'}
- js-beautify@1.15.1:
- resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==}
- engines: {node: '>=14'}
- hasBin: true
-
- js-cookie@3.0.5:
- resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==}
- engines: {node: '>=14'}
-
- js-levenshtein@1.1.6:
- resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==}
- engines: {node: '>=0.10.0'}
+ js-base64@3.7.8:
+ resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==}
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- js-tokens@9.0.0:
- resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
+ js-tokens@9.0.1:
+ resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
js-yaml@3.14.1:
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
@@ -5984,36 +6713,33 @@ packages:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
- jsbn@1.1.0:
- resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
+ jsdoc-type-pratt-parser@4.8.0:
+ resolution: {integrity: sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==}
+ engines: {node: '>=12.0.0'}
- jsdoc-type-pratt-parser@4.1.0:
- resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==}
+ jsdoc-type-pratt-parser@5.1.1:
+ resolution: {integrity: sha512-DYYlVP1fe4QBMh2xTIs20/YeTz2GYVbWAEZweHSZD+qQ/Cx2d5RShuhhsdk64eTjNq0FeVnteP/qVOgaywSRbg==}
engines: {node: '>=12.0.0'}
- jsdom@24.1.3:
- resolution: {integrity: sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==}
- engines: {node: '>=18'}
+ jsdom@27.0.0:
+ resolution: {integrity: sha512-lIHeR1qlIRrIN5VMccd8tI2Sgw6ieYXSVktcSHaNe3Z5nE/tcPQYQWOq00wxMvYOsz+73eAkNenVvmPC6bba9A==}
+ engines: {node: '>=20'}
peerDependencies:
- canvas: ^2.11.2
+ canvas: ^3.0.0
peerDependenciesMeta:
canvas:
optional: true
- jsesc@0.5.0:
- resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
- hasBin: true
-
- jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
- hasBin: true
-
jsesc@3.0.2:
resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
engines: {node: '>=6'}
hasBin: true
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
+ hasBin: true
+
json-buffer@3.0.1:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
@@ -6041,36 +6767,32 @@ packages:
engines: {node: '>=6'}
hasBin: true
- jsonfile@4.0.0:
- resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+ jsonc-parser@3.3.1:
+ resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
- jsonfile@6.1.0:
- resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ jsonfile@6.2.0:
+ resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==}
jsonparse@1.3.1:
resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
engines: {'0': node >= 0.2.0}
+ jsonpointer@5.0.1:
+ resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
+ engines: {node: '>=0.10.0'}
+
jsonwebtoken@9.0.2:
resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==}
engines: {node: '>=12', npm: '>=6'}
- jszip@3.10.1:
- resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
-
- juice@10.0.1:
- resolution: {integrity: sha512-ZhJT1soxJCkOiO55/mz8yeBKTAJhRzX9WBO+16ZTqNTONnnVlUPyVBIzQ7lDRjaBdTbid+bAnyIon/GM3yp4cA==}
- engines: {node: '>=10.0.0'}
- hasBin: true
-
just-diff-apply@5.5.0:
resolution: {integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==}
just-diff@6.0.2:
resolution: {integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==}
- jwa@1.4.1:
- resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==}
+ jwa@1.4.2:
+ resolution: {integrity: sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==}
jws@3.2.2:
resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==}
@@ -6078,58 +6800,79 @@ packages:
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
- keyv@5.1.3:
- resolution: {integrity: sha512-qWefZgq3GByWFTQgn+C9U7iaHe+mwAVb1utqbna15ggTO5RiLSL91NY+5liTgzchAhGhI6MOn5NVVn/eR1FkPA==}
-
- kind-of@6.0.3:
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
- engines: {node: '>=0.10.0'}
-
kleur@3.0.3:
resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
engines: {node: '>=6'}
+ kleur@4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
+ engines: {node: '>=6'}
+
klona@2.0.6:
resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
engines: {node: '>= 8'}
- knitwork@1.1.0:
- resolution: {integrity: sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==}
-
- kolorist@1.8.0:
- resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+ knex@3.1.0:
+ resolution: {integrity: sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw==}
+ engines: {node: '>=16'}
+ hasBin: true
+ peerDependencies:
+ better-sqlite3: '*'
+ mysql: '*'
+ mysql2: '*'
+ pg: '*'
+ pg-native: '*'
+ sqlite3: '*'
+ tedious: '*'
+ peerDependenciesMeta:
+ better-sqlite3:
+ optional: true
+ mysql:
+ optional: true
+ mysql2:
+ optional: true
+ pg:
+ optional: true
+ pg-native:
+ optional: true
+ sqlite3:
+ optional: true
+ tedious:
+ optional: true
- launch-editor@2.8.1:
- resolution: {integrity: sha512-elBx2l/tp9z99X5H/qev8uyDywVh0VXAwEbjk8kJhnc5grOFkGh7aW6q55me9xnYbss261XtnUrysZ+XvGbhQA==}
+ knitwork@1.2.0:
+ resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==}
- launch-editor@2.9.1:
- resolution: {integrity: sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==}
+ launch-editor@2.11.1:
+ resolution: {integrity: sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==}
lazystream@1.0.1:
resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==}
engines: {node: '>= 0.6.3'}
- leac@0.6.0:
- resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==}
+ leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
- lie@3.3.0:
- resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
+ libphonenumber-js@1.12.24:
+ resolution: {integrity: sha512-l5IlyL9AONj4voSd7q9xkuQOL4u8Ty44puTic7J88CmdXkxfGsRfoVLXHCxppwehgpb/Chdb80FFehHqjN3ItQ==}
+
+ libsql@0.5.22:
+ resolution: {integrity: sha512-NscWthMQt7fpU8lqd7LXMvT9pi+KhhmTHAJWUB/Lj6MWa0MKFv0F2V4C6WKKpjCVZl0VwcDz4nOI3CyaT1DDiA==}
+ cpu: [x64, arm64, wasm32, arm]
+ os: [darwin, linux, win32]
- lilconfig@3.1.2:
- resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
+ lilconfig@3.1.3:
+ resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
engines: {node: '>=14'}
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- lines-and-columns@2.0.4:
- resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
linkify-it@5.0.0:
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
@@ -6137,8 +6880,16 @@ packages:
resolution: {integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==}
hasBin: true
- local-pkg@0.5.0:
- resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ load-esm@1.0.2:
+ resolution: {integrity: sha512-nVAvWk/jeyrWyXEAs84mpQCYccxRqgKY4OznLuJhJCa0XsPSfdOIr2zvBZEj3IHEHbX97jjscKRRV539bW0Gpw==}
+ engines: {node: '>=13.2.0'}
+
+ loader-runner@4.3.1:
+ resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==}
+ engines: {node: '>=6.11.5'}
+
+ local-pkg@1.1.2:
+ resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==}
engines: {node: '>=14'}
locate-path@5.0.0:
@@ -6168,9 +6919,6 @@ packages:
lodash.isboolean@3.0.3:
resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==}
- lodash.isequal@4.5.0:
- resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
-
lodash.isinteger@4.0.4:
resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==}
@@ -6202,15 +6950,12 @@ packages:
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
engines: {node: '>=10'}
- log-symbols@6.0.0:
- resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
+ log-symbols@7.0.1:
+ resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==}
engines: {node: '>=18'}
- long@5.2.3:
- resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==}
-
- lower-case@1.1.4:
- resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==}
+ long@5.3.2:
+ resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==}
lowercase-keys@2.0.0:
resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
@@ -6219,6 +6964,10 @@ packages:
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+ lru-cache@11.2.2:
+ resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==}
+ engines: {node: 20 || >=22}
+
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
@@ -6226,31 +6975,24 @@ packages:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
- lru-queue@0.1.0:
- resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
-
- luxon@3.5.0:
- resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==}
- engines: {node: '>=12'}
-
- magic-string-ast@0.6.2:
- resolution: {integrity: sha512-oN3Bcd7ZVt+0VGEs7402qR/tjgjbM7kPlH/z7ufJnzTLVBzXJITRHOJiwMmmYMgZfdoWQsfQcY+iKlxiBppnMA==}
- engines: {node: '>=16.14.0'}
+ magic-regexp@0.10.0:
+ resolution: {integrity: sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg==}
- magic-string@0.30.11:
- resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==}
+ magic-string-ast@1.0.3:
+ resolution: {integrity: sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==}
+ engines: {node: '>=20.19.0'}
- magic-string@0.30.12:
- resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
+ magic-string@0.30.17:
+ resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
- magicast@0.3.4:
- resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==}
+ magic-string@0.30.19:
+ resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
magicast@0.3.5:
resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
- mailtrap@3.4.0:
- resolution: {integrity: sha512-gegg90/gMY8hvfxB+WMtE8RRZyhQr90jUw00QOLApIAomItumqFBCpZv5IfG51EUKThu9+p7X4QdNA4buryenw==}
+ mailtrap@4.3.0:
+ resolution: {integrity: sha512-JqWpt11LONtxmfMGf3EB5mrKLAapHajSdnVKxWD0b4/Boak9GEosAvVpnkiSTJJuB7dgLeLDVUeOwqDssXl8pA==}
engines: {node: '>=16.20.1', yarn: '>=1.22.17'}
peerDependencies:
'@types/nodemailer': ^6.4.9
@@ -6261,21 +7003,19 @@ packages:
nodemailer:
optional: true
- make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
+ make-dir@4.0.0:
+ resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
+ engines: {node: '>=10'}
+
+ make-error@1.3.6:
+ resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
make-fetch-happen@13.0.1:
resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==}
engines: {node: ^16.14.0 || >=18.0.0}
- map-obj@1.0.1:
- resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
- engines: {node: '>=0.10.0'}
-
- map-obj@4.3.0:
- resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
- engines: {node: '>=8'}
+ makeerror@1.0.12:
+ resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
mark.js@8.11.1:
resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
@@ -6284,14 +7024,27 @@ packages:
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
hasBin: true
+ massimo-cli@1.0.1:
+ resolution: {integrity: sha512-Z9SWuG8FKa+AiOMyTby48MlZ8PwrYjYR4zV50C3te7at2Am6oJAwBW7iKTk4hO6DliG0DYU7LrF+FWxxa2+wqA==}
+ engines: {node: '>=22.18.0'}
+ hasBin: true
+
+ massimo@1.0.1:
+ resolution: {integrity: sha512-DIiGuCBIpZZXI78LKLi66n9zoaterfOtje7vPt4X/XFMntg+5sXjSt1u1xTH3EnR5dPuxsbar7D6wyIf4Eyt2A==}
+ engines: {node: '>=22.18.0'}
+
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
+
mdast-util-to-hast@13.2.0:
resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
mdn-data@2.0.28:
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
- mdn-data@2.0.30:
- resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+ mdn-data@2.12.2:
+ resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
mdurl@2.0.0:
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
@@ -6304,16 +7057,9 @@ packages:
resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==}
engines: {node: '>= 0.8'}
- memoizee@0.4.17:
- resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==}
- engines: {node: '>=0.12'}
-
- mensch@0.3.4:
- resolution: {integrity: sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==}
-
- meow@10.1.5:
- resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ memfs@3.5.3:
+ resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
+ engines: {node: '>= 4.0.0'}
merge-descriptors@2.0.0:
resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==}
@@ -6326,50 +7072,52 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
+ mersenne-twister@1.1.0:
+ resolution: {integrity: sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==}
+
methods@1.1.2:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
engines: {node: '>= 0.6'}
- micromark-util-character@2.1.0:
- resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
- micromark-util-encode@2.0.0:
- resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
+ micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
- micromark-util-sanitize-uri@2.0.0:
- resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
- micromark-util-symbol@2.0.0:
- resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
+ micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
- micromark-util-types@2.0.0:
- resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
+ micromark-util-types@2.0.2:
+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
+ mikro-orm@6.5.8:
+ resolution: {integrity: sha512-N3iZIOX/1OHP5c9LSJ6P8MN+Ri+Ab7Clo9U/vKg/7paAdTPgBioMcWzRjimoWMPj8COZYEn9x/xPnlna3FHVEg==}
+ engines: {node: '>= 18.12.0'}
+
mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
- mime-db@1.53.0:
- resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==}
+ mime-db@1.54.0:
+ resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
engines: {node: '>= 0.6'}
mime-types@2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
- mime-types@3.0.0:
- resolution: {integrity: sha512-XqoSHeCGjVClAmoGFG3lVFqQFRIrTVw2OH3axRqAcfaw+gHWIfnASS92AV+Rl/mk0MupgZTRHQOjxY6YVnzK5w==}
+ mime-types@3.0.1:
+ resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==}
engines: {node: '>= 0.6'}
- mime@1.6.0:
- resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
- engines: {node: '>=4'}
- hasBin: true
-
mime@2.6.0:
resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==}
engines: {node: '>=4.0.0'}
@@ -6380,8 +7128,8 @@ packages:
engines: {node: '>=10.0.0'}
hasBin: true
- mime@4.0.4:
- resolution: {integrity: sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==}
+ mime@4.1.0:
+ resolution: {integrity: sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==}
engines: {node: '>=16'}
hasBin: true
@@ -6405,9 +7153,9 @@ packages:
resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
engines: {node: '>=10'}
- min-indent@1.0.1:
- resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
- engines: {node: '>=4'}
+ minimatch@10.0.3:
+ resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==}
+ engines: {node: 20 || >=22}
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
@@ -6416,22 +7164,10 @@ packages:
resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
engines: {node: '>=10'}
- minimatch@9.0.1:
- resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- minimatch@9.0.3:
- resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
- engines: {node: '>=16 || 14 >=14.17'}
-
minimatch@9.0.5:
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
engines: {node: '>=16 || 14 >=14.17'}
- minimist-options@4.1.0:
- resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
- engines: {node: '>= 6'}
-
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
@@ -6439,145 +7175,47 @@ packages:
resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==}
engines: {node: '>=16 || 14 >=14.17'}
- minipass-fetch@3.0.5:
- resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
-
- minipass-flush@1.0.5:
- resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==}
- engines: {node: '>= 8'}
-
- minipass-pipeline@1.2.4:
- resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==}
- engines: {node: '>=8'}
-
- minipass-sized@1.0.3:
- resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==}
- engines: {node: '>=8'}
-
- minipass@3.3.6:
- resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
- engines: {node: '>=8'}
-
- minipass@5.0.0:
- resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
- engines: {node: '>=8'}
-
- minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- minisearch@7.1.0:
- resolution: {integrity: sha512-tv7c/uefWdEhcu6hvrfTihflgeEi2tN6VV7HJnCjK6VxM75QQJh4t9FwJCsA2EsRS8LCnu3W87CuGPWMocOLCA==}
-
- minizlib@2.1.2:
- resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
- engines: {node: '>= 8'}
-
- mitt@3.0.1:
- resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
-
- mjml-accordion@4.15.3:
- resolution: {integrity: sha512-LPNVSj1LyUVYT9G1gWwSw3GSuDzDsQCu0tPB2uDsq4VesYNnU6v3iLCQidMiR6azmIt13OEozG700ygAUuA6Ng==}
-
- mjml-body@4.15.3:
- resolution: {integrity: sha512-7pfUOVPtmb0wC+oUOn4xBsAw4eT5DyD6xqaxj/kssu6RrFXOXgJaVnDPAI9AzIvXJ/5as9QrqRGYAddehwWpHQ==}
-
- mjml-button@4.15.3:
- resolution: {integrity: sha512-79qwn9AgdGjJR1vLnrcm2rq2AsAZkKC5JPwffTMG+Nja6zGYpTDZFZ56ekHWr/r1b5WxkukcPj2PdevUug8c+Q==}
-
- mjml-carousel@4.15.3:
- resolution: {integrity: sha512-3ju6I4l7uUhPRrJfN3yK9AMsfHvrYbRkcJ1GRphFHzUj37B2J6qJOQUpzA547Y4aeh69TSb7HFVf1t12ejQxVw==}
-
- mjml-cli@4.15.3:
- resolution: {integrity: sha512-+V2TDw3tXUVEptFvLSerz125C2ogYl8klIBRY1m5BHd4JvGVf3yhx8N3PngByCzA6PGcv/eydGQN+wy34SHf0Q==}
- hasBin: true
-
- mjml-column@4.15.3:
- resolution: {integrity: sha512-hYdEFdJGHPbZJSEysykrevEbB07yhJGSwfDZEYDSbhQQFjV2tXrEgYcFD5EneMaowjb55e3divSJxU4c5q4Qgw==}
-
- mjml-core@4.15.3:
- resolution: {integrity: sha512-Dmwk+2cgSD9L9GmTbEUNd8QxkTZtW9P7FN/ROZW/fGZD6Hq6/4TB0zEspg2Ow9eYjZXO2ofOJ3PaQEEShKV0kQ==}
-
- mjml-divider@4.15.3:
- resolution: {integrity: sha512-vh27LQ9FG/01y0b9ntfqm+GT5AjJnDSDY9hilss2ixIUh0FemvfGRfsGVeV5UBVPBKK7Ffhvfqc7Rciob9Spzw==}
-
- mjml-group@4.15.3:
- resolution: {integrity: sha512-HSu/rKnGZVKFq3ciT46vi1EOy+9mkB0HewO4+P6dP/Y0UerWkN6S3UK11Cxsj0cAp0vFwkPDCdOeEzRdpFEkzA==}
-
- mjml-head-attributes@4.15.3:
- resolution: {integrity: sha512-2ISo0r5ZKwkrvJgDou9xVPxxtXMaETe2AsAA02L89LnbB2KC0N5myNsHV0sEysTw9+CfCmgjAb0GAI5QGpxKkQ==}
-
- mjml-head-breakpoint@4.15.3:
- resolution: {integrity: sha512-Eo56FA5C2v6ucmWQL/JBJ2z641pLOom4k0wP6CMZI2utfyiJ+e2Uuinj1KTrgDcEvW4EtU9HrfAqLK9UosLZlg==}
-
- mjml-head-font@4.15.3:
- resolution: {integrity: sha512-CzV2aDPpiNIIgGPHNcBhgyedKY4SX3BJoTwOobSwZVIlEA6TAWB4Z9WwFUmQqZOgo1AkkiTHPZQvGcEhFFXH6g==}
-
- mjml-head-html-attributes@4.15.3:
- resolution: {integrity: sha512-MDNDPMBOgXUZYdxhosyrA2kudiGO8aogT0/cODyi2Ed9o/1S7W+je11JUYskQbncqhWKGxNyaP4VWa+6+vUC/g==}
-
- mjml-head-preview@4.15.3:
- resolution: {integrity: sha512-J2PxCefUVeFwsAExhrKo4lwxDevc5aKj888HBl/wN4EuWOoOg06iOGCxz4Omd8dqyFsrqvbBuPqRzQ+VycGmaA==}
-
- mjml-head-style@4.15.3:
- resolution: {integrity: sha512-9J+JuH+mKrQU65CaJ4KZegACUgNIlYmWQYx3VOBR/tyz+8kDYX7xBhKJCjQ1I4wj2Tvga3bykd89Oc2kFZ5WOw==}
-
- mjml-head-title@4.15.3:
- resolution: {integrity: sha512-IM59xRtsxID4DubQ0iLmoCGXguEe+9BFG4z6y2xQDrscIa4QY3KlfqgKGT69ojW+AVbXXJPEVqrAi4/eCsLItQ==}
-
- mjml-head@4.15.3:
- resolution: {integrity: sha512-o3mRuuP/MB5fZycjD3KH/uXsnaPl7Oo8GtdbJTKtH1+O/3pz8GzGMkscTKa97l03DAG2EhGrzzLcU2A6eshwFw==}
-
- mjml-hero@4.15.3:
- resolution: {integrity: sha512-9cLAPuc69yiuzNrMZIN58j+HMK1UWPaq2i3/Fg2ZpimfcGFKRcPGCbEVh0v+Pb6/J0+kf8yIO0leH20opu3AyQ==}
-
- mjml-image@4.15.3:
- resolution: {integrity: sha512-g1OhSdofIytE9qaOGdTPmRIp7JsCtgO0zbsn1Fk6wQh2gEL55Z40j/VoghslWAWTgT2OHFdBKnMvWtN6U5+d2Q==}
-
- mjml-migrate@4.15.3:
- resolution: {integrity: sha512-sr/+35RdxZroNQVegjpfRHJ5hda9XCgaS4mK2FGO+Mb1IUevKfeEPII3F/cHDpNwFeYH3kAgyqQ22ClhGLWNBA==}
- hasBin: true
-
- mjml-navbar@4.15.3:
- resolution: {integrity: sha512-VsKH/Jdlf8Yu3y7GpzQV5n7JMdpqvZvTSpF6UQXL0PWOm7k6+LX+sCZimOfpHJ+wCaaybpxokjWZ71mxOoCWoA==}
-
- mjml-parser-xml@4.15.3:
- resolution: {integrity: sha512-Tz0UX8/JVYICLjT+U8J1f/TFxIYVYjzZHeh4/Oyta0pLpRLeZlxEd71f3u3kdnulCKMP4i37pFRDmyLXAlEuLw==}
-
- mjml-preset-core@4.15.3:
- resolution: {integrity: sha512-1zZS8P4O0KweWUqNS655+oNnVMPQ1Rq1GaZq5S9JfwT1Vh/m516lSmiTW9oko6gGHytt5s6Yj6oOeu5Zm8FoLw==}
+ minipass-fetch@3.0.5:
+ resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- mjml-raw@4.15.3:
- resolution: {integrity: sha512-IGyHheOYyRchBLiAEgw3UM11kFNmBSMupu2BDdejC6ZiDhEAdG+tyERlsCwDPYtXanvFpGWULIu3XlsUPc+RZw==}
+ minipass-flush@1.0.5:
+ resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==}
+ engines: {node: '>= 8'}
- mjml-section@4.15.3:
- resolution: {integrity: sha512-JfVPRXH++Hd933gmQfG8JXXCBCR6fIzC3DwiYycvanL/aW1cEQ2EnebUfQkt5QzlYjOkJEH+JpccAsq3ln6FZQ==}
+ minipass-pipeline@1.2.4:
+ resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==}
+ engines: {node: '>=8'}
- mjml-social@4.15.3:
- resolution: {integrity: sha512-7sD5FXrESOxpT9Z4Oh36bS6u/geuUrMP1aCg2sjyAwbPcF1aWa2k9OcatQfpRf6pJEhUZ18y6/WBBXmMVmSzXg==}
+ minipass-sized@1.0.3:
+ resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==}
+ engines: {node: '>=8'}
- mjml-spacer@4.15.3:
- resolution: {integrity: sha512-3B7Qj+17EgDdAtZ3NAdMyOwLTX1jfmJuY7gjyhS2HtcZAmppW+cxqHUBwCKfvSRgTQiccmEvtNxaQK+tfyrZqA==}
+ minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
- mjml-table@4.15.3:
- resolution: {integrity: sha512-FLx7DcRKTdKdcOCbMyBaeudeHaHpwPveRrBm6WyQe3LXx6FfdmOh59i71/16LFQMgBOD3N4/UJkzxLzlTJzMqQ==}
+ minipass@5.0.0:
+ resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
+ engines: {node: '>=8'}
- mjml-text@4.15.3:
- resolution: {integrity: sha512-+C0hxCmw9kg0XzT6vhE5mFkK6y225nC8UEQcN94K0fBCjPKkM+HqZMwGX205fzdGRi+Bxa55b/VhrIVwdv+8vw==}
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ engines: {node: '>=16 || 14 >=14.17'}
- mjml-validator@4.15.3:
- resolution: {integrity: sha512-Xb72KdqRwjv/qM2rJpV22syyP2N3cRQ9VVDrN6u2FSzLq02buFNxmSPJ7CKhat3PrUNdVHU75KZwOf/tz4UEhA==}
+ minisearch@7.2.0:
+ resolution: {integrity: sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==}
- mjml-wrapper@4.15.3:
- resolution: {integrity: sha512-ditsCijeHJrmBmObtJmQ18ddLxv5oPyMTdPU8Di8APOnD2zPk7Z4UAuJSl7HXB45oFiivr3MJf4koFzMUSZ6Gg==}
+ minizlib@2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
- mjml@4.15.3:
- resolution: {integrity: sha512-bW2WpJxm6HS+S3Yu6tq1DUPFoTxU9sPviUSmnL7Ua+oVO3WA5ILFWqvujUlz+oeuM+HCwEyMiP5xvKNPENVjYA==}
- hasBin: true
+ minizlib@3.1.0:
+ resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==}
+ engines: {node: '>= 18'}
- mkdirp-classic@0.5.3:
- resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
+ mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
mkdirp@0.5.6:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
@@ -6588,37 +7226,22 @@ packages:
engines: {node: '>=10'}
hasBin: true
- mkdirp@3.0.1:
- resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
- engines: {node: '>=10'}
- hasBin: true
-
- mlly@1.7.1:
- resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==}
-
- mlly@1.7.2:
- resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==}
+ mlly@1.8.0:
+ resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==}
- module-details-from-path@1.0.3:
- resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==}
+ mocked-exports@0.1.1:
+ resolution: {integrity: sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==}
- moment-timezone@0.5.45:
- resolution: {integrity: sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==}
+ module-details-from-path@1.0.4:
+ resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==}
moment@2.30.1:
resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==}
- mri@1.2.0:
- resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
- engines: {node: '>=4'}
-
- mrmime@2.0.0:
- resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
+ mrmime@2.0.1:
+ resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
engines: {node: '>=10'}
- ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
-
ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
@@ -6628,45 +7251,62 @@ packages:
muggle-string@0.4.1:
resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
- multer@1.4.5-lts.1:
- resolution: {integrity: sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==}
- engines: {node: '>= 6.0.0'}
-
- mustache@4.2.0:
- resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
- hasBin: true
+ multer@2.0.2:
+ resolution: {integrity: sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==}
+ engines: {node: '>= 10.16.0'}
- mute-stream@1.0.0:
- resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ mute-stream@2.0.0:
+ resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}
+ engines: {node: ^18.17.0 || >=20.5.0}
- nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- nanoid@5.0.7:
- resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==}
+ nanoid@5.1.6:
+ resolution: {integrity: sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==}
engines: {node: ^18 || >=20}
hasBin: true
+ nanotar@0.2.0:
+ resolution: {integrity: sha512-9ca1h0Xjvo9bEkE4UOxgAzLV0jHKe6LMaxo37ND2DAhhAtd0j8pR1Wxz+/goMrZO8AEZTWCmyaOsFI/W5AdpCQ==}
+
+ napi-postinstall@0.3.4:
+ resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ hasBin: true
+
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- negotiator@0.6.3:
- resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ negotiator@0.6.4:
+ resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==}
engines: {node: '>= 0.6'}
negotiator@1.0.0:
resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}
engines: {node: '>= 0.6'}
- next-tick@1.1.0:
- resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
+ neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+
+ nestjs-pino@4.4.1:
+ resolution: {integrity: sha512-/E/JOtsUf/yHFGJx+zxBfwjCn1uJVV9AxSyx/mD0oNFCP+psvv9XE7WGh5Cebo6TwukF4qEu37eissGErVwLVg==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0
+ pino: ^7.5.0 || ^8.0.0 || ^9.0.0
+ pino-http: ^6.4.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0
+ rxjs: ^7.1.0
+
+ netmask@2.0.2:
+ resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
+ engines: {node: '>= 0.4.0'}
- nitropack@2.10.3:
- resolution: {integrity: sha512-7n+ITF7RbCMwZZzyacxJ9eMCnWuE60omGJEyLM5PQRKS4Vu5w6OOCvf4C6E3UC0UryFuUIwGbJ3M+tIP9Az9OQ==}
- engines: {node: ^16.11.0 || >=17.0.0}
+ nitropack@2.12.7:
+ resolution: {integrity: sha512-HWyzMBj2d8b14J6Cfnxv97ztnuHIgXNcrGiWCruLfb2ZfKsp6OCbZYJm5T9sv/ZKl8LedhatrMKG66HWJux9Rg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
xml2js: ^0.6.2
@@ -6674,21 +7314,30 @@ packages:
xml2js:
optional: true
- no-case@2.3.2:
- resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==}
+ node-abi@3.78.0:
+ resolution: {integrity: sha512-E2wEyrgX/CqvicaQYU3Ze1PFGjc4QYPGsjUrlYkqAE0WjHEZwgOsGMPMzkMse4LjJbDmaEuDX3CM036j5K2DSQ==}
+ engines: {node: '>=10'}
- node-addon-api@5.1.0:
- resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==}
+ node-abort-controller@3.1.1:
+ resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==}
node-addon-api@7.1.1:
resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
+ node-addon-api@8.5.0:
+ resolution: {integrity: sha512-/bRZty2mXUIFY/xU5HLvveNHlswNJej+RnxBjOMkidWfwZzgTbPG1E3K5TOxRLOR+5hX7bSofy8yf1hZevMS8A==}
+ engines: {node: ^18 || ^20 || >= 21}
+
node-domexception@1.0.0:
resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
engines: {node: '>=10.5.0'}
+ deprecated: Use your platform's native DOMException instead
+
+ node-emoji@1.11.0:
+ resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==}
- node-fetch-native@1.6.4:
- resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
+ node-fetch-native@1.6.7:
+ resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
node-fetch@2.7.0:
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
@@ -6699,43 +7348,45 @@ packages:
encoding:
optional: true
+ node-fetch@3.3.2:
+ resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
node-forge@1.3.1:
resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
engines: {node: '>= 6.13.0'}
- node-gyp-build@4.8.1:
- resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==}
+ node-gyp-build@4.8.4:
+ resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==}
hasBin: true
- node-gyp@10.2.0:
- resolution: {integrity: sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==}
+ node-gyp@10.3.1:
+ resolution: {integrity: sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ==}
engines: {node: ^16.14.0 || >=18.0.0}
hasBin: true
- node-releases@2.0.18:
- resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
+ node-int64@0.4.0:
+ resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
- nodemon@3.1.7:
- resolution: {integrity: sha512-hLj7fuMow6f0lbB0cD14Lz2xNjwsyruH251Pk4t/yIitCFJbmY1myuLlHm/q06aST4jg6EgAh74PIBBrRqpVAQ==}
- engines: {node: '>=10'}
- hasBin: true
+ node-mock-http@1.0.3:
+ resolution: {integrity: sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==}
- nopt@5.0.0:
- resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
- engines: {node: '>=6'}
- hasBin: true
+ node-releases@2.0.23:
+ resolution: {integrity: sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==}
+
+ nodemailer@7.0.9:
+ resolution: {integrity: sha512-9/Qm0qXIByEP8lEV2qOqcAW7bRpL8CR9jcTwk3NBnHJNmP9fIJ86g2fgmIXqHY+nj55ZEMwWqYAT2QTDpRUYiQ==}
+ engines: {node: '>=6.0.0'}
nopt@7.2.1:
resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
hasBin: true
- normalize-package-data@2.5.0:
- resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
-
- normalize-package-data@3.0.3:
- resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
- engines: {node: '>=10'}
+ nopt@8.1.0:
+ resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==}
+ engines: {node: ^18.17.0 || >=20.5.0}
+ hasBin: true
normalize-package-data@6.0.2:
resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==}
@@ -6761,9 +7412,6 @@ packages:
resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- npm-normalize-package-bin@1.0.1:
- resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==}
-
npm-normalize-package-bin@3.0.1:
resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -6796,41 +7444,24 @@ packages:
resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==}
engines: {node: '>=18'}
- npmlog@5.0.1:
- resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
- deprecated: This package is no longer supported.
-
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
- nuxi@3.15.0:
- resolution: {integrity: sha512-ZVu45nuDrdb7nzKW2kLGY/N1vvFYLLbUVX6gUYw4BApKGGu4+GktTR5o48dGVgMYX9A8chaugl7TL9ZYmwC9Mg==}
- engines: {node: ^16.10.0 || >=18.0.0}
- hasBin: true
-
- nuxt@3.13.0:
- resolution: {integrity: sha512-NZlPGlMav18KXWiOmTguQtH5lcrwooPniWXM3Ca4c9spsMRu3wyWLlN8wiI/cK+lEu3rQyKCGSA75nFVK4Ew3w==}
- engines: {node: ^14.18.0 || >=16.10.0}
+ nuxt@4.1.2:
+ resolution: {integrity: sha512-g5mwszCZT4ZeGJm83nxoZvtvZoAEaY65VDdn7p7UgznePbRaEJJ1KS1OIld4FPVkoDZ8TEVuDNqI9gUn12Exvg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
'@parcel/watcher': ^2.1.0
- '@types/node': ^14.18.0 || >=16.10.0
+ '@types/node': '>=18.12.0'
peerDependenciesMeta:
'@parcel/watcher':
optional: true
'@types/node':
optional: true
- nwsapi@2.2.12:
- resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==}
-
- nypm@0.3.11:
- resolution: {integrity: sha512-E5GqaAYSnbb6n1qZyik2wjPDZON43FqOJO59+3OkWrnmQtjggrMOVnsyzfjxp/tS6nlYJBA4zRA5jSM2YaadMg==}
- engines: {node: ^14.16.0 || >=16.10.0}
- hasBin: true
-
- nypm@0.3.12:
- resolution: {integrity: sha512-D3pzNDWIvgA+7IORhD/IuWzEk4uXv6GsgOxiid4UU3h9oq5IqV1KtPDi63n4sZJ/xcWlr88c0QM2RgN5VbOhFA==}
+ nypm@0.6.2:
+ resolution: {integrity: sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g==}
engines: {node: ^14.16.0 || >=16.10.0}
hasBin: true
@@ -6838,41 +7469,19 @@ packages:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
- object-hash@2.2.0:
- resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==}
- engines: {node: '>= 6'}
-
- object-inspect@1.13.2:
- resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
- engines: {node: '>= 0.4'}
-
- object-keys@1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
- engines: {node: '>= 0.4'}
-
- object.assign@4.1.5:
- resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ object-inspect@1.13.4:
+ resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
engines: {node: '>= 0.4'}
- object.getownpropertydescriptors@2.1.8:
- resolution: {integrity: sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==}
- engines: {node: '>= 0.8'}
-
- ofetch@1.3.4:
- resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
-
ofetch@1.4.1:
resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
- ohash@1.1.3:
- resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==}
+ ohash@2.0.11:
+ resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
- ohash@1.1.4:
- resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==}
-
- oidc-token-hash@5.0.3:
- resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==}
- engines: {node: ^10.13.0 || >=12.0.0}
+ on-change@5.0.1:
+ resolution: {integrity: sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==}
+ engines: {node: '>=18'}
on-exit-leak-free@2.1.2:
resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==}
@@ -6882,10 +7491,6 @@ packages:
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
engines: {node: '>= 0.8'}
- on-headers@1.0.2:
- resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
- engines: {node: '>= 0.8'}
-
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
@@ -6901,35 +7506,17 @@ packages:
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
engines: {node: '>=18'}
- oniguruma-to-js@0.4.3:
- resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==}
+ oniguruma-to-es@3.1.1:
+ resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==}
- open@10.1.0:
- resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==}
+ open@10.2.0:
+ resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==}
engines: {node: '>=18'}
open@8.4.2:
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
engines: {node: '>=12'}
- openai@4.71.1:
- resolution: {integrity: sha512-C6JNMaQ1eijM0lrjiRUL3MgThVP5RdwNAghpbJFdW0t11LzmyqON8Eh8MuUuEZ+CeD6bgYl2Fkn2BoptVxv9Ug==}
- hasBin: true
- peerDependencies:
- zod: ^3.23.8
- peerDependenciesMeta:
- zod:
- optional: true
-
- openapi-typescript@7.4.2:
- resolution: {integrity: sha512-SvhmSTItcEAdDUcz+wzrcg6OENpMRkHqqY2hZB01FT+NOfgLcZ1B1ML6vcQrnipONHtG9AQELiKHgGTjpNGjiQ==}
- hasBin: true
- peerDependencies:
- typescript: ^5.x
-
- openid-client@5.7.0:
- resolution: {integrity: sha512-4GCCGZt1i2kTHpwvaC/sCpTpQqDnBzDzuJcJMbH+y1Q5qI8U8RBvoSh28svarXszZHR5BAMXbJPX1PGPRE3VOA==}
-
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
@@ -6938,16 +7525,29 @@ packages:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
engines: {node: '>=10'}
- ora@8.1.1:
- resolution: {integrity: sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==}
- engines: {node: '>=18'}
+ ora@9.0.0:
+ resolution: {integrity: sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==}
+ engines: {node: '>=20'}
orderedmap@2.1.1:
resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==}
- os-tmpdir@1.0.2:
- resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
- engines: {node: '>=0.10.0'}
+ oxc-minify@0.87.0:
+ resolution: {integrity: sha512-+UHWp6+0mdq0S2rEsZx9mqgL6JnG9ogO+CU17XccVrPUFtISFcZzk/biTn1JdBYFQ3kztof19pv8blMtgStQ2g==}
+ engines: {node: '>=14.0.0'}
+
+ oxc-parser@0.87.0:
+ resolution: {integrity: sha512-uc47XrtHwkBoES4HFgwgfH9sqwAtJXgAIBq4fFBMZ4hWmgVZoExyn+L4g4VuaecVKXkz1bvlaHcfwHAJPQb5Gw==}
+ engines: {node: '>=20.0.0'}
+
+ oxc-transform@0.87.0:
+ resolution: {integrity: sha512-dt6INKWY2DKbSc8yR9VQoqBsCjPQ3z/SKv882UqlwFve+K38xtpi2avDlvNd35SpHUwDLDFoV3hMX0U3qOSaaQ==}
+ engines: {node: '>=14.0.0'}
+
+ oxc-walker@0.5.2:
+ resolution: {integrity: sha512-XYoZqWwApSKUmSDEFeOKdy3Cdh95cOcSU8f7yskFWE4Rl3cfL5uwyY+EV7Brk9mdNLy+t5SseJajd6g7KncvlA==}
+ peerDependencies:
+ oxc-parser: '>=0.72.0'
p-cancelable@2.1.1:
resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==}
@@ -6981,84 +7581,75 @@ packages:
resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
engines: {node: '>=10'}
- p-map@5.5.0:
- resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==}
- engines: {node: '>=12'}
-
- p-min-delay@4.0.2:
- resolution: {integrity: sha512-7hJcTq/MGF5pNHbQ2akrpPy1N43YYlB4RPECDSbPRn4xP/dsgP0I6ls7NvSUQ5k88o+CyATMOrQiZ/PK4aQR9w==}
+ p-min-delay@4.2.0:
+ resolution: {integrity: sha512-VMj+bb3VIP9W4S5YHHqKLJlJv8M+qsrvMpbvZB8mk/DNhBGJhFW1rKpF2t+9cRPUzriplRKecIbdWiWjpKaDCw==}
engines: {node: '>=12'}
p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
- package-json-from-dist@1.0.0:
- resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
+ pac-proxy-agent@7.2.0:
+ resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==}
+ engines: {node: '>= 14'}
+
+ pac-resolver@7.0.1:
+ resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==}
+ engines: {node: '>= 14'}
+
+ package-json-from-dist@1.0.1:
+ resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
+ package-manager-detector@1.4.0:
+ resolution: {integrity: sha512-rRZ+pR1Usc+ND9M2NkmCvE/LYJS+8ORVV9X0KuNSY/gFsp7RBHJM/ADh9LYq4Vvfq6QkKrW6/weuh8SMEtN5gw==}
- package-manager-detector@0.2.2:
- resolution: {integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==}
+ package-up@5.0.0:
+ resolution: {integrity: sha512-MQEgDUvXCa3sGvqHg3pzHO8e9gqTCMPVrWUko3vPQGntwegmFo52mZb2abIVTjFnUcW0BcPz0D93jV5Cas1DWA==}
+ engines: {node: '>=18'}
pacote@18.0.6:
resolution: {integrity: sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==}
engines: {node: ^16.14.0 || >=18.0.0}
hasBin: true
- pako@1.0.11:
- resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
-
pako@2.1.0:
resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==}
- param-case@2.1.1:
- resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==}
-
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
+ parent-require@1.0.0:
+ resolution: {integrity: sha512-2MXDNZC4aXdkkap+rBBMv0lUsfJqvX5/2FiYYnfCnorZt3Pk06/IOR5KeaoghgS2w07MLWgjbsnyaq6PdHn2LQ==}
+ engines: {node: '>= 0.4.0'}
+
parse-conflict-json@3.0.1:
resolution: {integrity: sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- parse-git-config@3.0.0:
- resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==}
- engines: {node: '>=8'}
-
- parse-imports@2.1.1:
- resolution: {integrity: sha512-TDT4HqzUiTMO1wJRwg/t/hYk8Wdp3iF/ToMIlAoVQfL1Xs/sTxq1dKWSMjMbQmIarfWKymOyly40+zmPHXMqCA==}
- engines: {node: '>= 18'}
+ parse-imports-exports@0.2.4:
+ resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==}
parse-json@5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
- parse-json@7.1.1:
- resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==}
- engines: {node: '>=16'}
-
- parse-json@8.1.0:
- resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==}
- engines: {node: '>=18'}
-
parse-ms@4.0.0:
resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==}
engines: {node: '>=18'}
- parse-path@7.0.0:
- resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==}
+ parse-path@7.1.0:
+ resolution: {integrity: sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==}
- parse-url@8.1.0:
- resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==}
+ parse-statements@1.0.11:
+ resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==}
- parse5-htmlparser2-tree-adapter@7.0.0:
- resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==}
+ parse-url@9.2.0:
+ resolution: {integrity: sha512-bCgsFI+GeGWPAvAiUv63ZorMeif3/U0zaXABGJbOWt5OH2KCaPHF6S+0ok4aqM9RuIPGyZdx9tR9l13PsW4AYQ==}
+ engines: {node: '>=14.13.0'}
- parse5@7.1.2:
- resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
-
- parseley@0.12.1:
- resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==}
+ parse5@7.3.0:
+ resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
parseurl@1.3.3:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
@@ -7075,8 +7666,8 @@ packages:
resolution: {integrity: sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==}
engines: {node: '>= 0.4.0'}
- passport@0.6.0:
- resolution: {integrity: sha512-0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug==}
+ passport@0.7.0:
+ resolution: {integrity: sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==}
engines: {node: '>= 0.4.0'}
path-browserify@1.0.1:
@@ -7109,71 +7700,74 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
+ path-scurry@2.0.0:
+ resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
+ engines: {node: 20 || >=22}
+
path-to-regexp@6.3.0:
resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==}
- path-to-regexp@8.1.0:
- resolution: {integrity: sha512-Bqn3vc8CMHty6zuD+tG23s6v2kwxslHEhTj4eYaVKGIEB+YX/2wd0/rgXLFD9G9id9KCtbVy/3ZgmvZjpa0UdQ==}
+ path-to-regexp@8.2.0:
+ resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==}
engines: {node: '>=16'}
+ path-to-regexp@8.3.0:
+ resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==}
+
path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
- path-type@5.0.0:
- resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
- engines: {node: '>=12'}
+ path-type@6.0.0:
+ resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==}
+ engines: {node: '>=18'}
pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
pause@0.0.1:
resolution: {integrity: sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==}
- peberminta@0.9.0:
- resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==}
-
pend@1.2.0:
resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
perfect-debounce@1.0.0:
resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
- pg-cloudflare@1.1.1:
- resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==}
+ perfect-debounce@2.0.0:
+ resolution: {integrity: sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==}
- pg-connection-string@2.7.0:
- resolution: {integrity: sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==}
+ pg-cloudflare@1.2.7:
+ resolution: {integrity: sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg==}
- pg-cursor@2.12.1:
- resolution: {integrity: sha512-V13tEaA9Oq1w+V6Q3UBIB/blxJrwbbr35/dY54r/86soBJ7xkP236bXaORUTVXUPt9B6Ql2BQu+uwQiuMfRVgg==}
- peerDependencies:
- pg: ^8
+ pg-connection-string@2.6.2:
+ resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==}
+
+ pg-connection-string@2.9.1:
+ resolution: {integrity: sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w==}
pg-int8@1.0.1:
resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
engines: {node: '>=4.0.0'}
- pg-pool@3.7.0:
- resolution: {integrity: sha512-ZOBQForurqh4zZWjrgSwwAtzJ7QiRX0ovFkZr2klsen3Nm0aoh33Ls0fzfv3imeH/nw/O27cjdz5kzYJfeGp/g==}
+ pg-pool@3.10.1:
+ resolution: {integrity: sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg==}
peerDependencies:
pg: '>=8.0'
- pg-protocol@1.7.0:
- resolution: {integrity: sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==}
-
- pg-query-stream@4.7.1:
- resolution: {integrity: sha512-UMgsgn/pOIYsIifRySp59vwlpTpLADMK9HWJtq5ff0Z3MxBnPMGnCQeaQl5VuL+7ov4F96mSzIRIcz+Duo6OiQ==}
- peerDependencies:
- pg: ^8
+ pg-protocol@1.10.3:
+ resolution: {integrity: sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==}
pg-types@2.2.0:
resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
engines: {node: '>=4'}
- pg@8.13.1:
- resolution: {integrity: sha512-OUir1A0rPNZlX//c7ksiu7crsGZTKSOXJPgtNiHGIlC9H0lO+NC6ZDYksSgBYY/thSWhnSRBv8w1lieNNGATNQ==}
- engines: {node: '>= 8.0.0'}
+ pg@8.16.3:
+ resolution: {integrity: sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw==}
+ engines: {node: '>= 16.0.0'}
peerDependencies:
pg-native: '>=3.0.1'
peerDependenciesMeta:
@@ -7183,11 +7777,8 @@ packages:
pgpass@1.0.5:
resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==}
- picocolors@1.0.1:
- resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
-
- picocolors@1.1.0:
- resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
@@ -7201,60 +7792,74 @@ packages:
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
engines: {node: '>=12'}
- pid-port@1.0.0:
- resolution: {integrity: sha512-LSNBeKChRPA4Xlrs6+zV588G1hSrFvANtPV5rt/5MPfSPK3V9XPWxx1d29svsrOjngT9ifLisXWCLS7DvO9ZhQ==}
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
+ engines: {node: '>=12'}
+
+ pid-port@1.0.2:
+ resolution: {integrity: sha512-Khqp07zX8IJpmIg56bHrLxS3M0iSL4cq6wnMq8YE7r/hSw3Kn4QxYS6QJg8Bs22Z7CSVj7eSsxFuigYVIFWmjg==}
engines: {node: '>=18'}
- pinia@2.2.6:
- resolution: {integrity: sha512-vIsR8JkDN5Ga2vAxqOE2cJj4VtsHnzpR1Fz30kClxlh0yCHfec6uoMeM3e/ddqmwFUejK3NlrcQa/shnpyT4hA==}
+ pid-port@2.0.0:
+ resolution: {integrity: sha512-EDmfRxLl6lkhPjDI+19l5pkII89xVsiCP3aGjS808f7M16DyCKSXEWthD/hjyDLn5I4gKqTVw7hSgdvdXRJDTw==}
+ engines: {node: '>=20'}
+
+ pinia@3.0.3:
+ resolution: {integrity: sha512-ttXO/InUULUXkMHpTdp9Fj4hLpD/2AoJdmAbAeW2yu1iy1k+pkFekQXw5VpC0/5p51IOR/jDaDRfRWRnMMsGOA==}
peerDependencies:
- '@vue/composition-api': ^1.4.0
typescript: '>=4.4.4'
- vue: ^2.6.14 || ^3.5.11
+ vue: ^2.7.0 || ^3.5.11
peerDependenciesMeta:
- '@vue/composition-api':
- optional: true
typescript:
optional: true
pino-abstract-transport@2.0.0:
resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==}
- pino-http@10.3.0:
- resolution: {integrity: sha512-kaHQqt1i5S9LXWmyuw6aPPqYW/TjoDPizPs4PnDW4hSpajz2Uo/oisNliLf7We1xzpiLacdntmw8yaZiEkppQQ==}
+ pino-http@10.5.0:
+ resolution: {integrity: sha512-hD91XjgaKkSsdn8P7LaebrNzhGTdB086W3pyPihX0EzGPjq5uBJBXo4N5guqNaK6mUjg9aubMF7wDViYek9dRA==}
- pino-pretty@12.0.0:
- resolution: {integrity: sha512-Cx08RuTg6337DbzXqiHpo+2ej0K2FwnyLYIHCmbB5ZhVXJA5XV7zTnvSGoeEERVIGTW9yj7XNtgS+5LpzRdR8w==}
+ pino-pretty@13.1.2:
+ resolution: {integrity: sha512-3cN0tCakkT4f3zo9RXDIhy6GTvtYD6bK4CRBLN9j3E/ePqN1tugAXD5rGVfoChW6s0hiek+eyYlLNqc/BG7vBQ==}
hasBin: true
pino-std-serializers@7.0.0:
resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==}
- pino@9.5.0:
- resolution: {integrity: sha512-xSEmD4pLnV54t0NOUN16yCl7RIB1c5UUOse5HSyEXtBp+FgFQyPeDutc+Q2ZO7/22vImV7VfEjH/1zV2QuqvYw==}
+ pino@9.13.1:
+ resolution: {integrity: sha512-Szuj+ViDTjKPQYiKumGmEn3frdl+ZPSdosHyt9SnUevFosOkMY2b7ipxlEctNKPmMD/VibeBI+ZcZCJK+4DPuw==}
hasBin: true
+ pirates@4.0.7:
+ resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
+ engines: {node: '>= 6'}
+
+ pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+
pkg-dir@7.0.0:
resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==}
engines: {node: '>=14.16'}
- pkg-dir@8.0.0:
- resolution: {integrity: sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ==}
+ pkg-dir@9.0.0:
+ resolution: {integrity: sha512-BMmxOuokumBehLGYwCKMBJxpAGSBbvGTtDn1yUV9UpCAvC4F7UWHoPTGSDGPV8eQPkYq/G8b0g1W5vIc5K/EhA==}
engines: {node: '>=18'}
+ deprecated: Renamed to `package-directory`.
- pkg-types@1.2.0:
- resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==}
+ pkg-types@1.3.1:
+ resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
- pkg-types@1.2.1:
- resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==}
+ pkg-types@2.3.0:
+ resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==}
- playwright-core@1.46.1:
- resolution: {integrity: sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A==}
+ playwright-core@1.56.0:
+ resolution: {integrity: sha512-1SXl7pMfemAMSDn5rkPeZljxOCYAmQnYLBTExuh6E8USHXGSX3dx6lYZN/xPpTz1vimXmPA9CDnILvmJaB8aSQ==}
engines: {node: '>=18'}
hasBin: true
- playwright@1.46.1:
- resolution: {integrity: sha512-oPcr1yqoXLCkgKtD5eNUPLiN40rYEM39odNpIb6VE6S7/15gJmA1NzVv6zJYusV0e7tzvkU/utBFNa/Kpxmwng==}
+ playwright@1.56.0:
+ resolution: {integrity: sha512-X5Q1b8lOdWIE4KAoHpW3SE8HvUB+ZZsUoN64ZhjnN8dOb1UpujxBtENGiZFE+9F/yhzJwYa+ca3u43FeLbboHA==}
engines: {node: '>=18'}
hasBin: true
@@ -7266,187 +7871,191 @@ packages:
resolution: {integrity: sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==}
engines: {node: '>=12.0.0'}
- possible-typed-array-names@1.0.0:
- resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
- engines: {node: '>= 0.4'}
-
- postcss-calc@10.0.2:
- resolution: {integrity: sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==}
+ postcss-calc@10.1.1:
+ resolution: {integrity: sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==}
engines: {node: ^18.12 || ^20.9 || >=22.0}
peerDependencies:
postcss: ^8.4.38
- postcss-colormin@7.0.2:
- resolution: {integrity: sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==}
+ postcss-colormin@7.0.4:
+ resolution: {integrity: sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-convert-values@7.0.4:
- resolution: {integrity: sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==}
+ postcss-convert-values@7.0.7:
+ resolution: {integrity: sha512-HR9DZLN04Xbe6xugRH6lS4ZQH2zm/bFh/ZyRkpedZozhvh+awAfbA0P36InO4fZfDhvYfNJeNvlTf1sjwGbw/A==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-discard-comments@7.0.3:
- resolution: {integrity: sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==}
+ postcss-discard-comments@7.0.4:
+ resolution: {integrity: sha512-6tCUoql/ipWwKtVP/xYiFf1U9QgJ0PUvxN7pTcsQ8Ns3Fnwq1pU5D5s1MhT/XySeLq6GXNvn37U46Ded0TckWg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-discard-duplicates@7.0.1:
- resolution: {integrity: sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==}
+ postcss-discard-duplicates@7.0.2:
+ resolution: {integrity: sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-discard-empty@7.0.0:
- resolution: {integrity: sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==}
+ postcss-discard-empty@7.0.1:
+ resolution: {integrity: sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-discard-overridden@7.0.0:
- resolution: {integrity: sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==}
+ postcss-discard-overridden@7.0.1:
+ resolution: {integrity: sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-merge-longhand@7.0.4:
- resolution: {integrity: sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==}
+ postcss-merge-longhand@7.0.5:
+ resolution: {integrity: sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-merge-rules@7.0.4:
- resolution: {integrity: sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==}
+ postcss-merge-rules@7.0.6:
+ resolution: {integrity: sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-minify-font-values@7.0.0:
- resolution: {integrity: sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==}
+ postcss-minify-font-values@7.0.1:
+ resolution: {integrity: sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-minify-gradients@7.0.0:
- resolution: {integrity: sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==}
+ postcss-minify-gradients@7.0.1:
+ resolution: {integrity: sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-minify-params@7.0.2:
- resolution: {integrity: sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==}
+ postcss-minify-params@7.0.4:
+ resolution: {integrity: sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-minify-selectors@7.0.4:
- resolution: {integrity: sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==}
+ postcss-minify-selectors@7.0.5:
+ resolution: {integrity: sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-normalize-charset@7.0.0:
- resolution: {integrity: sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==}
+ postcss-normalize-charset@7.0.1:
+ resolution: {integrity: sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-normalize-display-values@7.0.0:
- resolution: {integrity: sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==}
+ postcss-normalize-display-values@7.0.1:
+ resolution: {integrity: sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-normalize-positions@7.0.0:
- resolution: {integrity: sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==}
+ postcss-normalize-positions@7.0.1:
+ resolution: {integrity: sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-normalize-repeat-style@7.0.0:
- resolution: {integrity: sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==}
+ postcss-normalize-repeat-style@7.0.1:
+ resolution: {integrity: sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-normalize-string@7.0.0:
- resolution: {integrity: sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==}
+ postcss-normalize-string@7.0.1:
+ resolution: {integrity: sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-normalize-timing-functions@7.0.0:
- resolution: {integrity: sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==}
+ postcss-normalize-timing-functions@7.0.1:
+ resolution: {integrity: sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-normalize-unicode@7.0.2:
- resolution: {integrity: sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==}
+ postcss-normalize-unicode@7.0.4:
+ resolution: {integrity: sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-normalize-url@7.0.0:
- resolution: {integrity: sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==}
+ postcss-normalize-url@7.0.1:
+ resolution: {integrity: sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-normalize-whitespace@7.0.0:
- resolution: {integrity: sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==}
+ postcss-normalize-whitespace@7.0.1:
+ resolution: {integrity: sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-ordered-values@7.0.1:
- resolution: {integrity: sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==}
+ postcss-ordered-values@7.0.2:
+ resolution: {integrity: sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-reduce-initial@7.0.2:
- resolution: {integrity: sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==}
+ postcss-reduce-initial@7.0.4:
+ resolution: {integrity: sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-reduce-transforms@7.0.0:
- resolution: {integrity: sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==}
+ postcss-reduce-transforms@7.0.1:
+ resolution: {integrity: sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
postcss-selector-parser@6.1.2:
resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
engines: {node: '>=4'}
- postcss-svgo@7.0.1:
- resolution: {integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==}
+ postcss-selector-parser@7.1.0:
+ resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
+ engines: {node: '>=4'}
+
+ postcss-svgo@7.1.0:
+ resolution: {integrity: sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w==}
engines: {node: ^18.12.0 || ^20.9.0 || >= 18}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
- postcss-unique-selectors@7.0.3:
- resolution: {integrity: sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==}
+ postcss-unique-selectors@7.0.4:
+ resolution: {integrity: sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- postcss@8.4.47:
- resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
engines: {node: ^10 || ^12 || >=14}
postgres-array@2.0.0:
resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
engines: {node: '>=4'}
+ postgres-array@3.0.4:
+ resolution: {integrity: sha512-nAUSGfSDGOaOAEGwqsRY27GPOea7CNipJPOA7lPbdEpx5Kg3qzdP0AaWC5MlhTWV9s4hFX39nomVZ+C4tnGOJQ==}
+ engines: {node: '>=12'}
+
postgres-bytea@1.0.0:
resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==}
engines: {node: '>=0.10.0'}
@@ -7455,23 +8064,40 @@ packages:
resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==}
engines: {node: '>=0.10.0'}
+ postgres-date@2.1.0:
+ resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==}
+ engines: {node: '>=12'}
+
postgres-interval@1.2.0:
resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
engines: {node: '>=0.10.0'}
- preact@10.23.2:
- resolution: {integrity: sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==}
+ postgres-interval@4.0.2:
+ resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==}
+ engines: {node: '>=12'}
+
+ preact@10.27.2:
+ resolution: {integrity: sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==}
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
- pretty-bytes@6.1.1:
- resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
- engines: {node: ^14.13.1 || >=16.0.0}
+ prettier@3.6.2:
+ resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ pretty-bytes@7.1.0:
+ resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==}
+ engines: {node: '>=20'}
+
+ pretty-format@30.2.0:
+ resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- pretty-ms@9.1.0:
- resolution: {integrity: sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==}
+ pretty-ms@9.3.0:
+ resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==}
engines: {node: '>=18'}
proc-log@4.2.0:
@@ -7485,8 +8111,8 @@ packages:
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
- process-warning@4.0.0:
- resolution: {integrity: sha512-/MyYDxttz7DfGMMHiysAsFE4qF+pQYAA8ziO/3NcRVrQ5fSk+Mns4QZA/oRPFzvcqNoVJXQNWNAsdwBXLUkQKw==}
+ process-warning@5.0.0:
+ resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==}
process@0.11.10:
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
@@ -7499,8 +8125,8 @@ packages:
promise-all-reject-late@1.0.1:
resolution: {integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==}
- promise-call-limit@3.0.1:
- resolution: {integrity: sha512-utl+0x8gIDasV5X+PI5qWEPqH6fJS0pFtQ/4gZ95xfEFb/89dmh+/b895TbFDBLiafBvxD/PGTKfvxl4kH/pQg==}
+ promise-call-limit@3.0.2:
+ resolution: {integrity: sha512-mRPQO2T1QQVw11E7+UdCJu7S61eJVWknzml9sC1heAdj1jxl0fWMBypIt9ZOcLFf8FkG995ZD7RnVk7HH72fZw==}
promise-inflight@1.0.1:
resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==}
@@ -7510,6 +8136,9 @@ packages:
bluebird:
optional: true
+ promise-limit@2.7.0:
+ resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==}
+
promise-queue@2.2.5:
resolution: {integrity: sha512-p/iXrPSVfnqPft24ZdNNLECw/UrtLTpT3jpAAMzl/o5/rDsGCPo3/CQS2611flL6LkoEJ3oQZw7C8Q80ZISXRQ==}
engines: {node: '>= 0.8.0'}
@@ -7525,20 +8154,20 @@ packages:
property-expr@2.0.6:
resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==}
- property-information@6.5.0:
- resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
+ property-information@7.1.0:
+ resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
- prosemirror-changeset@2.2.1:
- resolution: {integrity: sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ==}
+ prosemirror-changeset@2.3.1:
+ resolution: {integrity: sha512-j0kORIBm8ayJNl3zQvD1TTPHJX3g042et6y/KQhZhnPrruO8exkTgG8X+NRpj7kIyMMEx74Xb3DyMIBtO0IKkQ==}
prosemirror-collab@1.3.1:
resolution: {integrity: sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==}
- prosemirror-commands@1.6.2:
- resolution: {integrity: sha512-0nDHH++qcf/BuPLYvmqZTUUsPJUCPBUXt0J1ErTcDIS369CTp773itzLGIgIXG4LJXOlwYCr44+Mh4ii6MP1QA==}
+ prosemirror-commands@1.7.1:
+ resolution: {integrity: sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==}
- prosemirror-dropcursor@1.8.1:
- resolution: {integrity: sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw==}
+ prosemirror-dropcursor@1.8.2:
+ resolution: {integrity: sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==}
prosemirror-gapcursor@1.3.2:
resolution: {integrity: sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==}
@@ -7546,32 +8175,32 @@ packages:
prosemirror-history@1.4.1:
resolution: {integrity: sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==}
- prosemirror-inputrules@1.4.0:
- resolution: {integrity: sha512-6ygpPRuTJ2lcOXs9JkefieMst63wVJBgHZGl5QOytN7oSZs3Co/BYbc3Yx9zm9H37Bxw8kVzCnDsihsVsL4yEg==}
+ prosemirror-inputrules@1.5.0:
+ resolution: {integrity: sha512-K0xJRCmt+uSw7xesnHmcn72yBGTbY45vm8gXI4LZXbx2Z0jwh5aF9xrGQgrVPu0WbyFVFF3E/o9VhJYz6SQWnA==}
- prosemirror-keymap@1.2.2:
- resolution: {integrity: sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==}
+ prosemirror-keymap@1.2.3:
+ resolution: {integrity: sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==}
- prosemirror-markdown@1.13.1:
- resolution: {integrity: sha512-Sl+oMfMtAjWtlcZoj/5L/Q39MpEnVZ840Xo330WJWUvgyhNmLBLN7MsHn07s53nG/KImevWHSE6fEj4q/GihHw==}
+ prosemirror-markdown@1.13.2:
+ resolution: {integrity: sha512-FPD9rHPdA9fqzNmIIDhhnYQ6WgNoSWX9StUZ8LEKapaXU9i6XgykaHKhp6XMyXlOWetmaFgGDS/nu/w9/vUc5g==}
- prosemirror-menu@1.2.4:
- resolution: {integrity: sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA==}
+ prosemirror-menu@1.2.5:
+ resolution: {integrity: sha512-qwXzynnpBIeg1D7BAtjOusR+81xCp53j7iWu/IargiRZqRjGIlQuu1f3jFi+ehrHhWMLoyOQTSRx/IWZJqOYtQ==}
- prosemirror-model@1.23.0:
- resolution: {integrity: sha512-Q/fgsgl/dlOAW9ILu4OOhYWQbc7TQd4BwKH/RwmUjyVf8682Be4zj3rOYdLnYEcGzyg8LL9Q5IWYKD8tdToreQ==}
+ prosemirror-model@1.25.3:
+ resolution: {integrity: sha512-dY2HdaNXlARknJbrManZ1WyUtos+AP97AmvqdOQtWtrrC5g4mohVX5DTi9rXNFSk09eczLq9GuNTtq3EfMeMGA==}
- prosemirror-schema-basic@1.2.3:
- resolution: {integrity: sha512-h+H0OQwZVqMon1PNn0AG9cTfx513zgIG2DY00eJ00Yvgb3UD+GQ/VlWW5rcaxacpCGT1Yx8nuhwXk4+QbXUfJA==}
+ prosemirror-schema-basic@1.2.4:
+ resolution: {integrity: sha512-ELxP4TlX3yr2v5rM7Sb70SqStq5NvI15c0j9j/gjsrO5vaw+fnnpovCLEGIcpeGfifkuqJwl4fon6b+KdrODYQ==}
- prosemirror-schema-list@1.4.1:
- resolution: {integrity: sha512-jbDyaP/6AFfDfu70VzySsD75Om2t3sXTOdl5+31Wlxlg62td1haUpty/ybajSfJ1pkGadlOfwQq9kgW5IMo1Rg==}
+ prosemirror-schema-list@1.5.1:
+ resolution: {integrity: sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==}
prosemirror-state@1.4.3:
resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==}
- prosemirror-tables@1.6.1:
- resolution: {integrity: sha512-p8WRJNA96jaNQjhJolmbxTzd6M4huRE5xQ8OxjvMhQUP0Nzpo4zz6TztEiwk6aoqGBhz9lxRWR1yRZLlpQN98w==}
+ prosemirror-tables@1.8.1:
+ resolution: {integrity: sha512-DAgDoUYHCcc6tOGpLVPSU1k84kCUWTWnfWX3UDy2Delv4ryH0KqTD6RBI6k4yi9j9I8gl3j8MkPpRD/vWPZbug==}
prosemirror-trailing-node@3.0.0:
resolution: {integrity: sha512-xiun5/3q0w5eRnGYfNlW1uU9W6x5MoFKWwq/0TIRgt09lv7Hcser2QYV8t4muXbEr+Fwo0geYn79Xs4GKywrRQ==}
@@ -7580,21 +8209,18 @@ packages:
prosemirror-state: ^1.4.2
prosemirror-view: ^1.33.8
- prosemirror-transform@1.10.2:
- resolution: {integrity: sha512-2iUq0wv2iRoJO/zj5mv8uDUriOHWzXRnOTVgCzSXnktS/2iQRa3UUQwVlkBlYZFtygw6Nh1+X4mGqoYBINn5KQ==}
-
- prosemirror-view@1.36.0:
- resolution: {integrity: sha512-U0GQd5yFvV5qUtT41X1zCQfbw14vkbbKwLlQXhdylEmgpYVHkefXYcC4HHwWOfZa3x6Y8wxDLUBv7dxN5XQ3nA==}
+ prosemirror-transform@1.10.4:
+ resolution: {integrity: sha512-pwDy22nAnGqNR1feOQKHxoFkkUtepoFAd3r2hbEDsnf4wp57kKA36hXsB3njA9FtONBEwSDnDeCiJe+ItD+ykw==}
- proto-list@1.2.4:
- resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
+ prosemirror-view@1.41.3:
+ resolution: {integrity: sha512-SqMiYMUQNNBP9kfPhLO8WXEk/fon47vc52FQsUiJzTBuyjKgEcoAwMyF04eQ4WZ2ArMn7+ReypYL60aKngbACQ==}
- protobufjs@7.4.0:
- resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==}
+ protobufjs@7.5.4:
+ resolution: {integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==}
engines: {node: '>=12.0.0'}
- protocols@2.0.1:
- resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
+ protocols@2.0.2:
+ resolution: {integrity: sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==}
proxy-addr@2.0.7:
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
@@ -7607,34 +8233,26 @@ packages:
resolution: {integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- psl@1.9.0:
- resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
-
- pstree.remy@1.1.8:
- resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==}
-
- pump@3.0.0:
- resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
+ pump@3.0.3:
+ resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==}
punycode.js@2.3.1:
resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
engines: {node: '>=6'}
- punycode@1.3.2:
- resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==}
-
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
- qs@6.13.0:
- resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
+ pure-rand@7.0.1:
+ resolution: {integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==}
+
+ qs@6.14.0:
+ resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==}
engines: {node: '>=0.6'}
- querystring@0.2.0:
- resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==}
- engines: {node: '>=0.4.x'}
- deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
+ quansync@0.2.11:
+ resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==}
querystringify@2.2.0:
resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
@@ -7642,9 +8260,6 @@ packages:
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- queue-tick@1.0.1:
- resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
-
queue@6.0.2:
resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
@@ -7658,35 +8273,23 @@ packages:
radix3@1.1.2:
resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
- random-bytes@1.0.0:
- resolution: {integrity: sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==}
- engines: {node: '>= 0.8'}
-
- randombytes@2.0.3:
- resolution: {integrity: sha512-lDVjxQQFoCG1jcrP06LNo2lbWp4QTShEXnhActFBwYuHprllQV6VUpwreApsYqCgD+N1mHoqJ/BI/4eV4R2GYg==}
-
randombytes@2.1.0:
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
- randomstring@1.3.0:
- resolution: {integrity: sha512-gY7aQ4i1BgwZ8I1Op4YseITAyiDiajeZOPQUbIq9TPGPhUm5FX59izIaOpmKbME1nmnEiABf28d9K2VSii6BBg==}
- hasBin: true
-
range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
- raw-body@2.5.2:
- resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
- engines: {node: '>= 0.8'}
-
- raw-body@3.0.0:
- resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==}
- engines: {node: '>= 0.8'}
+ raw-body@3.0.1:
+ resolution: {integrity: sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==}
+ engines: {node: '>= 0.10'}
rc9@2.1.2:
resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
+ react-is@18.3.1:
+ resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+
read-cmd-shim@4.0.0:
resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -7695,38 +8298,6 @@ packages:
resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- read-package-json@2.1.2:
- resolution: {integrity: sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==}
- deprecated: This package is no longer supported. Please use @npmcli/package-json instead.
-
- read-package-tree@5.3.1:
- resolution: {integrity: sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==}
- deprecated: The functionality that this package provided is now in @npmcli/arborist
-
- read-pkg-up@10.1.0:
- resolution: {integrity: sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==}
- engines: {node: '>=16'}
-
- read-pkg-up@7.0.1:
- resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
- engines: {node: '>=8'}
-
- read-pkg-up@8.0.0:
- resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==}
- engines: {node: '>=12'}
-
- read-pkg@5.2.0:
- resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
- engines: {node: '>=8'}
-
- read-pkg@6.0.0:
- resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==}
- engines: {node: '>=12'}
-
- read-pkg@8.1.0:
- resolution: {integrity: sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==}
- engines: {node: '>=16'}
-
readable-stream@2.3.8:
resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
@@ -7734,36 +8305,24 @@ packages:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
- readable-stream@4.5.2:
- resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==}
+ readable-stream@4.7.0:
+ resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
readdir-glob@1.1.3:
resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==}
- readdir-scoped-modules@1.1.0:
- resolution: {integrity: sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==}
- deprecated: This functionality has been moved to @npmcli/fs
-
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
-
- readdirp@4.0.2:
- resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
- engines: {node: '>= 14.16.0'}
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
real-require@0.2.0:
resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==}
engines: {node: '>= 12.13.0'}
- rechoir@0.6.2:
- resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
- engines: {node: '>= 0.10'}
-
- redent@4.0.0:
- resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==}
- engines: {node: '>=12'}
+ rechoir@0.8.0:
+ resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
+ engines: {node: '>= 10.13.0'}
redis-errors@1.2.0:
resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==}
@@ -7777,11 +8336,17 @@ packages:
resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- regenerator-runtime@0.14.1:
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+ reflect-metadata@0.2.2:
+ resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==}
+
+ regex-recursion@6.0.2:
+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
- regex@4.3.3:
- resolution: {integrity: sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==}
+ regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+
+ regex@6.0.1:
+ resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
regexp-ast-analysis@0.7.1:
resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==}
@@ -7791,18 +8356,10 @@ packages:
resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
hasBin: true
- regexp.prototype.flags@1.5.2:
- resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
- engines: {node: '>= 0.4'}
-
- regjsparser@0.10.0:
- resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
+ regjsparser@0.12.0:
+ resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==}
hasBin: true
- relateurl@0.2.7:
- resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
- engines: {node: '>= 0.10'}
-
require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
@@ -7811,19 +8368,20 @@ packages:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
- require-in-the-middle@7.4.0:
- resolution: {integrity: sha512-X34iHADNbNDfr6OTStIAHWSAvvKQRYgLO6duASaVf7J2VA3lvmNYboAHOuLC2huav1IwgZJtyEcJCKVzFxOSMQ==}
+ require-in-the-middle@7.5.2:
+ resolution: {integrity: sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ==}
engines: {node: '>=8.6.0'}
- require-main-filename@2.0.0:
- resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
-
requires-port@1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
resolve-alpn@1.2.1:
resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
+ resolve-cwd@3.0.0:
+ resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
+ engines: {node: '>=8'}
+
resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
@@ -7835,8 +8393,9 @@ packages:
resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
- resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ resolve@1.22.10:
+ resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+ engines: {node: '>= 0.4'}
hasBin: true
responselike@2.0.1:
@@ -7850,15 +8409,12 @@ packages:
resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
engines: {node: '>=18'}
- retry-as-promised@7.0.4:
- resolution: {integrity: sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==}
-
retry@0.12.0:
resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
engines: {node: '>= 4'}
- reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ reusify@1.1.0:
+ resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
rfdc@1.4.1:
@@ -7869,40 +8425,40 @@ packages:
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
- rollup-plugin-visualizer@5.12.0:
- resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
- engines: {node: '>=14'}
+ rollup-plugin-visualizer@6.0.4:
+ resolution: {integrity: sha512-q8Q7J/6YofkmaGW1sH/fPRAz37x/+pd7VBuaUU7lwvOS/YikuiiEU9jeb9PH8XHiq50XFrUsBbOxeAMYQ7KZkg==}
+ engines: {node: '>=18'}
hasBin: true
peerDependencies:
+ rolldown: 1.x || ^1.0.0-beta
rollup: 2.x || 3.x || 4.x
peerDependenciesMeta:
+ rolldown:
+ optional: true
rollup:
optional: true
- rollup@4.24.4:
- resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==}
+ rollup@4.52.4:
+ resolution: {integrity: sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
rope-sequence@1.3.4:
resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==}
- router@2.0.0:
- resolution: {integrity: sha512-dIM5zVoG8xhC6rnSN8uoAgFARwTE7BQs8YwHEvK0VCmfxQXMaOuA1uiR1IPwsW7JyK5iTt7Od/TC9StasS2NPQ==}
- engines: {node: '>= 0.10'}
-
- rrweb-cssom@0.6.0:
- resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==}
+ router@2.2.0:
+ resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==}
+ engines: {node: '>= 18'}
- rrweb-cssom@0.7.1:
- resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==}
+ rrweb-cssom@0.8.0:
+ resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==}
- run-applescript@7.0.0:
- resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
+ run-applescript@7.1.0:
+ resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
engines: {node: '>=18'}
- run-async@3.0.0:
- resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==}
+ run-async@4.0.6:
+ resolution: {integrity: sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ==}
engines: {node: '>=0.12.0'}
run-parallel@1.2.0:
@@ -7911,9 +8467,8 @@ packages:
rxjs@7.8.1:
resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
- safe-array-concat@1.1.2:
- resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
- engines: {node: '>=0.4'}
+ rxjs@7.8.2:
+ resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
safe-buffer@5.1.2:
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
@@ -7921,14 +8476,6 @@ packages:
safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
- safe-regex-test@1.0.3:
- resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
- engines: {node: '>= 0.4'}
-
- safe-require@1.0.4:
- resolution: {integrity: sha512-1elAbSH1u7HVMfbuqktLWAN0wMOeT+FnJVqMhBgEJLvL95m+KT433tiJdGMV1e3TstQXRt1YrKQDRBu0Kpk4WA==}
- deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
-
safe-stable-stringify@2.5.0:
resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==}
engines: {node: '>=10'}
@@ -7936,18 +8483,26 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- sass@1.79.5:
- resolution: {integrity: sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g==}
+ sass@1.93.2:
+ resolution: {integrity: sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==}
engines: {node: '>=14.0.0'}
hasBin: true
- sax@1.2.1:
- resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==}
+ sax@1.4.1:
+ resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
saxes@6.0.0:
resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
engines: {node: '>=v12.22.7'}
+ schema-utils@3.3.0:
+ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
+ engines: {node: '>= 10.13.0'}
+
+ schema-utils@4.3.3:
+ resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==}
+ engines: {node: '>= 10.13.0'}
+
scslre@0.3.0:
resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==}
engines: {node: ^14.0.0 || >=16.0.0}
@@ -7955,14 +8510,11 @@ packages:
scule@1.3.0:
resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
- search-insights@2.17.0:
- resolution: {integrity: sha512-AskayU3QNsXQzSL6v4LTYST7NNfs2HWyHHB+sdORP9chsytAhro5XRfToAMI/LAVYgNbzowVZTMfBRodgbUHKg==}
+ search-insights@2.17.3:
+ resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==}
- secure-json-parse@2.7.0:
- resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
-
- selderee@0.11.0:
- resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==}
+ secure-json-parse@4.1.0:
+ resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==}
semver@5.7.2:
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
@@ -7977,91 +8529,27 @@ packages:
engines: {node: '>=10'}
hasBin: true
- semver@7.6.3:
- resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
+ semver@7.7.3:
+ resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
engines: {node: '>=10'}
hasBin: true
- send@0.19.0:
- resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
- engines: {node: '>= 0.8.0'}
-
- send@1.1.0:
- resolution: {integrity: sha512-v67WcEouB5GxbTWL/4NeToqcZiAWEq90N888fczVArY8A79J0L4FD7vj5hm3eUMua5EpoQ59wa/oovY6TLvRUA==}
+ send@1.2.0:
+ resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==}
engines: {node: '>= 18'}
- sequelize-cli@6.6.2:
- resolution: {integrity: sha512-V8Oh+XMz2+uquLZltZES6MVAD+yEnmMfwfn+gpXcDiwE3jyQygLt4xoI0zG8gKt6cRcs84hsKnXAKDQjG/JAgg==}
- engines: {node: '>=10.0.0'}
- hasBin: true
-
- sequelize-pool@7.1.0:
- resolution: {integrity: sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==}
- engines: {node: '>= 10.0.0'}
-
- sequelize-replace-enum-postgres@1.6.0:
- resolution: {integrity: sha512-0lWC2zaPI0owkg38eMNkNO+4j8L4RsjasnFd1XiI2hpPWzKMPHDLroIeTdMNzs/kpB+VtLJI0bIHBZK4RhK2KA==}
-
- sequelize@6.37.5:
- resolution: {integrity: sha512-10WA4poUb3XWnUROThqL2Apq9C2NhyV1xHPMZuybNMCucDsbbFuKg51jhmyvvAUyUqCiimwTZamc3AHhMoBr2Q==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- ibm_db: '*'
- mariadb: '*'
- mysql2: '*'
- oracledb: '*'
- pg: '*'
- pg-hstore: '*'
- snowflake-sdk: '*'
- sqlite3: '*'
- tedious: '*'
- peerDependenciesMeta:
- ibm_db:
- optional: true
- mariadb:
- optional: true
- mysql2:
- optional: true
- oracledb:
- optional: true
- pg:
- optional: true
- pg-hstore:
- optional: true
- snowflake-sdk:
- optional: true
- sqlite3:
- optional: true
- tedious:
- optional: true
-
serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
serve-placeholder@2.0.2:
resolution: {integrity: sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==}
- serve-static@1.16.2:
- resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
- engines: {node: '>= 0.8.0'}
-
- serve-static@2.1.0:
- resolution: {integrity: sha512-A3We5UfEjG8Z7VkDv6uItWw6HY2bBSBJT1KtVESn6EOoOr2jAxNhxWCLY3jDE2WcuHXByWju74ck3ZgLwL8xmA==}
+ serve-static@2.2.0:
+ resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==}
engines: {node: '>= 18'}
- set-blocking@2.0.0:
- resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
-
- set-function-length@1.2.2:
- resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
- engines: {node: '>= 0.4'}
-
- set-function-name@2.0.2:
- resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
- engines: {node: '>= 0.4'}
-
- setimmediate@1.0.5:
- resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
+ set-cookie-parser@2.7.1:
+ resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==}
setprototypeof@1.2.0:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
@@ -8074,22 +8562,34 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- shell-quote@1.8.1:
- resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+ shell-quote@1.8.3:
+ resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==}
+ engines: {node: '>= 0.4'}
- shelljs@0.8.5:
- resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
- engines: {node: '>=4'}
- hasBin: true
+ shelljs@0.10.0:
+ resolution: {integrity: sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==}
+ engines: {node: '>=18'}
- shiki@1.22.2:
- resolution: {integrity: sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==}
+ shiki@2.5.0:
+ resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==}
shimmer@1.2.1:
resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==}
- side-channel@1.0.6:
- resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ side-channel-list@1.0.0:
+ resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-map@1.0.1:
+ resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-weakmap@1.0.2:
+ resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
+ engines: {node: '>= 0.4'}
+
+ side-channel@1.1.0:
+ resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
engines: {node: '>= 0.4'}
signal-exit@3.0.7:
@@ -8103,22 +8603,12 @@ packages:
resolution: {integrity: sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==}
engines: {node: ^16.14.0 || >=18.0.0}
- simple-git@3.25.0:
- resolution: {integrity: sha512-KIY5sBnzc4yEcJXW7Tdv4viEz8KyG+nU0hay+DWZasvdFOYKeUZ6Xc25LUHHjw0tinPT7O1eY6pzX7pRT1K8rw==}
-
- simple-git@3.27.0:
- resolution: {integrity: sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==}
+ simple-git@3.28.0:
+ resolution: {integrity: sha512-Rs/vQRwsn1ILH1oBUy8NucJlXmnnLeLCfcvbSehkPzbv3wwoFWIdtfd6Ndo6ZPhlPsCZ60CPI4rxurnwAa+a2w==}
- simple-oauth2@5.1.0:
- resolution: {integrity: sha512-gWDa38Ccm4MwlG5U7AlcJxPv3lvr80dU7ARJWrGdgvOKyzSj1gr3GBPN1rABTedAYvC/LsGYoFuFxwDBPtGEbw==}
-
- simple-update-notifier@2.0.0:
- resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==}
- engines: {node: '>=10'}
-
- sirv@2.0.4:
- resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
- engines: {node: '>= 10'}
+ sirv@3.0.2:
+ resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==}
+ engines: {node: '>=18'}
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
@@ -8127,19 +8617,12 @@ packages:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
- slash@4.0.0:
- resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
- engines: {node: '>=12'}
-
slash@5.1.0:
resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
engines: {node: '>=14.16'}
- slashes@3.0.12:
- resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==}
-
- slick@1.12.2:
- resolution: {integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==}
+ slow-redact@0.3.2:
+ resolution: {integrity: sha512-MseHyi2+E/hBRqdOi5COy6wZ7j7DxXRz9NkseavNYSvvWC06D8a5cidVZX3tcG5eCW3NIyVU4zT63hw0Q486jw==}
smart-buffer@4.2.0:
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
@@ -8148,32 +8631,27 @@ packages:
smob@1.5.0:
resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
- socks-proxy-agent@8.0.4:
- resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==}
+ socks-proxy-agent@8.0.5:
+ resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==}
engines: {node: '>= 14'}
- socks@2.8.3:
- resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==}
+ socks@2.8.7:
+ resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==}
engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
sonic-boom@4.2.0:
resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==}
- sort-keys@5.0.0:
- resolution: {integrity: sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==}
- engines: {node: '>=12'}
-
sortablejs@1.14.0:
resolution: {integrity: sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==}
- source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
- engines: {node: '>=0.10.0'}
-
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
+ source-map-support@0.5.13:
+ resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
+
source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
@@ -8185,6 +8663,10 @@ packages:
resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
engines: {node: '>= 8'}
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
+
space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
@@ -8200,8 +8682,8 @@ packages:
spdx-expression-parse@4.0.0:
resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
- spdx-license-ids@3.0.20:
- resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==}
+ spdx-license-ids@3.0.22:
+ resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==}
speakingurl@14.0.1:
resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
@@ -8214,15 +8696,30 @@ packages:
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
- sprintf-js@1.1.3:
- resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
+ sqlstring-sqlite@0.1.1:
+ resolution: {integrity: sha512-9CAYUJ0lEUPYJrswqiqdINNSfq3jqWo/bFJ7tufdoNeSK0Fy+d1kFTxjqO9PIqza0Kri+ZtYMfPVf1aZaFOvrQ==}
+ engines: {node: '>= 0.6'}
+
+ sqlstring@2.3.3:
+ resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==}
+ engines: {node: '>= 0.6'}
+
+ srvx@0.8.16:
+ resolution: {integrity: sha512-hmcGW4CgroeSmzgF1Ihwgl+Ths0JqAJ7HwjP2X7e3JzY7u4IydLMcdnlqGQiQGUswz+PO9oh/KtCpOISIvs9QQ==}
+ engines: {node: '>=20.16.0'}
+ hasBin: true
ssri@10.0.6:
resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- stable-hash@0.0.4:
- resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==}
+ stable-hash-x@0.2.0:
+ resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==}
+ engines: {node: '>=12.0.0'}
+
+ stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
standard-as-callback@2.1.0:
resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==}
@@ -8231,30 +8728,32 @@ packages:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
- std-env@3.7.0:
- resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
+ statuses@2.0.2:
+ resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
+ engines: {node: '>= 0.8'}
+
+ std-env@3.9.0:
+ resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
stdin-discarder@0.2.2:
resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
engines: {node: '>=18'}
- stream-browserify@3.0.0:
- resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==}
-
- stream-shift@1.0.3:
- resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
-
streamsearch@1.1.0:
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
engines: {node: '>=10.0.0'}
- streamx@2.19.0:
- resolution: {integrity: sha512-5z6CNR4gtkPbwlxyEqoDGDmWIzoNJqCBt4Eac1ICP9YaIT08ct712cFj0u1rx4F8luAuL+3Qc+RFIdI4OX00kg==}
+ streamx@2.23.0:
+ resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==}
string-argv@0.3.2:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
engines: {node: '>=0.6.19'}
+ string-length@4.0.2:
+ resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
+ engines: {node: '>=10'}
+
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -8267,16 +8766,9 @@ packages:
resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
engines: {node: '>=18'}
- string.prototype.trim@1.2.9:
- resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
- engines: {node: '>= 0.4'}
-
- string.prototype.trimend@1.0.8:
- resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
-
- string.prototype.trimstart@1.0.8:
- resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
- engines: {node: '>= 0.4'}
+ string-width@8.1.0:
+ resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==}
+ engines: {node: '>=20'}
string_decoder@1.1.1:
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
@@ -8291,10 +8783,18 @@ packages:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
- strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ strip-ansi@7.1.2:
+ resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
engines: {node: '>=12'}
+ strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+
+ strip-bom@4.0.0:
+ resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
+ engines: {node: '>=8'}
+
strip-final-newline@2.0.0:
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
engines: {node: '>=6'}
@@ -8307,37 +8807,52 @@ packages:
resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==}
engines: {node: '>=18'}
- strip-indent@3.0.0:
- resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
- engines: {node: '>=8'}
-
- strip-indent@4.0.0:
- resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
+ strip-indent@4.1.1:
+ resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==}
engines: {node: '>=12'}
strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
- strip-literal@2.1.0:
- resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
+ strip-json-comments@5.0.3:
+ resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==}
+ engines: {node: '>=14.16'}
+
+ strip-literal@3.1.0:
+ resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==}
- strnum@1.0.5:
- resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
+ strnum@2.1.1:
+ resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==}
- stylehacks@7.0.4:
- resolution: {integrity: sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==}
+ strtok3@10.3.4:
+ resolution: {integrity: sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==}
+ engines: {node: '>=18'}
+
+ structured-clone-es@1.0.0:
+ resolution: {integrity: sha512-FL8EeKFFyNQv5cMnXI31CIMCsFarSVI2bF0U0ImeNE3g/F1IvJQyqzOXxPBRXiwQfyBTlbNe88jh1jFW0O/jiQ==}
+
+ stylehacks@7.0.6:
+ resolution: {integrity: sha512-iitguKivmsueOmTO0wmxURXBP8uqOO+zikLGZ7Mm9e/94R4w5T999Js2taS/KBOnQ/wdC3jN3vNSrkGDrlnqQg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
- postcss: ^8.4.31
+ postcss: ^8.4.32
+
+ superagent@10.2.3:
+ resolution: {integrity: sha512-y/hkYGeXAj7wUMjxRbB21g/l6aAEituGXM9Rwl4o20+SX3e8YOSV6BxFXl+dL3Uk0mjSL3kCbNkwURm8/gEDig==}
+ engines: {node: '>=14.18.0'}
- superjson@2.2.1:
- resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==}
+ superjson@2.2.2:
+ resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==}
engines: {node: '>=16'}
- supports-color@5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
- engines: {node: '>=4'}
+ supertest@7.1.4:
+ resolution: {integrity: sha512-tjLPs7dVyqgItVFirHYqe2T+MfWc2VOBQ8QFKKbWTA3PU7liZR8zoSpAi/C1k1ilm9RsXIKYf197oap9wXGVYg==}
+ engines: {node: '>=14.18.0'}
+
+ supports-color@10.2.2:
+ resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==}
+ engines: {node: '>=18'}
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
@@ -8347,38 +8862,57 @@ packages:
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
engines: {node: '>=10'}
- supports-color@9.4.0:
- resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==}
- engines: {node: '>=12'}
-
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- svg-tags@1.0.0:
- resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==}
-
- svgo@3.3.2:
- resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==}
- engines: {node: '>=14.0.0'}
+ svgo@4.0.0:
+ resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==}
+ engines: {node: '>=16'}
hasBin: true
+ swagger-ui-dist@5.21.0:
+ resolution: {integrity: sha512-E0K3AB6HvQd8yQNSMR7eE5bk+323AUxjtCz/4ZNKiahOlPhPJxqn3UPIGs00cyY/dhrTDJ61L7C/a8u6zhGrZg==}
+
+ swagger-ui-dist@5.29.4:
+ resolution: {integrity: sha512-gJFDz/gyLOCQtWwAgqs6Rk78z9ONnqTnlW11gimG9nLap8drKa3AJBKpzIQMIjl5PD2Ix+Tn+mc/tfoT2tgsng==}
+
+ swagger-ui-express@5.0.1:
+ resolution: {integrity: sha512-SrNU3RiBGTLLmFU8GIJdOdanJTl4TOmT27tt3bWWHppqYmAZ6IDuEuBvMU6nZq0zLEe6b/1rACXCgLZqO6ZfrA==}
+ engines: {node: '>= v0.10.32'}
+ peerDependencies:
+ express: '>=4.0.0 || >=5.0.0-beta'
+
+ symbol-observable@4.0.0:
+ resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==}
+ engines: {node: '>=0.10'}
+
symbol-tree@3.2.4:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
- synckit@0.9.1:
- resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==}
+ synckit@0.11.11:
+ resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==}
engines: {node: ^14.18.0 || >=16.0.0}
system-architecture@0.1.0:
resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==}
engines: {node: '>=18'}
+ systeminformation@5.27.11:
+ resolution: {integrity: sha512-K3Lto/2m3K2twmKHdgx5B+0in9qhXK4YnoT9rIlgwN/4v7OV5c8IjbeAUkuky/6VzCQC7iKCAqi8rZathCdjHg==}
+ engines: {node: '>=8.0.0'}
+ os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android]
+ hasBin: true
+
tabbable@6.2.0:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
- tapable@2.2.1:
- resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ tagged-tag@1.0.0:
+ resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==}
+ engines: {node: '>=20'}
+
+ tapable@2.3.0:
+ resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
engines: {node: '>=6'}
tar-stream@3.1.7:
@@ -8388,30 +8922,52 @@ packages:
resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
engines: {node: '>=10'}
+ tar@7.5.1:
+ resolution: {integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==}
+ engines: {node: '>=18'}
+
+ tarn@3.0.2:
+ resolution: {integrity: sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==}
+ engines: {node: '>=8.0.0'}
+
taskkill@5.0.0:
resolution: {integrity: sha512-+HRtZ40Vc+6YfCDWCeAsixwxJgMbPY4HHuTgzPYH3JXvqHWUlsCfy+ylXlAKhFNcuLp4xVeWeFBUhDk+7KYUvQ==}
engines: {node: '>=14.16'}
- terser@5.36.0:
- resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==}
+ terser-webpack-plugin@5.3.14:
+ resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+
+ terser@5.44.0:
+ resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==}
engines: {node: '>=10'}
hasBin: true
- text-decoder@1.1.1:
- resolution: {integrity: sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==}
+ test-exclude@6.0.0:
+ resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
+ engines: {node: '>=8'}
- text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ text-decoder@1.2.3:
+ resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==}
thread-stream@3.1.0:
resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==}
- through@2.3.8:
- resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
-
- timers-ext@0.1.8:
- resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==}
- engines: {node: '>=0.12'}
+ tildify@2.0.0:
+ resolution: {integrity: sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==}
+ engines: {node: '>=8'}
tiny-case@1.0.3:
resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==}
@@ -8419,8 +8975,11 @@ packages:
tiny-invariant@1.3.3:
resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
- tinyglobby@0.2.10:
- resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==}
+ tinyexec@1.0.1:
+ resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==}
+
+ tinyglobby@0.2.15:
+ resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
tippy.js@6.3.7:
@@ -8429,13 +8988,19 @@ packages:
title-case-minors@1.0.0:
resolution: {integrity: sha512-GFT+1ZjqJgq5AywOXjl9VelGgqMpOtfwdxYaYy3eUE1gbyxneeSnADLoov7TxXelqftIhlblsnHVqw5hNFUbGQ==}
- tmp@0.0.33:
- resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
- engines: {node: '>=0.6.0'}
+ tldts-core@7.0.17:
+ resolution: {integrity: sha512-DieYoGrP78PWKsrXr8MZwtQ7GLCUeLxihtjC1jZsW1DnvSMdKPitJSe8OSYDM2u5H6g3kWJZpePqkp43TfLh0g==}
+
+ tldts@7.0.17:
+ resolution: {integrity: sha512-Y1KQBgDd/NUc+LfOtKS6mNsC9CCaH+m2P1RoIZy7RAPo3C3/t8X45+zgut31cRZtZ3xKPjfn3TkGTrctC2TQIQ==}
+ hasBin: true
+
+ tmp@0.2.5:
+ resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==}
+ engines: {node: '>=14.14'}
- tmp@0.2.1:
- resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==}
- engines: {node: '>=8.17.0'}
+ tmpl@1.0.5:
+ resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
to-camel-case@1.0.0:
resolution: {integrity: sha512-nD8pQi5H34kyu1QDMFjzEIYqk0xa9Alt6ZfrdEMuHCFOfTLhDG5pgTu/aAM9Wt9lXILwlXmWP43b8sav0GNE8Q==}
@@ -8452,10 +9017,6 @@ packages:
to-dot-case@1.0.0:
resolution: {integrity: sha512-gwKmnzzTGdPiMWTFFpRYqB3dQpVJgAxuhEYEM+7Vbqd6quFfvdhZPXlqRLf8jIaWL3qCX/rxTW9Y2eeSTJP9/w==}
- to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
-
to-no-case@1.0.2:
resolution: {integrity: sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg==}
@@ -8485,8 +9046,9 @@ packages:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'}
- toposort-class@1.0.1:
- resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==}
+ token-types@6.1.1:
+ resolution: {integrity: sha512-kh9LVIWH5CnL63Ipf0jhlBIy0UsrMj/NJDfpsy1SqOXlLKEVyXXYrnFxFT1yOOYVGBSApeVnjPw/sBz5BfEjAQ==}
+ engines: {node: '>=14.16'}
toposort@2.0.2:
resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==}
@@ -8495,20 +9057,16 @@ packages:
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
engines: {node: '>=6'}
- touch@3.1.1:
- resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==}
- hasBin: true
-
- tough-cookie@4.1.4:
- resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
- engines: {node: '>=6'}
+ tough-cookie@6.0.0:
+ resolution: {integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==}
+ engines: {node: '>=16'}
tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
- tr46@5.0.0:
- resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==}
- engines: {node: '>=18'}
+ tr46@6.0.0:
+ resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==}
+ engines: {node: '>=20'}
tree-kill@1.2.2:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
@@ -8521,18 +9079,73 @@ packages:
trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
- trim-newlines@4.1.1:
- resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==}
- engines: {node: '>=12'}
+ ts-api-utils@2.1.0:
+ resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
+ engines: {node: '>=18.12'}
+ peerDependencies:
+ typescript: '>=4.8.4'
- ts-api-utils@1.3.0:
- resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
- engines: {node: '>=16'}
+ ts-jest@29.4.5:
+ resolution: {integrity: sha512-HO3GyiWn2qvTQA4kTgjDcXiMwYQt68a1Y8+JuLRVpdIzm+UOLSHgl/XqR4c6nzJkq5rOkjc02O2I7P7l/Yof0Q==}
+ engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@babel/core': '>=7.0.0-beta.0 <8'
+ '@jest/transform': ^29.0.0 || ^30.0.0
+ '@jest/types': ^29.0.0 || ^30.0.0
+ babel-jest: ^29.0.0 || ^30.0.0
+ esbuild: '*'
+ jest: ^29.0.0 || ^30.0.0
+ jest-util: ^29.0.0 || ^30.0.0
+ typescript: '>=4.3 <6'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ '@jest/transform':
+ optional: true
+ '@jest/types':
+ optional: true
+ babel-jest:
+ optional: true
+ esbuild:
+ optional: true
+ jest-util:
+ optional: true
+
+ ts-loader@9.5.4:
+ resolution: {integrity: sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ typescript: '*'
+ webpack: ^5.0.0
+
+ ts-morph@27.0.2:
+ resolution: {integrity: sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==}
+
+ ts-node@10.9.2:
+ resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
+ hasBin: true
peerDependencies:
- typescript: '>=4.2.0'
+ '@swc/core': '>=1.2.50'
+ '@swc/wasm': '>=1.2.50'
+ '@types/node': '*'
+ typescript: '>=2.7'
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ '@swc/wasm':
+ optional: true
+
+ tsconfig-paths-webpack-plugin@4.2.0:
+ resolution: {integrity: sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==}
+ engines: {node: '>=10.13.0'}
+
+ tsconfig-paths@4.2.0:
+ resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
+ engines: {node: '>=6'}
- tslib@2.7.0:
- resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
tuf-js@2.2.1:
resolution: {integrity: sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==}
@@ -8542,136 +9155,102 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
+ type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
type-fest@0.21.3:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
engines: {node: '>=10'}
- type-fest@0.6.0:
- resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
- engines: {node: '>=8'}
-
- type-fest@0.8.1:
- resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
- engines: {node: '>=8'}
-
- type-fest@1.4.0:
- resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
- engines: {node: '>=10'}
-
type-fest@2.19.0:
resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
engines: {node: '>=12.20'}
- type-fest@3.13.1:
- resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
- engines: {node: '>=14.16'}
-
- type-fest@4.25.0:
- resolution: {integrity: sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==}
+ type-fest@4.41.0:
+ resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
engines: {node: '>=16'}
+ type-fest@5.1.0:
+ resolution: {integrity: sha512-wQ531tuWvB6oK+pchHIu5lHe5f5wpSCqB8Kf4dWQRbOYc9HTge7JL0G4Qd44bh6QuJCccIzL3bugb8GI0MwHrg==}
+ engines: {node: '>=20'}
+
type-is@1.6.18:
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
engines: {node: '>= 0.6'}
- type-is@2.0.0:
- resolution: {integrity: sha512-gd0sGezQYCbWSbkZr75mln4YBidWUN60+devscpLF5mtRDUpiaTvKpBNrdaCvel1NdR2k6vclXybU5fBd2i+nw==}
+ type-is@2.0.1:
+ resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==}
engines: {node: '>= 0.6'}
- type@2.7.3:
- resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==}
-
- typed-array-buffer@1.0.2:
- resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
- engines: {node: '>= 0.4'}
-
- typed-array-byte-length@1.0.1:
- resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
- engines: {node: '>= 0.4'}
-
- typed-array-byte-offset@1.0.2:
- resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
- engines: {node: '>= 0.4'}
-
- typed-array-length@1.0.6:
- resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
- engines: {node: '>= 0.4'}
+ type-level-regexp@0.1.17:
+ resolution: {integrity: sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg==}
typedarray@0.0.6:
resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
- typescript@5.6.3:
- resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
+ typescript@5.8.3:
+ resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
engines: {node: '>=14.17'}
hasBin: true
uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
- ufo@1.5.4:
- resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
+ ufo@1.6.1:
+ resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
- uglify-js@3.19.2:
- resolution: {integrity: sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==}
+ uglify-js@3.19.3:
+ resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==}
engines: {node: '>=0.8.0'}
hasBin: true
- uid-safe@2.1.5:
- resolution: {integrity: sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==}
- engines: {node: '>= 0.8'}
+ uid@2.0.2:
+ resolution: {integrity: sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==}
+ engines: {node: '>=8'}
- ultrahtml@1.5.3:
- resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==}
+ uint8array-extras@1.5.0:
+ resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==}
+ engines: {node: '>=18'}
- umzug@2.3.0:
- resolution: {integrity: sha512-Z274K+e8goZK8QJxmbRPhl89HPO1K+ORFtm6rySPhFKfKc5GHhqdzD0SGhSWHkzoXasqJuItdhorSvY7/Cgflw==}
- engines: {node: '>=6.0.0'}
+ ultrahtml@1.6.0:
+ resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==}
umzug@3.8.2:
resolution: {integrity: sha512-BEWEF8OJjTYVC56GjELeHl/1XjFejrD7aHzn+HldRJTx+pL1siBrKHZC8n4K/xL3bEzVA9o++qD1tK2CpZu4KA==}
engines: {node: '>=12'}
- unbox-primitive@1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
-
uncrypto@0.1.3:
resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
- unctx@2.3.1:
- resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==}
-
- undefsafe@2.0.5:
- resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
-
- undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ unctx@2.4.1:
+ resolution: {integrity: sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==}
- undici-types@6.19.8:
- resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+ undici-types@7.14.0:
+ resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==}
- unenv@1.10.0:
- resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==}
+ undici@7.16.0:
+ resolution: {integrity: sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==}
+ engines: {node: '>=20.18.1'}
- unhead@1.11.11:
- resolution: {integrity: sha512-98tM2R8OWJhvS6uqTewkfIrsPqFU/VwnKpU2tVZ+jPXSWgWSLmM3K2Y2v5AEM4bZjmC/XH8pLVGzbqB7xzFI/Q==}
+ unenv@2.0.0-rc.21:
+ resolution: {integrity: sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A==}
- unicorn-magic@0.1.0:
- resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
- engines: {node: '>=18'}
+ unhead@2.0.19:
+ resolution: {integrity: sha512-gEEjkV11Aj+rBnY6wnRfsFtF2RxKOLaPN4i+Gx3UhBxnszvV6ApSNZbGk7WKyy/lErQ6ekPN63qdFL7sa1leow==}
unicorn-magic@0.3.0:
resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==}
engines: {node: '>=18'}
- unimport@3.11.1:
- resolution: {integrity: sha512-DuB1Uoq01LrrXTScxnwOoMSlTXxyKcULguFxbLrMDFcE/CO0ZWHpEiyhovN0mycPt7K6luAHe8laqvwvuoeUPg==}
-
- unimport@3.13.1:
- resolution: {integrity: sha512-nNrVzcs93yrZQOW77qnyOVHtb68LegvhYFwxFMfuuWScmwQmyVCG/NBuN8tYsaGzgQUVYv34E/af+Cc9u4og4A==}
+ unimport@5.4.1:
+ resolution: {integrity: sha512-wMZ2JKUCleCK2zfRHeWcbrUHKXOC3SVBYkyn/wTGzh0THX6sT4hSjuKXxKANN4/WMbT6ZPM4JzcDcnhD2x9Bpg==}
+ engines: {node: '>=18.12.0'}
unique-filename@3.0.0:
resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==}
@@ -8696,14 +9275,6 @@ packages:
unist-util-visit@5.0.0:
resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
- universalify@0.1.2:
- resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
- engines: {node: '>= 4.0.0'}
-
- universalify@0.2.0:
- resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
- engines: {node: '>= 4.0.0'}
-
universalify@2.0.1:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
@@ -8712,43 +9283,52 @@ packages:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
engines: {node: '>= 0.8'}
- unplugin-vue-router@0.10.8:
- resolution: {integrity: sha512-xi+eLweYAqolIoTRSmumbi6Yx0z5M0PLvl+NFNVWHJgmE2ByJG1SZbrn+TqyuDtIyln20KKgq8tqmL7aLoiFjw==}
+ unplugin-utils@0.2.5:
+ resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==}
+ engines: {node: '>=18.12.0'}
+
+ unplugin-utils@0.3.1:
+ resolution: {integrity: sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==}
+ engines: {node: '>=20.19.0'}
+
+ unplugin-vue-router@0.15.0:
+ resolution: {integrity: sha512-PyGehCjd9Ny9h+Uer4McbBjjib3lHihcyUEILa7pHKl6+rh8N7sFyw4ZkV+N30Oq2zmIUG7iKs3qpL0r+gXAaQ==}
peerDependencies:
- vue-router: ^4.4.0
+ '@vue/compiler-sfc': ^3.5.17
+ vue-router: ^4.5.1
peerDependenciesMeta:
vue-router:
optional: true
- unplugin@1.12.2:
- resolution: {integrity: sha512-bEqQxeC7rxtxPZ3M5V4Djcc4lQqKPgGe3mAWZvxcSmX5jhGxll19NliaRzQSQPrk4xJZSGniK3puLWpRuZN7VQ==}
- engines: {node: '>=14.0.0'}
+ unplugin@2.3.10:
+ resolution: {integrity: sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==}
+ engines: {node: '>=18.12.0'}
- unplugin@1.15.0:
- resolution: {integrity: sha512-jTPIs63W+DUEDW207ztbaoO7cQ4p5aVaB823LSlxpsFEU3Mykwxf3ZGC/wzxFJeZlASZYgVrWeo7LgOrqJZ8RA==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- webpack-sources: ^3
- peerDependenciesMeta:
- webpack-sources:
- optional: true
+ unrs-resolver@1.11.1:
+ resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==}
- unstorage@1.13.1:
- resolution: {integrity: sha512-ELexQHUrG05QVIM/iUeQNdl9FXDZhqLJ4yP59fnmn2jGUh0TEulwOgov1ubOb3Gt2ZGK/VMchJwPDNVEGWQpRg==}
+ unstorage@1.17.1:
+ resolution: {integrity: sha512-KKGwRTT0iVBCErKemkJCLs7JdxNVfqTPc/85ae1XES0+bsHbc/sFBfVi5kJp156cc51BHinIH2l3k0EZ24vOBQ==}
peerDependencies:
- '@azure/app-configuration': ^1.7.0
- '@azure/cosmos': ^4.1.1
- '@azure/data-tables': ^13.2.2
- '@azure/identity': ^4.5.0
+ '@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.25.0
- '@capacitor/preferences': ^6.0.2
- '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.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.1
+ ioredis: ^5.4.2
+ uploadthing: ^7.4.4
peerDependenciesMeta:
'@azure/app-configuration':
optional: true
@@ -8764,63 +9344,55 @@ packages:
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
-
- untildify@5.0.0:
- resolution: {integrity: sha512-bOgQLUnd2G5rhzaTvh1VCI9Fo6bC5cLTpH17T5aFfamyXFYDbbdzN6IXdeoc3jBS7T9hNTmJtYUzJCJ2Xlc9gA==}
- engines: {node: '>=16'}
+ uploadthing:
+ optional: true
untun@0.1.3:
resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==}
hasBin: true
- untyped@1.4.2:
- resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==}
- hasBin: true
-
- untyped@1.5.1:
- resolution: {integrity: sha512-reBOnkJBFfBZ8pCKaeHgfZLcehXtM6UTxc+vqs1JvCps0c4amLNp3fhdGBZwYp+VLyoY9n3X5KOP7lCyWBUX9A==}
+ untyped@2.0.0:
+ resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==}
hasBin: true
- unwasm@0.3.9:
- resolution: {integrity: sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==}
+ unwasm@0.3.11:
+ resolution: {integrity: sha512-Vhp5gb1tusSQw5of/g3Q697srYgMXvwMgXMjcG4ZNga02fDX9coxJ9fAb0Ci38hM2Hv/U1FXRPGgjP2BYqhNoQ==}
upath@1.2.0:
resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==}
engines: {node: '>=4'}
- update-browserslist-db@1.1.0:
- resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
-
- update-browserslist-db@1.1.1:
- resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
+ update-browserslist-db@1.1.3:
+ resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
- upper-case@1.1.3:
- resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==}
-
uqr@0.1.2:
resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==}
- uri-js-replace@1.0.1:
- resolution: {integrity: sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==}
-
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
@@ -8831,50 +9403,26 @@ packages:
url-parse@1.5.10:
resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
- url@0.10.3:
- resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==}
-
- urlpattern-polyfill@8.0.2:
- resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==}
-
- user@0.0.0:
- resolution: {integrity: sha512-eRNM5isOvr6aEFAGi1CqAkmLkYxW2NJ5ThhbD+6IJXYKM1mo7Gtxx4mQIveHz/5K3p/SVnlW9k17ETn+QAu8IQ==}
-
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- util-promisify@2.1.0:
- resolution: {integrity: sha512-K+5eQPYs14b3+E+hmE2J6gCZ4JmMl9DbYS6BeP2CHq6WMuNxErxf5B/n0fz85L8zUuoO6rIzNNmIQDu/j+1OcA==}
-
- util@0.12.5:
- resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
-
utils-merge@1.0.1:
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
engines: {node: '>= 0.4.0'}
- uuid@10.0.0:
- resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==}
- hasBin: true
-
- uuid@8.0.0:
- resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==}
- hasBin: true
-
- uuid@8.3.2:
- resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
- hasBin: true
-
- uuid@9.0.1:
- resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
+ uuid@13.0.0:
+ resolution: {integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==}
hasBin: true
v-clipboard@3.0.0-next.1:
resolution: {integrity: sha512-UvCnzetQMlVfk9yoiyew8ldGiCzeER5aYdmXXtZp8LC6rt2QXQS0AayEDn1K7rlXpd3M8d+JeYNUV+ZNgtaS4A==}
- valid-data-url@3.0.1:
- resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==}
- engines: {node: '>=10'}
+ v8-compile-cache-lib@3.0.1:
+ resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
+
+ v8-to-istanbul@9.3.0:
+ resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==}
+ engines: {node: '>=10.12.0'}
validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
@@ -8883,54 +9431,54 @@ packages:
resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- validator@13.12.0:
- resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==}
+ validator@13.15.15:
+ resolution: {integrity: sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==}
engines: {node: '>= 0.10'}
vary@1.1.2:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
- vee-validate@4.13.2:
- resolution: {integrity: sha512-HlpR/6MJ92TW9f135umMZKUqdd/tFQTxLNSf2ImbU4Y/MlLVAUpF1l64VdjTOhbClAqPjCb5p/SqHDxLpUHXrw==}
- peerDependencies:
- vue: ^3.4.26
-
- vee-validate@4.14.6:
- resolution: {integrity: sha512-5w6e+YqJFLfzRR6gmRZgE6ZIVZ5nW1UAQdAlu78Oy3CFVrhTraqMMsfDC/Kmz7CNtCpIYaXxC8oKfr2hAiTnew==}
+ vee-validate@4.15.1:
+ resolution: {integrity: sha512-DkFsiTwEKau8VIxyZBGdO6tOudD+QoUBPuHj3e6QFqmbfCRj1ArmYWue9lEp6jLSWBIw4XPlDLjFIZNLdRAMSg==}
peerDependencies:
vue: ^3.4.26
- vfile-message@4.0.2:
- resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
+ vfile-message@4.0.3:
+ resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
- vite-hot-client@0.2.3:
- resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==}
+ vite-dev-rpc@1.1.0:
+ resolution: {integrity: sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==}
peerDependencies:
- vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0
- vite-node@2.1.4:
- resolution: {integrity: sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ vite-hot-client@2.1.0:
+ resolution: {integrity: sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==}
+ peerDependencies:
+ vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0
+
+ vite-node@3.2.4:
+ resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
- vite-plugin-checker@0.7.2:
- resolution: {integrity: sha512-xeYeJbG0gaCaT0QcUC4B2Zo4y5NR8ZhYenc5gPbttrZvraRFwkEADCYwq+BfEHl9zYz7yf85TxsiGoYwyyIjhw==}
+ vite-plugin-checker@0.10.3:
+ resolution: {integrity: sha512-f4sekUcDPF+T+GdbbE8idb1i2YplBAoH+SfRS0e/WRBWb2rYb1Jf5Pimll0Rj+3JgIYWwG2K5LtBPCXxoibkLg==}
engines: {node: '>=14.16'}
peerDependencies:
'@biomejs/biome': '>=1.7'
eslint: '>=7'
- meow: ^9.0.0
- optionator: ^0.9.1
- stylelint: '>=13'
+ meow: ^13.2.0
+ optionator: ^0.9.4
+ stylelint: '>=16'
typescript: '*'
vite: '>=2.0.0'
vls: '*'
vti: '*'
- vue-tsc: '>=2.0.0'
+ vue-tsc: ~2.2.10 || ^3.0.0
peerDependenciesMeta:
'@biomejs/biome':
optional: true
@@ -8951,23 +9499,24 @@ packages:
vue-tsc:
optional: true
- vite-plugin-inspect@0.8.7:
- resolution: {integrity: sha512-/XXou3MVc13A5O9/2Nd6xczjrUwt7ZyI9h8pTnUMkr5SshLcb0PJUOVq2V+XVkdeU4njsqAtmK87THZuO2coGA==}
+ vite-plugin-inspect@11.3.3:
+ resolution: {integrity: sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==}
engines: {node: '>=14'}
peerDependencies:
'@nuxt/kit': '*'
- vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0
+ vite: ^6.0.0 || ^7.0.0-0
peerDependenciesMeta:
'@nuxt/kit':
optional: true
- vite-plugin-vue-inspector@5.1.3:
- resolution: {integrity: sha512-pMrseXIDP1Gb38mOevY+BvtNGNqiqmqa2pKB99lnLsADQww9w9xMbAfT4GB6RUoaOkSPrtlXqpq2Fq+Dj2AgFg==}
+ vite-plugin-vue-tracer@1.0.1:
+ resolution: {integrity: sha512-L5/vAhT6oYbH4RSQYGLN9VfHexWe7SGzca1pJ7oPkL6KtxWA1jbGeb3Ri1JptKzqtd42HinOq4uEYqzhVWrzig==}
peerDependencies:
- vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0
+ vite: ^6.0.0 || ^7.0.0
+ vue: ^3.5.0
- vite@5.4.10:
- resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==}
+ vite@5.4.20:
+ resolution: {integrity: sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@@ -8997,8 +9546,48 @@ packages:
terser:
optional: true
- vitepress@1.5.0:
- resolution: {integrity: sha512-q4Q/G2zjvynvizdB3/bupdYkCJe2umSAMv9Ju4d92E6/NXJ59z70xB0q5p/4lpRyAwflDsbwy1mLV9Q5+nlB+g==}
+ vite@7.1.9:
+ resolution: {integrity: sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ 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
+
+ vitepress@1.6.4:
+ resolution: {integrity: sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==}
hasBin: true
peerDependencies:
markdown-it-mathjax3: ^4
@@ -9009,72 +9598,34 @@ packages:
postcss:
optional: true
- vscode-jsonrpc@6.0.0:
- resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==}
- engines: {node: '>=8.0.0 || >=10.0.0'}
-
- vscode-languageclient@7.0.0:
- resolution: {integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==}
- engines: {vscode: ^1.52.0}
-
- vscode-languageserver-protocol@3.16.0:
- resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==}
-
- vscode-languageserver-textdocument@1.0.12:
- resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==}
+ vscode-uri@3.1.0:
+ resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
- vscode-languageserver-types@3.16.0:
- resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==}
-
- vscode-languageserver@7.0.0:
- resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==}
- hasBin: true
-
- vscode-uri@3.0.8:
- resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
-
- vue-bundle-renderer@2.1.1:
- resolution: {integrity: sha512-+qALLI5cQncuetYOXp4yScwYvqh8c6SMXee3B+M7oTZxOgtESP0l4j/fXdEJoZ+EdMxkGWIj+aSEyjXkOdmd7g==}
-
- vue-demi@0.14.10:
- resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
- engines: {node: '>=12'}
- hasBin: true
- peerDependencies:
- '@vue/composition-api': ^1.0.0-rc.1
- vue: ^3.0.0-0 || ^2.6.0
- peerDependenciesMeta:
- '@vue/composition-api':
- optional: true
+ vue-bundle-renderer@2.2.0:
+ resolution: {integrity: sha512-sz/0WEdYH1KfaOm0XaBmRZOWgYTEvUDt6yPYaUzl4E52qzgWLlknaPPTTZmp6benaPTlQAI/hN1x3tAzZygycg==}
vue-devtools-stub@0.1.0:
resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==}
- vue-eslint-parser@9.4.3:
- resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==}
- engines: {node: ^14.17.0 || >=16.0.0}
+ vue-eslint-parser@10.2.0:
+ resolution: {integrity: sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: '>=6.0.0'
+ eslint: ^8.57.0 || ^9.0.0
- vue-router@4.4.5:
- resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==}
+ vue-router@4.5.1:
+ resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==}
peerDependencies:
vue: ^3.2.0
- vue-tsc@2.1.6:
- resolution: {integrity: sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==}
- hasBin: true
- peerDependencies:
- typescript: '>=5.0.0'
-
- vue3-tree-vue@2.0.11:
- resolution: {integrity: sha512-q86kgJvld0mOTI9RVP9vU2pyAdEzuOBGNIsMkRgbj6E2jgRRgVCW/atw+d3ItedvXSm9zuyH69Q4liXQNFu7gw==}
+ vue3-tree-vue@2.0.15:
+ resolution: {integrity: sha512-9SeBuervVBNgyGJS6c7CD9nuaZpzpbdCUHaerk5vXOYgBwJAlle6EMbqm/H+OD09SCMy5NLoLimzCMTr15eU1A==}
engines: {node: '>=12'}
peerDependencies:
vue: ^3.0.5
- vue@3.5.12:
- resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==}
+ vue@3.5.22:
+ resolution: {integrity: sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -9086,38 +9637,37 @@ packages:
peerDependencies:
vue: ^3.0.1
- vuetify@3.7.0:
- resolution: {integrity: sha512-x+UaU4SPYNcJSE/voCTBFrNn0q9Spzx2EMfDdUj0NYgHGKb59OqnZte+AjaJaoOXy1AHYIGEpm5Ryk2BEfgWuw==}
- engines: {node: ^12.20 || >=14.13}
- peerDependencies:
- typescript: '>=4.7'
- vite-plugin-vuetify: '>=1.0.0'
- vue: ^3.3.0
- vue-i18n: ^9.0.0
- webpack-plugin-vuetify: '>=2.0.0'
+ vuetify@3.10.5:
+ resolution: {integrity: sha512-3h1onfjcj04B+LJ0cXvGrOOe6C3652JAlyUAuGKgQXwhP9Oe1hAfdM6+svXR5Dt1xC39lQEGqJdacZtwisUEoQ==}
+ peerDependencies:
+ typescript: '>=4.7'
+ vite-plugin-vuetify: '>=2.1.0'
+ vue: ^3.5.0
+ webpack-plugin-vuetify: '>=3.1.0'
peerDependenciesMeta:
typescript:
optional: true
vite-plugin-vuetify:
optional: true
- vue-i18n:
- optional: true
webpack-plugin-vuetify:
optional: true
- vuetify@3.7.4:
- resolution: {integrity: sha512-Y8UU5wUDQXC3oz2uumPb8IOdvB4XMCxtxnmqdOc+LihNuPlkSgxIwf92ndRzbOtJFKHsggFUxpyLqpQp+A+5kg==}
+ vuetify@3.7.0:
+ resolution: {integrity: sha512-x+UaU4SPYNcJSE/voCTBFrNn0q9Spzx2EMfDdUj0NYgHGKb59OqnZte+AjaJaoOXy1AHYIGEpm5Ryk2BEfgWuw==}
engines: {node: ^12.20 || >=14.13}
peerDependencies:
typescript: '>=4.7'
vite-plugin-vuetify: '>=1.0.0'
vue: ^3.3.0
+ vue-i18n: ^9.0.0
webpack-plugin-vuetify: '>=2.0.0'
peerDependenciesMeta:
typescript:
optional: true
vite-plugin-vuetify:
optional: true
+ vue-i18n:
+ optional: true
webpack-plugin-vuetify:
optional: true
@@ -9131,31 +9681,48 @@ packages:
walk-up-path@3.0.1:
resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==}
+ walker@1.0.8:
+ resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+
+ watchpack@2.4.4:
+ resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==}
+ engines: {node: '>=10.13.0'}
+
wcwidth@1.0.1:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
- web-resource-inliner@6.0.1:
- resolution: {integrity: sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==}
- engines: {node: '>=10.0.0'}
-
- web-streams-polyfill@4.0.0-beta.3:
- resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
- engines: {node: '>= 14'}
+ web-streams-polyfill@3.3.3:
+ resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
+ engines: {node: '>= 8'}
webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
- webidl-conversions@7.0.0:
- resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
- engines: {node: '>=12'}
+ webidl-conversions@8.0.0:
+ resolution: {integrity: sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==}
+ engines: {node: '>=20'}
+
+ webpack-node-externals@3.0.0:
+ resolution: {integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==}
+ engines: {node: '>=6'}
- webpack-sources@3.2.3:
- resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ webpack-sources@3.3.3:
+ resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==}
engines: {node: '>=10.13.0'}
webpack-virtual-modules@0.6.2:
resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
+ webpack@5.100.2:
+ resolution: {integrity: sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+
whatwg-encoding@3.1.1:
resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
engines: {node: '>=18'}
@@ -9164,56 +9731,39 @@ packages:
resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
engines: {node: '>=18'}
- whatwg-url@14.0.0:
- resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==}
- engines: {node: '>=18'}
+ whatwg-url@15.1.0:
+ resolution: {integrity: sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==}
+ engines: {node: '>=20'}
whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
- which-boxed-primitive@1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
-
- which-module@2.0.1:
- resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
-
- which-typed-array@1.1.15:
- resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
- engines: {node: '>= 0.4'}
-
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
hasBin: true
- which@3.0.1:
- resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- hasBin: true
-
which@4.0.0:
resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
engines: {node: ^16.13.0 || >=18.0.0}
hasBin: true
- wide-align@1.1.5:
- resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
-
- widest-line@4.0.1:
- resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==}
- engines: {node: '>=12'}
+ which@5.0.0:
+ resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==}
+ engines: {node: ^18.17.0 || >=20.5.0}
+ hasBin: true
widest-line@5.0.0:
resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==}
engines: {node: '>=18'}
- wkx@0.5.0:
- resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==}
-
word-wrap@1.2.5:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
+ wordwrap@1.0.0:
+ resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
+
wrap-ansi@6.2.0:
resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
engines: {node: '>=8'}
@@ -9226,8 +9776,8 @@ packages:
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
engines: {node: '>=12'}
- wrap-ansi@9.0.0:
- resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
+ wrap-ansi@9.0.2:
+ resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
engines: {node: '>=18'}
wrappy@1.0.2:
@@ -9237,8 +9787,8 @@ packages:
resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- ws@8.18.0:
- resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
+ ws@8.18.3:
+ resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -9249,6 +9799,10 @@ packages:
utf-8-validate:
optional: true
+ wsl-utils@0.1.0:
+ resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==}
+ engines: {node: '>=18'}
+
xml-name-validator@4.0.0:
resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
engines: {node: '>=12'}
@@ -9257,14 +9811,6 @@ packages:
resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
engines: {node: '>=18'}
- xml2js@0.6.2:
- resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==}
- engines: {node: '>=4.0.0'}
-
- xmlbuilder@11.0.1:
- resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
- engines: {node: '>=4.0'}
-
xmlchars@2.2.0:
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
@@ -9272,9 +9818,6 @@ packages:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
- y18n@4.0.3:
- resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
-
y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@@ -9285,34 +9828,19 @@ packages:
yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- yaml-ast-parser@0.0.43:
- resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==}
+ yallist@5.0.0:
+ resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
+ engines: {node: '>=18'}
- yaml@2.5.0:
- resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==}
- engines: {node: '>= 14'}
+ yaml@2.8.1:
+ resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==}
+ engines: {node: '>= 14.6'}
hasBin: true
- yargs-parser@18.1.3:
- resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
- engines: {node: '>=6'}
-
- yargs-parser@20.2.9:
- resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
- engines: {node: '>=10'}
-
yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
- yargs@15.4.1:
- resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
- engines: {node: '>=8'}
-
- yargs@16.2.0:
- resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
- engines: {node: '>=10'}
-
yargs@17.7.2:
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
engines: {node: '>=12'}
@@ -9320,35 +9848,42 @@ packages:
yauzl@2.10.0:
resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
- yn@5.0.0:
- resolution: {integrity: sha512-+l37+9TyGEsyxGLaTg6QgYy5KnOp74ZZl4dPFLQpBWSkO99uBC5jnS0pOGwXFViPbiaEtWbParH2KrgWWF2duQ==}
+ yn@3.1.1:
+ resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
+ engines: {node: '>=6'}
+
+ yn@5.1.0:
+ resolution: {integrity: sha512-TfXLvT6eVsBNIm8rAXTwJYdQFtOXaHQ+rA7LU8HL8C/BFfaSfhvFE5T1rHAdBCbAj808HaqjXVkmo8jmeGOqhw==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
- yocto-queue@1.1.1:
- resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==}
+ yocto-queue@1.2.1:
+ resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==}
engines: {node: '>=12.20'}
- yoctocolors-cjs@2.1.2:
- resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==}
+ yoctocolors-cjs@2.1.3:
+ resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==}
engines: {node: '>=18'}
- yoctocolors@2.1.1:
- resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==}
+ yoctocolors@2.1.2:
+ resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==}
engines: {node: '>=18'}
- yoctodelay@1.2.0:
- resolution: {integrity: sha512-12y/P9MSig9/5BEhBgylss+fkHiCRZCvYR81eH35NW9uw801cvJt31EAV+WOLcwZRZbLiIQl/hxcdXXXFmGvXg==}
- engines: {node: '>=4'}
+ yoctodelay@2.0.0:
+ resolution: {integrity: sha512-0m1YaiUEnEPrZ7mKxkfRpPLfOjG1GeWd2E2IfB8toIUEhXjk5cW+czBDiQQkkMDycsuGDkG1dP40QQQoKJmEWw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ youch-core@0.3.3:
+ resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==}
- yup@1.4.0:
- resolution: {integrity: sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==}
+ youch@4.1.0-beta.11:
+ resolution: {integrity: sha512-sQi6PERyO/mT8w564ojOVeAlYTtVQmC2GaktQAf+IdI75/GKIggosBuvyVXvEV+FATAT6RbLdIjFoiIId4ozoQ==}
- zhead@2.2.4:
- resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==}
+ yup@1.7.1:
+ resolution: {integrity: sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw==}
zip-stream@6.0.1:
resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==}
@@ -9359,1374 +9894,945 @@ packages:
snapshots:
- '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.0)':
+ '@algolia/abtesting@1.6.0':
dependencies:
- '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.0)
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)
+ '@algolia/client-common': 5.40.0
+ '@algolia/requester-browser-xhr': 5.40.0
+ '@algolia/requester-fetch': 5.40.0
+ '@algolia/requester-node-http': 5.40.0
+
+ '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.40.0)(algoliasearch@5.40.0)(search-insights@2.17.3)':
+ dependencies:
+ '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.40.0)(algoliasearch@5.40.0)(search-insights@2.17.3)
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.40.0)(algoliasearch@5.40.0)
transitivePeerDependencies:
- '@algolia/client-search'
- algoliasearch
- search-insights
- '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.0)':
+ '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.40.0)(algoliasearch@5.40.0)(search-insights@2.17.3)':
dependencies:
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)
- search-insights: 2.17.0
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.40.0)(algoliasearch@5.40.0)
+ search-insights: 2.17.3
transitivePeerDependencies:
- '@algolia/client-search'
- algoliasearch
- '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)':
+ '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.40.0)(algoliasearch@5.40.0)':
+ dependencies:
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.40.0)(algoliasearch@5.40.0)
+ '@algolia/client-search': 5.40.0
+ algoliasearch: 5.40.0
+
+ '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.40.0)(algoliasearch@5.40.0)':
dependencies:
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)
- '@algolia/client-search': 4.24.0
- algoliasearch: 4.24.0
+ '@algolia/client-search': 5.40.0
+ algoliasearch: 5.40.0
- '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)':
+ '@algolia/client-abtesting@5.40.0':
dependencies:
- '@algolia/client-search': 4.24.0
- algoliasearch: 4.24.0
+ '@algolia/client-common': 5.40.0
+ '@algolia/requester-browser-xhr': 5.40.0
+ '@algolia/requester-fetch': 5.40.0
+ '@algolia/requester-node-http': 5.40.0
- '@algolia/cache-browser-local-storage@4.24.0':
+ '@algolia/client-analytics@5.40.0':
dependencies:
- '@algolia/cache-common': 4.24.0
+ '@algolia/client-common': 5.40.0
+ '@algolia/requester-browser-xhr': 5.40.0
+ '@algolia/requester-fetch': 5.40.0
+ '@algolia/requester-node-http': 5.40.0
- '@algolia/cache-common@4.24.0': {}
+ '@algolia/client-common@5.40.0': {}
- '@algolia/cache-in-memory@4.24.0':
+ '@algolia/client-insights@5.40.0':
dependencies:
- '@algolia/cache-common': 4.24.0
+ '@algolia/client-common': 5.40.0
+ '@algolia/requester-browser-xhr': 5.40.0
+ '@algolia/requester-fetch': 5.40.0
+ '@algolia/requester-node-http': 5.40.0
- '@algolia/client-account@4.24.0':
+ '@algolia/client-personalization@5.40.0':
dependencies:
- '@algolia/client-common': 4.24.0
- '@algolia/client-search': 4.24.0
- '@algolia/transporter': 4.24.0
+ '@algolia/client-common': 5.40.0
+ '@algolia/requester-browser-xhr': 5.40.0
+ '@algolia/requester-fetch': 5.40.0
+ '@algolia/requester-node-http': 5.40.0
- '@algolia/client-analytics@4.24.0':
+ '@algolia/client-query-suggestions@5.40.0':
dependencies:
- '@algolia/client-common': 4.24.0
- '@algolia/client-search': 4.24.0
- '@algolia/requester-common': 4.24.0
- '@algolia/transporter': 4.24.0
+ '@algolia/client-common': 5.40.0
+ '@algolia/requester-browser-xhr': 5.40.0
+ '@algolia/requester-fetch': 5.40.0
+ '@algolia/requester-node-http': 5.40.0
- '@algolia/client-common@4.24.0':
+ '@algolia/client-search@5.40.0':
dependencies:
- '@algolia/requester-common': 4.24.0
- '@algolia/transporter': 4.24.0
+ '@algolia/client-common': 5.40.0
+ '@algolia/requester-browser-xhr': 5.40.0
+ '@algolia/requester-fetch': 5.40.0
+ '@algolia/requester-node-http': 5.40.0
- '@algolia/client-personalization@4.24.0':
+ '@algolia/ingestion@1.40.0':
dependencies:
- '@algolia/client-common': 4.24.0
- '@algolia/requester-common': 4.24.0
- '@algolia/transporter': 4.24.0
+ '@algolia/client-common': 5.40.0
+ '@algolia/requester-browser-xhr': 5.40.0
+ '@algolia/requester-fetch': 5.40.0
+ '@algolia/requester-node-http': 5.40.0
- '@algolia/client-search@4.24.0':
+ '@algolia/monitoring@1.40.0':
dependencies:
- '@algolia/client-common': 4.24.0
- '@algolia/requester-common': 4.24.0
- '@algolia/transporter': 4.24.0
+ '@algolia/client-common': 5.40.0
+ '@algolia/requester-browser-xhr': 5.40.0
+ '@algolia/requester-fetch': 5.40.0
+ '@algolia/requester-node-http': 5.40.0
- '@algolia/logger-common@4.24.0': {}
+ '@algolia/recommend@5.40.0':
+ dependencies:
+ '@algolia/client-common': 5.40.0
+ '@algolia/requester-browser-xhr': 5.40.0
+ '@algolia/requester-fetch': 5.40.0
+ '@algolia/requester-node-http': 5.40.0
- '@algolia/logger-console@4.24.0':
+ '@algolia/requester-browser-xhr@5.40.0':
dependencies:
- '@algolia/logger-common': 4.24.0
+ '@algolia/client-common': 5.40.0
- '@algolia/recommend@4.24.0':
+ '@algolia/requester-fetch@5.40.0':
dependencies:
- '@algolia/cache-browser-local-storage': 4.24.0
- '@algolia/cache-common': 4.24.0
- '@algolia/cache-in-memory': 4.24.0
- '@algolia/client-common': 4.24.0
- '@algolia/client-search': 4.24.0
- '@algolia/logger-common': 4.24.0
- '@algolia/logger-console': 4.24.0
- '@algolia/requester-browser-xhr': 4.24.0
- '@algolia/requester-common': 4.24.0
- '@algolia/requester-node-http': 4.24.0
- '@algolia/transporter': 4.24.0
+ '@algolia/client-common': 5.40.0
- '@algolia/requester-browser-xhr@4.24.0':
+ '@algolia/requester-node-http@5.40.0':
dependencies:
- '@algolia/requester-common': 4.24.0
+ '@algolia/client-common': 5.40.0
- '@algolia/requester-common@4.24.0': {}
+ '@angular-devkit/core@19.2.15(chokidar@4.0.3)':
+ dependencies:
+ ajv: 8.17.1
+ ajv-formats: 3.0.1(ajv@8.17.1)
+ jsonc-parser: 3.3.1
+ picomatch: 4.0.2
+ rxjs: 7.8.1
+ source-map: 0.7.4
+ optionalDependencies:
+ chokidar: 4.0.3
- '@algolia/requester-node-http@4.24.0':
+ '@angular-devkit/core@19.2.17(chokidar@4.0.3)':
dependencies:
- '@algolia/requester-common': 4.24.0
+ ajv: 8.17.1
+ ajv-formats: 3.0.1(ajv@8.17.1)
+ jsonc-parser: 3.3.1
+ picomatch: 4.0.2
+ rxjs: 7.8.1
+ source-map: 0.7.4
+ optionalDependencies:
+ chokidar: 4.0.3
- '@algolia/transporter@4.24.0':
+ '@angular-devkit/schematics-cli@19.2.15(@types/node@24.7.2)(chokidar@4.0.3)':
dependencies:
- '@algolia/cache-common': 4.24.0
- '@algolia/logger-common': 4.24.0
- '@algolia/requester-common': 4.24.0
+ '@angular-devkit/core': 19.2.15(chokidar@4.0.3)
+ '@angular-devkit/schematics': 19.2.15(chokidar@4.0.3)
+ '@inquirer/prompts': 7.3.2(@types/node@24.7.2)
+ ansi-colors: 4.1.3
+ symbol-observable: 4.0.0
+ yargs-parser: 21.1.1
+ transitivePeerDependencies:
+ - '@types/node'
+ - chokidar
- '@ampproject/remapping@2.3.0':
+ '@angular-devkit/schematics@19.2.15(chokidar@4.0.3)':
dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
+ '@angular-devkit/core': 19.2.15(chokidar@4.0.3)
+ jsonc-parser: 3.3.1
+ magic-string: 0.30.17
+ ora: 5.4.1
+ rxjs: 7.8.1
+ transitivePeerDependencies:
+ - chokidar
- '@antfu/utils@0.7.10': {}
+ '@angular-devkit/schematics@19.2.17(chokidar@4.0.3)':
+ dependencies:
+ '@angular-devkit/core': 19.2.17(chokidar@4.0.3)
+ jsonc-parser: 3.3.1
+ magic-string: 0.30.17
+ ora: 5.4.1
+ rxjs: 7.8.1
+ transitivePeerDependencies:
+ - chokidar
- '@aws-crypto/crc32@5.2.0':
+ '@antfu/install-pkg@1.1.0':
dependencies:
- '@aws-crypto/util': 5.2.0
- '@aws-sdk/types': 3.686.0
- tslib: 2.7.0
+ package-manager-detector: 1.4.0
+ tinyexec: 1.0.1
- '@aws-crypto/crc32c@5.2.0':
+ '@apidevtools/json-schema-ref-parser@11.9.3':
dependencies:
- '@aws-crypto/util': 5.2.0
- '@aws-sdk/types': 3.686.0
- tslib: 2.7.0
+ '@jsdevtools/ono': 7.1.3
+ '@types/json-schema': 7.0.15
+ js-yaml: 4.1.0
+
+ '@apm-js-collab/code-transformer@0.8.2': {}
- '@aws-crypto/sha1-browser@5.2.0':
+ '@apm-js-collab/tracing-hooks@0.3.1':
dependencies:
- '@aws-crypto/supports-web-crypto': 5.2.0
- '@aws-crypto/util': 5.2.0
- '@aws-sdk/types': 3.686.0
- '@aws-sdk/util-locate-window': 3.568.0
- '@smithy/util-utf8': 2.3.0
- tslib: 2.7.0
+ '@apm-js-collab/code-transformer': 0.8.2
+ debug: 4.4.3
+ module-details-from-path: 1.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@asamuzakjp/css-color@4.0.5':
+ dependencies:
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
+ lru-cache: 11.2.2
+
+ '@asamuzakjp/dom-selector@6.6.2':
+ dependencies:
+ '@asamuzakjp/nwsapi': 2.3.9
+ bidi-js: 1.0.3
+ css-tree: 3.1.0
+ is-potential-custom-element-name: 1.0.1
+ lru-cache: 11.2.2
+
+ '@asamuzakjp/nwsapi@2.3.9': {}
'@aws-crypto/sha256-browser@5.2.0':
dependencies:
'@aws-crypto/sha256-js': 5.2.0
'@aws-crypto/supports-web-crypto': 5.2.0
'@aws-crypto/util': 5.2.0
- '@aws-sdk/types': 3.686.0
- '@aws-sdk/util-locate-window': 3.568.0
+ '@aws-sdk/types': 3.901.0
+ '@aws-sdk/util-locate-window': 3.893.0
'@smithy/util-utf8': 2.3.0
- tslib: 2.7.0
+ tslib: 2.8.1
'@aws-crypto/sha256-js@5.2.0':
dependencies:
'@aws-crypto/util': 5.2.0
- '@aws-sdk/types': 3.686.0
- tslib: 2.7.0
+ '@aws-sdk/types': 3.901.0
+ tslib: 2.8.1
'@aws-crypto/supports-web-crypto@5.2.0':
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
'@aws-crypto/util@5.2.0':
dependencies:
- '@aws-sdk/types': 3.686.0
+ '@aws-sdk/types': 3.901.0
'@smithy/util-utf8': 2.3.0
- tslib: 2.7.0
+ tslib: 2.8.1
- '@aws-sdk/client-ecs@3.637.0':
+ '@aws-sdk/client-ecs@3.908.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.637.0(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/client-sts': 3.637.0
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/credential-provider-node': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0))(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.637.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.637.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.10
- '@smithy/core': 2.5.1
- '@smithy/fetch-http-handler': 3.2.9
- '@smithy/hash-node': 3.0.8
- '@smithy/invalid-dependency': 3.0.8
- '@smithy/middleware-content-length': 3.0.10
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-retry': 3.0.25
- '@smithy/middleware-serde': 3.0.8
- '@smithy/middleware-stack': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.25
- '@smithy/util-defaults-mode-node': 3.0.25
- '@smithy/util-endpoints': 2.1.4
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- '@smithy/util-utf8': 3.0.0
- '@smithy/util-waiter': 3.1.7
- tslib: 2.7.0
- uuid: 9.0.1
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/credential-provider-node': 3.908.0
+ '@aws-sdk/middleware-host-header': 3.901.0
+ '@aws-sdk/middleware-logger': 3.901.0
+ '@aws-sdk/middleware-recursion-detection': 3.901.0
+ '@aws-sdk/middleware-user-agent': 3.908.0
+ '@aws-sdk/region-config-resolver': 3.901.0
+ '@aws-sdk/types': 3.901.0
+ '@aws-sdk/util-endpoints': 3.901.0
+ '@aws-sdk/util-user-agent-browser': 3.907.0
+ '@aws-sdk/util-user-agent-node': 3.908.0
+ '@smithy/config-resolver': 4.3.0
+ '@smithy/core': 3.15.0
+ '@smithy/fetch-http-handler': 5.3.1
+ '@smithy/hash-node': 4.2.0
+ '@smithy/invalid-dependency': 4.2.0
+ '@smithy/middleware-content-length': 4.2.0
+ '@smithy/middleware-endpoint': 4.3.1
+ '@smithy/middleware-retry': 4.4.1
+ '@smithy/middleware-serde': 4.2.0
+ '@smithy/middleware-stack': 4.2.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/node-http-handler': 4.3.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/smithy-client': 4.7.1
+ '@smithy/types': 4.6.0
+ '@smithy/url-parser': 4.2.0
+ '@smithy/util-base64': 4.3.0
+ '@smithy/util-body-length-browser': 4.2.0
+ '@smithy/util-body-length-node': 4.2.1
+ '@smithy/util-defaults-mode-browser': 4.3.0
+ '@smithy/util-defaults-mode-node': 4.2.1
+ '@smithy/util-endpoints': 3.2.0
+ '@smithy/util-middleware': 4.2.0
+ '@smithy/util-retry': 4.2.0
+ '@smithy/util-utf8': 4.2.0
+ '@smithy/util-waiter': 4.2.0
+ '@smithy/uuid': 1.1.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- '@aws-sdk/client-s3@3.687.0':
+ '@aws-sdk/client-sesv2@3.908.0':
dependencies:
- '@aws-crypto/sha1-browser': 5.2.0
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.687.0(@aws-sdk/client-sts@3.687.0)
- '@aws-sdk/client-sts': 3.687.0
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/credential-provider-node': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0)
- '@aws-sdk/middleware-bucket-endpoint': 3.686.0
- '@aws-sdk/middleware-expect-continue': 3.686.0
- '@aws-sdk/middleware-flexible-checksums': 3.687.0
- '@aws-sdk/middleware-host-header': 3.686.0
- '@aws-sdk/middleware-location-constraint': 3.686.0
- '@aws-sdk/middleware-logger': 3.686.0
- '@aws-sdk/middleware-recursion-detection': 3.686.0
- '@aws-sdk/middleware-sdk-s3': 3.687.0
- '@aws-sdk/middleware-ssec': 3.686.0
- '@aws-sdk/middleware-user-agent': 3.687.0
- '@aws-sdk/region-config-resolver': 3.686.0
- '@aws-sdk/signature-v4-multi-region': 3.687.0
- '@aws-sdk/types': 3.686.0
- '@aws-sdk/util-endpoints': 3.686.0
- '@aws-sdk/util-user-agent-browser': 3.686.0
- '@aws-sdk/util-user-agent-node': 3.687.0
- '@aws-sdk/xml-builder': 3.686.0
- '@smithy/config-resolver': 3.0.10
- '@smithy/core': 2.5.1
- '@smithy/eventstream-serde-browser': 3.0.11
- '@smithy/eventstream-serde-config-resolver': 3.0.8
- '@smithy/eventstream-serde-node': 3.0.10
- '@smithy/fetch-http-handler': 4.0.0
- '@smithy/hash-blob-browser': 3.1.7
- '@smithy/hash-node': 3.0.8
- '@smithy/hash-stream-node': 3.1.7
- '@smithy/invalid-dependency': 3.0.8
- '@smithy/md5-js': 3.0.8
- '@smithy/middleware-content-length': 3.0.10
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-retry': 3.0.25
- '@smithy/middleware-serde': 3.0.8
- '@smithy/middleware-stack': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.25
- '@smithy/util-defaults-mode-node': 3.0.25
- '@smithy/util-endpoints': 2.1.4
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- '@smithy/util-stream': 3.2.1
- '@smithy/util-utf8': 3.0.0
- '@smithy/util-waiter': 3.1.7
- tslib: 2.7.0
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/credential-provider-node': 3.908.0
+ '@aws-sdk/middleware-host-header': 3.901.0
+ '@aws-sdk/middleware-logger': 3.901.0
+ '@aws-sdk/middleware-recursion-detection': 3.901.0
+ '@aws-sdk/middleware-user-agent': 3.908.0
+ '@aws-sdk/region-config-resolver': 3.901.0
+ '@aws-sdk/signature-v4-multi-region': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@aws-sdk/util-endpoints': 3.901.0
+ '@aws-sdk/util-user-agent-browser': 3.907.0
+ '@aws-sdk/util-user-agent-node': 3.908.0
+ '@smithy/config-resolver': 4.3.0
+ '@smithy/core': 3.15.0
+ '@smithy/fetch-http-handler': 5.3.1
+ '@smithy/hash-node': 4.2.0
+ '@smithy/invalid-dependency': 4.2.0
+ '@smithy/middleware-content-length': 4.2.0
+ '@smithy/middleware-endpoint': 4.3.1
+ '@smithy/middleware-retry': 4.4.1
+ '@smithy/middleware-serde': 4.2.0
+ '@smithy/middleware-stack': 4.2.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/node-http-handler': 4.3.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/smithy-client': 4.7.1
+ '@smithy/types': 4.6.0
+ '@smithy/url-parser': 4.2.0
+ '@smithy/util-base64': 4.3.0
+ '@smithy/util-body-length-browser': 4.2.0
+ '@smithy/util-body-length-node': 4.2.1
+ '@smithy/util-defaults-mode-browser': 4.3.0
+ '@smithy/util-defaults-mode-node': 4.2.1
+ '@smithy/util-endpoints': 3.2.0
+ '@smithy/util-middleware': 4.2.0
+ '@smithy/util-retry': 4.2.0
+ '@smithy/util-utf8': 4.2.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- '@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0)':
+ '@aws-sdk/client-sso@3.908.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sts': 3.637.0
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/credential-provider-node': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0))(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.637.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.637.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.10
- '@smithy/core': 2.5.1
- '@smithy/fetch-http-handler': 3.2.9
- '@smithy/hash-node': 3.0.8
- '@smithy/invalid-dependency': 3.0.8
- '@smithy/middleware-content-length': 3.0.10
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-retry': 3.0.25
- '@smithy/middleware-serde': 3.0.8
- '@smithy/middleware-stack': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.25
- '@smithy/util-defaults-mode-node': 3.0.25
- '@smithy/util-endpoints': 2.1.4
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/middleware-host-header': 3.901.0
+ '@aws-sdk/middleware-logger': 3.901.0
+ '@aws-sdk/middleware-recursion-detection': 3.901.0
+ '@aws-sdk/middleware-user-agent': 3.908.0
+ '@aws-sdk/region-config-resolver': 3.901.0
+ '@aws-sdk/types': 3.901.0
+ '@aws-sdk/util-endpoints': 3.901.0
+ '@aws-sdk/util-user-agent-browser': 3.907.0
+ '@aws-sdk/util-user-agent-node': 3.908.0
+ '@smithy/config-resolver': 4.3.0
+ '@smithy/core': 3.15.0
+ '@smithy/fetch-http-handler': 5.3.1
+ '@smithy/hash-node': 4.2.0
+ '@smithy/invalid-dependency': 4.2.0
+ '@smithy/middleware-content-length': 4.2.0
+ '@smithy/middleware-endpoint': 4.3.1
+ '@smithy/middleware-retry': 4.4.1
+ '@smithy/middleware-serde': 4.2.0
+ '@smithy/middleware-stack': 4.2.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/node-http-handler': 4.3.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/smithy-client': 4.7.1
+ '@smithy/types': 4.6.0
+ '@smithy/url-parser': 4.2.0
+ '@smithy/util-base64': 4.3.0
+ '@smithy/util-body-length-browser': 4.2.0
+ '@smithy/util-body-length-node': 4.2.1
+ '@smithy/util-defaults-mode-browser': 4.3.0
+ '@smithy/util-defaults-mode-node': 4.2.1
+ '@smithy/util-endpoints': 3.2.0
+ '@smithy/util-middleware': 4.2.0
+ '@smithy/util-retry': 4.2.0
+ '@smithy/util-utf8': 4.2.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- '@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0)':
- dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sts': 3.687.0
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/credential-provider-node': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0)
- '@aws-sdk/middleware-host-header': 3.686.0
- '@aws-sdk/middleware-logger': 3.686.0
- '@aws-sdk/middleware-recursion-detection': 3.686.0
- '@aws-sdk/middleware-user-agent': 3.687.0
- '@aws-sdk/region-config-resolver': 3.686.0
- '@aws-sdk/types': 3.686.0
- '@aws-sdk/util-endpoints': 3.686.0
- '@aws-sdk/util-user-agent-browser': 3.686.0
- '@aws-sdk/util-user-agent-node': 3.687.0
- '@smithy/config-resolver': 3.0.10
- '@smithy/core': 2.5.1
- '@smithy/fetch-http-handler': 4.0.0
- '@smithy/hash-node': 3.0.8
- '@smithy/invalid-dependency': 3.0.8
- '@smithy/middleware-content-length': 3.0.10
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-retry': 3.0.25
- '@smithy/middleware-serde': 3.0.8
- '@smithy/middleware-stack': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.25
- '@smithy/util-defaults-mode-node': 3.0.25
- '@smithy/util-endpoints': 2.1.4
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
+ '@aws-sdk/core@3.908.0':
+ dependencies:
+ '@aws-sdk/types': 3.901.0
+ '@aws-sdk/xml-builder': 3.901.0
+ '@smithy/core': 3.15.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/signature-v4': 5.3.0
+ '@smithy/smithy-client': 4.7.1
+ '@smithy/types': 4.6.0
+ '@smithy/util-base64': 4.3.0
+ '@smithy/util-middleware': 4.2.0
+ '@smithy/util-utf8': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/credential-provider-env@3.908.0':
+ dependencies:
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
+
+ '@aws-sdk/credential-provider-http@3.908.0':
+ dependencies:
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/fetch-http-handler': 5.3.1
+ '@smithy/node-http-handler': 4.3.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/smithy-client': 4.7.1
+ '@smithy/types': 4.6.0
+ '@smithy/util-stream': 4.5.0
+ tslib: 2.8.1
+
+ '@aws-sdk/credential-provider-ini@3.908.0':
+ dependencies:
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/credential-provider-env': 3.908.0
+ '@aws-sdk/credential-provider-http': 3.908.0
+ '@aws-sdk/credential-provider-process': 3.908.0
+ '@aws-sdk/credential-provider-sso': 3.908.0
+ '@aws-sdk/credential-provider-web-identity': 3.908.0
+ '@aws-sdk/nested-clients': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/credential-provider-imds': 4.2.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/shared-ini-file-loader': 4.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- '@aws-sdk/client-sso@3.637.0':
- dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.637.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.637.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.10
- '@smithy/core': 2.5.1
- '@smithy/fetch-http-handler': 3.2.9
- '@smithy/hash-node': 3.0.8
- '@smithy/invalid-dependency': 3.0.8
- '@smithy/middleware-content-length': 3.0.10
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-retry': 3.0.25
- '@smithy/middleware-serde': 3.0.8
- '@smithy/middleware-stack': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.25
- '@smithy/util-defaults-mode-node': 3.0.25
- '@smithy/util-endpoints': 2.1.4
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
+ '@aws-sdk/credential-provider-node@3.908.0':
+ dependencies:
+ '@aws-sdk/credential-provider-env': 3.908.0
+ '@aws-sdk/credential-provider-http': 3.908.0
+ '@aws-sdk/credential-provider-ini': 3.908.0
+ '@aws-sdk/credential-provider-process': 3.908.0
+ '@aws-sdk/credential-provider-sso': 3.908.0
+ '@aws-sdk/credential-provider-web-identity': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/credential-provider-imds': 4.2.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/shared-ini-file-loader': 4.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- '@aws-sdk/client-sso@3.687.0':
- dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/middleware-host-header': 3.686.0
- '@aws-sdk/middleware-logger': 3.686.0
- '@aws-sdk/middleware-recursion-detection': 3.686.0
- '@aws-sdk/middleware-user-agent': 3.687.0
- '@aws-sdk/region-config-resolver': 3.686.0
- '@aws-sdk/types': 3.686.0
- '@aws-sdk/util-endpoints': 3.686.0
- '@aws-sdk/util-user-agent-browser': 3.686.0
- '@aws-sdk/util-user-agent-node': 3.687.0
- '@smithy/config-resolver': 3.0.10
- '@smithy/core': 2.5.1
- '@smithy/fetch-http-handler': 4.0.0
- '@smithy/hash-node': 3.0.8
- '@smithy/invalid-dependency': 3.0.8
- '@smithy/middleware-content-length': 3.0.10
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-retry': 3.0.25
- '@smithy/middleware-serde': 3.0.8
- '@smithy/middleware-stack': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.25
- '@smithy/util-defaults-mode-node': 3.0.25
- '@smithy/util-endpoints': 2.1.4
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
+ '@aws-sdk/credential-provider-process@3.908.0':
+ dependencies:
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/shared-ini-file-loader': 4.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
+
+ '@aws-sdk/credential-provider-sso@3.908.0':
+ dependencies:
+ '@aws-sdk/client-sso': 3.908.0
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/token-providers': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/shared-ini-file-loader': 4.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- '@aws-sdk/client-sts@3.637.0':
+ '@aws-sdk/credential-provider-web-identity@3.908.0':
dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.637.0(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/credential-provider-node': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0))(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.637.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.637.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.10
- '@smithy/core': 2.5.1
- '@smithy/fetch-http-handler': 3.2.9
- '@smithy/hash-node': 3.0.8
- '@smithy/invalid-dependency': 3.0.8
- '@smithy/middleware-content-length': 3.0.10
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-retry': 3.0.25
- '@smithy/middleware-serde': 3.0.8
- '@smithy/middleware-stack': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.25
- '@smithy/util-defaults-mode-node': 3.0.25
- '@smithy/util-endpoints': 2.1.4
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/nested-clients': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/shared-ini-file-loader': 4.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- '@aws-sdk/client-sts@3.687.0':
+ '@aws-sdk/middleware-host-header@3.901.0':
dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.687.0(@aws-sdk/client-sts@3.687.0)
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/credential-provider-node': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0)
- '@aws-sdk/middleware-host-header': 3.686.0
- '@aws-sdk/middleware-logger': 3.686.0
- '@aws-sdk/middleware-recursion-detection': 3.686.0
- '@aws-sdk/middleware-user-agent': 3.687.0
- '@aws-sdk/region-config-resolver': 3.686.0
- '@aws-sdk/types': 3.686.0
- '@aws-sdk/util-endpoints': 3.686.0
- '@aws-sdk/util-user-agent-browser': 3.686.0
- '@aws-sdk/util-user-agent-node': 3.687.0
- '@smithy/config-resolver': 3.0.10
- '@smithy/core': 2.5.1
- '@smithy/fetch-http-handler': 4.0.0
- '@smithy/hash-node': 3.0.8
- '@smithy/invalid-dependency': 3.0.8
- '@smithy/middleware-content-length': 3.0.10
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-retry': 3.0.25
- '@smithy/middleware-serde': 3.0.8
- '@smithy/middleware-stack': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.25
- '@smithy/util-defaults-mode-node': 3.0.25
- '@smithy/util-endpoints': 2.1.4
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
- transitivePeerDependencies:
- - aws-crt
-
- '@aws-sdk/core@3.635.0':
- dependencies:
- '@smithy/core': 2.5.1
- '@smithy/node-config-provider': 3.1.9
- '@smithy/property-provider': 3.1.8
- '@smithy/protocol-http': 4.1.5
- '@smithy/signature-v4': 4.2.0
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.8
- fast-xml-parser: 4.4.1
- tslib: 2.7.0
-
- '@aws-sdk/core@3.686.0':
- dependencies:
- '@aws-sdk/types': 3.686.0
- '@smithy/core': 2.5.1
- '@smithy/node-config-provider': 3.1.9
- '@smithy/property-provider': 3.1.8
- '@smithy/protocol-http': 4.1.5
- '@smithy/signature-v4': 4.2.0
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.8
- fast-xml-parser: 4.4.1
- tslib: 2.7.0
-
- '@aws-sdk/credential-provider-env@3.620.1':
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.8
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/credential-provider-env@3.686.0':
- dependencies:
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/types': 3.686.0
- '@smithy/property-provider': 3.1.8
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/credential-provider-http@3.635.0':
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/fetch-http-handler': 3.2.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/property-provider': 3.1.8
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/util-stream': 3.2.1
- tslib: 2.7.0
-
- '@aws-sdk/credential-provider-http@3.686.0':
- dependencies:
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/types': 3.686.0
- '@smithy/fetch-http-handler': 4.0.0
- '@smithy/node-http-handler': 3.2.5
- '@smithy/property-provider': 3.1.8
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/util-stream': 3.2.1
- tslib: 2.7.0
-
- '@aws-sdk/credential-provider-ini@3.637.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0))(@aws-sdk/client-sts@3.637.0)':
- dependencies:
- '@aws-sdk/client-sts': 3.637.0
- '@aws-sdk/credential-provider-env': 3.620.1
- '@aws-sdk/credential-provider-http': 3.635.0
- '@aws-sdk/credential-provider-process': 3.620.1
- '@aws-sdk/credential-provider-sso': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0))
- '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/credential-provider-imds': 3.2.5
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - aws-crt
-
- '@aws-sdk/credential-provider-ini@3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0)':
- dependencies:
- '@aws-sdk/client-sts': 3.687.0
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/credential-provider-env': 3.686.0
- '@aws-sdk/credential-provider-http': 3.686.0
- '@aws-sdk/credential-provider-process': 3.686.0
- '@aws-sdk/credential-provider-sso': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))
- '@aws-sdk/credential-provider-web-identity': 3.686.0(@aws-sdk/client-sts@3.687.0)
- '@aws-sdk/types': 3.686.0
- '@smithy/credential-provider-imds': 3.2.5
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - aws-crt
+ '@aws-sdk/types': 3.901.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@aws-sdk/credential-provider-node@3.637.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0))(@aws-sdk/client-sts@3.637.0)':
- dependencies:
- '@aws-sdk/credential-provider-env': 3.620.1
- '@aws-sdk/credential-provider-http': 3.635.0
- '@aws-sdk/credential-provider-ini': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0))(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/credential-provider-process': 3.620.1
- '@aws-sdk/credential-provider-sso': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0))
- '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/credential-provider-imds': 3.2.5
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - '@aws-sdk/client-sts'
- - aws-crt
+ '@aws-sdk/middleware-logger@3.901.0':
+ dependencies:
+ '@aws-sdk/types': 3.901.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@aws-sdk/credential-provider-node@3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0)':
- dependencies:
- '@aws-sdk/credential-provider-env': 3.686.0
- '@aws-sdk/credential-provider-http': 3.686.0
- '@aws-sdk/credential-provider-ini': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0)
- '@aws-sdk/credential-provider-process': 3.686.0
- '@aws-sdk/credential-provider-sso': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))
- '@aws-sdk/credential-provider-web-identity': 3.686.0(@aws-sdk/client-sts@3.687.0)
- '@aws-sdk/types': 3.686.0
- '@smithy/credential-provider-imds': 3.2.5
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - '@aws-sdk/client-sts'
- - aws-crt
+ '@aws-sdk/middleware-recursion-detection@3.901.0':
+ dependencies:
+ '@aws-sdk/types': 3.901.0
+ '@aws/lambda-invoke-store': 0.0.1
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@aws-sdk/credential-provider-process@3.620.1':
+ '@aws-sdk/middleware-sdk-s3@3.908.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@aws-sdk/util-arn-parser': 3.893.0
+ '@smithy/core': 3.15.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/signature-v4': 5.3.0
+ '@smithy/smithy-client': 4.7.1
+ '@smithy/types': 4.6.0
+ '@smithy/util-config-provider': 4.2.0
+ '@smithy/util-middleware': 4.2.0
+ '@smithy/util-stream': 4.5.0
+ '@smithy/util-utf8': 4.2.0
+ tslib: 2.8.1
- '@aws-sdk/credential-provider-process@3.686.0':
+ '@aws-sdk/middleware-user-agent@3.908.0':
dependencies:
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/types': 3.686.0
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@aws-sdk/util-endpoints': 3.901.0
+ '@smithy/core': 3.15.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@aws-sdk/credential-provider-sso@3.637.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0))':
+ '@aws-sdk/nested-clients@3.908.0':
dependencies:
- '@aws-sdk/client-sso': 3.637.0
- '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0))
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@aws-crypto/sha256-browser': 5.2.0
+ '@aws-crypto/sha256-js': 5.2.0
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/middleware-host-header': 3.901.0
+ '@aws-sdk/middleware-logger': 3.901.0
+ '@aws-sdk/middleware-recursion-detection': 3.901.0
+ '@aws-sdk/middleware-user-agent': 3.908.0
+ '@aws-sdk/region-config-resolver': 3.901.0
+ '@aws-sdk/types': 3.901.0
+ '@aws-sdk/util-endpoints': 3.901.0
+ '@aws-sdk/util-user-agent-browser': 3.907.0
+ '@aws-sdk/util-user-agent-node': 3.908.0
+ '@smithy/config-resolver': 4.3.0
+ '@smithy/core': 3.15.0
+ '@smithy/fetch-http-handler': 5.3.1
+ '@smithy/hash-node': 4.2.0
+ '@smithy/invalid-dependency': 4.2.0
+ '@smithy/middleware-content-length': 4.2.0
+ '@smithy/middleware-endpoint': 4.3.1
+ '@smithy/middleware-retry': 4.4.1
+ '@smithy/middleware-serde': 4.2.0
+ '@smithy/middleware-stack': 4.2.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/node-http-handler': 4.3.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/smithy-client': 4.7.1
+ '@smithy/types': 4.6.0
+ '@smithy/url-parser': 4.2.0
+ '@smithy/util-base64': 4.3.0
+ '@smithy/util-body-length-browser': 4.2.0
+ '@smithy/util-body-length-node': 4.2.1
+ '@smithy/util-defaults-mode-browser': 4.3.0
+ '@smithy/util-defaults-mode-node': 4.2.1
+ '@smithy/util-endpoints': 3.2.0
+ '@smithy/util-middleware': 4.2.0
+ '@smithy/util-retry': 4.2.0
+ '@smithy/util-utf8': 4.2.0
+ tslib: 2.8.1
transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- aws-crt
- '@aws-sdk/credential-provider-sso@3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))':
- dependencies:
- '@aws-sdk/client-sso': 3.687.0
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/token-providers': 3.686.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))
- '@aws-sdk/types': 3.686.0
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@aws-sdk/region-config-resolver@3.901.0':
+ dependencies:
+ '@aws-sdk/types': 3.901.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/types': 4.6.0
+ '@smithy/util-config-provider': 4.2.0
+ '@smithy/util-middleware': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/signature-v4-multi-region@3.908.0':
+ dependencies:
+ '@aws-sdk/middleware-sdk-s3': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/signature-v4': 5.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
+
+ '@aws-sdk/token-providers@3.908.0':
+ dependencies:
+ '@aws-sdk/core': 3.908.0
+ '@aws-sdk/nested-clients': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/shared-ini-file-loader': 4.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- aws-crt
- '@aws-sdk/credential-provider-web-identity@3.621.0(@aws-sdk/client-sts@3.637.0)':
- dependencies:
- '@aws-sdk/client-sts': 3.637.0
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.8
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/credential-provider-web-identity@3.686.0(@aws-sdk/client-sts@3.687.0)':
- dependencies:
- '@aws-sdk/client-sts': 3.687.0
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/types': 3.686.0
- '@smithy/property-provider': 3.1.8
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/lib-storage@3.687.0(@aws-sdk/client-s3@3.687.0)':
- dependencies:
- '@aws-sdk/client-s3': 3.687.0
- '@smithy/abort-controller': 3.1.6
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/smithy-client': 3.4.2
- buffer: 5.6.0
- events: 3.3.0
- stream-browserify: 3.0.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-bucket-endpoint@3.686.0':
- dependencies:
- '@aws-sdk/types': 3.686.0
- '@aws-sdk/util-arn-parser': 3.679.0
- '@smithy/node-config-provider': 3.1.9
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- '@smithy/util-config-provider': 3.0.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-expect-continue@3.686.0':
- dependencies:
- '@aws-sdk/types': 3.686.0
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-flexible-checksums@3.687.0':
- dependencies:
- '@aws-crypto/crc32': 5.2.0
- '@aws-crypto/crc32c': 5.2.0
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/types': 3.686.0
- '@smithy/is-array-buffer': 3.0.0
- '@smithy/node-config-provider': 3.1.9
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-stream': 3.2.1
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-host-header@3.620.0':
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-host-header@3.686.0':
- dependencies:
- '@aws-sdk/types': 3.686.0
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-location-constraint@3.686.0':
- dependencies:
- '@aws-sdk/types': 3.686.0
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-logger@3.609.0':
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-logger@3.686.0':
- dependencies:
- '@aws-sdk/types': 3.686.0
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-recursion-detection@3.620.0':
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-recursion-detection@3.686.0':
- dependencies:
- '@aws-sdk/types': 3.686.0
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-sdk-s3@3.687.0':
- dependencies:
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/types': 3.686.0
- '@aws-sdk/util-arn-parser': 3.679.0
- '@smithy/core': 2.5.1
- '@smithy/node-config-provider': 3.1.9
- '@smithy/protocol-http': 4.1.5
- '@smithy/signature-v4': 4.2.0
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/util-config-provider': 3.0.0
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-stream': 3.2.1
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-ssec@3.686.0':
- dependencies:
- '@aws-sdk/types': 3.686.0
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-user-agent@3.637.0':
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.637.0
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/middleware-user-agent@3.687.0':
- dependencies:
- '@aws-sdk/core': 3.686.0
- '@aws-sdk/types': 3.686.0
- '@aws-sdk/util-endpoints': 3.686.0
- '@smithy/core': 2.5.1
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/region-config-resolver@3.614.0':
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/node-config-provider': 3.1.9
- '@smithy/types': 3.6.0
- '@smithy/util-config-provider': 3.0.0
- '@smithy/util-middleware': 3.0.8
- tslib: 2.7.0
-
- '@aws-sdk/region-config-resolver@3.686.0':
- dependencies:
- '@aws-sdk/types': 3.686.0
- '@smithy/node-config-provider': 3.1.9
- '@smithy/types': 3.6.0
- '@smithy/util-config-provider': 3.0.0
- '@smithy/util-middleware': 3.0.8
- tslib: 2.7.0
-
- '@aws-sdk/s3-request-presigner@3.687.0':
- dependencies:
- '@aws-sdk/signature-v4-multi-region': 3.687.0
- '@aws-sdk/types': 3.686.0
- '@aws-sdk/util-format-url': 3.686.0
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/signature-v4-multi-region@3.687.0':
- dependencies:
- '@aws-sdk/middleware-sdk-s3': 3.687.0
- '@aws-sdk/types': 3.686.0
- '@smithy/protocol-http': 4.1.5
- '@smithy/signature-v4': 4.2.0
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0))':
- dependencies:
- '@aws-sdk/client-sso-oidc': 3.637.0(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/token-providers@3.686.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))':
- dependencies:
- '@aws-sdk/client-sso-oidc': 3.687.0(@aws-sdk/client-sts@3.687.0)
- '@aws-sdk/types': 3.686.0
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/types@3.609.0':
- dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/types@3.686.0':
- dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@aws-sdk/util-arn-parser@3.679.0':
- dependencies:
- tslib: 2.7.0
-
- '@aws-sdk/util-endpoints@3.637.0':
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/types': 3.6.0
- '@smithy/util-endpoints': 2.1.4
- tslib: 2.7.0
-
- '@aws-sdk/util-endpoints@3.686.0':
- dependencies:
- '@aws-sdk/types': 3.686.0
- '@smithy/types': 3.6.0
- '@smithy/util-endpoints': 2.1.4
- tslib: 2.7.0
-
- '@aws-sdk/util-format-url@3.686.0':
+ '@aws-sdk/types@3.901.0':
dependencies:
- '@aws-sdk/types': 3.686.0
- '@smithy/querystring-builder': 3.0.8
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@aws-sdk/util-locate-window@3.568.0':
+ '@aws-sdk/util-arn-parser@3.893.0':
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
- '@aws-sdk/util-user-agent-browser@3.609.0':
+ '@aws-sdk/util-endpoints@3.901.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/types': 3.6.0
- bowser: 2.11.0
- tslib: 2.7.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/types': 4.6.0
+ '@smithy/url-parser': 4.2.0
+ '@smithy/util-endpoints': 3.2.0
+ tslib: 2.8.1
- '@aws-sdk/util-user-agent-browser@3.686.0':
+ '@aws-sdk/util-locate-window@3.893.0':
dependencies:
- '@aws-sdk/types': 3.686.0
- '@smithy/types': 3.6.0
- bowser: 2.11.0
- tslib: 2.7.0
+ tslib: 2.8.1
- '@aws-sdk/util-user-agent-node@3.614.0':
+ '@aws-sdk/util-user-agent-browser@3.907.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/node-config-provider': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/types': 4.6.0
+ bowser: 2.12.1
+ tslib: 2.8.1
- '@aws-sdk/util-user-agent-node@3.687.0':
+ '@aws-sdk/util-user-agent-node@3.908.0':
dependencies:
- '@aws-sdk/middleware-user-agent': 3.687.0
- '@aws-sdk/types': 3.686.0
- '@smithy/node-config-provider': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@aws-sdk/middleware-user-agent': 3.908.0
+ '@aws-sdk/types': 3.901.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@aws-sdk/xml-builder@3.686.0':
+ '@aws-sdk/xml-builder@3.901.0':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ fast-xml-parser: 5.2.5
+ tslib: 2.8.1
- '@axe-core/playwright@4.10.0(playwright-core@1.46.1)':
- dependencies:
- axe-core: 4.10.0
- playwright-core: 1.46.1
+ '@aws/lambda-invoke-store@0.0.1': {}
- '@babel/code-frame@7.24.7':
+ '@axe-core/playwright@4.10.2(playwright-core@1.56.0)':
dependencies:
- '@babel/highlight': 7.24.7
- picocolors: 1.0.1
+ axe-core: 4.10.3
+ playwright-core: 1.56.0
- '@babel/code-frame@7.26.2':
+ '@babel/code-frame@7.27.1':
dependencies:
- '@babel/helper-validator-identifier': 7.25.9
+ '@babel/helper-validator-identifier': 7.27.1
js-tokens: 4.0.0
- picocolors: 1.1.0
-
- '@babel/compat-data@7.25.4': {}
-
- '@babel/compat-data@7.26.2': {}
-
- '@babel/core@7.25.2':
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.25.5
- '@babel/helper-compilation-targets': 7.25.2
- '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2)
- '@babel/helpers': 7.25.0
- '@babel/parser': 7.25.4
- '@babel/template': 7.25.0
- '@babel/traverse': 7.25.4
- '@babel/types': 7.25.4
- convert-source-map: 2.0.0
- debug: 4.3.7(supports-color@9.4.0)
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/core@7.26.0':
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.2
- '@babel/helper-compilation-targets': 7.25.9
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
- '@babel/helpers': 7.26.0
- '@babel/parser': 7.26.2
- '@babel/template': 7.25.9
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
+ picocolors: 1.1.1
+
+ '@babel/compat-data@7.28.4': {}
+
+ '@babel/core@7.28.4':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.3
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
+ '@babel/helpers': 7.28.4
+ '@babel/parser': 7.28.4
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
+ '@jridgewell/remapping': 2.3.5
convert-source-map: 2.0.0
- debug: 4.3.7(supports-color@9.4.0)
+ debug: 4.4.3
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.25.5':
- dependencies:
- '@babel/types': 7.25.4
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 2.5.2
-
- '@babel/generator@7.26.2':
- dependencies:
- '@babel/parser': 7.26.2
- '@babel/types': 7.26.0
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 3.0.2
-
- '@babel/helper-annotate-as-pure@7.24.7':
+ '@babel/generator@7.28.3':
dependencies:
- '@babel/types': 7.25.4
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ jsesc: 3.1.0
- '@babel/helper-compilation-targets@7.25.2':
+ '@babel/helper-annotate-as-pure@7.27.3':
dependencies:
- '@babel/compat-data': 7.25.4
- '@babel/helper-validator-option': 7.24.8
- browserslist: 4.23.3
- lru-cache: 5.1.1
- semver: 6.3.1
+ '@babel/types': 7.28.4
- '@babel/helper-compilation-targets@7.25.9':
+ '@babel/helper-compilation-targets@7.27.2':
dependencies:
- '@babel/compat-data': 7.26.2
- '@babel/helper-validator-option': 7.25.9
- browserslist: 4.24.2
+ '@babel/compat-data': 7.28.4
+ '@babel/helper-validator-option': 7.27.1
+ browserslist: 4.26.3
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2)':
+ '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-annotate-as-pure': 7.24.7
- '@babel/helper-member-expression-to-functions': 7.24.8
- '@babel/helper-optimise-call-expression': 7.24.7
- '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2)
- '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
- '@babel/traverse': 7.25.4
+ '@babel/core': 7.28.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-member-expression-to-functions': 7.27.1
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/traverse': 7.28.4
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.26.0)':
+ '@babel/helper-globals@7.28.0': {}
+
+ '@babel/helper-member-expression-to-functions@7.27.1':
dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-annotate-as-pure': 7.24.7
- '@babel/helper-member-expression-to-functions': 7.24.8
- '@babel/helper-optimise-call-expression': 7.24.7
- '@babel/helper-replace-supers': 7.25.0(@babel/core@7.26.0)
- '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
- '@babel/traverse': 7.25.4
- semver: 6.3.1
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
transitivePeerDependencies:
- supports-color
- '@babel/helper-member-expression-to-functions@7.24.8':
+ '@babel/helper-module-imports@7.27.1':
dependencies:
- '@babel/traverse': 7.25.4
- '@babel/types': 7.25.4
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-imports@7.22.15':
- dependencies:
- '@babel/types': 7.25.4
-
- '@babel/helper-module-imports@7.24.7':
+ '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)':
dependencies:
- '@babel/traverse': 7.25.4
- '@babel/types': 7.25.4
+ '@babel/core': 7.28.4
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+ '@babel/traverse': 7.28.4
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-imports@7.25.9':
+ '@babel/helper-optimise-call-expression@7.27.1':
dependencies:
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
- transitivePeerDependencies:
- - supports-color
+ '@babel/types': 7.28.4
- '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)':
+ '@babel/helper-plugin-utils@7.27.1': {}
+
+ '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-module-imports': 7.24.7
- '@babel/helper-simple-access': 7.24.7
- '@babel/helper-validator-identifier': 7.24.7
- '@babel/traverse': 7.25.4
+ '@babel/core': 7.28.4
+ '@babel/helper-member-expression-to-functions': 7.27.1
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/traverse': 7.28.4
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)':
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-module-imports': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.25.9
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
transitivePeerDependencies:
- supports-color
- '@babel/helper-optimise-call-expression@7.24.7':
- dependencies:
- '@babel/types': 7.25.4
+ '@babel/helper-string-parser@7.27.1': {}
- '@babel/helper-plugin-utils@7.24.8': {}
+ '@babel/helper-validator-identifier@7.27.1': {}
- '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)':
- dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-member-expression-to-functions': 7.24.8
- '@babel/helper-optimise-call-expression': 7.24.7
- '@babel/traverse': 7.25.4
- transitivePeerDependencies:
- - supports-color
+ '@babel/helper-validator-option@7.27.1': {}
- '@babel/helper-replace-supers@7.25.0(@babel/core@7.26.0)':
+ '@babel/helpers@7.28.4':
dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-member-expression-to-functions': 7.24.8
- '@babel/helper-optimise-call-expression': 7.24.7
- '@babel/traverse': 7.25.4
- transitivePeerDependencies:
- - supports-color
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.4
- '@babel/helper-simple-access@7.24.7':
+ '@babel/parser@7.28.4':
dependencies:
- '@babel/traverse': 7.25.4
- '@babel/types': 7.25.4
- transitivePeerDependencies:
- - supports-color
+ '@babel/types': 7.28.4
- '@babel/helper-skip-transparent-expression-wrappers@7.24.7':
+ '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.4)':
dependencies:
- '@babel/traverse': 7.25.4
- '@babel/types': 7.25.4
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-string-parser@7.24.8': {}
-
- '@babel/helper-string-parser@7.25.9': {}
-
- '@babel/helper-validator-identifier@7.24.7': {}
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-validator-identifier@7.25.9': {}
+ '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-validator-option@7.24.8': {}
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-validator-option@7.25.9': {}
+ '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/helpers@7.25.0':
+ '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/template': 7.25.0
- '@babel/types': 7.25.4
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/helpers@7.26.0':
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.4)':
dependencies:
- '@babel/template': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/highlight@7.24.7':
+ '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.4)':
dependencies:
- '@babel/helper-validator-identifier': 7.24.7
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.0.1
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/parser@7.25.4':
+ '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/types': 7.25.4
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/parser@7.26.2':
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.4)':
dependencies:
- '@babel/types': 7.26.0
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2)
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.25.2)
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.26.0)':
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.26.0)':
+ '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)':
+ '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-annotate-as-pure': 7.24.7
- '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2)
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
- '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2)
+ '@babel/core': 7.28.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4)
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.26.0)':
+ '@babel/template@7.27.2':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
+
+ '@babel/traverse@7.28.4':
dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-annotate-as-pure': 7.24.7
- '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.26.0)
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
- '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.26.0)
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.3
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.28.4
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.4
+ debug: 4.4.3
transitivePeerDependencies:
- supports-color
- '@babel/runtime@7.25.4':
+ '@babel/types@7.28.4':
dependencies:
- regenerator-runtime: 0.14.1
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
- '@babel/standalone@7.25.5': {}
+ '@bcoe/v8-coverage@0.2.3': {}
- '@babel/standalone@7.26.2': {}
+ '@borewit/text-codec@0.1.1': {}
- '@babel/template@7.25.0':
+ '@clack/core@0.5.0':
dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/parser': 7.25.4
- '@babel/types': 7.25.4
+ picocolors: 1.1.1
+ sisteransi: 1.0.5
- '@babel/template@7.25.9':
+ '@clack/prompts@0.11.0':
dependencies:
- '@babel/code-frame': 7.26.2
- '@babel/parser': 7.26.2
- '@babel/types': 7.26.0
+ '@clack/core': 0.5.0
+ picocolors: 1.1.1
+ sisteransi: 1.0.5
- '@babel/traverse@7.25.4':
+ '@cloudflare/kv-asset-handler@0.4.0':
dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.25.5
- '@babel/parser': 7.25.4
- '@babel/template': 7.25.0
- '@babel/types': 7.25.4
- debug: 4.3.7(supports-color@9.4.0)
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
+ mime: 3.0.0
+
+ '@colors/colors@1.5.0':
+ optional: true
- '@babel/traverse@7.25.9':
+ '@cspotcode/source-map-support@0.8.1':
dependencies:
- '@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.2
- '@babel/parser': 7.26.2
- '@babel/template': 7.25.9
- '@babel/types': 7.26.0
- debug: 4.3.7(supports-color@9.4.0)
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
+ '@jridgewell/trace-mapping': 0.3.9
+
+ '@csstools/color-helpers@5.1.0': {}
- '@babel/types@7.25.4':
+ '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
- '@babel/helper-string-parser': 7.24.8
- '@babel/helper-validator-identifier': 7.24.7
- to-fast-properties: 2.0.0
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
- '@babel/types@7.26.0':
+ '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
- '@babel/helper-string-parser': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
+ '@csstools/color-helpers': 5.1.0
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
- '@cloudflare/kv-asset-handler@0.3.4':
+ '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
dependencies:
- mime: 3.0.0
+ '@csstools/css-tokenizer': 3.0.4
+
+ '@csstools/css-syntax-patches-for-csstree@1.0.14(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+
+ '@csstools/css-tokenizer@3.0.4': {}
- '@docsearch/css@3.6.2': {}
+ '@docsearch/css@3.8.2': {}
- '@docsearch/js@3.6.2(@algolia/client-search@4.24.0)(search-insights@2.17.0)':
+ '@docsearch/js@3.8.2(@algolia/client-search@5.40.0)(search-insights@2.17.3)':
dependencies:
- '@docsearch/react': 3.6.2(@algolia/client-search@4.24.0)(search-insights@2.17.0)
- preact: 10.23.2
+ '@docsearch/react': 3.8.2(@algolia/client-search@5.40.0)(search-insights@2.17.3)
+ preact: 10.27.2
transitivePeerDependencies:
- '@algolia/client-search'
- '@types/react'
@@ -10734,448 +10840,1091 @@ snapshots:
- react-dom
- search-insights
- '@docsearch/react@3.6.2(@algolia/client-search@4.24.0)(search-insights@2.17.0)':
+ '@docsearch/react@3.8.2(@algolia/client-search@5.40.0)(search-insights@2.17.3)':
dependencies:
- '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.0)
- '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)
- '@docsearch/css': 3.6.2
- algoliasearch: 4.24.0
+ '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.40.0)(algoliasearch@5.40.0)(search-insights@2.17.3)
+ '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.40.0)(algoliasearch@5.40.0)
+ '@docsearch/css': 3.8.2
+ algoliasearch: 5.40.0
optionalDependencies:
- search-insights: 2.17.0
+ search-insights: 2.17.3
transitivePeerDependencies:
- '@algolia/client-search'
- '@es-joy/jsdoccomment@0.49.0':
+ '@emnapi/core@1.5.0':
dependencies:
- comment-parser: 1.4.1
- esquery: 1.6.0
- jsdoc-type-pratt-parser: 4.1.0
-
- '@esbuild/aix-ppc64@0.21.5':
+ '@emnapi/wasi-threads': 1.1.0
+ tslib: 2.8.1
optional: true
- '@esbuild/aix-ppc64@0.23.1':
+ '@emnapi/runtime@1.5.0':
+ dependencies:
+ tslib: 2.8.1
optional: true
- '@esbuild/aix-ppc64@0.24.0':
+ '@emnapi/wasi-threads@1.1.0':
+ dependencies:
+ tslib: 2.8.1
optional: true
- '@esbuild/android-arm64@0.21.5':
- optional: true
+ '@es-joy/jsdoccomment@0.56.0':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@typescript-eslint/types': 8.46.0
+ comment-parser: 1.4.1
+ esquery: 1.6.0
+ jsdoc-type-pratt-parser: 5.1.1
- '@esbuild/android-arm64@0.23.1':
+ '@esbuild/aix-ppc64@0.21.5':
optional: true
- '@esbuild/android-arm64@0.24.0':
+ '@esbuild/aix-ppc64@0.25.10':
optional: true
- '@esbuild/android-arm@0.21.5':
+ '@esbuild/android-arm64@0.21.5':
optional: true
- '@esbuild/android-arm@0.23.1':
+ '@esbuild/android-arm64@0.25.10':
optional: true
- '@esbuild/android-arm@0.24.0':
+ '@esbuild/android-arm@0.21.5':
optional: true
- '@esbuild/android-x64@0.21.5':
+ '@esbuild/android-arm@0.25.10':
optional: true
- '@esbuild/android-x64@0.23.1':
+ '@esbuild/android-x64@0.21.5':
optional: true
- '@esbuild/android-x64@0.24.0':
+ '@esbuild/android-x64@0.25.10':
optional: true
'@esbuild/darwin-arm64@0.21.5':
optional: true
- '@esbuild/darwin-arm64@0.23.1':
- optional: true
-
- '@esbuild/darwin-arm64@0.24.0':
+ '@esbuild/darwin-arm64@0.25.10':
optional: true
'@esbuild/darwin-x64@0.21.5':
optional: true
- '@esbuild/darwin-x64@0.23.1':
- optional: true
-
- '@esbuild/darwin-x64@0.24.0':
+ '@esbuild/darwin-x64@0.25.10':
optional: true
'@esbuild/freebsd-arm64@0.21.5':
optional: true
- '@esbuild/freebsd-arm64@0.23.1':
- optional: true
-
- '@esbuild/freebsd-arm64@0.24.0':
+ '@esbuild/freebsd-arm64@0.25.10':
optional: true
'@esbuild/freebsd-x64@0.21.5':
optional: true
- '@esbuild/freebsd-x64@0.23.1':
- optional: true
-
- '@esbuild/freebsd-x64@0.24.0':
- optional: true
-
- '@esbuild/linux-arm64@0.21.5':
- optional: true
-
- '@esbuild/linux-arm64@0.23.1':
+ '@esbuild/freebsd-x64@0.25.10':
optional: true
- '@esbuild/linux-arm64@0.24.0':
+ '@esbuild/linux-arm64@0.21.5':
optional: true
- '@esbuild/linux-arm@0.21.5':
+ '@esbuild/linux-arm64@0.25.10':
optional: true
- '@esbuild/linux-arm@0.23.1':
+ '@esbuild/linux-arm@0.21.5':
optional: true
- '@esbuild/linux-arm@0.24.0':
+ '@esbuild/linux-arm@0.25.10':
optional: true
'@esbuild/linux-ia32@0.21.5':
optional: true
- '@esbuild/linux-ia32@0.23.1':
- optional: true
-
- '@esbuild/linux-ia32@0.24.0':
+ '@esbuild/linux-ia32@0.25.10':
optional: true
'@esbuild/linux-loong64@0.21.5':
optional: true
- '@esbuild/linux-loong64@0.23.1':
- optional: true
-
- '@esbuild/linux-loong64@0.24.0':
+ '@esbuild/linux-loong64@0.25.10':
optional: true
'@esbuild/linux-mips64el@0.21.5':
optional: true
- '@esbuild/linux-mips64el@0.23.1':
- optional: true
-
- '@esbuild/linux-mips64el@0.24.0':
+ '@esbuild/linux-mips64el@0.25.10':
optional: true
'@esbuild/linux-ppc64@0.21.5':
optional: true
- '@esbuild/linux-ppc64@0.23.1':
- optional: true
-
- '@esbuild/linux-ppc64@0.24.0':
+ '@esbuild/linux-ppc64@0.25.10':
optional: true
'@esbuild/linux-riscv64@0.21.5':
optional: true
- '@esbuild/linux-riscv64@0.23.1':
- optional: true
-
- '@esbuild/linux-riscv64@0.24.0':
+ '@esbuild/linux-riscv64@0.25.10':
optional: true
'@esbuild/linux-s390x@0.21.5':
optional: true
- '@esbuild/linux-s390x@0.23.1':
- optional: true
-
- '@esbuild/linux-s390x@0.24.0':
+ '@esbuild/linux-s390x@0.25.10':
optional: true
'@esbuild/linux-x64@0.21.5':
optional: true
- '@esbuild/linux-x64@0.23.1':
+ '@esbuild/linux-x64@0.25.10':
optional: true
- '@esbuild/linux-x64@0.24.0':
+ '@esbuild/netbsd-arm64@0.25.10':
optional: true
'@esbuild/netbsd-x64@0.21.5':
optional: true
- '@esbuild/netbsd-x64@0.23.1':
- optional: true
-
- '@esbuild/netbsd-x64@0.24.0':
- optional: true
-
- '@esbuild/openbsd-arm64@0.23.1':
+ '@esbuild/netbsd-x64@0.25.10':
optional: true
- '@esbuild/openbsd-arm64@0.24.0':
+ '@esbuild/openbsd-arm64@0.25.10':
optional: true
'@esbuild/openbsd-x64@0.21.5':
optional: true
- '@esbuild/openbsd-x64@0.23.1':
+ '@esbuild/openbsd-x64@0.25.10':
optional: true
- '@esbuild/openbsd-x64@0.24.0':
+ '@esbuild/openharmony-arm64@0.25.10':
optional: true
'@esbuild/sunos-x64@0.21.5':
optional: true
- '@esbuild/sunos-x64@0.23.1':
- optional: true
-
- '@esbuild/sunos-x64@0.24.0':
+ '@esbuild/sunos-x64@0.25.10':
optional: true
'@esbuild/win32-arm64@0.21.5':
optional: true
- '@esbuild/win32-arm64@0.23.1':
- optional: true
-
- '@esbuild/win32-arm64@0.24.0':
+ '@esbuild/win32-arm64@0.25.10':
optional: true
'@esbuild/win32-ia32@0.21.5':
optional: true
- '@esbuild/win32-ia32@0.23.1':
- optional: true
-
- '@esbuild/win32-ia32@0.24.0':
+ '@esbuild/win32-ia32@0.25.10':
optional: true
'@esbuild/win32-x64@0.21.5':
optional: true
- '@esbuild/win32-x64@0.23.1':
- optional: true
-
- '@esbuild/win32-x64@0.24.0':
+ '@esbuild/win32-x64@0.25.10':
optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@9.14.0(jiti@2.4.0))':
+ '@eslint-community/eslint-utils@4.9.0(eslint@9.37.0(jiti@2.6.1))':
dependencies:
- eslint: 9.14.0(jiti@2.4.0)
+ eslint: 9.37.0(jiti@2.6.1)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
- '@eslint/compat@1.2.2(eslint@9.14.0(jiti@2.4.0))':
+ '@eslint/compat@1.4.0(eslint@9.37.0(jiti@2.6.1))':
+ dependencies:
+ '@eslint/core': 0.16.0
optionalDependencies:
- eslint: 9.14.0(jiti@2.4.0)
+ eslint: 9.37.0(jiti@2.6.1)
- '@eslint/config-array@0.18.0':
+ '@eslint/config-array@0.21.0':
dependencies:
- '@eslint/object-schema': 2.1.4
- debug: 4.3.7(supports-color@9.4.0)
+ '@eslint/object-schema': 2.1.6
+ debug: 4.4.3
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
- '@eslint/core@0.7.0': {}
+ '@eslint/config-helpers@0.4.0':
+ dependencies:
+ '@eslint/core': 0.16.0
+
+ '@eslint/core@0.15.2':
+ dependencies:
+ '@types/json-schema': 7.0.15
+
+ '@eslint/core@0.16.0':
+ dependencies:
+ '@types/json-schema': 7.0.15
- '@eslint/eslintrc@3.1.0':
+ '@eslint/eslintrc@3.3.1':
dependencies:
ajv: 6.12.6
- debug: 4.3.7(supports-color@9.4.0)
- espree: 10.3.0
+ debug: 4.4.3
+ espree: 10.4.0
globals: 14.0.0
ignore: 5.3.2
- import-fresh: 3.3.0
+ import-fresh: 3.3.1
js-yaml: 4.1.0
minimatch: 3.1.2
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.14.0': {}
+ '@eslint/js@9.37.0': {}
+
+ '@eslint/object-schema@2.1.6': {}
- '@eslint/object-schema@2.1.4': {}
+ '@eslint/plugin-kit@0.3.5':
+ dependencies:
+ '@eslint/core': 0.15.2
+ levn: 0.4.1
- '@eslint/plugin-kit@0.2.2':
+ '@eslint/plugin-kit@0.4.0':
dependencies:
+ '@eslint/core': 0.16.0
levn: 0.4.1
- '@faker-js/faker@8.4.1': {}
+ '@faker-js/faker@10.0.0': {}
- '@grpc/grpc-js@1.11.1':
+ '@fastify/error@4.2.0': {}
+
+ '@grpc/grpc-js@1.14.0':
dependencies:
- '@grpc/proto-loader': 0.7.13
+ '@grpc/proto-loader': 0.8.0
'@js-sdsl/ordered-map': 4.4.2
- '@grpc/proto-loader@0.7.13':
- dependencies:
- lodash.camelcase: 4.3.0
- long: 5.2.3
- protobufjs: 7.4.0
- yargs: 17.7.2
+ '@grpc/proto-loader@0.8.0':
+ dependencies:
+ lodash.camelcase: 4.3.0
+ long: 5.3.2
+ protobufjs: 7.5.4
+ yargs: 17.7.2
+
+ '@hapi/address@5.1.1':
+ dependencies:
+ '@hapi/hoek': 11.0.7
+
+ '@hapi/formula@3.0.2': {}
+
+ '@hapi/hoek@11.0.7': {}
+
+ '@hapi/pinpoint@2.0.1': {}
+
+ '@hapi/tlds@1.1.3': {}
+
+ '@hapi/topo@6.0.2':
+ dependencies:
+ '@hapi/hoek': 11.0.7
+
+ '@humanfs/core@0.19.1': {}
+
+ '@humanfs/node@0.16.7':
+ dependencies:
+ '@humanfs/core': 0.19.1
+ '@humanwhocodes/retry': 0.4.3
+
+ '@humanwhocodes/module-importer@1.0.1': {}
+
+ '@humanwhocodes/retry@0.4.3': {}
+
+ '@iconify-json/simple-icons@1.2.54':
+ dependencies:
+ '@iconify/types': 2.0.0
+
+ '@iconify/types@2.0.0': {}
+
+ '@inquirer/ansi@1.0.0': {}
+
+ '@inquirer/checkbox@4.2.4(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/ansi': 1.0.0
+ '@inquirer/core': 10.2.2(@types/node@24.7.2)
+ '@inquirer/figures': 1.0.13
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/confirm@5.1.18(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/core': 10.2.2(@types/node@24.7.2)
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/core@10.2.2(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/ansi': 1.0.0
+ '@inquirer/figures': 1.0.13
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ 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
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/editor@4.2.20(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/core': 10.2.2(@types/node@24.7.2)
+ '@inquirer/external-editor': 1.0.2(@types/node@24.7.2)
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/expand@4.0.20(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/core': 10.2.2(@types/node@24.7.2)
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/external-editor@1.0.2(@types/node@24.7.2)':
+ dependencies:
+ chardet: 2.1.0
+ iconv-lite: 0.7.0
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/figures@1.0.13': {}
+
+ '@inquirer/input@4.2.4(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/core': 10.2.2(@types/node@24.7.2)
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/number@3.0.20(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/core': 10.2.2(@types/node@24.7.2)
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/password@4.0.20(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/ansi': 1.0.0
+ '@inquirer/core': 10.2.2(@types/node@24.7.2)
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/prompts@7.3.2(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/checkbox': 4.2.4(@types/node@24.7.2)
+ '@inquirer/confirm': 5.1.18(@types/node@24.7.2)
+ '@inquirer/editor': 4.2.20(@types/node@24.7.2)
+ '@inquirer/expand': 4.0.20(@types/node@24.7.2)
+ '@inquirer/input': 4.2.4(@types/node@24.7.2)
+ '@inquirer/number': 3.0.20(@types/node@24.7.2)
+ '@inquirer/password': 4.0.20(@types/node@24.7.2)
+ '@inquirer/rawlist': 4.1.8(@types/node@24.7.2)
+ '@inquirer/search': 3.1.3(@types/node@24.7.2)
+ '@inquirer/select': 4.3.4(@types/node@24.7.2)
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/prompts@7.8.0(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/checkbox': 4.2.4(@types/node@24.7.2)
+ '@inquirer/confirm': 5.1.18(@types/node@24.7.2)
+ '@inquirer/editor': 4.2.20(@types/node@24.7.2)
+ '@inquirer/expand': 4.0.20(@types/node@24.7.2)
+ '@inquirer/input': 4.2.4(@types/node@24.7.2)
+ '@inquirer/number': 3.0.20(@types/node@24.7.2)
+ '@inquirer/password': 4.0.20(@types/node@24.7.2)
+ '@inquirer/rawlist': 4.1.8(@types/node@24.7.2)
+ '@inquirer/search': 3.1.3(@types/node@24.7.2)
+ '@inquirer/select': 4.3.4(@types/node@24.7.2)
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/prompts@7.8.6(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/checkbox': 4.2.4(@types/node@24.7.2)
+ '@inquirer/confirm': 5.1.18(@types/node@24.7.2)
+ '@inquirer/editor': 4.2.20(@types/node@24.7.2)
+ '@inquirer/expand': 4.0.20(@types/node@24.7.2)
+ '@inquirer/input': 4.2.4(@types/node@24.7.2)
+ '@inquirer/number': 3.0.20(@types/node@24.7.2)
+ '@inquirer/password': 4.0.20(@types/node@24.7.2)
+ '@inquirer/rawlist': 4.1.8(@types/node@24.7.2)
+ '@inquirer/search': 3.1.3(@types/node@24.7.2)
+ '@inquirer/select': 4.3.4(@types/node@24.7.2)
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/rawlist@4.1.8(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/core': 10.2.2(@types/node@24.7.2)
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/search@3.1.3(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/core': 10.2.2(@types/node@24.7.2)
+ '@inquirer/figures': 1.0.13
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/select@4.3.4(@types/node@24.7.2)':
+ dependencies:
+ '@inquirer/ansi': 1.0.0
+ '@inquirer/core': 10.2.2(@types/node@24.7.2)
+ '@inquirer/figures': 1.0.13
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@inquirer/type@3.0.8(@types/node@24.7.2)':
+ optionalDependencies:
+ '@types/node': 24.7.2
+
+ '@ioredis/commands@1.4.0': {}
+
+ '@isaacs/balanced-match@4.0.1': {}
+
+ '@isaacs/brace-expansion@5.0.0':
+ dependencies:
+ '@isaacs/balanced-match': 4.0.1
+
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: string-width@4.2.3
+ strip-ansi: 7.1.2
+ strip-ansi-cjs: strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
+
+ '@isaacs/fs-minipass@4.0.1':
+ dependencies:
+ minipass: 7.1.2
+
+ '@isaacs/string-locale-compare@1.1.0': {}
+
+ '@istanbuljs/load-nyc-config@1.1.0':
+ dependencies:
+ camelcase: 5.3.1
+ find-up: 4.1.0
+ get-package-type: 0.1.0
+ js-yaml: 3.14.1
+ resolve-from: 5.0.0
+
+ '@istanbuljs/schema@0.1.3': {}
+
+ '@jercle/yargonaut@1.1.5':
+ dependencies:
+ chalk: 4.1.2
+ figlet: 1.9.3
+ parent-require: 1.0.0
+
+ '@jest/console@30.2.0':
+ dependencies:
+ '@jest/types': 30.2.0
+ '@types/node': 24.7.2
+ chalk: 4.1.2
+ jest-message-util: 30.2.0
+ jest-util: 30.2.0
+ slash: 3.0.0
+
+ '@jest/core@30.2.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))':
+ dependencies:
+ '@jest/console': 30.2.0
+ '@jest/pattern': 30.0.1
+ '@jest/reporters': 30.2.0
+ '@jest/test-result': 30.2.0
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 24.7.2
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ ci-info: 4.3.1
+ exit-x: 0.2.2
+ graceful-fs: 4.2.11
+ jest-changed-files: 30.2.0
+ jest-config: 30.2.0(@types/node@24.7.2)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))
+ jest-haste-map: 30.2.0
+ jest-message-util: 30.2.0
+ jest-regex-util: 30.0.1
+ jest-resolve: 30.2.0
+ jest-resolve-dependencies: 30.2.0
+ jest-runner: 30.2.0
+ jest-runtime: 30.2.0
+ jest-snapshot: 30.2.0
+ jest-util: 30.2.0
+ jest-validate: 30.2.0
+ jest-watcher: 30.2.0
+ micromatch: 4.0.8
+ pretty-format: 30.2.0
+ slash: 3.0.0
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - esbuild-register
+ - supports-color
+ - ts-node
+
+ '@jest/diff-sequences@30.0.1': {}
+
+ '@jest/environment@30.2.0':
+ dependencies:
+ '@jest/fake-timers': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 24.7.2
+ jest-mock: 30.2.0
+
+ '@jest/expect-utils@30.2.0':
+ dependencies:
+ '@jest/get-type': 30.1.0
+
+ '@jest/expect@30.2.0':
+ dependencies:
+ expect: 30.2.0
+ jest-snapshot: 30.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/fake-timers@30.2.0':
+ dependencies:
+ '@jest/types': 30.2.0
+ '@sinonjs/fake-timers': 13.0.5
+ '@types/node': 24.7.2
+ jest-message-util: 30.2.0
+ jest-mock: 30.2.0
+ jest-util: 30.2.0
+
+ '@jest/get-type@30.1.0': {}
+
+ '@jest/globals@30.2.0':
+ dependencies:
+ '@jest/environment': 30.2.0
+ '@jest/expect': 30.2.0
+ '@jest/types': 30.2.0
+ jest-mock: 30.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/pattern@30.0.1':
+ dependencies:
+ '@types/node': 24.7.2
+ jest-regex-util: 30.0.1
+
+ '@jest/reporters@30.2.0':
+ dependencies:
+ '@bcoe/v8-coverage': 0.2.3
+ '@jest/console': 30.2.0
+ '@jest/test-result': 30.2.0
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ '@jridgewell/trace-mapping': 0.3.31
+ '@types/node': 24.7.2
+ chalk: 4.1.2
+ collect-v8-coverage: 1.0.2
+ exit-x: 0.2.2
+ glob: 10.4.5
+ graceful-fs: 4.2.11
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-instrument: 6.0.3
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 5.0.6
+ istanbul-reports: 3.2.0
+ jest-message-util: 30.2.0
+ jest-util: 30.2.0
+ jest-worker: 30.2.0
+ slash: 3.0.0
+ string-length: 4.0.2
+ v8-to-istanbul: 9.3.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/schemas@30.0.5':
+ dependencies:
+ '@sinclair/typebox': 0.34.41
+
+ '@jest/snapshot-utils@30.2.0':
+ dependencies:
+ '@jest/types': 30.2.0
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ natural-compare: 1.4.0
+
+ '@jest/source-map@30.0.1':
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ callsites: 3.1.0
+ graceful-fs: 4.2.11
+
+ '@jest/test-result@30.2.0':
+ dependencies:
+ '@jest/console': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/istanbul-lib-coverage': 2.0.6
+ collect-v8-coverage: 1.0.2
+
+ '@jest/test-sequencer@30.2.0':
+ dependencies:
+ '@jest/test-result': 30.2.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 30.2.0
+ slash: 3.0.0
+
+ '@jest/transform@30.2.0':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@jest/types': 30.2.0
+ '@jridgewell/trace-mapping': 0.3.31
+ babel-plugin-istanbul: 7.0.1
+ chalk: 4.1.2
+ convert-source-map: 2.0.0
+ fast-json-stable-stringify: 2.1.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 30.2.0
+ jest-regex-util: 30.0.1
+ jest-util: 30.2.0
+ micromatch: 4.0.8
+ pirates: 4.0.7
+ slash: 3.0.0
+ write-file-atomic: 5.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/types@30.2.0':
+ dependencies:
+ '@jest/pattern': 30.0.1
+ '@jest/schemas': 30.0.5
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 24.7.2
+ '@types/yargs': 17.0.33
+ chalk: 4.1.2
+
+ '@jridgewell/gen-mapping@0.3.13':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/remapping@2.3.5':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/source-map@0.3.11':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/sourcemap-codec@1.5.5': {}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ '@jridgewell/trace-mapping@0.3.9':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ '@js-sdsl/ordered-map@4.4.2': {}
+
+ '@jsdevtools/ono@7.1.3': {}
+
+ '@kwsites/file-exists@1.1.1':
+ dependencies:
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@kwsites/promise-deferred@1.1.1': {}
+
+ '@libsql/client@0.15.15':
+ dependencies:
+ '@libsql/core': 0.15.15
+ '@libsql/hrana-client': 0.7.0
+ js-base64: 3.7.8
+ libsql: 0.5.22
+ promise-limit: 2.7.0
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ '@libsql/core@0.15.15':
+ dependencies:
+ js-base64: 3.7.8
+
+ '@libsql/darwin-arm64@0.5.22':
+ optional: true
+
+ '@libsql/darwin-x64@0.5.22':
+ optional: true
+
+ '@libsql/hrana-client@0.7.0':
+ dependencies:
+ '@libsql/isomorphic-fetch': 0.3.1
+ '@libsql/isomorphic-ws': 0.1.5
+ js-base64: 3.7.8
+ node-fetch: 3.3.2
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ '@libsql/isomorphic-fetch@0.3.1': {}
+
+ '@libsql/isomorphic-ws@0.1.5':
+ dependencies:
+ '@types/ws': 8.18.1
+ ws: 8.18.3
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ '@libsql/linux-arm-gnueabihf@0.5.22':
+ optional: true
+
+ '@libsql/linux-arm-musleabihf@0.5.22':
+ optional: true
- '@hapi/boom@10.0.1':
- dependencies:
- '@hapi/hoek': 11.0.4
+ '@libsql/linux-arm64-gnu@0.5.22':
+ optional: true
- '@hapi/bourne@3.0.0': {}
+ '@libsql/linux-arm64-musl@0.5.22':
+ optional: true
- '@hapi/hoek@11.0.4': {}
+ '@libsql/linux-x64-gnu@0.5.22':
+ optional: true
- '@hapi/hoek@9.3.0': {}
+ '@libsql/linux-x64-musl@0.5.22':
+ optional: true
- '@hapi/topo@5.1.0':
- dependencies:
- '@hapi/hoek': 9.3.0
+ '@libsql/win32-x64-msvc@0.5.22':
+ optional: true
- '@hapi/wreck@18.1.0':
- dependencies:
- '@hapi/boom': 10.0.1
- '@hapi/bourne': 3.0.0
- '@hapi/hoek': 11.0.4
+ '@logdna/tail-file@2.2.0': {}
- '@humanfs/core@0.19.1': {}
+ '@lukeed/csprng@1.1.0': {}
- '@humanfs/node@0.16.6':
+ '@mapbox/node-pre-gyp@2.0.0(encoding@0.1.13)':
dependencies:
- '@humanfs/core': 0.19.1
- '@humanwhocodes/retry': 0.3.1
+ consola: 3.4.2
+ detect-libc: 2.1.2
+ https-proxy-agent: 7.0.6
+ node-fetch: 2.7.0(encoding@0.1.13)
+ nopt: 8.1.0
+ semver: 7.7.3
+ tar: 7.5.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
- '@humanwhocodes/module-importer@1.0.1': {}
+ '@mdi/font@7.4.47': {}
- '@humanwhocodes/retry@0.3.1': {}
+ '@microsoft/tsdoc@0.15.1': {}
- '@humanwhocodes/retry@0.4.1': {}
+ '@mikro-orm/cli@6.5.8(libsql@0.5.22)(pg@8.16.3)':
+ dependencies:
+ '@jercle/yargonaut': 1.1.5
+ '@mikro-orm/core': 6.5.8
+ '@mikro-orm/knex': 6.5.8(@mikro-orm/core@6.5.8)(libsql@0.5.22)(pg@8.16.3)
+ fs-extra: 11.3.2
+ tsconfig-paths: 4.2.0
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - better-sqlite3
+ - libsql
+ - mariadb
+ - mysql
+ - mysql2
+ - pg
+ - pg-native
+ - sqlite3
+ - supports-color
+ - tedious
- '@iconify-json/simple-icons@1.2.11':
+ '@mikro-orm/core@6.5.8':
dependencies:
- '@iconify/types': 2.0.0
+ dataloader: 2.2.3
+ dotenv: 17.2.3
+ esprima: 4.0.1
+ fs-extra: 11.3.2
+ globby: 11.1.0
+ mikro-orm: 6.5.8
+ reflect-metadata: 0.2.2
- '@iconify/types@2.0.0': {}
+ '@mikro-orm/knex@6.5.8(@mikro-orm/core@6.5.8)(libsql@0.5.22)(pg@8.16.3)':
+ dependencies:
+ '@mikro-orm/core': 6.5.8
+ fs-extra: 11.3.2
+ knex: 3.1.0(pg@8.16.3)
+ sqlstring: 2.3.3
+ optionalDependencies:
+ libsql: 0.5.22
+ transitivePeerDependencies:
+ - mysql
+ - mysql2
+ - pg
+ - pg-native
+ - sqlite3
+ - supports-color
+ - tedious
- '@inquirer/core@9.0.10':
+ '@mikro-orm/libsql@6.5.8(@mikro-orm/core@6.5.8)(pg@8.16.3)':
dependencies:
- '@inquirer/figures': 1.0.5
- '@inquirer/type': 1.5.2
- '@types/mute-stream': 0.0.4
- '@types/node': 22.9.0
- '@types/wrap-ansi': 3.0.0
- ansi-escapes: 4.3.2
- cli-spinners: 2.9.2
- cli-width: 4.1.0
- mute-stream: 1.0.0
- signal-exit: 4.1.0
- strip-ansi: 6.0.1
- wrap-ansi: 6.2.0
- yoctocolors-cjs: 2.1.2
+ '@mikro-orm/core': 6.5.8
+ '@mikro-orm/knex': 6.5.8(@mikro-orm/core@6.5.8)(libsql@0.5.22)(pg@8.16.3)
+ fs-extra: 11.3.2
+ libsql: 0.5.22
+ sqlstring-sqlite: 0.1.1
+ transitivePeerDependencies:
+ - better-sqlite3
+ - mariadb
+ - mysql
+ - mysql2
+ - pg
+ - pg-native
+ - sqlite3
+ - supports-color
+ - tedious
- '@inquirer/figures@1.0.5': {}
+ '@mikro-orm/migrations@6.5.8(@mikro-orm/core@6.5.8)(@types/node@24.7.2)(libsql@0.5.22)(pg@8.16.3)':
+ dependencies:
+ '@mikro-orm/core': 6.5.8
+ '@mikro-orm/knex': 6.5.8(@mikro-orm/core@6.5.8)(libsql@0.5.22)(pg@8.16.3)
+ fs-extra: 11.3.2
+ umzug: 3.8.2(@types/node@24.7.2)
+ transitivePeerDependencies:
+ - '@types/node'
+ - better-sqlite3
+ - libsql
+ - mariadb
+ - mysql
+ - mysql2
+ - pg
+ - pg-native
+ - sqlite3
+ - supports-color
+ - tedious
- '@inquirer/select@2.4.7':
+ '@mikro-orm/nestjs@6.1.1(@mikro-orm/core@6.5.8)(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)':
dependencies:
- '@inquirer/core': 9.0.10
- '@inquirer/figures': 1.0.5
- '@inquirer/type': 1.5.2
- ansi-escapes: 4.3.2
- yoctocolors-cjs: 2.1.2
+ '@mikro-orm/core': 6.5.8
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/core': 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.6)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@inquirer/type@1.5.2':
+ '@mikro-orm/postgresql@6.5.8(@mikro-orm/core@6.5.8)(libsql@0.5.22)':
dependencies:
- mute-stream: 1.0.0
+ '@mikro-orm/core': 6.5.8
+ '@mikro-orm/knex': 6.5.8(@mikro-orm/core@6.5.8)(libsql@0.5.22)(pg@8.16.3)
+ pg: 8.16.3
+ postgres-array: 3.0.4
+ postgres-date: 2.1.0
+ postgres-interval: 4.0.2
+ transitivePeerDependencies:
+ - better-sqlite3
+ - libsql
+ - mariadb
+ - mysql
+ - mysql2
+ - pg-native
+ - sqlite3
+ - supports-color
+ - tedious
- '@ioredis/commands@1.2.0': {}
+ '@mikro-orm/reflection@6.5.8(@mikro-orm/core@6.5.8)':
+ dependencies:
+ '@mikro-orm/core': 6.5.8
+ globby: 11.1.0
+ ts-morph: 27.0.2
- '@isaacs/cliui@8.0.2':
+ '@mikro-orm/seeder@6.5.8(@mikro-orm/core@6.5.8)':
dependencies:
- string-width: 5.1.2
- string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.0
- strip-ansi-cjs: strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: wrap-ansi@7.0.0
+ '@mikro-orm/core': 6.5.8
+ fs-extra: 11.3.2
+ globby: 11.1.0
- '@isaacs/string-locale-compare@1.1.0': {}
+ '@mikro-orm/sql-highlighter@1.0.1':
+ dependencies:
+ ansi-colors: 4.1.3
- '@jridgewell/gen-mapping@0.3.5':
+ '@napi-rs/wasm-runtime@0.2.12':
dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
+ '@emnapi/core': 1.5.0
+ '@emnapi/runtime': 1.5.0
+ '@tybys/wasm-util': 0.10.1
+ optional: true
- '@jridgewell/resolve-uri@3.1.2': {}
+ '@napi-rs/wasm-runtime@1.0.7':
+ dependencies:
+ '@emnapi/core': 1.5.0
+ '@emnapi/runtime': 1.5.0
+ '@tybys/wasm-util': 0.10.1
+ optional: true
- '@jridgewell/set-array@1.2.1': {}
+ '@neon-rs/load@0.0.4': {}
+
+ '@nestjs/cli@11.0.10(@types/node@24.7.2)':
+ dependencies:
+ '@angular-devkit/core': 19.2.15(chokidar@4.0.3)
+ '@angular-devkit/schematics': 19.2.15(chokidar@4.0.3)
+ '@angular-devkit/schematics-cli': 19.2.15(@types/node@24.7.2)(chokidar@4.0.3)
+ '@inquirer/prompts': 7.8.0(@types/node@24.7.2)
+ '@nestjs/schematics': 11.0.9(chokidar@4.0.3)(typescript@5.8.3)
+ ansis: 4.1.0
+ chokidar: 4.0.3
+ cli-table3: 0.6.5
+ commander: 4.1.1
+ fork-ts-checker-webpack-plugin: 9.1.0(typescript@5.8.3)(webpack@5.100.2)
+ glob: 11.0.3
+ node-emoji: 1.11.0
+ ora: 5.4.1
+ tree-kill: 1.2.2
+ tsconfig-paths: 4.2.0
+ tsconfig-paths-webpack-plugin: 4.2.0
+ typescript: 5.8.3
+ webpack: 5.100.2
+ webpack-node-externals: 3.0.0
+ transitivePeerDependencies:
+ - '@types/node'
+ - esbuild
+ - uglify-js
+ - webpack-cli
+
+ '@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)':
+ dependencies:
+ file-type: 21.0.0
+ iterare: 1.2.1
+ load-esm: 1.0.2
+ reflect-metadata: 0.2.2
+ rxjs: 7.8.2
+ tslib: 2.8.1
+ uid: 2.0.2
+ optionalDependencies:
+ class-transformer: 0.5.1
+ class-validator: 0.14.2
+ transitivePeerDependencies:
+ - supports-color
- '@jridgewell/source-map@0.3.6':
+ '@nestjs/config@4.0.2(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(rxjs@7.8.2)':
dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
-
- '@jridgewell/sourcemap-codec@1.5.0': {}
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ dotenv: 16.4.7
+ dotenv-expand: 12.0.1
+ lodash: 4.17.21
+ rxjs: 7.8.2
- '@jridgewell/trace-mapping@0.3.25':
+ '@nestjs/core@11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.6)(reflect-metadata@0.2.2)(rxjs@7.8.2)':
dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nuxt/opencollective': 0.4.1
+ fast-safe-stringify: 2.1.1
+ iterare: 1.2.1
+ path-to-regexp: 8.2.0
+ reflect-metadata: 0.2.2
+ rxjs: 7.8.2
+ tslib: 2.8.1
+ uid: 2.0.2
+ optionalDependencies:
+ '@nestjs/platform-express': 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)
- '@js-sdsl/ordered-map@4.4.2': {}
+ '@nestjs/jwt@11.0.1(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))':
+ dependencies:
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@types/jsonwebtoken': 9.0.10
+ jsonwebtoken: 9.0.2
- '@keyv/redis@3.0.1':
+ '@nestjs/mapped-types@2.1.0(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)':
dependencies:
- ioredis: 5.4.1
- transitivePeerDependencies:
- - supports-color
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ reflect-metadata: 0.2.2
+ optionalDependencies:
+ class-transformer: 0.5.1
+ class-validator: 0.14.2
- '@keyv/serialize@1.0.1':
+ '@nestjs/passport@11.0.5(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(passport@0.7.0)':
dependencies:
- buffer: 6.0.3
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ passport: 0.7.0
- '@kwsites/file-exists@1.1.1':
+ '@nestjs/platform-express@11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)':
dependencies:
- debug: 4.3.7(supports-color@9.4.0)
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/core': 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.6)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ cors: 2.8.5
+ express: 5.1.0
+ multer: 2.0.2
+ path-to-regexp: 8.2.0
+ tslib: 2.8.1
transitivePeerDependencies:
- supports-color
- '@kwsites/promise-deferred@1.1.1': {}
-
- '@logdna/tail-file@2.2.0': {}
+ '@nestjs/schematics@11.0.9(chokidar@4.0.3)(typescript@5.8.3)':
+ dependencies:
+ '@angular-devkit/core': 19.2.17(chokidar@4.0.3)
+ '@angular-devkit/schematics': 19.2.17(chokidar@4.0.3)
+ comment-json: 4.4.1
+ jsonc-parser: 3.3.1
+ pluralize: 8.0.0
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - chokidar
- '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)':
+ '@nestjs/schematics@11.0.9(chokidar@4.0.3)(typescript@5.9.3)':
dependencies:
- detect-libc: 2.0.3
- https-proxy-agent: 5.0.1
- make-dir: 3.1.0
- node-fetch: 2.7.0(encoding@0.1.13)
- nopt: 5.0.0
- npmlog: 5.0.1
- rimraf: 3.0.2
- semver: 7.6.3
- tar: 6.2.1
+ '@angular-devkit/core': 19.2.17(chokidar@4.0.3)
+ '@angular-devkit/schematics': 19.2.17(chokidar@4.0.3)
+ comment-json: 4.4.1
+ jsonc-parser: 3.3.1
+ pluralize: 8.0.0
+ typescript: 5.9.3
transitivePeerDependencies:
- - encoding
- - supports-color
+ - chokidar
- '@mdi/font@7.4.47': {}
+ '@nestjs/serve-static@5.0.4(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)(express@5.1.0)':
+ dependencies:
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/core': 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.6)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ path-to-regexp: 8.3.0
+ optionalDependencies:
+ express: 5.1.0
- '@netlify/functions@2.8.2':
+ '@nestjs/swagger@11.2.0(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)':
dependencies:
- '@netlify/serverless-functions-api': 1.26.1
+ '@microsoft/tsdoc': 0.15.1
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/core': 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.6)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/mapped-types': 2.1.0(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)
+ js-yaml: 4.1.0
+ lodash: 4.17.21
+ path-to-regexp: 8.2.0
+ reflect-metadata: 0.2.2
+ swagger-ui-dist: 5.21.0
+ optionalDependencies:
+ class-transformer: 0.5.1
+ class-validator: 0.14.2
- '@netlify/node-cookies@0.1.0': {}
+ '@nestjs/testing@11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)(@nestjs/platform-express@11.1.6)':
+ dependencies:
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/core': 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.6)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ tslib: 2.8.1
+ optionalDependencies:
+ '@nestjs/platform-express': 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)
- '@netlify/serverless-functions-api@1.26.1':
+ '@nestjs/throttler@6.4.0(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)(reflect-metadata@0.2.2)':
dependencies:
- '@netlify/node-cookies': 0.1.0
- urlpattern-polyfill: 8.0.2
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/core': 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.6)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ reflect-metadata: 0.2.2
- '@noble/hashes@1.4.0': {}
+ '@noble/hashes@1.8.0': {}
'@nodelib/fs.scandir@2.1.5':
dependencies:
@@ -11187,15 +11936,15 @@ snapshots:
'@nodelib/fs.walk@1.2.8':
dependencies:
'@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
+ fastq: 1.19.1
'@npmcli/agent@2.2.2':
dependencies:
- agent-base: 7.1.1(supports-color@9.4.0)
+ agent-base: 7.1.4
http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.5(supports-color@9.4.0)
+ https-proxy-agent: 7.0.6
lru-cache: 10.4.3
- socks-proxy-agent: 8.0.4
+ socks-proxy-agent: 8.0.5
transitivePeerDependencies:
- supports-color
@@ -11208,7 +11957,7 @@ snapshots:
'@npmcli/metavuln-calculator': 7.1.1
'@npmcli/name-from-folder': 2.0.0
'@npmcli/node-gyp': 3.0.0
- '@npmcli/package-json': 5.2.0
+ '@npmcli/package-json': 5.2.1
'@npmcli/query': 3.1.0
'@npmcli/redact': 2.0.1
'@npmcli/run-script': 8.1.0
@@ -11230,9 +11979,9 @@ snapshots:
proc-log: 4.2.0
proggy: 2.0.0
promise-all-reject-late: 1.0.1
- promise-call-limit: 3.0.1
+ promise-call-limit: 3.0.2
read-package-json-fast: 3.0.2
- semver: 7.6.3
+ semver: 7.7.3
ssri: 10.0.6
treeverse: 3.0.0
walk-up-path: 3.0.1
@@ -11242,7 +11991,7 @@ snapshots:
'@npmcli/fs@3.1.1':
dependencies:
- semver: 7.6.3
+ semver: 7.7.3
'@npmcli/git@5.0.8':
dependencies:
@@ -11253,7 +12002,7 @@ snapshots:
proc-log: 4.2.0
promise-inflight: 1.0.1
promise-retry: 2.0.1
- semver: 7.6.3
+ semver: 7.7.3
which: 4.0.0
transitivePeerDependencies:
- bluebird
@@ -11276,7 +12025,7 @@ snapshots:
json-parse-even-better-errors: 3.0.2
pacote: 18.0.6
proc-log: 4.2.0
- semver: 7.6.3
+ semver: 7.7.3
transitivePeerDependencies:
- bluebird
- supports-color
@@ -11285,7 +12034,7 @@ snapshots:
'@npmcli/node-gyp@3.0.0': {}
- '@npmcli/package-json@5.2.0':
+ '@npmcli/package-json@5.2.1':
dependencies:
'@npmcli/git': 5.0.8
glob: 10.4.5
@@ -11293,7 +12042,7 @@ snapshots:
json-parse-even-better-errors: 3.0.2
normalize-package-data: 6.0.2
proc-log: 4.2.0
- semver: 7.6.3
+ semver: 7.7.3
transitivePeerDependencies:
- bluebird
@@ -11310,604 +12059,894 @@ snapshots:
'@npmcli/run-script@8.1.0':
dependencies:
'@npmcli/node-gyp': 3.0.0
- '@npmcli/package-json': 5.2.0
+ '@npmcli/package-json': 5.2.1
'@npmcli/promise-spawn': 7.0.2
- node-gyp: 10.2.0
+ node-gyp: 10.3.1
proc-log: 4.2.0
which: 4.0.0
transitivePeerDependencies:
- - bluebird
+ - bluebird
+ - supports-color
+
+ '@nuxt/cli@3.29.3(magicast@0.3.5)':
+ dependencies:
+ c12: 3.3.0(magicast@0.3.5)
+ citty: 0.1.6
+ clipboardy: 5.0.0
+ confbox: 0.2.2
+ consola: 3.4.2
+ defu: 6.1.4
+ exsolve: 1.0.7
+ fuse.js: 7.1.0
+ get-port-please: 3.2.0
+ giget: 2.0.0
+ h3: 1.15.4
+ jiti: 2.6.1
+ listhen: 1.9.0
+ nypm: 0.6.2
+ ofetch: 1.4.1
+ ohash: 2.0.11
+ pathe: 2.0.3
+ perfect-debounce: 2.0.0
+ pkg-types: 2.3.0
+ scule: 1.3.0
+ semver: 7.7.3
+ srvx: 0.8.16
+ std-env: 3.9.0
+ tinyexec: 1.0.1
+ ufo: 1.6.1
+ undici: 7.16.0
+ youch: 4.1.0-beta.11
+ transitivePeerDependencies:
+ - magicast
+
+ '@nuxt/devalue@2.0.2': {}
+
+ '@nuxt/devtools-kit@2.6.5(magicast@0.3.5)(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))':
+ dependencies:
+ '@nuxt/kit': 3.19.3(magicast@0.3.5)
+ execa: 8.0.1
+ vite: 7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
+ transitivePeerDependencies:
+ - magicast
+
+ '@nuxt/devtools-wizard@2.6.5':
+ dependencies:
+ consola: 3.4.2
+ diff: 8.0.2
+ execa: 8.0.1
+ magicast: 0.3.5
+ pathe: 2.0.3
+ pkg-types: 2.3.0
+ prompts: 2.4.2
+ semver: 7.7.3
+
+ '@nuxt/devtools@2.6.5(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))':
+ dependencies:
+ '@nuxt/devtools-kit': 2.6.5(magicast@0.3.5)(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))
+ '@nuxt/devtools-wizard': 2.6.5
+ '@nuxt/kit': 3.19.3(magicast@0.3.5)
+ '@vue/devtools-core': 7.7.7(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))
+ '@vue/devtools-kit': 7.7.7
+ birpc: 2.6.1
+ consola: 3.4.2
+ destr: 2.0.5
+ error-stack-parser-es: 1.0.5
+ execa: 8.0.1
+ fast-npm-meta: 0.4.7
+ get-port-please: 3.2.0
+ hookable: 5.5.3
+ image-meta: 0.2.2
+ is-installed-globally: 1.0.0
+ launch-editor: 2.11.1
+ local-pkg: 1.1.2
+ magicast: 0.3.5
+ nypm: 0.6.2
+ ohash: 2.0.11
+ pathe: 2.0.3
+ perfect-debounce: 1.0.0
+ pkg-types: 2.3.0
+ semver: 7.7.3
+ simple-git: 3.28.0
+ sirv: 3.0.2
+ structured-clone-es: 1.0.0
+ tinyglobby: 0.2.15
+ vite: 7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
+ vite-plugin-inspect: 11.3.3(@nuxt/kit@3.19.3(magicast@0.3.5))(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))
+ vite-plugin-vue-tracer: 1.0.1(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))
+ which: 5.0.0
+ ws: 8.18.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ - vue
+
+ '@nuxt/eslint-config@1.9.0(@typescript-eslint/utils@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@antfu/install-pkg': 1.1.0
+ '@clack/prompts': 0.11.0
+ '@eslint/js': 9.37.0
+ '@nuxt/eslint-plugin': 1.9.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
+ '@stylistic/eslint-plugin': 5.4.0(eslint@9.37.0(jiti@2.6.1))
+ '@typescript-eslint/eslint-plugin': 8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.37.0(jiti@2.6.1)
+ eslint-config-flat-gitignore: 2.1.0(eslint@9.37.0(jiti@2.6.1))
+ eslint-flat-config-utils: 2.1.4
+ eslint-merge-processors: 2.0.0(eslint@9.37.0(jiti@2.6.1))
+ eslint-plugin-import-lite: 0.3.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
+ eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))
+ eslint-plugin-jsdoc: 54.7.0(eslint@9.37.0(jiti@2.6.1))
+ eslint-plugin-regexp: 2.10.0(eslint@9.37.0(jiti@2.6.1))
+ eslint-plugin-unicorn: 60.0.0(eslint@9.37.0(jiti@2.6.1))
+ eslint-plugin-vue: 10.5.0(@stylistic/eslint-plugin@5.4.0(eslint@9.37.0(jiti@2.6.1)))(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.37.0(jiti@2.6.1)))
+ eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.37.0(jiti@2.6.1))
+ globals: 16.4.0
+ local-pkg: 1.1.2
+ pathe: 2.0.3
+ vue-eslint-parser: 10.2.0(eslint@9.37.0(jiti@2.6.1))
+ transitivePeerDependencies:
+ - '@typescript-eslint/utils'
+ - '@vue/compiler-sfc'
+ - eslint-import-resolver-node
+ - supports-color
+ - typescript
+
+ '@nuxt/eslint-plugin@1.9.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.37.0(jiti@2.6.1)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ '@nuxt/kit@3.19.3(magicast@0.3.5)':
+ dependencies:
+ c12: 3.3.0(magicast@0.3.5)
+ consola: 3.4.2
+ defu: 6.1.4
+ destr: 2.0.5
+ errx: 0.1.0
+ exsolve: 1.0.7
+ ignore: 7.0.5
+ jiti: 2.6.1
+ klona: 2.0.6
+ knitwork: 1.2.0
+ mlly: 1.8.0
+ ohash: 2.0.11
+ pathe: 2.0.3
+ pkg-types: 2.3.0
+ rc9: 2.1.2
+ scule: 1.3.0
+ semver: 7.7.3
+ std-env: 3.9.0
+ tinyglobby: 0.2.15
+ ufo: 1.6.1
+ unctx: 2.4.1
+ unimport: 5.4.1
+ untyped: 2.0.0
+ transitivePeerDependencies:
+ - magicast
+
+ '@nuxt/kit@4.1.2(magicast@0.3.5)':
+ dependencies:
+ c12: 3.3.0(magicast@0.3.5)
+ consola: 3.4.2
+ defu: 6.1.4
+ destr: 2.0.5
+ errx: 0.1.0
+ exsolve: 1.0.7
+ ignore: 7.0.5
+ jiti: 2.6.1
+ klona: 2.0.6
+ mlly: 1.8.0
+ ohash: 2.0.11
+ pathe: 2.0.3
+ pkg-types: 2.3.0
+ rc9: 2.1.2
+ scule: 1.3.0
+ semver: 7.7.3
+ std-env: 3.9.0
+ tinyglobby: 0.2.15
+ ufo: 1.6.1
+ unctx: 2.4.1
+ unimport: 5.4.1
+ untyped: 2.0.0
+ transitivePeerDependencies:
+ - magicast
+
+ '@nuxt/opencollective@0.4.1':
+ dependencies:
+ consola: 3.4.2
+
+ '@nuxt/schema@4.1.2':
+ dependencies:
+ '@vue/shared': 3.5.22
+ consola: 3.4.2
+ defu: 6.1.4
+ pathe: 2.0.3
+ pkg-types: 2.3.0
+ std-env: 3.9.0
+ ufo: 1.6.1
+
+ '@nuxt/telemetry@2.6.6(magicast@0.3.5)':
+ dependencies:
+ '@nuxt/kit': 3.19.3(magicast@0.3.5)
+ citty: 0.1.6
+ consola: 3.4.2
+ destr: 2.0.5
+ dotenv: 16.6.1
+ git-url-parse: 16.1.0
+ is-docker: 3.0.0
+ ofetch: 1.4.1
+ package-manager-detector: 1.4.0
+ pathe: 2.0.3
+ rc9: 2.1.2
+ std-env: 3.9.0
+ transitivePeerDependencies:
+ - magicast
+
+ '@nuxt/vite-builder@4.1.2(@types/node@24.7.2)(eslint@9.37.0(jiti@2.6.1))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.4)(sass@1.93.2)(terser@5.44.0)(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))(yaml@2.8.1)':
+ dependencies:
+ '@nuxt/kit': 4.1.2(magicast@0.3.5)
+ '@rollup/plugin-replace': 6.0.2(rollup@4.52.4)
+ '@vitejs/plugin-vue': 6.0.1(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))
+ '@vitejs/plugin-vue-jsx': 5.1.1(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))
+ autoprefixer: 10.4.21(postcss@8.5.6)
+ consola: 3.4.2
+ cssnano: 7.1.1(postcss@8.5.6)
+ defu: 6.1.4
+ esbuild: 0.25.10
+ escape-string-regexp: 5.0.0
+ exsolve: 1.0.7
+ get-port-please: 3.2.0
+ h3: 1.15.4
+ jiti: 2.6.1
+ knitwork: 1.2.0
+ magic-string: 0.30.19
+ mlly: 1.8.0
+ mocked-exports: 0.1.1
+ pathe: 2.0.3
+ pkg-types: 2.3.0
+ postcss: 8.5.6
+ rollup-plugin-visualizer: 6.0.4(rollup@4.52.4)
+ std-env: 3.9.0
+ ufo: 1.6.1
+ unenv: 2.0.0-rc.21
+ vite: 7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
+ vite-node: 3.2.4(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
+ vite-plugin-checker: 0.10.3(eslint@9.37.0(jiti@2.6.1))(optionator@0.9.4)(typescript@5.9.3)(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))
+ vue: 3.5.22(typescript@5.9.3)
+ vue-bundle-renderer: 2.2.0
+ transitivePeerDependencies:
+ - '@biomejs/biome'
+ - '@types/node'
+ - eslint
+ - less
+ - lightningcss
+ - magicast
+ - meow
+ - optionator
+ - rolldown
+ - rollup
+ - sass
+ - sass-embedded
+ - stylelint
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - typescript
+ - vls
+ - vti
+ - vue-tsc
+ - yaml
+
+ '@nuxtjs/google-fonts@3.2.0(magicast@0.3.5)':
+ dependencies:
+ '@nuxt/kit': 3.19.3(magicast@0.3.5)
+ google-fonts-helper: 3.7.3
+ pathe: 1.1.2
+ transitivePeerDependencies:
+ - magicast
+
+ '@opentelemetry/api-logs@0.204.0':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+
+ '@opentelemetry/api-logs@0.55.0':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+
+ '@opentelemetry/api-logs@0.57.2':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+
+ '@opentelemetry/api@1.9.0': {}
+
+ '@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+
+ '@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+
+ '@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/semantic-conventions': 1.28.0
+
+ '@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/semantic-conventions': 1.37.0
+
+ '@opentelemetry/exporter-zipkin@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.28.0
+
+ '@opentelemetry/instrumentation-amqplib@0.51.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-connect@0.48.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ '@types/connect': 3.4.38
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-dataloader@0.22.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
- supports-color
- '@nuxt/devalue@2.0.2': {}
+ '@opentelemetry/instrumentation-express@0.53.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ transitivePeerDependencies:
+ - supports-color
- '@nuxt/devtools-kit@1.3.14(magicast@0.3.4)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(webpack-sources@3.2.3)':
+ '@opentelemetry/instrumentation-fs@0.24.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@nuxt/kit': 3.13.0(magicast@0.3.4)(rollup@4.24.4)(webpack-sources@3.2.3)
- '@nuxt/schema': 3.13.0(rollup@4.24.4)
- execa: 7.2.0
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- - magicast
- - rollup
- supports-color
- - webpack-sources
- '@nuxt/devtools-kit@1.6.0(magicast@0.3.5)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(webpack-sources@3.2.3)':
+ '@opentelemetry/instrumentation-generic-pool@0.48.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
- '@nuxt/schema': 3.14.159(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
- execa: 7.2.0
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- - magicast
- - rollup
- supports-color
- - webpack-sources
- '@nuxt/devtools-wizard@1.3.14':
+ '@opentelemetry/instrumentation-graphql@0.52.0(@opentelemetry/api@1.9.0)':
dependencies:
- consola: 3.2.3
- diff: 5.2.0
- execa: 7.2.0
- global-directory: 4.0.1
- magicast: 0.3.4
- pathe: 1.1.2
- pkg-types: 1.2.0
- prompts: 2.4.2
- rc9: 2.1.2
- semver: 7.6.3
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
- '@nuxt/devtools-wizard@1.6.0':
+ '@opentelemetry/instrumentation-grpc@0.55.0(@opentelemetry/api@1.9.0)':
dependencies:
- consola: 3.2.3
- diff: 7.0.0
- execa: 7.2.0
- global-directory: 4.0.1
- magicast: 0.3.5
- pathe: 1.1.2
- pkg-types: 1.2.1
- prompts: 2.4.2
- rc9: 2.1.2
- semver: 7.6.3
-
- '@nuxt/devtools@1.3.14(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(webpack-sources@3.2.3)':
- dependencies:
- '@antfu/utils': 0.7.10
- '@nuxt/devtools-kit': 1.3.14(magicast@0.3.4)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(webpack-sources@3.2.3)
- '@nuxt/devtools-wizard': 1.3.14
- '@nuxt/kit': 3.13.0(magicast@0.3.4)(rollup@4.24.4)(webpack-sources@3.2.3)
- '@vue/devtools-core': 7.3.3(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))
- '@vue/devtools-kit': 7.3.3
- birpc: 0.2.17
- consola: 3.2.3
- cronstrue: 2.50.0
- destr: 2.0.3
- error-stack-parser-es: 0.1.5
- execa: 7.2.0
- fast-glob: 3.3.2
- fast-npm-meta: 0.2.2
- flatted: 3.3.1
- get-port-please: 3.1.2
- hookable: 5.5.3
- image-meta: 0.2.1
- is-installed-globally: 1.0.0
- launch-editor: 2.8.1
- local-pkg: 0.5.0
- magicast: 0.3.4
- nypm: 0.3.11
- ohash: 1.1.3
- pathe: 1.1.2
- perfect-debounce: 1.0.0
- pkg-types: 1.2.0
- rc9: 2.1.2
- scule: 1.3.0
- semver: 7.6.3
- simple-git: 3.25.0
- sirv: 2.0.4
- unimport: 3.11.1(rollup@4.24.4)
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
- vite-plugin-inspect: 0.8.7(@nuxt/kit@3.13.0(magicast@0.3.4)(rollup@4.24.4)(webpack-sources@3.2.3))(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))
- vite-plugin-vue-inspector: 5.1.3(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))
- which: 3.0.1
- ws: 8.18.0
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.55.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.27.0
transitivePeerDependencies:
- - bufferutil
- - rollup
- supports-color
- - utf-8-validate
- - webpack-sources
-
- '@nuxt/devtools@1.6.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)':
- dependencies:
- '@antfu/utils': 0.7.10
- '@nuxt/devtools-kit': 1.6.0(magicast@0.3.5)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(webpack-sources@3.2.3)
- '@nuxt/devtools-wizard': 1.6.0
- '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
- '@vue/devtools-core': 7.4.4(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
- '@vue/devtools-kit': 7.4.4
- birpc: 0.2.19
- consola: 3.2.3
- cronstrue: 2.50.0
- destr: 2.0.3
- error-stack-parser-es: 0.1.5
- execa: 7.2.0
- fast-npm-meta: 0.2.2
- flatted: 3.3.1
- get-port-please: 3.1.2
- hookable: 5.5.3
- image-meta: 0.2.1
- is-installed-globally: 1.0.0
- launch-editor: 2.9.1
- local-pkg: 0.5.0
- magicast: 0.3.5
- nypm: 0.3.12
- ohash: 1.1.4
- pathe: 1.1.2
- perfect-debounce: 1.0.0
- pkg-types: 1.2.1
- rc9: 2.1.2
- scule: 1.3.0
- semver: 7.6.3
- simple-git: 3.27.0
- sirv: 2.0.4
- tinyglobby: 0.2.10
- unimport: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3)
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
- vite-plugin-inspect: 0.8.7(@nuxt/kit@3.14.159(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3))(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))
- vite-plugin-vue-inspector: 5.1.3(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))
- which: 3.0.1
- ws: 8.18.0
+
+ '@opentelemetry/instrumentation-hapi@0.51.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
transitivePeerDependencies:
- - bufferutil
- - rollup
- supports-color
- - utf-8-validate
- - vue
- - webpack-sources
-
- '@nuxt/eslint-config@0.6.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)':
- dependencies:
- '@eslint/js': 9.14.0
- '@nuxt/eslint-plugin': 0.6.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- '@stylistic/eslint-plugin': 2.10.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/eslint-plugin': 8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- eslint: 9.14.0(jiti@2.4.0)
- eslint-config-flat-gitignore: 0.3.0(eslint@9.14.0(jiti@2.4.0))
- eslint-flat-config-utils: 0.4.0
- eslint-plugin-import-x: 4.4.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- eslint-plugin-jsdoc: 50.4.3(eslint@9.14.0(jiti@2.4.0))
- eslint-plugin-regexp: 2.6.0(eslint@9.14.0(jiti@2.4.0))
- eslint-plugin-unicorn: 56.0.0(eslint@9.14.0(jiti@2.4.0))
- eslint-plugin-vue: 9.30.0(eslint@9.14.0(jiti@2.4.0))
- globals: 15.12.0
- local-pkg: 0.5.0
- pathe: 1.1.2
- vue-eslint-parser: 9.4.3(eslint@9.14.0(jiti@2.4.0))
+
+ '@opentelemetry/instrumentation-http@0.204.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ forwarded-parse: 2.1.2
transitivePeerDependencies:
- supports-color
- - typescript
- '@nuxt/eslint-plugin@0.6.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@opentelemetry/instrumentation-ioredis@0.52.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@typescript-eslint/types': 8.13.0
- '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- eslint: 9.14.0(jiti@2.4.0)
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/redis-common': 0.38.2
+ '@opentelemetry/semantic-conventions': 1.37.0
transitivePeerDependencies:
- supports-color
- - typescript
- '@nuxt/kit@3.13.0(magicast@0.3.4)(rollup@4.24.4)(webpack-sources@3.2.3)':
+ '@opentelemetry/instrumentation-kafkajs@0.14.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@nuxt/schema': 3.13.0(rollup@4.24.4)
- c12: 1.11.1(magicast@0.3.4)
- consola: 3.2.3
- defu: 6.1.4
- destr: 2.0.3
- globby: 14.0.2
- hash-sum: 2.0.0
- ignore: 5.3.2
- jiti: 1.21.6
- klona: 2.0.6
- knitwork: 1.1.0
- mlly: 1.7.1
- pathe: 1.1.2
- pkg-types: 1.2.0
- scule: 1.3.0
- semver: 7.6.3
- ufo: 1.5.4
- unctx: 2.3.1(webpack-sources@3.2.3)
- unimport: 3.11.1(rollup@4.24.4)
- untyped: 1.4.2
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
transitivePeerDependencies:
- - magicast
- - rollup
- supports-color
- - webpack-sources
- '@nuxt/kit@3.13.0(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)':
+ '@opentelemetry/instrumentation-knex@0.49.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@nuxt/schema': 3.13.0(rollup@4.24.4)
- c12: 1.11.1(magicast@0.3.5)
- consola: 3.2.3
- defu: 6.1.4
- destr: 2.0.3
- globby: 14.0.2
- hash-sum: 2.0.0
- ignore: 5.3.2
- jiti: 1.21.6
- klona: 2.0.6
- knitwork: 1.1.0
- mlly: 1.7.1
- pathe: 1.1.2
- pkg-types: 1.2.0
- scule: 1.3.0
- semver: 7.6.3
- ufo: 1.5.4
- unctx: 2.3.1(webpack-sources@3.2.3)
- unimport: 3.11.1(rollup@4.24.4)
- untyped: 1.4.2
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
transitivePeerDependencies:
- - magicast
- - rollup
- supports-color
- - webpack-sources
- '@nuxt/kit@3.14.159(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)':
+ '@opentelemetry/instrumentation-koa@0.52.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@nuxt/schema': 3.14.159(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
- c12: 2.0.1(magicast@0.3.5)
- consola: 3.2.3
- defu: 6.1.4
- destr: 2.0.3
- globby: 14.0.2
- hash-sum: 2.0.0
- ignore: 6.0.2
- jiti: 2.4.0
- klona: 2.0.6
- knitwork: 1.1.0
- mlly: 1.7.2
- pathe: 1.1.2
- pkg-types: 1.2.1
- scule: 1.3.0
- semver: 7.6.3
- ufo: 1.5.4
- unctx: 2.3.1(webpack-sources@3.2.3)
- unimport: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3)
- untyped: 1.5.1
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
transitivePeerDependencies:
- - magicast
- - rollup
- supports-color
- - webpack-sources
- '@nuxt/schema@3.13.0(rollup@4.24.4)':
+ '@opentelemetry/instrumentation-lru-memoizer@0.49.0(@opentelemetry/api@1.9.0)':
dependencies:
- compatx: 0.1.8
- consola: 3.2.3
- defu: 6.1.4
- hookable: 5.5.3
- pathe: 1.1.2
- pkg-types: 1.2.0
- scule: 1.3.0
- std-env: 3.7.0
- ufo: 1.5.4
- uncrypto: 0.1.3
- unimport: 3.11.1(rollup@4.24.4)
- untyped: 1.4.2
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- - rollup
- supports-color
- '@nuxt/schema@3.14.159(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)':
+ '@opentelemetry/instrumentation-mongodb@0.57.0(@opentelemetry/api@1.9.0)':
dependencies:
- c12: 2.0.1(magicast@0.3.5)
- compatx: 0.1.8
- consola: 3.2.3
- defu: 6.1.4
- hookable: 5.5.3
- pathe: 1.1.2
- pkg-types: 1.2.1
- scule: 1.3.0
- std-env: 3.7.0
- ufo: 1.5.4
- uncrypto: 0.1.3
- unimport: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3)
- untyped: 1.5.1
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
transitivePeerDependencies:
- - magicast
- - rollup
- supports-color
- - webpack-sources
- '@nuxt/telemetry@2.6.0(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)':
+ '@opentelemetry/instrumentation-mongoose@0.51.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
- ci-info: 4.0.0
- consola: 3.2.3
- create-require: 1.1.1
- defu: 6.1.4
- destr: 2.0.3
- dotenv: 16.4.5
- git-url-parse: 15.0.0
- is-docker: 3.0.0
- jiti: 1.21.6
- mri: 1.2.0
- nanoid: 5.0.7
- ofetch: 1.4.1
- package-manager-detector: 0.2.2
- parse-git-config: 3.0.0
- pathe: 1.1.2
- rc9: 2.1.2
- std-env: 3.7.0
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
transitivePeerDependencies:
- - magicast
- - rollup
- supports-color
- - webpack-sources
-
- '@nuxt/vite-builder@3.13.0(@types/node@22.9.0)(eslint@9.14.0(jiti@2.4.0))(magicast@0.3.5)(meow@10.1.5)(optionator@0.9.4)(rollup@4.24.4)(sass@1.79.5)(terser@5.36.0)(typescript@5.6.3)(vue-tsc@2.1.6(typescript@5.6.3))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)':
- dependencies:
- '@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
- '@rollup/plugin-replace': 5.0.7(rollup@4.24.4)
- '@vitejs/plugin-vue': 5.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
- '@vitejs/plugin-vue-jsx': 4.0.1(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
- autoprefixer: 10.4.20(postcss@8.4.47)
- clear: 0.1.0
- consola: 3.2.3
- cssnano: 7.0.6(postcss@8.4.47)
- defu: 6.1.4
- esbuild: 0.23.1
- escape-string-regexp: 5.0.0
- estree-walker: 3.0.3
- externality: 1.0.2
- get-port-please: 3.1.2
- h3: 1.13.0
- knitwork: 1.1.0
- magic-string: 0.30.12
- mlly: 1.7.2
- ohash: 1.1.4
- pathe: 1.1.2
- perfect-debounce: 1.0.0
- pkg-types: 1.2.1
- postcss: 8.4.47
- rollup-plugin-visualizer: 5.12.0(rollup@4.24.4)
- std-env: 3.7.0
- strip-literal: 2.1.0
- ufo: 1.5.4
- unenv: 1.10.0
- unplugin: 1.15.0(webpack-sources@3.2.3)
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
- vite-node: 2.1.4(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
- vite-plugin-checker: 0.7.2(eslint@9.14.0(jiti@2.4.0))(meow@10.1.5)(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue-tsc@2.1.6(typescript@5.6.3))
- vue: 3.5.12(typescript@5.6.3)
- vue-bundle-renderer: 2.1.1
+
+ '@opentelemetry/instrumentation-mysql2@0.51.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- - '@biomejs/biome'
- - '@types/node'
- - eslint
- - less
- - lightningcss
- - magicast
- - meow
- - optionator
- - rollup
- - sass
- - sass-embedded
- - stylelint
- - stylus
- - sugarss
- supports-color
- - terser
- - typescript
- - vls
- - vti
- - vue-tsc
- - webpack-sources
- '@nuxtjs/google-fonts@3.2.0(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)':
+ '@opentelemetry/instrumentation-mysql@0.50.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
- google-fonts-helper: 3.6.0
- pathe: 1.1.2
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ '@types/mysql': 2.15.27
transitivePeerDependencies:
- - magicast
- - rollup
- supports-color
- - webpack-sources
- '@one-ini/wasm@0.1.1': {}
+ '@opentelemetry/instrumentation-nestjs-core@0.50.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ transitivePeerDependencies:
+ - supports-color
- '@opentelemetry/api-logs@0.52.1':
+ '@opentelemetry/instrumentation-pg@0.57.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0)
+ '@types/pg': 8.15.5
+ '@types/pg-pool': 2.0.6
+ transitivePeerDependencies:
+ - supports-color
- '@opentelemetry/api@1.9.0': {}
+ '@opentelemetry/instrumentation-redis@0.53.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/redis-common': 0.38.2
+ '@opentelemetry/semantic-conventions': 1.37.0
+ transitivePeerDependencies:
+ - supports-color
- '@opentelemetry/context-async-hooks@1.25.1(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/instrumentation-tedious@0.23.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ '@types/tedious': 4.0.14
+ transitivePeerDependencies:
+ - supports-color
- '@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/instrumentation-undici@0.15.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/semantic-conventions': 1.25.1
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
- '@opentelemetry/exporter-zipkin@1.25.1(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/instrumentation@0.204.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/semantic-conventions': 1.25.1
+ '@opentelemetry/api-logs': 0.204.0
+ import-in-the-middle: 1.15.0
+ require-in-the-middle: 7.5.2
+ transitivePeerDependencies:
+ - supports-color
- '@opentelemetry/instrumentation-grpc@0.52.1(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/instrumentation@0.55.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/semantic-conventions': 1.25.1
+ '@opentelemetry/api-logs': 0.55.0
+ '@types/shimmer': 1.2.0
+ import-in-the-middle: 1.15.0
+ require-in-the-middle: 7.5.2
+ semver: 7.7.3
+ shimmer: 1.2.1
transitivePeerDependencies:
- supports-color
- '@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/api-logs': 0.52.1
+ '@opentelemetry/api-logs': 0.57.2
'@types/shimmer': 1.2.0
- import-in-the-middle: 1.11.0
- require-in-the-middle: 7.4.0
- semver: 7.6.3
+ import-in-the-middle: 1.15.0
+ require-in-the-middle: 7.5.2
+ semver: 7.7.3
shimmer: 1.2.1
transitivePeerDependencies:
- supports-color
- '@opentelemetry/propagator-b3@1.25.1(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/propagator-b3@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
+
+ '@opentelemetry/propagator-jaeger@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
+
+ '@opentelemetry/redis-common@0.38.2': {}
+
+ '@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.28.0
+
+ '@opentelemetry/resources@2.1.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+
+ '@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.28.0
+
+ '@opentelemetry/sdk-trace-base@2.1.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
- '@opentelemetry/propagator-jaeger@1.25.1(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/sdk-trace-node@1.30.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/propagator-b3': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/propagator-jaeger': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0)
+ semver: 7.7.3
+
+ '@opentelemetry/semantic-conventions@1.27.0': {}
+
+ '@opentelemetry/semantic-conventions@1.28.0': {}
- '@opentelemetry/resources@1.25.1(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/semantic-conventions@1.37.0': {}
+
+ '@opentelemetry/sql-common@0.41.2(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/semantic-conventions': 1.25.1
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+
+ '@oxc-minify/binding-android-arm64@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-darwin-arm64@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-darwin-x64@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-freebsd-x64@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-linux-arm-gnueabihf@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-linux-arm-musleabihf@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-linux-arm64-gnu@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-linux-arm64-musl@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-linux-riscv64-gnu@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-linux-s390x-gnu@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-linux-x64-gnu@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-linux-x64-musl@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-wasm32-wasi@0.87.0':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.0.7
+ optional: true
+
+ '@oxc-minify/binding-win32-arm64-msvc@0.87.0':
+ optional: true
+
+ '@oxc-minify/binding-win32-x64-msvc@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-android-arm64@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-darwin-arm64@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-darwin-x64@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-freebsd-x64@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm-musleabihf@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm64-gnu@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm64-musl@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-riscv64-gnu@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-s390x-gnu@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-x64-gnu@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-x64-musl@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-wasm32-wasi@0.87.0':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.0.7
+ optional: true
+
+ '@oxc-parser/binding-win32-arm64-msvc@0.87.0':
+ optional: true
+
+ '@oxc-parser/binding-win32-x64-msvc@0.87.0':
+ optional: true
+
+ '@oxc-project/types@0.87.0': {}
+
+ '@oxc-transform/binding-android-arm64@0.87.0':
+ optional: true
+
+ '@oxc-transform/binding-darwin-arm64@0.87.0':
+ optional: true
+
+ '@oxc-transform/binding-darwin-x64@0.87.0':
+ optional: true
+
+ '@oxc-transform/binding-freebsd-x64@0.87.0':
+ optional: true
+
+ '@oxc-transform/binding-linux-arm-gnueabihf@0.87.0':
+ optional: true
+
+ '@oxc-transform/binding-linux-arm-musleabihf@0.87.0':
+ optional: true
+
+ '@oxc-transform/binding-linux-arm64-gnu@0.87.0':
+ optional: true
+
+ '@oxc-transform/binding-linux-arm64-musl@0.87.0':
+ optional: true
+
+ '@oxc-transform/binding-linux-riscv64-gnu@0.87.0':
+ optional: true
+
+ '@oxc-transform/binding-linux-s390x-gnu@0.87.0':
+ optional: true
- '@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0)':
- dependencies:
- '@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/semantic-conventions': 1.25.1
+ '@oxc-transform/binding-linux-x64-gnu@0.87.0':
+ optional: true
+
+ '@oxc-transform/binding-linux-x64-musl@0.87.0':
+ optional: true
- '@opentelemetry/sdk-trace-node@1.25.1(@opentelemetry/api@1.9.0)':
+ '@oxc-transform/binding-wasm32-wasi@0.87.0':
dependencies:
- '@opentelemetry/api': 1.9.0
- '@opentelemetry/context-async-hooks': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/propagator-b3': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/propagator-jaeger': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
- semver: 7.6.3
+ '@napi-rs/wasm-runtime': 1.0.7
+ optional: true
- '@opentelemetry/semantic-conventions@1.25.1': {}
+ '@oxc-transform/binding-win32-arm64-msvc@0.87.0':
+ optional: true
- '@opentelemetry/semantic-conventions@1.26.0': {}
+ '@oxc-transform/binding-win32-x64-msvc@0.87.0':
+ optional: true
'@paralleldrive/cuid2@2.2.2':
dependencies:
- '@noble/hashes': 1.4.0
+ '@noble/hashes': 1.8.0
+
+ '@parcel/watcher-android-arm64@2.5.1':
+ optional: true
- '@parcel/watcher-android-arm64@2.4.1':
+ '@parcel/watcher-darwin-arm64@2.5.1':
optional: true
- '@parcel/watcher-darwin-arm64@2.4.1':
+ '@parcel/watcher-darwin-x64@2.5.1':
optional: true
- '@parcel/watcher-darwin-x64@2.4.1':
+ '@parcel/watcher-freebsd-x64@2.5.1':
optional: true
- '@parcel/watcher-freebsd-x64@2.4.1':
+ '@parcel/watcher-linux-arm-glibc@2.5.1':
optional: true
- '@parcel/watcher-linux-arm-glibc@2.4.1':
+ '@parcel/watcher-linux-arm-musl@2.5.1':
optional: true
- '@parcel/watcher-linux-arm64-glibc@2.4.1':
+ '@parcel/watcher-linux-arm64-glibc@2.5.1':
optional: true
- '@parcel/watcher-linux-arm64-musl@2.4.1':
+ '@parcel/watcher-linux-arm64-musl@2.5.1':
optional: true
- '@parcel/watcher-linux-x64-glibc@2.4.1':
+ '@parcel/watcher-linux-x64-glibc@2.5.1':
optional: true
- '@parcel/watcher-linux-x64-musl@2.4.1':
+ '@parcel/watcher-linux-x64-musl@2.5.1':
optional: true
- '@parcel/watcher-wasm@2.4.1':
+ '@parcel/watcher-wasm@2.5.1':
dependencies:
is-glob: 4.0.3
micromatch: 4.0.8
- '@parcel/watcher-win32-arm64@2.4.1':
+ '@parcel/watcher-win32-arm64@2.5.1':
optional: true
- '@parcel/watcher-win32-ia32@2.4.1':
+ '@parcel/watcher-win32-ia32@2.5.1':
optional: true
- '@parcel/watcher-win32-x64@2.4.1':
+ '@parcel/watcher-win32-x64@2.5.1':
optional: true
- '@parcel/watcher@2.4.1':
+ '@parcel/watcher@2.5.1':
dependencies:
detect-libc: 1.0.3
is-glob: 4.0.3
micromatch: 4.0.8
node-addon-api: 7.1.1
optionalDependencies:
- '@parcel/watcher-android-arm64': 2.4.1
- '@parcel/watcher-darwin-arm64': 2.4.1
- '@parcel/watcher-darwin-x64': 2.4.1
- '@parcel/watcher-freebsd-x64': 2.4.1
- '@parcel/watcher-linux-arm-glibc': 2.4.1
- '@parcel/watcher-linux-arm64-glibc': 2.4.1
- '@parcel/watcher-linux-arm64-musl': 2.4.1
- '@parcel/watcher-linux-x64-glibc': 2.4.1
- '@parcel/watcher-linux-x64-musl': 2.4.1
- '@parcel/watcher-win32-arm64': 2.4.1
- '@parcel/watcher-win32-ia32': 2.4.1
- '@parcel/watcher-win32-x64': 2.4.1
-
- '@percy/cli-app@1.30.1(typescript@5.6.3)':
- dependencies:
- '@percy/cli-command': 1.30.1(typescript@5.6.3)
- '@percy/cli-exec': 1.30.1(typescript@5.6.3)
+ '@parcel/watcher-android-arm64': 2.5.1
+ '@parcel/watcher-darwin-arm64': 2.5.1
+ '@parcel/watcher-darwin-x64': 2.5.1
+ '@parcel/watcher-freebsd-x64': 2.5.1
+ '@parcel/watcher-linux-arm-glibc': 2.5.1
+ '@parcel/watcher-linux-arm-musl': 2.5.1
+ '@parcel/watcher-linux-arm64-glibc': 2.5.1
+ '@parcel/watcher-linux-arm64-musl': 2.5.1
+ '@parcel/watcher-linux-x64-glibc': 2.5.1
+ '@parcel/watcher-linux-x64-musl': 2.5.1
+ '@parcel/watcher-win32-arm64': 2.5.1
+ '@parcel/watcher-win32-ia32': 2.5.1
+ '@parcel/watcher-win32-x64': 2.5.1
+
+ '@percy/cli-app@1.31.3(typescript@5.9.3)':
+ dependencies:
+ '@percy/cli-command': 1.31.3(typescript@5.9.3)
+ '@percy/cli-exec': 1.31.3(typescript@5.9.3)
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
- '@percy/cli-build@1.30.1(typescript@5.6.3)':
+ '@percy/cli-build@1.31.3(typescript@5.9.3)':
dependencies:
- '@percy/cli-command': 1.30.1(typescript@5.6.3)
+ '@percy/cli-command': 1.31.3(typescript@5.9.3)
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
- '@percy/cli-command@1.30.1(typescript@5.6.3)':
+ '@percy/cli-command@1.31.3(typescript@5.9.3)':
dependencies:
- '@percy/config': 1.30.1(typescript@5.6.3)
- '@percy/core': 1.30.1(typescript@5.6.3)
- '@percy/logger': 1.30.1
+ '@percy/config': 1.31.3(typescript@5.9.3)
+ '@percy/core': 1.31.3(typescript@5.9.3)
+ '@percy/logger': 1.31.3
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
- '@percy/cli-config@1.30.1(typescript@5.6.3)':
+ '@percy/cli-config@1.31.3(typescript@5.9.3)':
dependencies:
- '@percy/cli-command': 1.30.1(typescript@5.6.3)
+ '@percy/cli-command': 1.31.3(typescript@5.9.3)
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
- '@percy/cli-exec@1.30.1(typescript@5.6.3)':
+ '@percy/cli-exec@1.31.3(typescript@5.9.3)':
dependencies:
- '@percy/cli-command': 1.30.1(typescript@5.6.3)
- '@percy/logger': 1.30.1
- cross-spawn: 7.0.3
+ '@percy/cli-command': 1.31.3(typescript@5.9.3)
+ '@percy/logger': 1.31.3
+ cross-spawn: 7.0.6
which: 2.0.2
transitivePeerDependencies:
- bufferutil
@@ -11915,130 +12954,164 @@ snapshots:
- typescript
- utf-8-validate
- '@percy/cli-snapshot@1.30.1(typescript@5.6.3)':
+ '@percy/cli-snapshot@1.31.3(typescript@5.9.3)':
dependencies:
- '@percy/cli-command': 1.30.1(typescript@5.6.3)
- yaml: 2.5.0
+ '@percy/cli-command': 1.31.3(typescript@5.9.3)
+ yaml: 2.8.1
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
- '@percy/cli-upload@1.30.1(typescript@5.6.3)':
+ '@percy/cli-upload@1.31.3(typescript@5.9.3)':
dependencies:
- '@percy/cli-command': 1.30.1(typescript@5.6.3)
- fast-glob: 3.3.2
- image-size: 1.1.1
+ '@percy/cli-command': 1.31.3(typescript@5.9.3)
+ fast-glob: 3.3.3
+ image-size: 1.2.1
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
- '@percy/cli@1.30.1(typescript@5.6.3)':
- dependencies:
- '@percy/cli-app': 1.30.1(typescript@5.6.3)
- '@percy/cli-build': 1.30.1(typescript@5.6.3)
- '@percy/cli-command': 1.30.1(typescript@5.6.3)
- '@percy/cli-config': 1.30.1(typescript@5.6.3)
- '@percy/cli-exec': 1.30.1(typescript@5.6.3)
- '@percy/cli-snapshot': 1.30.1(typescript@5.6.3)
- '@percy/cli-upload': 1.30.1(typescript@5.6.3)
- '@percy/client': 1.30.1
- '@percy/logger': 1.30.1
+ '@percy/cli@1.31.3(typescript@5.9.3)':
+ dependencies:
+ '@percy/cli-app': 1.31.3(typescript@5.9.3)
+ '@percy/cli-build': 1.31.3(typescript@5.9.3)
+ '@percy/cli-command': 1.31.3(typescript@5.9.3)
+ '@percy/cli-config': 1.31.3(typescript@5.9.3)
+ '@percy/cli-exec': 1.31.3(typescript@5.9.3)
+ '@percy/cli-snapshot': 1.31.3(typescript@5.9.3)
+ '@percy/cli-upload': 1.31.3(typescript@5.9.3)
+ '@percy/client': 1.31.3(typescript@5.9.3)
+ '@percy/logger': 1.31.3
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
- '@percy/client@1.30.1':
+ '@percy/client@1.31.3(typescript@5.9.3)':
dependencies:
- '@percy/env': 1.30.1
- '@percy/logger': 1.30.1
+ '@percy/config': 1.31.3(typescript@5.9.3)
+ '@percy/env': 1.31.3
+ '@percy/logger': 1.31.3
+ pac-proxy-agent: 7.2.0
pako: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
- '@percy/config@1.30.1(typescript@5.6.3)':
+ '@percy/config@1.31.3(typescript@5.9.3)':
dependencies:
- '@percy/logger': 1.30.1
+ '@percy/logger': 1.31.3
ajv: 8.17.1
- cosmiconfig: 8.3.6(typescript@5.6.3)
- yaml: 2.5.0
+ cosmiconfig: 8.3.6(typescript@5.9.3)
+ yaml: 2.8.1
transitivePeerDependencies:
- typescript
- '@percy/core@1.30.1(typescript@5.6.3)':
+ '@percy/core@1.31.3(typescript@5.9.3)':
dependencies:
- '@percy/client': 1.30.1
- '@percy/config': 1.30.1(typescript@5.6.3)
- '@percy/dom': 1.30.1
- '@percy/logger': 1.30.1
- '@percy/webdriver-utils': 1.30.1(typescript@5.6.3)
+ '@percy/client': 1.31.3(typescript@5.9.3)
+ '@percy/config': 1.31.3(typescript@5.9.3)
+ '@percy/dom': 1.31.3
+ '@percy/logger': 1.31.3
+ '@percy/monitoring': 1.31.3(typescript@5.9.3)
+ '@percy/webdriver-utils': 1.31.3(typescript@5.9.3)
content-disposition: 0.5.4
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
extract-zip: 2.0.1
- fast-glob: 3.3.2
+ fast-glob: 3.3.3
micromatch: 4.0.8
mime-types: 2.1.35
pako: 2.1.0
path-to-regexp: 6.3.0
rimraf: 3.0.2
- ws: 8.18.0
- yaml: 2.5.0
+ ws: 8.18.3
+ yaml: 2.8.1
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
- '@percy/dom@1.30.1': {}
+ '@percy/dom@1.31.3': {}
- '@percy/env@1.30.1':
+ '@percy/env@1.31.3':
dependencies:
- '@percy/logger': 1.30.1
+ '@percy/logger': 1.31.3
- '@percy/logger@1.30.1': {}
+ '@percy/logger@1.31.3': {}
+
+ '@percy/monitoring@1.31.3(typescript@5.9.3)':
+ dependencies:
+ '@percy/config': 1.31.3(typescript@5.9.3)
+ '@percy/logger': 1.31.3
+ '@percy/sdk-utils': 1.31.3
+ systeminformation: 5.27.11
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
- '@percy/playwright@1.0.6(playwright-core@1.46.1)':
+ '@percy/playwright@1.0.9(playwright-core@1.56.0)':
dependencies:
- playwright-core: 1.46.1
+ playwright-core: 1.56.0
- '@percy/sdk-utils@1.30.1': {}
+ '@percy/sdk-utils@1.31.3':
+ dependencies:
+ pac-proxy-agent: 7.2.0
+ transitivePeerDependencies:
+ - supports-color
- '@percy/webdriver-utils@1.30.1(typescript@5.6.3)':
+ '@percy/webdriver-utils@1.31.3(typescript@5.9.3)':
dependencies:
- '@percy/config': 1.30.1(typescript@5.6.3)
- '@percy/sdk-utils': 1.30.1
+ '@percy/config': 1.31.3(typescript@5.9.3)
+ '@percy/sdk-utils': 1.31.3
transitivePeerDependencies:
+ - supports-color
- typescript
- '@pinia/nuxt@0.5.5(magicast@0.3.5)(rollup@4.24.4)(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)':
+ '@pinia/nuxt@0.11.2(magicast@0.3.5)(pinia@3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)))':
dependencies:
- '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
- pinia: 2.2.6(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))
+ '@nuxt/kit': 3.19.3(magicast@0.3.5)
+ pinia: 3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))
transitivePeerDependencies:
- - '@vue/composition-api'
- magicast
- - rollup
- - supports-color
- - typescript
- - vue
- - webpack-sources
'@pkgjs/parseargs@0.11.0':
optional: true
- '@pkgr/core@0.1.1': {}
+ '@pkgr/core@0.2.9': {}
- '@playwright/test@1.46.1':
+ '@playwright/test@1.56.0':
dependencies:
- playwright: 1.46.1
+ playwright: 1.56.0
- '@polka/url@1.0.0-next.25': {}
+ '@polka/url@1.0.0-next.29': {}
'@popperjs/core@2.11.8': {}
+ '@poppinss/colors@4.1.5':
+ dependencies:
+ kleur: 4.1.5
+
+ '@poppinss/dumper@0.6.4':
+ dependencies:
+ '@poppinss/colors': 4.1.5
+ '@sindresorhus/is': 7.1.0
+ supports-color: 10.2.2
+
+ '@poppinss/exception@1.2.2': {}
+
+ '@prisma/instrumentation@6.15.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
+
'@protobufjs/aspromise@1.1.2': {}
'@protobufjs/base64@1.1.2': {}
@@ -12062,53 +13135,52 @@ snapshots:
'@protobufjs/utf8@1.1.0': {}
- '@pulumi/aws@5.43.0(typescript@5.6.3)':
+ '@pulumi/aws@6.83.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)':
dependencies:
- '@pulumi/pulumi': 3.138.0(typescript@5.6.3)
- aws-sdk: 2.1682.0
- builtin-modules: 3.0.0
+ '@pulumi/pulumi': 3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
mime: 2.6.0
- read-package-tree: 5.3.1
- resolve: 1.22.8
transitivePeerDependencies:
- bluebird
- supports-color
- ts-node
- typescript
- '@pulumi/aws@6.58.0(typescript@5.6.3)':
+ '@pulumi/aws@7.8.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)':
dependencies:
- '@pulumi/pulumi': 3.138.0(typescript@5.6.3)
- builtin-modules: 3.0.0
+ '@pulumi/pulumi': 3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
mime: 2.6.0
- resolve: 1.22.8
transitivePeerDependencies:
- bluebird
- supports-color
- ts-node
- typescript
- '@pulumi/awsx@1.0.6(typescript@5.6.3)':
+ '@pulumi/awsx@2.22.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)':
dependencies:
- '@pulumi/aws': 5.43.0(typescript@5.6.3)
- '@pulumi/docker': 3.6.1(typescript@5.6.3)
- '@pulumi/pulumi': 3.138.0(typescript@5.6.3)
- '@types/aws-lambda': 8.10.143
+ '@aws-sdk/client-ecs': 3.908.0
+ '@pulumi/aws': 6.83.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@pulumi/docker': 4.9.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@pulumi/docker-build': 0.0.8(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@pulumi/pulumi': 3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@types/aws-lambda': 8.10.155
+ docker-classic: '@pulumi/docker@3.6.1(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)'
mime: 2.6.0
transitivePeerDependencies:
+ - aws-crt
- bluebird
- supports-color
- ts-node
- typescript
- '@pulumi/awsx@2.17.0(typescript@5.6.3)':
+ '@pulumi/awsx@3.0.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)':
dependencies:
- '@aws-sdk/client-ecs': 3.637.0
- '@pulumi/aws': 6.58.0(typescript@5.6.3)
- '@pulumi/docker': 4.5.5(typescript@5.6.3)
- '@pulumi/pulumi': 3.138.0(typescript@5.6.3)
- '@types/aws-lambda': 8.10.143
- docker-classic: '@pulumi/docker@3.6.1(typescript@5.6.3)'
+ '@aws-sdk/client-ecs': 3.908.0
+ '@pulumi/aws': 7.8.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@pulumi/docker': 4.9.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@pulumi/docker-build': 0.0.8(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@pulumi/pulumi': 3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@types/aws-lambda': 8.10.155
+ docker-classic: '@pulumi/docker@3.6.1(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)'
mime: 2.6.0
transitivePeerDependencies:
- aws-crt
@@ -12117,9 +13189,18 @@ snapshots:
- ts-node
- typescript
- '@pulumi/docker@3.6.1(typescript@5.6.3)':
+ '@pulumi/docker-build@0.0.8(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)':
+ dependencies:
+ '@pulumi/pulumi': 3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ transitivePeerDependencies:
+ - bluebird
+ - supports-color
+ - ts-node
+ - typescript
+
+ '@pulumi/docker@3.6.1(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)':
dependencies:
- '@pulumi/pulumi': 3.138.0(typescript@5.6.3)
+ '@pulumi/pulumi': 3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
semver: 5.7.2
transitivePeerDependencies:
- bluebird
@@ -12127,9 +13208,9 @@ snapshots:
- ts-node
- typescript
- '@pulumi/docker@4.5.5(typescript@5.6.3)':
+ '@pulumi/docker@4.9.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)':
dependencies:
- '@pulumi/pulumi': 3.138.0(typescript@5.6.3)
+ '@pulumi/pulumi': 3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
semver: 5.7.2
transitivePeerDependencies:
- bluebird
@@ -12137,25 +13218,23 @@ snapshots:
- ts-node
- typescript
- '@pulumi/pulumi@3.138.0(typescript@5.6.3)':
+ '@pulumi/pulumi@3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)':
dependencies:
- '@grpc/grpc-js': 1.11.1
+ '@grpc/grpc-js': 1.14.0
'@logdna/tail-file': 2.2.0
'@npmcli/arborist': 7.5.4
'@opentelemetry/api': 1.9.0
- '@opentelemetry/exporter-zipkin': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/instrumentation-grpc': 0.52.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-node': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/semantic-conventions': 1.26.0
- '@pulumi/query': 0.3.0
+ '@opentelemetry/exporter-zipkin': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.55.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-grpc': 0.55.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-node': 1.30.1(@opentelemetry/api@1.9.0)
'@types/google-protobuf': 3.15.12
- '@types/semver': 7.5.8
+ '@types/semver': 7.7.1
'@types/tmp': 0.2.6
execa: 5.1.1
- fdir: 6.4.0(picomatch@3.0.1)
+ fdir: 6.5.0(picomatch@3.0.1)
google-protobuf: 3.21.4
got: 11.8.6
ini: 2.0.0
@@ -12165,288 +13244,341 @@ snapshots:
picomatch: 3.0.1
pkg-dir: 7.0.0
require-from-string: 2.0.2
- semver: 7.6.3
+ semver: 7.7.3
source-map-support: 0.5.21
- tmp: 0.2.1
+ tmp: 0.2.5
upath: 1.2.0
optionalDependencies:
- typescript: 5.6.3
+ ts-node: 10.9.2(@types/node@24.7.2)(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- bluebird
- supports-color
- '@pulumi/query@0.3.0': {}
-
- '@pulumi/random@4.16.3(typescript@5.6.3)':
+ '@pulumi/random@4.18.3(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)':
dependencies:
- '@pulumi/pulumi': 3.138.0(typescript@5.6.3)
+ '@pulumi/pulumi': 3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
transitivePeerDependencies:
- bluebird
- supports-color
- ts-node
- typescript
- '@redocly/ajv@8.11.2':
- dependencies:
- fast-deep-equal: 3.1.3
- json-schema-traverse: 1.0.0
- require-from-string: 2.0.2
- uri-js-replace: 1.0.1
-
- '@redocly/config@0.16.0': {}
+ '@remirror/core-constants@3.0.0': {}
- '@redocly/openapi-core@1.25.11(encoding@0.1.13)(supports-color@9.4.0)':
- dependencies:
- '@redocly/ajv': 8.11.2
- '@redocly/config': 0.16.0
- colorette: 1.4.0
- https-proxy-agent: 7.0.5(supports-color@9.4.0)
- js-levenshtein: 1.1.6
- js-yaml: 4.1.0
- lodash.isequal: 4.5.0
- minimatch: 5.1.6
- node-fetch: 2.7.0(encoding@0.1.13)
- pluralize: 8.0.0
- yaml-ast-parser: 0.0.43
- transitivePeerDependencies:
- - encoding
- - supports-color
+ '@rolldown/pluginutils@1.0.0-beta.29': {}
- '@remirror/core-constants@3.0.0': {}
+ '@rolldown/pluginutils@1.0.0-beta.43': {}
- '@rollup/plugin-alias@5.1.1(rollup@4.24.4)':
+ '@rollup/plugin-alias@5.1.1(rollup@4.52.4)':
optionalDependencies:
- rollup: 4.24.4
+ rollup: 4.52.4
- '@rollup/plugin-commonjs@28.0.1(rollup@4.24.4)':
+ '@rollup/plugin-commonjs@28.0.6(rollup@4.52.4)':
dependencies:
- '@rollup/pluginutils': 5.1.3(rollup@4.24.4)
+ '@rollup/pluginutils': 5.3.0(rollup@4.52.4)
commondir: 1.0.1
estree-walker: 2.0.2
- fdir: 6.4.2(picomatch@4.0.2)
+ fdir: 6.5.0(picomatch@4.0.3)
is-reference: 1.2.1
- magic-string: 0.30.12
- picomatch: 4.0.2
+ magic-string: 0.30.19
+ picomatch: 4.0.3
optionalDependencies:
- rollup: 4.24.4
+ rollup: 4.52.4
- '@rollup/plugin-inject@5.0.5(rollup@4.24.4)':
+ '@rollup/plugin-inject@5.0.5(rollup@4.52.4)':
dependencies:
- '@rollup/pluginutils': 5.1.3(rollup@4.24.4)
+ '@rollup/pluginutils': 5.3.0(rollup@4.52.4)
estree-walker: 2.0.2
- magic-string: 0.30.12
+ magic-string: 0.30.19
optionalDependencies:
- rollup: 4.24.4
+ rollup: 4.52.4
- '@rollup/plugin-json@6.1.0(rollup@4.24.4)':
+ '@rollup/plugin-json@6.1.0(rollup@4.52.4)':
dependencies:
- '@rollup/pluginutils': 5.1.3(rollup@4.24.4)
+ '@rollup/pluginutils': 5.3.0(rollup@4.52.4)
optionalDependencies:
- rollup: 4.24.4
+ rollup: 4.52.4
- '@rollup/plugin-node-resolve@15.3.0(rollup@4.24.4)':
+ '@rollup/plugin-node-resolve@16.0.3(rollup@4.52.4)':
dependencies:
- '@rollup/pluginutils': 5.1.3(rollup@4.24.4)
+ '@rollup/pluginutils': 5.3.0(rollup@4.52.4)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
is-module: 1.0.0
- resolve: 1.22.8
- optionalDependencies:
- rollup: 4.24.4
-
- '@rollup/plugin-replace@5.0.7(rollup@4.24.4)':
- dependencies:
- '@rollup/pluginutils': 5.1.3(rollup@4.24.4)
- magic-string: 0.30.12
+ resolve: 1.22.10
optionalDependencies:
- rollup: 4.24.4
+ rollup: 4.52.4
- '@rollup/plugin-replace@6.0.1(rollup@4.24.4)':
+ '@rollup/plugin-replace@6.0.2(rollup@4.52.4)':
dependencies:
- '@rollup/pluginutils': 5.1.3(rollup@4.24.4)
- magic-string: 0.30.12
+ '@rollup/pluginutils': 5.3.0(rollup@4.52.4)
+ magic-string: 0.30.19
optionalDependencies:
- rollup: 4.24.4
+ rollup: 4.52.4
- '@rollup/plugin-terser@0.4.4(rollup@4.24.4)':
+ '@rollup/plugin-terser@0.4.4(rollup@4.52.4)':
dependencies:
serialize-javascript: 6.0.2
smob: 1.5.0
- terser: 5.36.0
+ terser: 5.44.0
optionalDependencies:
- rollup: 4.24.4
-
- '@rollup/pluginutils@4.2.1':
- dependencies:
- estree-walker: 2.0.2
- picomatch: 2.3.1
+ rollup: 4.52.4
- '@rollup/pluginutils@5.1.0(rollup@4.24.4)':
+ '@rollup/pluginutils@5.3.0(rollup@4.52.4)':
dependencies:
- '@types/estree': 1.0.6
+ '@types/estree': 1.0.8
estree-walker: 2.0.2
- picomatch: 2.3.1
+ picomatch: 4.0.3
optionalDependencies:
- rollup: 4.24.4
+ rollup: 4.52.4
- '@rollup/pluginutils@5.1.2(rollup@4.24.4)':
- dependencies:
- '@types/estree': 1.0.6
- estree-walker: 2.0.2
- picomatch: 2.3.1
- optionalDependencies:
- rollup: 4.24.4
+ '@rollup/rollup-android-arm-eabi@4.52.4':
+ optional: true
- '@rollup/pluginutils@5.1.3(rollup@4.24.4)':
- dependencies:
- '@types/estree': 1.0.6
- estree-walker: 2.0.2
- picomatch: 4.0.2
- optionalDependencies:
- rollup: 4.24.4
+ '@rollup/rollup-android-arm64@4.52.4':
+ optional: true
- '@rollup/rollup-android-arm-eabi@4.24.4':
+ '@rollup/rollup-darwin-arm64@4.52.4':
optional: true
- '@rollup/rollup-android-arm64@4.24.4':
+ '@rollup/rollup-darwin-x64@4.52.4':
optional: true
- '@rollup/rollup-darwin-arm64@4.24.4':
+ '@rollup/rollup-freebsd-arm64@4.52.4':
optional: true
- '@rollup/rollup-darwin-x64@4.24.4':
+ '@rollup/rollup-freebsd-x64@4.52.4':
optional: true
- '@rollup/rollup-freebsd-arm64@4.24.4':
+ '@rollup/rollup-linux-arm-gnueabihf@4.52.4':
optional: true
- '@rollup/rollup-freebsd-x64@4.24.4':
+ '@rollup/rollup-linux-arm-musleabihf@4.52.4':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.24.4':
+ '@rollup/rollup-linux-arm64-gnu@4.52.4':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.24.4':
+ '@rollup/rollup-linux-arm64-musl@4.52.4':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.24.4':
+ '@rollup/rollup-linux-loong64-gnu@4.52.4':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.24.4':
+ '@rollup/rollup-linux-ppc64-gnu@4.52.4':
optional: true
- '@rollup/rollup-linux-powerpc64le-gnu@4.24.4':
+ '@rollup/rollup-linux-riscv64-gnu@4.52.4':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.24.4':
+ '@rollup/rollup-linux-riscv64-musl@4.52.4':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.24.4':
+ '@rollup/rollup-linux-s390x-gnu@4.52.4':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.24.4':
+ '@rollup/rollup-linux-x64-gnu@4.52.4':
optional: true
- '@rollup/rollup-linux-x64-musl@4.24.4':
+ '@rollup/rollup-linux-x64-musl@4.52.4':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.24.4':
+ '@rollup/rollup-openharmony-arm64@4.52.4':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.24.4':
+ '@rollup/rollup-win32-arm64-msvc@4.52.4':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.24.4':
+ '@rollup/rollup-win32-ia32-msvc@4.52.4':
optional: true
- '@rushstack/node-core-library@5.7.0(@types/node@22.9.0)':
+ '@rollup/rollup-win32-x64-gnu@4.52.4':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.52.4':
+ optional: true
+
+ '@rushstack/node-core-library@5.13.0(@types/node@24.7.2)':
dependencies:
ajv: 8.13.0
ajv-draft-04: 1.0.0(ajv@8.13.0)
ajv-formats: 3.0.1(ajv@8.13.0)
- fs-extra: 7.0.1
+ fs-extra: 11.3.2
import-lazy: 4.0.0
jju: 1.4.0
- resolve: 1.22.8
+ resolve: 1.22.10
semver: 7.5.4
optionalDependencies:
- '@types/node': 22.9.0
+ '@types/node': 24.7.2
- '@rushstack/terminal@0.14.0(@types/node@22.9.0)':
+ '@rushstack/terminal@0.15.2(@types/node@24.7.2)':
dependencies:
- '@rushstack/node-core-library': 5.7.0(@types/node@22.9.0)
+ '@rushstack/node-core-library': 5.13.0(@types/node@24.7.2)
supports-color: 8.1.1
optionalDependencies:
- '@types/node': 22.9.0
+ '@types/node': 24.7.2
- '@rushstack/ts-command-line@4.22.6(@types/node@22.9.0)':
+ '@rushstack/ts-command-line@4.23.7(@types/node@24.7.2)':
dependencies:
- '@rushstack/terminal': 0.14.0(@types/node@22.9.0)
+ '@rushstack/terminal': 0.15.2(@types/node@24.7.2)
'@types/argparse': 1.0.38
argparse: 1.0.10
string-argv: 0.3.2
transitivePeerDependencies:
- '@types/node'
+ '@scarf/scarf@1.4.0': {}
+
'@sec-ant/readable-stream@0.4.1': {}
- '@selderee/plugin-htmlparser2@0.11.0':
+ '@sentry-internal/node-cpu-profiler@2.2.0':
dependencies:
- domhandler: 5.0.3
- selderee: 0.11.0
+ detect-libc: 2.1.2
+ node-abi: 3.78.0
- '@shikijs/core@1.22.2':
+ '@sentry/core@10.19.0': {}
+
+ '@sentry/nestjs@10.19.0(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)':
dependencies:
- '@shikijs/engine-javascript': 1.22.2
- '@shikijs/engine-oniguruma': 1.22.2
- '@shikijs/types': 1.22.2
- '@shikijs/vscode-textmate': 9.3.0
- '@types/hast': 3.0.4
- hast-util-to-html: 9.0.3
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/core': 11.1.6(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.6)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-nestjs-core': 0.50.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ '@sentry/core': 10.19.0
+ '@sentry/node': 10.19.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@sentry/node-core@10.19.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.204.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)':
+ dependencies:
+ '@apm-js-collab/tracing-hooks': 0.3.1
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/context-async-hooks': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ '@sentry/core': 10.19.0
+ '@sentry/opentelemetry': 10.19.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)
+ import-in-the-middle: 1.15.0
+ transitivePeerDependencies:
+ - supports-color
- '@shikijs/engine-javascript@1.22.2':
+ '@sentry/node@10.19.0':
dependencies:
- '@shikijs/types': 1.22.2
- '@shikijs/vscode-textmate': 9.3.0
- oniguruma-to-js: 0.4.3
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/context-async-hooks': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-amqplib': 0.51.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-connect': 0.48.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-dataloader': 0.22.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-express': 0.53.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-fs': 0.24.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-generic-pool': 0.48.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-graphql': 0.52.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-hapi': 0.51.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-http': 0.204.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-ioredis': 0.52.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-kafkajs': 0.14.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-knex': 0.49.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-koa': 0.52.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-lru-memoizer': 0.49.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-mongodb': 0.57.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-mongoose': 0.51.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-mysql': 0.50.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-mysql2': 0.51.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-pg': 0.57.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-redis': 0.53.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-tedious': 0.23.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-undici': 0.15.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ '@prisma/instrumentation': 6.15.0(@opentelemetry/api@1.9.0)
+ '@sentry/core': 10.19.0
+ '@sentry/node-core': 10.19.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.204.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)
+ '@sentry/opentelemetry': 10.19.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)
+ import-in-the-middle: 1.15.0
+ minimatch: 9.0.5
+ transitivePeerDependencies:
+ - supports-color
- '@shikijs/engine-oniguruma@1.22.2':
+ '@sentry/opentelemetry@10.19.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)':
dependencies:
- '@shikijs/types': 1.22.2
- '@shikijs/vscode-textmate': 9.3.0
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/context-async-hooks': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.1.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.37.0
+ '@sentry/core': 10.19.0
- '@shikijs/transformers@1.22.2':
+ '@sentry/profiling-node@10.19.0':
dependencies:
- shiki: 1.22.2
+ '@sentry-internal/node-cpu-profiler': 2.2.0
+ '@sentry/core': 10.19.0
+ '@sentry/node': 10.19.0
+ transitivePeerDependencies:
+ - supports-color
- '@shikijs/types@1.22.2':
+ '@shikijs/core@2.5.0':
dependencies:
- '@shikijs/vscode-textmate': 9.3.0
+ '@shikijs/engine-javascript': 2.5.0
+ '@shikijs/engine-oniguruma': 2.5.0
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+
+ '@shikijs/engine-javascript@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 3.1.1
+
+ '@shikijs/engine-oniguruma@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+
+ '@shikijs/langs@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
- '@shikijs/vscode-textmate@9.3.0': {}
+ '@shikijs/themes@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
- '@sideway/address@4.1.5':
+ '@shikijs/transformers@2.5.0':
dependencies:
- '@hapi/hoek': 9.3.0
+ '@shikijs/core': 2.5.0
+ '@shikijs/types': 2.5.0
- '@sideway/formula@3.0.1': {}
+ '@shikijs/types@2.5.0':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
- '@sideway/pinpoint@2.0.0': {}
+ '@shikijs/vscode-textmate@10.0.2': {}
'@sigstore/bundle@2.3.2':
dependencies:
- '@sigstore/protobuf-specs': 0.3.2
+ '@sigstore/protobuf-specs': 0.3.3
'@sigstore/core@1.1.0': {}
- '@sigstore/protobuf-specs@0.3.2': {}
+ '@sigstore/protobuf-specs@0.3.3': {}
'@sigstore/sign@2.3.2':
dependencies:
'@sigstore/bundle': 2.3.2
'@sigstore/core': 1.1.0
- '@sigstore/protobuf-specs': 0.3.2
+ '@sigstore/protobuf-specs': 0.3.3
make-fetch-happen: 13.0.1
proc-log: 4.2.0
promise-retry: 2.0.1
@@ -12455,7 +13587,7 @@ snapshots:
'@sigstore/tuf@2.3.4':
dependencies:
- '@sigstore/protobuf-specs': 0.3.2
+ '@sigstore/protobuf-specs': 0.3.3
tuf-js: 2.2.1
transitivePeerDependencies:
- supports-color
@@ -12464,550 +13596,533 @@ snapshots:
dependencies:
'@sigstore/bundle': 2.3.2
'@sigstore/core': 1.1.0
- '@sigstore/protobuf-specs': 0.3.2
+ '@sigstore/protobuf-specs': 0.3.3
+
+ '@sinclair/typebox@0.34.41': {}
'@sindresorhus/is@4.6.0': {}
- '@sindresorhus/merge-streams@2.3.0': {}
+ '@sindresorhus/is@7.1.0': {}
'@sindresorhus/merge-streams@4.0.0': {}
- '@smithy/abort-controller@3.1.6':
- dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@smithy/chunked-blob-reader-native@3.0.1':
- dependencies:
- '@smithy/util-base64': 3.0.0
- tslib: 2.7.0
-
- '@smithy/chunked-blob-reader@4.0.0':
- dependencies:
- tslib: 2.7.0
-
- '@smithy/config-resolver@3.0.10':
- dependencies:
- '@smithy/node-config-provider': 3.1.9
- '@smithy/types': 3.6.0
- '@smithy/util-config-provider': 3.0.0
- '@smithy/util-middleware': 3.0.8
- tslib: 2.7.0
-
- '@smithy/core@2.5.1':
- dependencies:
- '@smithy/middleware-serde': 3.0.8
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-stream': 3.2.1
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
-
- '@smithy/credential-provider-imds@3.2.5':
- dependencies:
- '@smithy/node-config-provider': 3.1.9
- '@smithy/property-provider': 3.1.8
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- tslib: 2.7.0
-
- '@smithy/eventstream-codec@3.1.7':
- dependencies:
- '@aws-crypto/crc32': 5.2.0
- '@smithy/types': 3.6.0
- '@smithy/util-hex-encoding': 3.0.0
- tslib: 2.7.0
-
- '@smithy/eventstream-serde-browser@3.0.11':
- dependencies:
- '@smithy/eventstream-serde-universal': 3.0.10
- '@smithy/types': 3.6.0
- tslib: 2.7.0
-
- '@smithy/eventstream-serde-config-resolver@3.0.8':
+ '@sinonjs/commons@3.0.1':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ type-detect: 4.0.8
- '@smithy/eventstream-serde-node@3.0.10':
+ '@sinonjs/fake-timers@13.0.5':
dependencies:
- '@smithy/eventstream-serde-universal': 3.0.10
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@sinonjs/commons': 3.0.1
- '@smithy/eventstream-serde-universal@3.0.10':
+ '@smithy/abort-controller@4.2.0':
dependencies:
- '@smithy/eventstream-codec': 3.1.7
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/fetch-http-handler@3.2.9':
+ '@smithy/config-resolver@4.3.0':
dependencies:
- '@smithy/protocol-http': 4.1.5
- '@smithy/querystring-builder': 3.0.8
- '@smithy/types': 3.6.0
- '@smithy/util-base64': 3.0.0
- tslib: 2.7.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/types': 4.6.0
+ '@smithy/util-config-provider': 4.2.0
+ '@smithy/util-middleware': 4.2.0
+ tslib: 2.8.1
- '@smithy/fetch-http-handler@4.0.0':
+ '@smithy/core@3.15.0':
dependencies:
- '@smithy/protocol-http': 4.1.5
- '@smithy/querystring-builder': 3.0.8
- '@smithy/types': 3.6.0
- '@smithy/util-base64': 3.0.0
- tslib: 2.7.0
+ '@smithy/middleware-serde': 4.2.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/types': 4.6.0
+ '@smithy/util-base64': 4.3.0
+ '@smithy/util-body-length-browser': 4.2.0
+ '@smithy/util-middleware': 4.2.0
+ '@smithy/util-stream': 4.5.0
+ '@smithy/util-utf8': 4.2.0
+ '@smithy/uuid': 1.1.0
+ tslib: 2.8.1
- '@smithy/hash-blob-browser@3.1.7':
+ '@smithy/credential-provider-imds@4.2.0':
dependencies:
- '@smithy/chunked-blob-reader': 4.0.0
- '@smithy/chunked-blob-reader-native': 3.0.1
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/types': 4.6.0
+ '@smithy/url-parser': 4.2.0
+ tslib: 2.8.1
- '@smithy/hash-node@3.0.8':
+ '@smithy/fetch-http-handler@5.3.1':
dependencies:
- '@smithy/types': 3.6.0
- '@smithy/util-buffer-from': 3.0.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/querystring-builder': 4.2.0
+ '@smithy/types': 4.6.0
+ '@smithy/util-base64': 4.3.0
+ tslib: 2.8.1
- '@smithy/hash-stream-node@3.1.7':
+ '@smithy/hash-node@4.2.0':
dependencies:
- '@smithy/types': 3.6.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ '@smithy/util-buffer-from': 4.2.0
+ '@smithy/util-utf8': 4.2.0
+ tslib: 2.8.1
- '@smithy/invalid-dependency@3.0.8':
+ '@smithy/invalid-dependency@4.2.0':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
'@smithy/is-array-buffer@2.2.0':
dependencies:
- tslib: 2.7.0
-
- '@smithy/is-array-buffer@3.0.0':
- dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
- '@smithy/md5-js@3.0.8':
+ '@smithy/is-array-buffer@4.2.0':
dependencies:
- '@smithy/types': 3.6.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
+ tslib: 2.8.1
- '@smithy/middleware-content-length@3.0.10':
+ '@smithy/middleware-content-length@4.2.0':
dependencies:
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/middleware-endpoint@3.2.1':
+ '@smithy/middleware-endpoint@4.3.1':
dependencies:
- '@smithy/core': 2.5.1
- '@smithy/middleware-serde': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-middleware': 3.0.8
- tslib: 2.7.0
+ '@smithy/core': 3.15.0
+ '@smithy/middleware-serde': 4.2.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/shared-ini-file-loader': 4.3.0
+ '@smithy/types': 4.6.0
+ '@smithy/url-parser': 4.2.0
+ '@smithy/util-middleware': 4.2.0
+ tslib: 2.8.1
- '@smithy/middleware-retry@3.0.25':
+ '@smithy/middleware-retry@4.4.1':
dependencies:
- '@smithy/node-config-provider': 3.1.9
- '@smithy/protocol-http': 4.1.5
- '@smithy/service-error-classification': 3.0.8
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- tslib: 2.7.0
- uuid: 9.0.1
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/service-error-classification': 4.2.0
+ '@smithy/smithy-client': 4.7.1
+ '@smithy/types': 4.6.0
+ '@smithy/util-middleware': 4.2.0
+ '@smithy/util-retry': 4.2.0
+ '@smithy/uuid': 1.1.0
+ tslib: 2.8.1
- '@smithy/middleware-serde@3.0.8':
+ '@smithy/middleware-serde@4.2.0':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/middleware-stack@3.0.8':
+ '@smithy/middleware-stack@4.2.0':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/node-config-provider@3.1.9':
+ '@smithy/node-config-provider@4.3.0':
dependencies:
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/shared-ini-file-loader': 4.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/node-http-handler@3.2.5':
+ '@smithy/node-http-handler@4.3.0':
dependencies:
- '@smithy/abort-controller': 3.1.6
- '@smithy/protocol-http': 4.1.5
- '@smithy/querystring-builder': 3.0.8
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/abort-controller': 4.2.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/querystring-builder': 4.2.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/property-provider@3.1.8':
+ '@smithy/property-provider@4.2.0':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/protocol-http@4.1.5':
+ '@smithy/protocol-http@5.3.0':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/querystring-builder@3.0.8':
+ '@smithy/querystring-builder@4.2.0':
dependencies:
- '@smithy/types': 3.6.0
- '@smithy/util-uri-escape': 3.0.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ '@smithy/util-uri-escape': 4.2.0
+ tslib: 2.8.1
- '@smithy/querystring-parser@3.0.8':
+ '@smithy/querystring-parser@4.2.0':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/service-error-classification@3.0.8':
+ '@smithy/service-error-classification@4.2.0':
dependencies:
- '@smithy/types': 3.6.0
+ '@smithy/types': 4.6.0
- '@smithy/shared-ini-file-loader@3.1.9':
+ '@smithy/shared-ini-file-loader@4.3.0':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/signature-v4@4.2.0':
+ '@smithy/signature-v4@5.3.0':
dependencies:
- '@smithy/is-array-buffer': 3.0.0
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- '@smithy/util-hex-encoding': 3.0.0
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-uri-escape': 3.0.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
+ '@smithy/is-array-buffer': 4.2.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/types': 4.6.0
+ '@smithy/util-hex-encoding': 4.2.0
+ '@smithy/util-middleware': 4.2.0
+ '@smithy/util-uri-escape': 4.2.0
+ '@smithy/util-utf8': 4.2.0
+ tslib: 2.8.1
- '@smithy/smithy-client@3.4.2':
+ '@smithy/smithy-client@4.7.1':
dependencies:
- '@smithy/core': 2.5.1
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-stack': 3.0.8
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- '@smithy/util-stream': 3.2.1
- tslib: 2.7.0
+ '@smithy/core': 3.15.0
+ '@smithy/middleware-endpoint': 4.3.1
+ '@smithy/middleware-stack': 4.2.0
+ '@smithy/protocol-http': 5.3.0
+ '@smithy/types': 4.6.0
+ '@smithy/util-stream': 4.5.0
+ tslib: 2.8.1
- '@smithy/types@3.6.0':
+ '@smithy/types@4.6.0':
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
- '@smithy/url-parser@3.0.8':
+ '@smithy/url-parser@4.2.0':
dependencies:
- '@smithy/querystring-parser': 3.0.8
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/querystring-parser': 4.2.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/util-base64@3.0.0':
+ '@smithy/util-base64@4.3.0':
dependencies:
- '@smithy/util-buffer-from': 3.0.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
+ '@smithy/util-buffer-from': 4.2.0
+ '@smithy/util-utf8': 4.2.0
+ tslib: 2.8.1
- '@smithy/util-body-length-browser@3.0.0':
+ '@smithy/util-body-length-browser@4.2.0':
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
- '@smithy/util-body-length-node@3.0.0':
+ '@smithy/util-body-length-node@4.2.1':
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
'@smithy/util-buffer-from@2.2.0':
dependencies:
'@smithy/is-array-buffer': 2.2.0
- tslib: 2.7.0
+ tslib: 2.8.1
- '@smithy/util-buffer-from@3.0.0':
+ '@smithy/util-buffer-from@4.2.0':
dependencies:
- '@smithy/is-array-buffer': 3.0.0
- tslib: 2.7.0
+ '@smithy/is-array-buffer': 4.2.0
+ tslib: 2.8.1
- '@smithy/util-config-provider@3.0.0':
+ '@smithy/util-config-provider@4.2.0':
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
- '@smithy/util-defaults-mode-browser@3.0.25':
+ '@smithy/util-defaults-mode-browser@4.3.0':
dependencies:
- '@smithy/property-provider': 3.1.8
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- bowser: 2.11.0
- tslib: 2.7.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/smithy-client': 4.7.1
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/util-defaults-mode-node@3.0.25':
+ '@smithy/util-defaults-mode-node@4.2.1':
dependencies:
- '@smithy/config-resolver': 3.0.10
- '@smithy/credential-provider-imds': 3.2.5
- '@smithy/node-config-provider': 3.1.9
- '@smithy/property-provider': 3.1.8
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/config-resolver': 4.3.0
+ '@smithy/credential-provider-imds': 4.2.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/property-provider': 4.2.0
+ '@smithy/smithy-client': 4.7.1
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/util-endpoints@2.1.4':
+ '@smithy/util-endpoints@3.2.0':
dependencies:
- '@smithy/node-config-provider': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/node-config-provider': 4.3.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/util-hex-encoding@3.0.0':
+ '@smithy/util-hex-encoding@4.2.0':
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
- '@smithy/util-middleware@3.0.8':
+ '@smithy/util-middleware@4.2.0':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/util-retry@3.0.8':
+ '@smithy/util-retry@4.2.0':
dependencies:
- '@smithy/service-error-classification': 3.0.8
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ '@smithy/service-error-classification': 4.2.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/util-stream@3.2.1':
+ '@smithy/util-stream@4.5.0':
dependencies:
- '@smithy/fetch-http-handler': 4.0.0
- '@smithy/node-http-handler': 3.2.5
- '@smithy/types': 3.6.0
- '@smithy/util-base64': 3.0.0
- '@smithy/util-buffer-from': 3.0.0
- '@smithy/util-hex-encoding': 3.0.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.7.0
+ '@smithy/fetch-http-handler': 5.3.1
+ '@smithy/node-http-handler': 4.3.0
+ '@smithy/types': 4.6.0
+ '@smithy/util-base64': 4.3.0
+ '@smithy/util-buffer-from': 4.2.0
+ '@smithy/util-hex-encoding': 4.2.0
+ '@smithy/util-utf8': 4.2.0
+ tslib: 2.8.1
- '@smithy/util-uri-escape@3.0.0':
+ '@smithy/util-uri-escape@4.2.0':
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
'@smithy/util-utf8@2.3.0':
dependencies:
'@smithy/util-buffer-from': 2.2.0
- tslib: 2.7.0
+ tslib: 2.8.1
+
+ '@smithy/util-utf8@4.2.0':
+ dependencies:
+ '@smithy/util-buffer-from': 4.2.0
+ tslib: 2.8.1
- '@smithy/util-utf8@3.0.0':
+ '@smithy/util-waiter@4.2.0':
dependencies:
- '@smithy/util-buffer-from': 3.0.0
- tslib: 2.7.0
+ '@smithy/abort-controller': 4.2.0
+ '@smithy/types': 4.6.0
+ tslib: 2.8.1
- '@smithy/util-waiter@3.1.7':
+ '@smithy/uuid@1.1.0':
dependencies:
- '@smithy/abort-controller': 3.1.6
- '@smithy/types': 3.6.0
- tslib: 2.7.0
+ tslib: 2.8.1
+
+ '@speed-highlight/core@1.2.7': {}
- '@studion/infra-code-blocks@0.6.11(typescript@5.6.3)':
+ '@standard-schema/spec@1.0.0': {}
+
+ '@studion/infra-code-blocks@0.7.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)':
dependencies:
- '@pulumi/aws': 5.43.0(typescript@5.6.3)
- '@pulumi/awsx': 1.0.6(typescript@5.6.3)
- '@pulumi/pulumi': 3.138.0(typescript@5.6.3)
- '@pulumi/random': 4.16.3(typescript@5.6.3)
- '@upstash/pulumi': 0.2.0(typescript@5.6.3)
+ '@pulumi/aws': 6.83.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@pulumi/awsx': 2.22.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@pulumi/pulumi': 3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@pulumi/random': 4.18.3(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
+ '@upstash/pulumi': 0.3.14(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
transitivePeerDependencies:
+ - aws-crt
- bluebird
- supports-color
- ts-node
- typescript
- '@stylistic/eslint-plugin@2.10.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@stylistic/eslint-plugin@5.4.0(eslint@9.37.0(jiti@2.6.1))':
dependencies:
- '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- eslint: 9.14.0(jiti@2.4.0)
- eslint-visitor-keys: 4.2.0
- espree: 10.3.0
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1))
+ '@typescript-eslint/types': 8.46.0
+ eslint: 9.37.0(jiti@2.6.1)
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
estraverse: 5.3.0
- picomatch: 4.0.2
- transitivePeerDependencies:
- - supports-color
- - typescript
+ picomatch: 4.0.3
'@szmarczak/http-timer@4.0.6':
dependencies:
defer-to-connect: 2.0.1
- '@tiptap/core@2.9.1(@tiptap/pm@2.9.1)':
+ '@tiptap/core@2.26.3(@tiptap/pm@2.26.3)':
dependencies:
- '@tiptap/pm': 2.9.1
+ '@tiptap/pm': 2.26.3
- '@tiptap/extension-blockquote@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-blockquote@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-bold@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-bold@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-bubble-menu@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)':
+ '@tiptap/extension-bubble-menu@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
- '@tiptap/pm': 2.9.1
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/pm': 2.26.3
tippy.js: 6.3.7
- '@tiptap/extension-bullet-list@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-bullet-list@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-character-count@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)':
+ '@tiptap/extension-character-count@3.6.6(@tiptap/extensions@3.6.6(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
- '@tiptap/pm': 2.9.1
+ '@tiptap/extensions': 3.6.6(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)
- '@tiptap/extension-code-block@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)':
+ '@tiptap/extension-code-block@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
- '@tiptap/pm': 2.9.1
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/pm': 2.26.3
- '@tiptap/extension-code@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-code@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-document@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-document@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-dropcursor@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)':
+ '@tiptap/extension-dropcursor@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
- '@tiptap/pm': 2.9.1
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/pm': 2.26.3
- '@tiptap/extension-floating-menu@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)':
+ '@tiptap/extension-floating-menu@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
- '@tiptap/pm': 2.9.1
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/pm': 2.26.3
tippy.js: 6.3.7
- '@tiptap/extension-gapcursor@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)':
+ '@tiptap/extension-gapcursor@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
- '@tiptap/pm': 2.9.1
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/pm': 2.26.3
- '@tiptap/extension-hard-break@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-hard-break@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-heading@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-heading@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-history@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)':
+ '@tiptap/extension-history@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
- '@tiptap/pm': 2.9.1
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/pm': 2.26.3
- '@tiptap/extension-horizontal-rule@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)':
+ '@tiptap/extension-horizontal-rule@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
- '@tiptap/pm': 2.9.1
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/pm': 2.26.3
- '@tiptap/extension-italic@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-italic@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-list-item@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-list-item@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-ordered-list@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-ordered-list@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-paragraph@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-paragraph@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-strike@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-strike@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-subscript@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-subscript@3.6.6(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/pm': 2.26.3
- '@tiptap/extension-superscript@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-superscript@3.6.6(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/pm': 2.26.3
- '@tiptap/extension-text-style@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-text-style@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-text@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-text@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/extension-underline@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))':
+ '@tiptap/extension-underline@3.6.6(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))':
dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
- '@tiptap/pm@2.9.1':
+ '@tiptap/extensions@3.6.6(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)':
dependencies:
- prosemirror-changeset: 2.2.1
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/pm': 2.26.3
+
+ '@tiptap/pm@2.26.3':
+ dependencies:
+ prosemirror-changeset: 2.3.1
prosemirror-collab: 1.3.1
- prosemirror-commands: 1.6.2
- prosemirror-dropcursor: 1.8.1
+ prosemirror-commands: 1.7.1
+ prosemirror-dropcursor: 1.8.2
prosemirror-gapcursor: 1.3.2
prosemirror-history: 1.4.1
- prosemirror-inputrules: 1.4.0
- prosemirror-keymap: 1.2.2
- prosemirror-markdown: 1.13.1
- prosemirror-menu: 1.2.4
- prosemirror-model: 1.23.0
- prosemirror-schema-basic: 1.2.3
- prosemirror-schema-list: 1.4.1
+ prosemirror-inputrules: 1.5.0
+ prosemirror-keymap: 1.2.3
+ prosemirror-markdown: 1.13.2
+ prosemirror-menu: 1.2.5
+ prosemirror-model: 1.25.3
+ prosemirror-schema-basic: 1.2.4
+ prosemirror-schema-list: 1.5.1
prosemirror-state: 1.4.3
- prosemirror-tables: 1.6.1
- prosemirror-trailing-node: 3.0.0(prosemirror-model@1.23.0)(prosemirror-state@1.4.3)(prosemirror-view@1.36.0)
- prosemirror-transform: 1.10.2
- prosemirror-view: 1.36.0
-
- '@tiptap/starter-kit@2.9.1':
- dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
- '@tiptap/extension-blockquote': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-bold': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-bullet-list': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-code': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-code-block': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)
- '@tiptap/extension-document': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-dropcursor': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)
- '@tiptap/extension-gapcursor': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)
- '@tiptap/extension-hard-break': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-heading': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-history': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)
- '@tiptap/extension-horizontal-rule': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)
- '@tiptap/extension-italic': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-list-item': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-ordered-list': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-paragraph': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-strike': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-text': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/extension-text-style': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))
- '@tiptap/pm': 2.9.1
-
- '@tiptap/vue-3@2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)(vue@3.5.12(typescript@5.6.3))':
- dependencies:
- '@tiptap/core': 2.9.1(@tiptap/pm@2.9.1)
- '@tiptap/extension-bubble-menu': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)
- '@tiptap/extension-floating-menu': 2.9.1(@tiptap/core@2.9.1(@tiptap/pm@2.9.1))(@tiptap/pm@2.9.1)
- '@tiptap/pm': 2.9.1
- vue: 3.5.12(typescript@5.6.3)
-
- '@trysound/sax@0.2.0': {}
+ prosemirror-tables: 1.8.1
+ prosemirror-trailing-node: 3.0.0(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.3)
+ prosemirror-transform: 1.10.4
+ prosemirror-view: 1.41.3
+
+ '@tiptap/starter-kit@2.26.3':
+ dependencies:
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/extension-blockquote': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-bold': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-bullet-list': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-code': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-code-block': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)
+ '@tiptap/extension-document': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-dropcursor': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)
+ '@tiptap/extension-gapcursor': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)
+ '@tiptap/extension-hard-break': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-heading': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-history': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)
+ '@tiptap/extension-horizontal-rule': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)
+ '@tiptap/extension-italic': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-list-item': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-ordered-list': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-paragraph': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-strike': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-text': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/extension-text-style': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))
+ '@tiptap/pm': 2.26.3
+
+ '@tiptap/vue-3@2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)(vue@3.5.22(typescript@5.9.3))':
+ dependencies:
+ '@tiptap/core': 2.26.3(@tiptap/pm@2.26.3)
+ '@tiptap/extension-bubble-menu': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)
+ '@tiptap/extension-floating-menu': 2.26.3(@tiptap/core@2.26.3(@tiptap/pm@2.26.3))(@tiptap/pm@2.26.3)
+ '@tiptap/pm': 2.26.3
+ vue: 3.5.22(typescript@5.9.3)
+
+ '@tokenizer/inflate@0.2.7':
+ dependencies:
+ debug: 4.4.3
+ fflate: 0.8.2
+ token-types: 6.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@tokenizer/token@0.3.0': {}
+
+ '@tootallnate/quickjs-emscripten@0.23.0': {}
+
+ '@ts-morph/common@0.28.1':
+ dependencies:
+ minimatch: 10.0.3
+ path-browserify: 1.0.1
+ tinyglobby: 0.2.15
+
+ '@tsconfig/node10@1.0.11': {}
+
+ '@tsconfig/node12@1.0.11': {}
+
+ '@tsconfig/node14@1.0.3': {}
+
+ '@tsconfig/node16@1.0.4': {}
'@tufjs/canonical-json@2.0.0': {}
@@ -13016,71 +14131,136 @@ snapshots:
'@tufjs/canonical-json': 2.0.0
minimatch: 9.0.5
+ '@tybys/wasm-util@0.10.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@types/argparse@1.0.38': {}
- '@types/aws-lambda@8.10.143': {}
+ '@types/aws-lambda@8.10.155': {}
+
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
+ '@types/babel__generator': 7.27.0
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.28.0
+
+ '@types/babel__generator@7.27.0':
+ dependencies:
+ '@babel/types': 7.28.4
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
+
+ '@types/babel__traverse@7.28.0':
+ dependencies:
+ '@babel/types': 7.28.4
+
+ '@types/bcrypt@6.0.0':
+ dependencies:
+ '@types/node': 24.7.2
'@types/bluebird@3.5.42': {}
- '@types/body-parser@1.19.5':
+ '@types/body-parser@1.19.6':
dependencies:
'@types/connect': 3.4.38
- '@types/node': 22.9.0
+ '@types/node': 24.7.2
'@types/cacheable-request@6.0.3':
dependencies:
'@types/http-cache-semantics': 4.0.4
'@types/keyv': 3.1.4
- '@types/node': 22.9.0
+ '@types/node': 24.7.2
'@types/responselike': 1.0.3
'@types/connect@3.4.38':
dependencies:
- '@types/node': 22.9.0
+ '@types/node': 24.7.2
+
+ '@types/cookie-parser@1.4.9(@types/express@5.0.3)':
+ dependencies:
+ '@types/express': 5.0.3
+
+ '@types/cookiejar@2.1.5': {}
'@types/debug@4.1.12':
dependencies:
- '@types/ms': 0.7.34
+ '@types/ms': 2.1.0
+
+ '@types/eslint-scope@3.7.7':
+ dependencies:
+ '@types/eslint': 9.6.1
+ '@types/estree': 1.0.8
+
+ '@types/eslint@9.6.1':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/json-schema': 7.0.15
- '@types/estree@1.0.6': {}
+ '@types/estree@1.0.8': {}
- '@types/express-serve-static-core@5.0.1':
+ '@types/express-serve-static-core@5.1.0':
dependencies:
- '@types/node': 22.9.0
- '@types/qs': 6.9.17
+ '@types/node': 24.7.2
+ '@types/qs': 6.14.0
'@types/range-parser': 1.2.7
- '@types/send': 0.17.4
+ '@types/send': 1.2.0
- '@types/express@5.0.0':
+ '@types/express@5.0.3':
dependencies:
- '@types/body-parser': 1.19.5
- '@types/express-serve-static-core': 5.0.1
- '@types/qs': 6.9.17
- '@types/serve-static': 1.15.7
+ '@types/body-parser': 1.19.6
+ '@types/express-serve-static-core': 5.1.0
+ '@types/serve-static': 1.15.9
'@types/google-protobuf@3.15.12': {}
+ '@types/handlebars@4.1.0':
+ dependencies:
+ handlebars: 4.7.8
+
'@types/hast@3.0.4':
dependencies:
'@types/unist': 3.0.3
'@types/http-cache-semantics@4.0.4': {}
- '@types/http-errors@2.0.4': {}
+ '@types/http-errors@2.0.5': {}
- '@types/http-proxy@1.17.15':
+ '@types/istanbul-lib-coverage@2.0.6': {}
+
+ '@types/istanbul-lib-report@3.0.3':
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+
+ '@types/istanbul-reports@3.0.4':
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.3
+
+ '@types/jest@30.0.0':
dependencies:
- '@types/node': 22.9.0
+ expect: 30.2.0
+ pretty-format: 30.2.0
'@types/json-schema@7.0.15': {}
+ '@types/jsonwebtoken@9.0.10':
+ dependencies:
+ '@types/ms': 2.1.0
+ '@types/node': 24.7.2
+
'@types/keyv@3.1.4':
dependencies:
- '@types/node': 22.9.0
+ '@types/node': 24.7.2
'@types/linkify-it@5.0.0': {}
- '@types/lodash@4.17.13': {}
+ '@types/lodash@4.17.20': {}
'@types/markdown-it@14.1.2':
dependencies:
@@ -13093,40 +14273,70 @@ snapshots:
'@types/mdurl@2.0.0': {}
+ '@types/methods@1.1.4': {}
+
'@types/mime@1.3.5': {}
- '@types/minimist@1.2.5': {}
+ '@types/ms@2.1.0': {}
+
+ '@types/multer@2.0.0':
+ dependencies:
+ '@types/express': 5.0.3
+
+ '@types/mysql@2.15.27':
+ dependencies:
+ '@types/node': 24.7.2
+
+ '@types/node@24.7.2':
+ dependencies:
+ undici-types: 7.14.0
+
+ '@types/nodemailer@7.0.2':
+ dependencies:
+ '@aws-sdk/client-sesv2': 3.908.0
+ '@types/node': 24.7.2
+ transitivePeerDependencies:
+ - aws-crt
- '@types/ms@0.7.34': {}
+ '@types/parse-path@7.1.0':
+ dependencies:
+ parse-path: 7.1.0
- '@types/mute-stream@0.0.4':
+ '@types/passport-jwt@4.0.1':
dependencies:
- '@types/node': 22.9.0
+ '@types/jsonwebtoken': 9.0.10
+ '@types/passport-strategy': 0.2.38
- '@types/node-fetch@2.6.11':
+ '@types/passport-local@1.0.38':
dependencies:
- '@types/node': 22.9.0
- form-data: 4.0.0
+ '@types/express': 5.0.3
+ '@types/passport': 1.0.17
+ '@types/passport-strategy': 0.2.38
- '@types/node@18.19.45':
+ '@types/passport-strategy@0.2.38':
dependencies:
- undici-types: 5.26.5
+ '@types/express': 5.0.3
+ '@types/passport': 1.0.17
- '@types/node@22.5.0':
+ '@types/passport@1.0.17':
dependencies:
- undici-types: 6.19.8
+ '@types/express': 5.0.3
- '@types/node@22.9.0':
+ '@types/pg-pool@2.0.6':
dependencies:
- undici-types: 6.19.8
+ '@types/pg': 8.15.5
- '@types/normalize-package-data@2.4.4': {}
+ '@types/pg@8.15.5':
+ dependencies:
+ '@types/node': 24.7.2
+ pg-protocol: 1.10.3
+ pg-types: 2.2.0
'@types/pluralize@0.0.33': {}
'@types/promise-queue@2.2.3': {}
- '@types/qs@6.9.17': {}
+ '@types/qs@6.14.0': {}
'@types/range-parser@1.2.7': {}
@@ -13134,638 +14344,630 @@ snapshots:
'@types/responselike@1.0.3':
dependencies:
- '@types/node': 22.9.0
+ '@types/node': 24.7.2
- '@types/semver@7.5.8': {}
+ '@types/semver@7.7.1': {}
- '@types/send@0.17.4':
+ '@types/send@0.17.5':
dependencies:
'@types/mime': 1.3.5
- '@types/node': 22.9.0
+ '@types/node': 24.7.2
+
+ '@types/send@1.2.0':
+ dependencies:
+ '@types/node': 24.7.2
+
+ '@types/serve-static@1.15.9':
+ dependencies:
+ '@types/http-errors': 2.0.5
+ '@types/node': 24.7.2
+ '@types/send': 0.17.5
- '@types/serve-static@1.15.7':
+ '@types/set-cookie-parser@2.4.10':
dependencies:
- '@types/http-errors': 2.0.4
- '@types/node': 22.9.0
- '@types/send': 0.17.4
+ '@types/node': 24.7.2
'@types/shimmer@1.2.0': {}
+ '@types/stack-utils@2.0.3': {}
+
+ '@types/superagent@8.1.9':
+ dependencies:
+ '@types/cookiejar': 2.1.5
+ '@types/methods': 1.1.4
+ '@types/node': 24.7.2
+ form-data: 4.0.4
+
+ '@types/supertest@6.0.3':
+ dependencies:
+ '@types/methods': 1.1.4
+ '@types/superagent': 8.1.9
+
+ '@types/tedious@4.0.14':
+ dependencies:
+ '@types/node': 24.7.2
+
'@types/tmp@0.2.6': {}
'@types/unist@3.0.3': {}
- '@types/validator@13.12.1': {}
+ '@types/uuid@11.0.0':
+ dependencies:
+ uuid: 13.0.0
+
+ '@types/validator@13.15.3': {}
+
+ '@types/web-bluetooth@0.0.21': {}
+
+ '@types/ws@8.18.1':
+ dependencies:
+ '@types/node': 24.7.2
- '@types/web-bluetooth@0.0.20': {}
+ '@types/yargs-parser@21.0.3': {}
- '@types/wrap-ansi@3.0.0': {}
+ '@types/yargs@17.0.33':
+ dependencies:
+ '@types/yargs-parser': 21.0.3
'@types/yauzl@2.10.3':
dependencies:
- '@types/node': 22.9.0
+ '@types/node': 24.7.2
optional: true
- '@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/eslint-plugin@8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/scope-manager': 8.13.0
- '@typescript-eslint/type-utils': 8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.13.0
- eslint: 9.14.0(jiti@2.4.0)
+ '@typescript-eslint/parser': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.46.0
+ '@typescript-eslint/type-utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.46.0
+ eslint: 9.37.0(jiti@2.6.1)
graphemer: 1.4.0
- ignore: 5.3.2
+ ignore: 7.0.5
natural-compare: 1.4.0
- ts-api-utils: 1.3.0(typescript@5.6.3)
- optionalDependencies:
- typescript: 5.6.3
+ ts-api-utils: 2.1.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@6.21.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/scope-manager': 6.21.0
- '@typescript-eslint/types': 6.21.0
- '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 6.21.0
- debug: 4.3.7(supports-color@9.4.0)
- eslint: 9.14.0(jiti@2.4.0)
- optionalDependencies:
- typescript: 5.6.3
+ '@typescript-eslint/scope-manager': 8.46.0
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.46.0
+ debug: 4.4.3
+ eslint: 9.37.0(jiti@2.6.1)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/project-service@8.46.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.13.0
- '@typescript-eslint/types': 8.13.0
- '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.13.0
- debug: 4.3.7(supports-color@9.4.0)
- eslint: 9.14.0(jiti@2.4.0)
- optionalDependencies:
- typescript: 5.6.3
+ '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.46.0
+ debug: 4.4.3
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@6.21.0':
- dependencies:
- '@typescript-eslint/types': 6.21.0
- '@typescript-eslint/visitor-keys': 6.21.0
-
- '@typescript-eslint/scope-manager@8.13.0':
+ '@typescript-eslint/scope-manager@8.46.0':
dependencies:
- '@typescript-eslint/types': 8.13.0
- '@typescript-eslint/visitor-keys': 8.13.0
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/visitor-keys': 8.46.0
- '@typescript-eslint/scope-manager@8.2.0':
+ '@typescript-eslint/tsconfig-utils@8.46.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/types': 8.2.0
- '@typescript-eslint/visitor-keys': 8.2.0
+ typescript: 5.9.3
- '@typescript-eslint/type-utils@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/type-utils@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3)
- '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- debug: 4.3.7(supports-color@9.4.0)
- ts-api-utils: 1.3.0(typescript@5.6.3)
- optionalDependencies:
- typescript: 5.6.3
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
+ debug: 4.4.3
+ eslint: 9.37.0(jiti@2.6.1)
+ ts-api-utils: 2.1.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- - eslint
- supports-color
- '@typescript-eslint/types@6.21.0': {}
-
- '@typescript-eslint/types@8.13.0': {}
-
- '@typescript-eslint/types@8.2.0': {}
+ '@typescript-eslint/types@8.46.0': {}
- '@typescript-eslint/typescript-estree@6.21.0(typescript@5.6.3)':
+ '@typescript-eslint/typescript-estree@8.46.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/types': 6.21.0
- '@typescript-eslint/visitor-keys': 6.21.0
- debug: 4.3.7(supports-color@9.4.0)
- globby: 11.1.0
+ '@typescript-eslint/project-service': 8.46.0(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/visitor-keys': 8.46.0
+ debug: 4.4.3
+ fast-glob: 3.3.3
is-glob: 4.0.3
- minimatch: 9.0.3
- semver: 7.6.3
- ts-api-utils: 1.3.0(typescript@5.6.3)
- optionalDependencies:
- typescript: 5.6.3
+ minimatch: 9.0.5
+ semver: 7.7.3
+ ts-api-utils: 2.1.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@8.13.0(typescript@5.6.3)':
+ '@typescript-eslint/utils@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/types': 8.13.0
- '@typescript-eslint/visitor-keys': 8.13.0
- debug: 4.3.7(supports-color@9.4.0)
- fast-glob: 3.3.2
- is-glob: 4.0.3
- minimatch: 9.0.5
- semver: 7.6.3
- ts-api-utils: 1.3.0(typescript@5.6.3)
- optionalDependencies:
- typescript: 5.6.3
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1))
+ '@typescript-eslint/scope-manager': 8.46.0
+ '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3)
+ eslint: 9.37.0(jiti@2.6.1)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@8.2.0(typescript@5.6.3)':
+ '@typescript-eslint/visitor-keys@8.46.0':
dependencies:
- '@typescript-eslint/types': 8.2.0
- '@typescript-eslint/visitor-keys': 8.2.0
- debug: 4.3.7(supports-color@9.4.0)
- globby: 11.1.0
- is-glob: 4.0.3
- minimatch: 9.0.5
- semver: 7.6.3
- ts-api-utils: 1.3.0(typescript@5.6.3)
- optionalDependencies:
- typescript: 5.6.3
- transitivePeerDependencies:
- - supports-color
+ '@typescript-eslint/types': 8.46.0
+ eslint-visitor-keys: 4.2.1
- '@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@ungap/structured-clone@1.3.0': {}
+
+ '@unhead/vue@2.0.19(vue@3.5.22(typescript@5.9.3))':
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.0))
- '@typescript-eslint/scope-manager': 8.13.0
- '@typescript-eslint/types': 8.13.0
- '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3)
- eslint: 9.14.0(jiti@2.4.0)
- transitivePeerDependencies:
- - supports-color
- - typescript
+ hookable: 5.5.3
+ unhead: 2.0.19
+ vue: 3.5.22(typescript@5.9.3)
+
+ '@unrs/resolver-binding-android-arm-eabi@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-android-arm64@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-darwin-arm64@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-darwin-x64@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-freebsd-x64@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-arm64-gnu@1.11.1':
+ optional: true
- '@typescript-eslint/utils@8.2.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)':
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.0))
- '@typescript-eslint/scope-manager': 8.2.0
- '@typescript-eslint/types': 8.2.0
- '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.6.3)
- eslint: 9.14.0(jiti@2.4.0)
- transitivePeerDependencies:
- - supports-color
- - typescript
+ '@unrs/resolver-binding-linux-arm64-musl@1.11.1':
+ optional: true
- '@typescript-eslint/visitor-keys@6.21.0':
- dependencies:
- '@typescript-eslint/types': 6.21.0
- eslint-visitor-keys: 3.4.3
+ '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
+ optional: true
- '@typescript-eslint/visitor-keys@8.13.0':
- dependencies:
- '@typescript-eslint/types': 8.13.0
- eslint-visitor-keys: 3.4.3
+ '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
+ optional: true
- '@typescript-eslint/visitor-keys@8.2.0':
- dependencies:
- '@typescript-eslint/types': 8.2.0
- eslint-visitor-keys: 3.4.3
+ '@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
+ optional: true
- '@ungap/structured-clone@1.2.0': {}
+ '@unrs/resolver-binding-linux-x64-gnu@1.11.1':
+ optional: true
- '@unhead/dom@1.11.11':
- dependencies:
- '@unhead/schema': 1.11.11
- '@unhead/shared': 1.11.11
+ '@unrs/resolver-binding-linux-x64-musl@1.11.1':
+ optional: true
- '@unhead/schema@1.11.11':
+ '@unrs/resolver-binding-wasm32-wasi@1.11.1':
dependencies:
- hookable: 5.5.3
- zhead: 2.2.4
+ '@napi-rs/wasm-runtime': 0.2.12
+ optional: true
- '@unhead/shared@1.11.11':
- dependencies:
- '@unhead/schema': 1.11.11
+ '@unrs/resolver-binding-win32-arm64-msvc@1.11.1':
+ optional: true
- '@unhead/ssr@1.11.11':
- dependencies:
- '@unhead/schema': 1.11.11
- '@unhead/shared': 1.11.11
+ '@unrs/resolver-binding-win32-ia32-msvc@1.11.1':
+ optional: true
- '@unhead/vue@1.11.11(vue@3.5.12(typescript@5.6.3))':
- dependencies:
- '@unhead/schema': 1.11.11
- '@unhead/shared': 1.11.11
- defu: 6.1.4
- hookable: 5.5.3
- unhead: 1.11.11
- vue: 3.5.12(typescript@5.6.3)
+ '@unrs/resolver-binding-win32-x64-msvc@1.11.1':
+ optional: true
- '@upstash/pulumi@0.2.0(typescript@5.6.3)':
+ '@upstash/pulumi@0.3.14(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)':
dependencies:
- '@pulumi/pulumi': 3.138.0(typescript@5.6.3)
+ '@pulumi/pulumi': 3.202.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))(typescript@5.9.3)
transitivePeerDependencies:
- bluebird
- supports-color
- ts-node
- typescript
- '@vee-validate/i18n@4.14.6': {}
+ '@vee-validate/i18n@4.15.1': {}
- '@vee-validate/rules@4.14.6(vue@3.5.12(typescript@5.6.3))':
+ '@vee-validate/rules@4.15.1(vue@3.5.22(typescript@5.9.3))':
dependencies:
- vee-validate: 4.14.6(vue@3.5.12(typescript@5.6.3))
+ vee-validate: 4.15.1(vue@3.5.22(typescript@5.9.3))
transitivePeerDependencies:
- vue
- '@vercel/nft@0.27.6(encoding@0.1.13)':
+ '@vercel/nft@0.30.2(encoding@0.1.13)(rollup@4.52.4)':
dependencies:
- '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13)
- '@rollup/pluginutils': 4.2.1
- acorn: 8.14.0
- acorn-import-attributes: 1.9.5(acorn@8.14.0)
+ '@mapbox/node-pre-gyp': 2.0.0(encoding@0.1.13)
+ '@rollup/pluginutils': 5.3.0(rollup@4.52.4)
+ acorn: 8.15.0
+ acorn-import-attributes: 1.9.5(acorn@8.15.0)
async-sema: 3.1.1
bindings: 1.5.0
estree-walker: 2.0.2
- glob: 7.2.3
+ glob: 10.4.5
graceful-fs: 4.2.11
- micromatch: 4.0.8
- node-gyp-build: 4.8.1
+ node-gyp-build: 4.8.4
+ picomatch: 4.0.3
resolve-from: 5.0.0
transitivePeerDependencies:
- encoding
+ - rollup
- supports-color
- '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))':
+ '@vitejs/plugin-vue-jsx@5.1.1(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))':
dependencies:
- '@babel/core': 7.26.0
- '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.26.0)
- '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.26.0)
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
- vue: 3.5.12(typescript@5.6.3)
+ '@babel/core': 7.28.4
+ '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4)
+ '@rolldown/pluginutils': 1.0.0-beta.43
+ '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.4)
+ vite: 7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
+ vue: 3.5.22(typescript@5.9.3)
transitivePeerDependencies:
- supports-color
- '@vitejs/plugin-vue@5.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))':
+ '@vitejs/plugin-vue@5.2.4(vite@5.4.20(@types/node@24.7.2)(sass@1.93.2)(terser@5.44.0))(vue@3.5.22(typescript@5.9.3))':
dependencies:
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
- vue: 3.5.12(typescript@5.6.3)
+ vite: 5.4.20(@types/node@24.7.2)(sass@1.93.2)(terser@5.44.0)
+ vue: 3.5.22(typescript@5.9.3)
- '@volar/language-core@2.4.6':
+ '@vitejs/plugin-vue@6.0.1(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))':
dependencies:
- '@volar/source-map': 2.4.6
- optional: true
-
- '@volar/source-map@2.4.6':
- optional: true
+ '@rolldown/pluginutils': 1.0.0-beta.29
+ vite: 7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
+ vue: 3.5.22(typescript@5.9.3)
- '@volar/typescript@2.4.6':
+ '@volar/language-core@2.4.23':
dependencies:
- '@volar/language-core': 2.4.6
- path-browserify: 1.0.1
- vscode-uri: 3.0.8
- optional: true
+ '@volar/source-map': 2.4.23
+
+ '@volar/source-map@2.4.23': {}
- '@vue-macros/common@1.12.2(rollup@4.24.4)(vue@3.5.12(typescript@5.6.3))':
+ '@vue-macros/common@3.0.0-beta.16(vue@3.5.22(typescript@5.9.3))':
dependencies:
- '@babel/types': 7.26.0
- '@rollup/pluginutils': 5.1.3(rollup@4.24.4)
- '@vue/compiler-sfc': 3.5.12
- ast-kit: 1.1.0
- local-pkg: 0.5.0
- magic-string-ast: 0.6.2
+ '@vue/compiler-sfc': 3.5.22
+ ast-kit: 2.1.3
+ local-pkg: 1.1.2
+ magic-string-ast: 1.0.3
+ unplugin-utils: 0.2.5
optionalDependencies:
- vue: 3.5.12(typescript@5.6.3)
- transitivePeerDependencies:
- - rollup
+ vue: 3.5.22(typescript@5.9.3)
- '@vue/babel-helper-vue-transform-on@1.2.2': {}
+ '@vue/babel-helper-vue-transform-on@1.5.0': {}
- '@vue/babel-plugin-jsx@1.2.2(@babel/core@7.25.2)':
+ '@vue/babel-plugin-jsx@1.5.0(@babel/core@7.28.4)':
dependencies:
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2)
- '@babel/template': 7.25.0
- '@babel/traverse': 7.25.4
- '@babel/types': 7.25.4
- '@vue/babel-helper-vue-transform-on': 1.2.2
- '@vue/babel-plugin-resolve-type': 1.2.2(@babel/core@7.25.2)
- camelcase: 6.3.0
- html-tags: 3.3.1
- svg-tags: 1.0.0
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4)
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
+ '@vue/babel-helper-vue-transform-on': 1.5.0
+ '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.28.4)
+ '@vue/shared': 3.5.22
optionalDependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.28.4
transitivePeerDependencies:
- supports-color
- '@vue/babel-plugin-jsx@1.2.2(@babel/core@7.26.0)':
+ '@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.28.4)':
dependencies:
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.26.0)
- '@babel/template': 7.25.0
- '@babel/traverse': 7.25.4
- '@babel/types': 7.25.4
- '@vue/babel-helper-vue-transform-on': 1.2.2
- '@vue/babel-plugin-resolve-type': 1.2.2(@babel/core@7.26.0)
- camelcase: 6.3.0
- html-tags: 3.3.1
- svg-tags: 1.0.0
- optionalDependencies:
- '@babel/core': 7.26.0
+ '@babel/code-frame': 7.27.1
+ '@babel/core': 7.28.4
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/parser': 7.28.4
+ '@vue/compiler-sfc': 3.5.22
transitivePeerDependencies:
- supports-color
- '@vue/babel-plugin-resolve-type@1.2.2(@babel/core@7.25.2)':
- dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/core': 7.25.2
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/parser': 7.25.4
- '@vue/compiler-sfc': 3.5.12
-
- '@vue/babel-plugin-resolve-type@1.2.2(@babel/core@7.26.0)':
- dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/core': 7.26.0
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-plugin-utils': 7.24.8
- '@babel/parser': 7.25.4
- '@vue/compiler-sfc': 3.5.12
-
- '@vue/compiler-core@3.4.38':
- dependencies:
- '@babel/parser': 7.25.4
- '@vue/shared': 3.4.38
- entities: 4.5.0
- estree-walker: 2.0.2
- source-map-js: 1.2.0
-
- '@vue/compiler-core@3.5.12':
+ '@vue/compiler-core@3.5.22':
dependencies:
- '@babel/parser': 7.25.4
- '@vue/shared': 3.5.12
+ '@babel/parser': 7.28.4
+ '@vue/shared': 3.5.22
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.1
- '@vue/compiler-dom@3.4.38':
- dependencies:
- '@vue/compiler-core': 3.4.38
- '@vue/shared': 3.4.38
-
- '@vue/compiler-dom@3.5.12':
+ '@vue/compiler-dom@3.5.22':
dependencies:
- '@vue/compiler-core': 3.5.12
- '@vue/shared': 3.5.12
+ '@vue/compiler-core': 3.5.22
+ '@vue/shared': 3.5.22
- '@vue/compiler-sfc@3.5.12':
+ '@vue/compiler-sfc@3.5.22':
dependencies:
- '@babel/parser': 7.25.4
- '@vue/compiler-core': 3.5.12
- '@vue/compiler-dom': 3.5.12
- '@vue/compiler-ssr': 3.5.12
- '@vue/shared': 3.5.12
+ '@babel/parser': 7.28.4
+ '@vue/compiler-core': 3.5.22
+ '@vue/compiler-dom': 3.5.22
+ '@vue/compiler-ssr': 3.5.22
+ '@vue/shared': 3.5.22
estree-walker: 2.0.2
- magic-string: 0.30.11
- postcss: 8.4.47
+ magic-string: 0.30.19
+ postcss: 8.5.6
source-map-js: 1.2.1
- '@vue/compiler-ssr@3.5.12':
- dependencies:
- '@vue/compiler-dom': 3.5.12
- '@vue/shared': 3.5.12
-
- '@vue/compiler-vue2@2.7.16':
+ '@vue/compiler-ssr@3.5.22':
dependencies:
- de-indent: 1.0.2
- he: 1.2.0
- optional: true
+ '@vue/compiler-dom': 3.5.22
+ '@vue/shared': 3.5.22
'@vue/devtools-api@6.6.4': {}
- '@vue/devtools-api@7.6.3':
- dependencies:
- '@vue/devtools-kit': 7.6.3
-
- '@vue/devtools-core@7.3.3(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))':
+ '@vue/devtools-api@7.7.7':
dependencies:
- '@vue/devtools-kit': 7.3.3
- '@vue/devtools-shared': 7.3.9
- mitt: 3.0.1
- nanoid: 3.3.7
- pathe: 1.1.2
- vite-hot-client: 0.2.3(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))
- transitivePeerDependencies:
- - vite
+ '@vue/devtools-kit': 7.7.7
- '@vue/devtools-core@7.4.4(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))':
+ '@vue/devtools-core@7.7.7(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))':
dependencies:
- '@vue/devtools-kit': 7.6.3
- '@vue/devtools-shared': 7.6.3
+ '@vue/devtools-kit': 7.7.7
+ '@vue/devtools-shared': 7.7.7
mitt: 3.0.1
- nanoid: 3.3.7
- pathe: 1.1.2
- vite-hot-client: 0.2.3(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))
- vue: 3.5.12(typescript@5.6.3)
+ nanoid: 5.1.6
+ pathe: 2.0.3
+ vite-hot-client: 2.1.0(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))
+ vue: 3.5.22(typescript@5.9.3)
transitivePeerDependencies:
- vite
- '@vue/devtools-kit@7.3.3':
- dependencies:
- '@vue/devtools-shared': 7.3.9
- birpc: 0.2.17
- hookable: 5.5.3
- mitt: 3.0.1
- perfect-debounce: 1.0.0
- speakingurl: 14.0.1
- superjson: 2.2.1
-
- '@vue/devtools-kit@7.4.4':
- dependencies:
- '@vue/devtools-shared': 7.6.3
- birpc: 0.2.19
- hookable: 5.5.3
- mitt: 3.0.1
- perfect-debounce: 1.0.0
- speakingurl: 14.0.1
- superjson: 2.2.1
-
- '@vue/devtools-kit@7.6.3':
+ '@vue/devtools-kit@7.7.7':
dependencies:
- '@vue/devtools-shared': 7.6.3
- birpc: 0.2.19
+ '@vue/devtools-shared': 7.7.7
+ birpc: 2.6.1
hookable: 5.5.3
mitt: 3.0.1
perfect-debounce: 1.0.0
speakingurl: 14.0.1
- superjson: 2.2.1
-
- '@vue/devtools-shared@7.3.9':
- dependencies:
- rfdc: 1.4.1
+ superjson: 2.2.2
- '@vue/devtools-shared@7.6.3':
+ '@vue/devtools-shared@7.7.7':
dependencies:
rfdc: 1.4.1
- '@vue/language-core@2.1.6(typescript@5.6.3)':
+ '@vue/language-core@3.1.1(typescript@5.9.3)':
dependencies:
- '@volar/language-core': 2.4.6
- '@vue/compiler-dom': 3.5.12
- '@vue/compiler-vue2': 2.7.16
- '@vue/shared': 3.5.12
- computeds: 0.0.1
- minimatch: 9.0.5
+ '@volar/language-core': 2.4.23
+ '@vue/compiler-dom': 3.5.22
+ '@vue/shared': 3.5.22
+ alien-signals: 3.0.0
muggle-string: 0.4.1
path-browserify: 1.0.1
+ picomatch: 4.0.3
optionalDependencies:
- typescript: 5.6.3
- optional: true
+ typescript: 5.9.3
- '@vue/reactivity@3.5.12':
+ '@vue/reactivity@3.5.22':
dependencies:
- '@vue/shared': 3.5.12
+ '@vue/shared': 3.5.22
- '@vue/runtime-core@3.5.12':
+ '@vue/runtime-core@3.5.22':
dependencies:
- '@vue/reactivity': 3.5.12
- '@vue/shared': 3.5.12
+ '@vue/reactivity': 3.5.22
+ '@vue/shared': 3.5.22
- '@vue/runtime-dom@3.5.12':
+ '@vue/runtime-dom@3.5.22':
dependencies:
- '@vue/reactivity': 3.5.12
- '@vue/runtime-core': 3.5.12
- '@vue/shared': 3.5.12
+ '@vue/reactivity': 3.5.22
+ '@vue/runtime-core': 3.5.22
+ '@vue/shared': 3.5.22
csstype: 3.1.3
- '@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3))':
+ '@vue/server-renderer@3.5.22(vue@3.5.22(typescript@5.9.3))':
dependencies:
- '@vue/compiler-ssr': 3.5.12
- '@vue/shared': 3.5.12
- vue: 3.5.12(typescript@5.6.3)
+ '@vue/compiler-ssr': 3.5.22
+ '@vue/shared': 3.5.22
+ vue: 3.5.22(typescript@5.9.3)
- '@vue/shared@3.4.38': {}
+ '@vue/shared@3.5.22': {}
- '@vue/shared@3.5.12': {}
-
- '@vueuse/core@10.11.1(vue@3.5.12(typescript@5.6.3))':
+ '@vueuse/core@12.8.2(typescript@5.9.3)':
dependencies:
- '@types/web-bluetooth': 0.0.20
- '@vueuse/metadata': 10.11.1
- '@vueuse/shared': 10.11.1(vue@3.5.12(typescript@5.6.3))
- vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
+ '@types/web-bluetooth': 0.0.21
+ '@vueuse/metadata': 12.8.2
+ '@vueuse/shared': 12.8.2(typescript@5.9.3)
+ vue: 3.5.22(typescript@5.9.3)
transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
+ - typescript
- '@vueuse/core@11.1.0(vue@3.5.12(typescript@5.6.3))':
+ '@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3))':
dependencies:
- '@types/web-bluetooth': 0.0.20
- '@vueuse/metadata': 11.1.0
- '@vueuse/shared': 11.1.0(vue@3.5.12(typescript@5.6.3))
- vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
+ '@types/web-bluetooth': 0.0.21
+ '@vueuse/metadata': 13.9.0
+ '@vueuse/shared': 13.9.0(vue@3.5.22(typescript@5.9.3))
+ vue: 3.5.22(typescript@5.9.3)
- '@vueuse/integrations@11.1.0(axios@1.7.7)(change-case@5.4.4)(focus-trap@7.6.0)(sortablejs@1.14.0)(vue@3.5.12(typescript@5.6.3))':
+ '@vueuse/integrations@12.8.2(axios@1.12.2)(change-case@5.4.4)(focus-trap@7.6.5)(fuse.js@7.1.0)(sortablejs@1.14.0)(typescript@5.9.3)':
dependencies:
- '@vueuse/core': 11.1.0(vue@3.5.12(typescript@5.6.3))
- '@vueuse/shared': 11.1.0(vue@3.5.12(typescript@5.6.3))
- vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
+ '@vueuse/core': 12.8.2(typescript@5.9.3)
+ '@vueuse/shared': 12.8.2(typescript@5.9.3)
+ vue: 3.5.22(typescript@5.9.3)
optionalDependencies:
- axios: 1.7.7(debug@4.3.7)
+ axios: 1.12.2(debug@4.4.3)
change-case: 5.4.4
- focus-trap: 7.6.0
+ focus-trap: 7.6.5
+ fuse.js: 7.1.0
sortablejs: 1.14.0
transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
+ - typescript
- '@vueuse/metadata@10.11.1': {}
+ '@vueuse/metadata@12.8.2': {}
- '@vueuse/metadata@11.1.0': {}
+ '@vueuse/metadata@13.9.0': {}
- '@vueuse/shared@10.11.1(vue@3.5.12(typescript@5.6.3))':
+ '@vueuse/shared@12.8.2(typescript@5.9.3)':
dependencies:
- vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
+ vue: 3.5.22(typescript@5.9.3)
transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
+ - typescript
- '@vueuse/shared@11.1.0(vue@3.5.12(typescript@5.6.3))':
+ '@vueuse/shared@13.9.0(vue@3.5.22(typescript@5.9.3))':
dependencies:
- vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
+ vue: 3.5.22(typescript@5.9.3)
- JSONStream@1.3.5:
+ '@webassemblyjs/ast@1.14.1':
dependencies:
- jsonparse: 1.3.1
- through: 2.3.8
+ '@webassemblyjs/helper-numbers': 1.13.2
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+
+ '@webassemblyjs/floating-point-hex-parser@1.13.2': {}
+
+ '@webassemblyjs/helper-api-error@1.13.2': {}
- abbrev@1.1.1: {}
+ '@webassemblyjs/helper-buffer@1.14.1': {}
+
+ '@webassemblyjs/helper-numbers@1.13.2':
+ dependencies:
+ '@webassemblyjs/floating-point-hex-parser': 1.13.2
+ '@webassemblyjs/helper-api-error': 1.13.2
+ '@xtuc/long': 4.2.2
+
+ '@webassemblyjs/helper-wasm-bytecode@1.13.2': {}
+
+ '@webassemblyjs/helper-wasm-section@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/wasm-gen': 1.14.1
+
+ '@webassemblyjs/ieee754@1.13.2':
+ dependencies:
+ '@xtuc/ieee754': 1.2.0
+
+ '@webassemblyjs/leb128@1.13.2':
+ dependencies:
+ '@xtuc/long': 4.2.2
+
+ '@webassemblyjs/utf8@1.13.2': {}
+
+ '@webassemblyjs/wasm-edit@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/helper-wasm-section': 1.14.1
+ '@webassemblyjs/wasm-gen': 1.14.1
+ '@webassemblyjs/wasm-opt': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ '@webassemblyjs/wast-printer': 1.14.1
+
+ '@webassemblyjs/wasm-gen@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/ieee754': 1.13.2
+ '@webassemblyjs/leb128': 1.13.2
+ '@webassemblyjs/utf8': 1.13.2
+
+ '@webassemblyjs/wasm-opt@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/wasm-gen': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+
+ '@webassemblyjs/wasm-parser@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-api-error': 1.13.2
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/ieee754': 1.13.2
+ '@webassemblyjs/leb128': 1.13.2
+ '@webassemblyjs/utf8': 1.13.2
+
+ '@webassemblyjs/wast-printer@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@xtuc/long': 4.2.2
+
+ '@xtuc/ieee754@1.2.0': {}
+
+ '@xtuc/long@4.2.2': {}
abbrev@2.0.0: {}
+ abbrev@3.0.1: {}
+
abort-controller@3.0.0:
dependencies:
event-target-shim: 5.0.1
accepts@2.0.0:
dependencies:
- mime-types: 3.0.0
+ mime-types: 3.0.1
negotiator: 1.0.0
- acorn-import-attributes@1.9.5(acorn@8.14.0):
+ acorn-import-attributes@1.9.5(acorn@8.15.0):
dependencies:
- acorn: 8.14.0
+ acorn: 8.15.0
- acorn-jsx@5.3.2(acorn@8.14.0):
+ acorn-import-phases@1.0.4(acorn@8.15.0):
dependencies:
- acorn: 8.14.0
-
- acorn@8.12.1: {}
+ acorn: 8.15.0
- acorn@8.14.0: {}
-
- agent-base@6.0.2:
+ acorn-jsx@5.3.2(acorn@8.15.0):
dependencies:
- debug: 4.3.7(supports-color@9.4.0)
- transitivePeerDependencies:
- - supports-color
+ acorn: 8.15.0
- agent-base@7.1.1(supports-color@9.4.0):
+ acorn-walk@8.3.4:
dependencies:
- debug: 4.3.7(supports-color@9.4.0)
- transitivePeerDependencies:
- - supports-color
+ acorn: 8.15.0
- agentkeepalive@4.5.0:
- dependencies:
- humanize-ms: 1.2.1
+ acorn@8.15.0: {}
+
+ agent-base@7.1.4: {}
aggregate-error@3.1.0:
dependencies:
clean-stack: 2.2.0
indent-string: 4.0.0
- aggregate-error@4.0.1:
- dependencies:
- clean-stack: 4.2.0
- indent-string: 5.0.0
-
aggregate-error@5.0.0:
dependencies:
- clean-stack: 5.2.0
+ clean-stack: 5.3.0
indent-string: 5.0.0
ajv-draft-04@1.0.0(ajv@8.13.0):
optionalDependencies:
ajv: 8.13.0
+ ajv-formats@2.1.1(ajv@8.17.1):
+ optionalDependencies:
+ ajv: 8.17.1
+
ajv-formats@3.0.1(ajv@8.13.0):
optionalDependencies:
ajv: 8.13.0
+ ajv-formats@3.0.1(ajv@8.17.1):
+ optionalDependencies:
+ ajv: 8.17.1
+
+ ajv-keywords@3.5.2(ajv@6.12.6):
+ dependencies:
+ ajv: 6.12.6
+
+ ajv-keywords@5.1.0(ajv@8.17.1):
+ dependencies:
+ ajv: 8.17.1
+ fast-deep-equal: 3.1.3
+
ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
@@ -13783,27 +14985,28 @@ snapshots:
ajv@8.17.1:
dependencies:
fast-deep-equal: 3.1.3
- fast-uri: 3.0.1
+ fast-uri: 3.1.0
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- algoliasearch@4.24.0:
- dependencies:
- '@algolia/cache-browser-local-storage': 4.24.0
- '@algolia/cache-common': 4.24.0
- '@algolia/cache-in-memory': 4.24.0
- '@algolia/client-account': 4.24.0
- '@algolia/client-analytics': 4.24.0
- '@algolia/client-common': 4.24.0
- '@algolia/client-personalization': 4.24.0
- '@algolia/client-search': 4.24.0
- '@algolia/logger-common': 4.24.0
- '@algolia/logger-console': 4.24.0
- '@algolia/recommend': 4.24.0
- '@algolia/requester-browser-xhr': 4.24.0
- '@algolia/requester-common': 4.24.0
- '@algolia/requester-node-http': 4.24.0
- '@algolia/transporter': 4.24.0
+ algoliasearch@5.40.0:
+ dependencies:
+ '@algolia/abtesting': 1.6.0
+ '@algolia/client-abtesting': 5.40.0
+ '@algolia/client-analytics': 5.40.0
+ '@algolia/client-common': 5.40.0
+ '@algolia/client-insights': 5.40.0
+ '@algolia/client-personalization': 5.40.0
+ '@algolia/client-query-suggestions': 5.40.0
+ '@algolia/client-search': 5.40.0
+ '@algolia/ingestion': 1.40.0
+ '@algolia/monitoring': 1.40.0
+ '@algolia/recommend': 5.40.0
+ '@algolia/requester-browser-xhr': 5.40.0
+ '@algolia/requester-fetch': 5.40.0
+ '@algolia/requester-node-http': 5.40.0
+
+ alien-signals@3.0.0: {}
ansi-align@3.0.1:
dependencies:
@@ -13817,17 +15020,19 @@ snapshots:
ansi-regex@5.0.1: {}
- ansi-regex@6.0.1: {}
-
- ansi-styles@3.2.1:
- dependencies:
- color-convert: 1.9.3
+ ansi-regex@6.2.2: {}
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
- ansi-styles@6.2.1: {}
+ ansi-styles@5.2.0: {}
+
+ ansi-styles@6.2.3: {}
+
+ ansis@4.1.0: {}
+
+ ansis@4.2.0: {}
anymatch@3.1.3:
dependencies:
@@ -13836,8 +15041,6 @@ snapshots:
append-field@1.0.0: {}
- aproba@2.0.0: {}
-
archiver-utils@5.0.2:
dependencies:
glob: 10.4.5
@@ -13846,24 +15049,24 @@ snapshots:
lazystream: 1.0.1
lodash: 4.17.21
normalize-path: 3.0.0
- readable-stream: 4.5.2
+ readable-stream: 4.7.0
archiver@7.0.1:
dependencies:
archiver-utils: 5.0.2
async: 3.2.6
buffer-crc32: 1.0.0
- readable-stream: 4.5.2
+ readable-stream: 4.7.0
readdir-glob: 1.1.3
tar-stream: 3.1.7
zip-stream: 6.0.1
+ transitivePeerDependencies:
+ - bare-abort-controller
+ - react-native-b4a
are-docs-informative@0.0.2: {}
- are-we-there-yet@2.0.0:
- dependencies:
- delegates: 1.0.0
- readable-stream: 3.6.2
+ arg@4.1.3: {}
argparse@1.0.10:
dependencies:
@@ -13871,49 +15074,25 @@ snapshots:
argparse@2.0.1: {}
- array-buffer-byte-length@1.0.1:
- dependencies:
- call-bind: 1.0.7
- is-array-buffer: 3.0.4
-
- array-flatten@3.0.0: {}
+ array-timsort@1.0.3: {}
array-union@2.1.0: {}
- array.prototype.reduce@1.0.7:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-array-method-boxes-properly: 1.0.0
- es-errors: 1.3.0
- es-object-atoms: 1.0.0
- is-string: 1.0.7
+ asap@2.0.6: {}
- arraybuffer.prototype.slice@1.0.3:
+ ast-kit@2.1.3:
dependencies:
- array-buffer-byte-length: 1.0.1
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
- is-array-buffer: 3.0.4
- is-shared-array-buffer: 1.0.3
-
- arrify@1.0.1: {}
-
- asap@2.0.6: {}
+ '@babel/parser': 7.28.4
+ pathe: 2.0.3
- ast-kit@1.1.0:
+ ast-types@0.13.4:
dependencies:
- '@babel/parser': 7.26.2
- pathe: 1.1.2
+ tslib: 2.8.1
- ast-walker-scope@0.6.2:
+ ast-walker-scope@0.8.3:
dependencies:
- '@babel/parser': 7.26.2
- ast-kit: 1.1.0
+ '@babel/parser': 7.28.4
+ ast-kit: 2.1.3
async-sema@3.1.1: {}
@@ -13921,65 +15100,100 @@ snapshots:
asynckit@0.4.0: {}
- at-least-node@1.0.0: {}
-
atomic-sleep@1.0.0: {}
- auto-bind@5.0.1: {}
-
- autoprefixer@10.4.20(postcss@8.4.47):
+ autoprefixer@10.4.21(postcss@8.5.6):
dependencies:
- browserslist: 4.23.3
- caniuse-lite: 1.0.30001653
+ browserslist: 4.26.3
+ caniuse-lite: 1.0.30001750
fraction.js: 4.3.7
normalize-range: 0.1.2
- picocolors: 1.0.1
- postcss: 8.4.47
+ picocolors: 1.1.1
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- available-typed-arrays@1.0.7:
- dependencies:
- possible-typed-array-names: 1.0.0
+ axe-core@4.10.3: {}
- aws-sdk@2.1682.0:
+ axios@1.12.2(debug@4.4.3):
dependencies:
- buffer: 4.9.2
- events: 1.1.1
- ieee754: 1.1.13
- jmespath: 0.16.0
- querystring: 0.2.0
- sax: 1.2.1
- url: 0.10.3
- util: 0.12.5
- uuid: 8.0.0
- xml2js: 0.6.2
+ follow-redirects: 1.15.11(debug@4.4.3)
+ form-data: 4.0.4
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
- axe-core@4.10.0: {}
+ b4a@1.7.3: {}
- axios@1.7.7(debug@4.3.7):
+ babel-jest@30.2.0(@babel/core@7.28.4):
dependencies:
- follow-redirects: 1.15.6(debug@4.3.7)
- form-data: 4.0.0
- proxy-from-env: 1.1.0
+ '@babel/core': 7.28.4
+ '@jest/transform': 30.2.0
+ '@types/babel__core': 7.20.5
+ babel-plugin-istanbul: 7.0.1
+ babel-preset-jest: 30.2.0(@babel/core@7.28.4)
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ slash: 3.0.0
transitivePeerDependencies:
- - debug
+ - supports-color
+
+ babel-plugin-istanbul@7.0.1:
+ dependencies:
+ '@babel/helper-plugin-utils': 7.27.1
+ '@istanbuljs/load-nyc-config': 1.1.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-instrument: 6.0.3
+ test-exclude: 6.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-jest-hoist@30.2.0:
+ dependencies:
+ '@types/babel__core': 7.20.5
- b4a@1.6.6: {}
+ babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.4):
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.4)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.4)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.4)
+ '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.4)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.4)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.4)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.4)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.4)
+
+ babel-preset-jest@30.2.0(@babel/core@7.28.4):
+ dependencies:
+ '@babel/core': 7.28.4
+ babel-plugin-jest-hoist: 30.2.0
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.4)
balanced-match@1.0.2: {}
- bare-events@2.4.2:
- optional: true
+ bare-events@2.8.0: {}
base64-js@1.5.1: {}
- bcrypt@5.1.1(encoding@0.1.13):
+ baseline-browser-mapping@2.8.16: {}
+
+ basic-ftp@5.0.5: {}
+
+ bcrypt@6.0.0:
dependencies:
- '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13)
- node-addon-api: 5.1.0
- transitivePeerDependencies:
- - encoding
- - supports-color
+ node-addon-api: 8.5.0
+ node-gyp-build: 4.8.4
+
+ bidi-js@1.0.3:
+ dependencies:
+ require-from-string: 2.0.2
bin-links@4.0.4:
dependencies:
@@ -13988,15 +15202,11 @@ snapshots:
read-cmd-shim: 4.0.0
write-file-atomic: 5.0.1
- binary-extensions@2.3.0: {}
-
bindings@1.5.0:
dependencies:
file-uri-to-path: 1.0.0
- birpc@0.2.17: {}
-
- birpc@0.2.19: {}
+ birpc@2.6.1: {}
bl@4.1.0:
dependencies:
@@ -14008,73 +15218,41 @@ snapshots:
blueimp-canvas-to-blob@3.29.0: {}
- blueimp-md5@2.19.0: {}
-
- body-parser@1.20.3:
- dependencies:
- bytes: 3.1.2
- content-type: 1.0.5
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- http-errors: 2.0.0
- iconv-lite: 0.4.24
- on-finished: 2.4.1
- qs: 6.13.0
- raw-body: 2.5.2
- type-is: 1.6.18
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
-
- body-parser@2.0.1:
+ body-parser@2.2.0:
dependencies:
bytes: 3.1.2
content-type: 1.0.5
- debug: 3.1.0
- destroy: 1.2.0
+ debug: 4.4.3
http-errors: 2.0.0
- iconv-lite: 0.5.2
+ iconv-lite: 0.6.3
on-finished: 2.4.1
- qs: 6.13.0
- raw-body: 3.0.0
- type-is: 1.6.18
- unpipe: 1.0.0
+ qs: 6.14.0
+ raw-body: 3.0.1
+ type-is: 2.0.1
transitivePeerDependencies:
- supports-color
boolbase@1.0.0: {}
- bowser@2.11.0: {}
-
- boxen@7.1.1:
- dependencies:
- ansi-align: 3.0.1
- camelcase: 7.0.1
- chalk: 5.3.0
- cli-boxes: 3.0.0
- string-width: 5.1.2
- type-fest: 2.19.0
- widest-line: 4.0.1
- wrap-ansi: 8.1.0
+ bowser@2.12.1: {}
boxen@8.0.1:
dependencies:
ansi-align: 3.0.1
camelcase: 8.0.0
- chalk: 5.3.0
+ chalk: 5.6.2
cli-boxes: 3.0.0
string-width: 7.2.0
- type-fest: 4.25.0
+ type-fest: 4.41.0
widest-line: 5.0.0
- wrap-ansi: 9.0.0
+ wrap-ansi: 9.0.2
- brace-expansion@1.1.11:
+ brace-expansion@1.1.12:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
- brace-expansion@2.0.1:
+ brace-expansion@2.0.2:
dependencies:
balanced-match: 1.0.2
@@ -14082,19 +15260,21 @@ snapshots:
dependencies:
fill-range: 7.1.1
- browserslist@4.23.3:
+ browserslist@4.26.3:
dependencies:
- caniuse-lite: 1.0.30001653
- electron-to-chromium: 1.5.13
- node-releases: 2.0.18
- update-browserslist-db: 1.1.0(browserslist@4.23.3)
+ baseline-browser-mapping: 2.8.16
+ caniuse-lite: 1.0.30001750
+ electron-to-chromium: 1.5.234
+ node-releases: 2.0.23
+ update-browserslist-db: 1.1.3(browserslist@4.26.3)
- browserslist@4.24.2:
+ bs-logger@0.2.6:
dependencies:
- caniuse-lite: 1.0.30001679
- electron-to-chromium: 1.5.55
- node-releases: 2.0.18
- update-browserslist-db: 1.1.1(browserslist@4.24.2)
+ fast-json-stable-stringify: 2.1.0
+
+ bser@2.1.1:
+ dependencies:
+ node-int64: 0.4.0
buffer-crc32@0.2.13: {}
@@ -14104,17 +15284,6 @@ snapshots:
buffer-from@1.1.2: {}
- buffer@4.9.2:
- dependencies:
- base64-js: 1.5.1
- ieee754: 1.2.1
- isarray: 1.0.0
-
- buffer@5.6.0:
- dependencies:
- base64-js: 1.5.1
- ieee754: 1.2.1
-
buffer@5.7.1:
dependencies:
base64-js: 1.5.1
@@ -14125,84 +15294,31 @@ snapshots:
base64-js: 1.5.1
ieee754: 1.2.1
- builtin-modules@3.0.0: {}
-
- builtin-modules@3.3.0: {}
+ builtin-modules@5.0.0: {}
bundle-name@4.1.0:
dependencies:
- run-applescript: 7.0.0
+ run-applescript: 7.1.0
busboy@1.6.0:
dependencies:
- streamsearch: 1.1.0
-
- bytes@3.1.2: {}
-
- c12@1.11.1(magicast@0.3.4):
- dependencies:
- chokidar: 3.6.0
- confbox: 0.1.7
- defu: 6.1.4
- dotenv: 16.4.5
- giget: 1.2.3
- jiti: 1.21.6
- mlly: 1.7.1
- ohash: 1.1.3
- pathe: 1.1.2
- perfect-debounce: 1.0.0
- pkg-types: 1.2.0
- rc9: 2.1.2
- optionalDependencies:
- magicast: 0.3.4
-
- c12@1.11.1(magicast@0.3.5):
- dependencies:
- chokidar: 3.6.0
- confbox: 0.1.7
- defu: 6.1.4
- dotenv: 16.4.5
- giget: 1.2.3
- jiti: 1.21.6
- mlly: 1.7.1
- ohash: 1.1.3
- pathe: 1.1.2
- perfect-debounce: 1.0.0
- pkg-types: 1.2.0
- rc9: 2.1.2
- optionalDependencies:
- magicast: 0.3.5
-
- c12@1.11.2(magicast@0.3.5):
- dependencies:
- chokidar: 3.6.0
- confbox: 0.1.8
- defu: 6.1.4
- dotenv: 16.4.5
- giget: 1.2.3
- jiti: 1.21.6
- mlly: 1.7.2
- ohash: 1.1.4
- pathe: 1.1.2
- perfect-debounce: 1.0.0
- pkg-types: 1.2.1
- rc9: 2.1.2
- optionalDependencies:
- magicast: 0.3.5
+ streamsearch: 1.1.0
+
+ bytes@3.1.2: {}
- c12@2.0.1(magicast@0.3.5):
+ c12@3.3.0(magicast@0.3.5):
dependencies:
- chokidar: 4.0.1
- confbox: 0.1.8
+ chokidar: 4.0.3
+ confbox: 0.2.2
defu: 6.1.4
- dotenv: 16.4.5
- giget: 1.2.3
- jiti: 2.4.0
- mlly: 1.7.2
- ohash: 1.1.4
- pathe: 1.1.2
- perfect-debounce: 1.0.0
- pkg-types: 1.2.1
+ dotenv: 17.2.3
+ exsolve: 1.0.7
+ giget: 2.0.0
+ jiti: 2.6.1
+ ohash: 2.0.11
+ pathe: 2.0.3
+ perfect-debounce: 2.0.0
+ pkg-types: 2.3.0
rc9: 2.1.2
optionalDependencies:
magicast: 0.3.5
@@ -14230,124 +15346,90 @@ snapshots:
dependencies:
clone-response: 1.0.3
get-stream: 5.2.0
- http-cache-semantics: 4.1.1
+ http-cache-semantics: 4.2.0
keyv: 4.5.4
lowercase-keys: 2.0.0
normalize-url: 6.1.0
responselike: 2.0.1
- call-bind@1.0.7:
+ call-bind-apply-helpers@1.0.2:
dependencies:
- es-define-property: 1.0.0
es-errors: 1.3.0
function-bind: 1.1.2
- get-intrinsic: 1.2.4
- set-function-length: 1.2.2
-
- callsites@3.1.0: {}
- camel-case@3.0.0:
+ call-bound@1.0.4:
dependencies:
- no-case: 2.3.2
- upper-case: 1.1.3
+ call-bind-apply-helpers: 1.0.2
+ get-intrinsic: 1.3.0
- camelcase-keys@7.0.2:
- dependencies:
- camelcase: 6.3.0
- map-obj: 4.3.0
- quick-lru: 5.1.1
- type-fest: 1.4.0
+ callsites@3.1.0: {}
camelcase@5.3.1: {}
camelcase@6.3.0: {}
- camelcase@7.0.1: {}
-
camelcase@8.0.0: {}
caniuse-api@3.0.0:
dependencies:
- browserslist: 4.24.2
- caniuse-lite: 1.0.30001679
+ browserslist: 4.26.3
+ caniuse-lite: 1.0.30001750
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
- caniuse-lite@1.0.30001653: {}
+ caniuse-lite@1.0.30001750: {}
- caniuse-lite@1.0.30001679: {}
+ casual@1.6.2:
+ dependencies:
+ mersenne-twister: 1.1.0
+ moment: 2.30.1
ccount@2.0.1: {}
- chalk@2.4.2:
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
-
chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
supports-color: 7.2.0
- chalk@5.3.0: {}
+ chalk@5.6.2: {}
change-case@5.4.4: {}
+ char-regex@1.0.2: {}
+
character-entities-html4@2.1.0: {}
character-entities-legacy@3.0.0: {}
- chardet@0.7.0: {}
-
- cheerio-select@2.1.0:
- dependencies:
- boolbase: 1.0.0
- css-select: 5.1.0
- css-what: 6.1.0
- domelementtype: 2.3.0
- domhandler: 5.0.3
- domutils: 3.1.0
+ chardet@2.1.0: {}
- cheerio@1.0.0-rc.12:
+ chokidar@4.0.3:
dependencies:
- cheerio-select: 2.1.0
- dom-serializer: 2.0.0
- domhandler: 5.0.3
- domutils: 3.1.0
- htmlparser2: 8.0.2
- parse5: 7.1.2
- parse5-htmlparser2-tree-adapter: 7.0.0
+ readdirp: 4.1.2
- chokidar@3.6.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
+ chownr@2.0.0: {}
- chokidar@4.0.1:
- dependencies:
- readdirp: 4.0.2
+ chownr@3.0.0: {}
- chownr@2.0.0: {}
+ chrome-trace-event@1.0.4: {}
- ci-info@4.0.0: {}
+ ci-info@4.3.1: {}
citty@0.1.6:
dependencies:
- consola: 3.2.3
+ consola: 3.4.2
+
+ cjs-module-lexer@1.4.3: {}
- cjs-module-lexer@1.4.0: {}
+ cjs-module-lexer@2.1.0: {}
- clean-css@4.2.4:
+ class-transformer@0.5.1: {}
+
+ class-validator@0.14.2:
dependencies:
- source-map: 0.6.1
+ '@types/validator': 13.15.3
+ libphonenumber-js: 1.12.24
+ validator: 13.15.15
clean-regexp@1.0.0:
dependencies:
@@ -14355,26 +15437,12 @@ snapshots:
clean-stack@2.2.0: {}
- clean-stack@4.2.0:
+ clean-stack@5.3.0:
dependencies:
escape-string-regexp: 5.0.0
- clean-stack@5.2.0:
- dependencies:
- escape-string-regexp: 5.0.0
-
- clear@0.1.0: {}
-
cli-boxes@3.0.0: {}
- cli-color@2.0.4:
- dependencies:
- d: 1.0.2
- es5-ext: 0.10.64
- es6-iterator: 2.0.3
- memoizee: 0.4.17
- timers-ext: 0.1.8
-
cli-cursor@3.1.0:
dependencies:
restore-cursor: 3.1.0
@@ -14385,6 +15453,14 @@ snapshots:
cli-spinners@2.9.2: {}
+ cli-spinners@3.3.0: {}
+
+ cli-table3@0.6.5:
+ dependencies:
+ string-width: 4.2.3
+ optionalDependencies:
+ '@colors/colors': 1.5.0
+
cli-width@4.1.0: {}
clipboardy@4.0.0:
@@ -14393,17 +15469,12 @@ snapshots:
is-wsl: 3.1.0
is64bit: 2.0.0
- cliui@6.0.0:
- dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 6.2.0
-
- cliui@7.0.4:
+ clipboardy@5.0.0:
dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 7.0.0
+ execa: 9.6.0
+ is-wayland: 0.1.0
+ is-wsl: 3.1.0
+ is64bit: 2.0.0
cliui@8.0.1:
dependencies:
@@ -14421,23 +15492,21 @@ snapshots:
cmd-shim@6.0.3: {}
- color-convert@1.9.3:
- dependencies:
- color-name: 1.1.3
+ co@4.6.0: {}
+
+ code-block-writer@13.0.3: {}
+
+ collect-v8-coverage@1.0.2: {}
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
- color-name@1.1.3: {}
-
color-name@1.1.4: {}
- color-support@1.1.3: {}
-
colord@2.9.3: {}
- colorette@1.4.0: {}
+ colorette@2.0.19: {}
colorette@2.0.20: {}
@@ -14449,21 +15518,31 @@ snapshots:
commander@10.0.1: {}
- commander@2.20.3: {}
+ commander@11.1.0: {}
+
+ commander@14.0.1: {}
- commander@6.2.1: {}
+ commander@2.20.3: {}
- commander@7.2.0: {}
+ commander@4.1.1: {}
- commander@8.3.0: {}
+ comment-json@4.4.1:
+ dependencies:
+ array-timsort: 1.0.3
+ core-util-is: 1.0.3
+ esprima: 4.0.1
comment-parser@1.4.1: {}
common-ancestor-path@1.0.1: {}
+ common-tags@1.8.2: {}
+
commondir@1.0.1: {}
- compatx@0.1.8: {}
+ compatx@0.2.0: {}
+
+ component-emitter@1.3.1: {}
compress-commons@6.0.2:
dependencies:
@@ -14471,55 +15550,36 @@ snapshots:
crc32-stream: 6.0.0
is-stream: 2.0.1
normalize-path: 3.0.0
- readable-stream: 4.5.2
+ readable-stream: 4.7.0
compressorjs@1.2.1:
dependencies:
blueimp-canvas-to-blob: 3.29.0
is-blob: 2.1.0
- computeds@0.0.1:
- optional: true
-
concat-map@0.0.1: {}
- concat-stream@1.6.2:
+ concat-stream@2.0.0:
dependencies:
buffer-from: 1.1.2
inherits: 2.0.4
- readable-stream: 2.3.8
+ readable-stream: 3.6.2
typedarray: 0.0.6
- concurrently@9.1.0:
+ concurrently@9.2.1:
dependencies:
chalk: 4.1.2
- lodash: 4.17.21
- rxjs: 7.8.1
- shell-quote: 1.8.1
+ rxjs: 7.8.2
+ shell-quote: 1.8.3
supports-color: 8.1.1
tree-kill: 1.2.2
yargs: 17.7.2
- confbox@0.1.7: {}
-
confbox@0.1.8: {}
- config-chain@1.1.13:
- dependencies:
- ini: 1.3.8
- proto-list: 1.2.4
-
- connect-history-api-fallback@2.0.0: {}
-
- consola@3.2.3: {}
+ confbox@0.2.2: {}
- console-control-strings@1.1.0: {}
-
- consolidate@1.0.4(@babel/core@7.26.0)(lodash@4.17.21)(mustache@4.2.0):
- optionalDependencies:
- '@babel/core': 7.26.0
- lodash: 4.17.21
- mustache: 4.2.0
+ consola@3.4.2: {}
content-disposition@0.5.4:
dependencies:
@@ -14535,6 +15595,8 @@ snapshots:
cookie-es@1.2.2: {}
+ cookie-es@2.0.0: {}
+
cookie-parser@1.4.7:
dependencies:
cookie: 0.7.2
@@ -14542,21 +15604,21 @@ snapshots:
cookie-signature@1.0.6: {}
- cookie-signature@1.0.7: {}
+ cookie-signature@1.2.2: {}
- cookie-signature@1.2.1: {}
+ cookie@0.7.2: {}
- cookie@0.6.0: {}
+ cookie@1.0.2: {}
- cookie@0.7.2: {}
+ cookiejar@2.1.4: {}
copy-anything@3.0.5:
dependencies:
is-what: 4.1.16
- core-js-compat@3.38.1:
+ core-js-compat@3.46.0:
dependencies:
- browserslist: 4.23.3
+ browserslist: 4.26.3
core-util-is@1.0.3: {}
@@ -14565,50 +15627,57 @@ snapshots:
object-assign: 4.1.1
vary: 1.1.2
- cosmiconfig@8.3.6(typescript@5.6.3):
+ cosmiconfig@8.3.6(typescript@5.8.3):
+ dependencies:
+ import-fresh: 3.3.1
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ optionalDependencies:
+ typescript: 5.8.3
+
+ cosmiconfig@8.3.6(typescript@5.9.3):
dependencies:
- import-fresh: 3.3.0
+ import-fresh: 3.3.1
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.9.3
crc-32@1.2.2: {}
crc32-stream@6.0.0:
dependencies:
crc-32: 1.2.2
- readable-stream: 4.5.2
+ readable-stream: 4.7.0
create-require@1.1.1: {}
crelt@1.0.6: {}
- croner@9.0.0: {}
+ croner@9.1.0: {}
- cronstrue@2.50.0: {}
-
- cross-spawn@7.0.3:
+ cross-spawn@7.0.6:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
- crossws@0.3.1:
+ crossws@0.3.5:
dependencies:
uncrypto: 0.1.3
- css-declaration-sorter@7.2.0(postcss@8.4.47):
+ css-declaration-sorter@7.3.0(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
- css-select@5.1.0:
+ css-select@5.2.2:
dependencies:
boolbase: 1.0.0
- css-what: 6.1.0
+ css-what: 6.2.2
domhandler: 5.0.3
- domutils: 3.1.0
+ domutils: 3.2.2
nth-check: 2.1.1
css-tree@2.2.1:
@@ -14616,159 +15685,112 @@ snapshots:
mdn-data: 2.0.28
source-map-js: 1.2.1
- css-tree@2.3.1:
+ css-tree@3.1.0:
dependencies:
- mdn-data: 2.0.30
+ mdn-data: 2.12.2
source-map-js: 1.2.1
- css-what@6.1.0: {}
+ css-what@6.2.2: {}
cssesc@3.0.0: {}
- cssnano-preset-default@7.0.6(postcss@8.4.47):
- dependencies:
- browserslist: 4.24.2
- css-declaration-sorter: 7.2.0(postcss@8.4.47)
- cssnano-utils: 5.0.0(postcss@8.4.47)
- postcss: 8.4.47
- postcss-calc: 10.0.2(postcss@8.4.47)
- postcss-colormin: 7.0.2(postcss@8.4.47)
- postcss-convert-values: 7.0.4(postcss@8.4.47)
- postcss-discard-comments: 7.0.3(postcss@8.4.47)
- postcss-discard-duplicates: 7.0.1(postcss@8.4.47)
- postcss-discard-empty: 7.0.0(postcss@8.4.47)
- postcss-discard-overridden: 7.0.0(postcss@8.4.47)
- postcss-merge-longhand: 7.0.4(postcss@8.4.47)
- postcss-merge-rules: 7.0.4(postcss@8.4.47)
- postcss-minify-font-values: 7.0.0(postcss@8.4.47)
- postcss-minify-gradients: 7.0.0(postcss@8.4.47)
- postcss-minify-params: 7.0.2(postcss@8.4.47)
- postcss-minify-selectors: 7.0.4(postcss@8.4.47)
- postcss-normalize-charset: 7.0.0(postcss@8.4.47)
- postcss-normalize-display-values: 7.0.0(postcss@8.4.47)
- postcss-normalize-positions: 7.0.0(postcss@8.4.47)
- postcss-normalize-repeat-style: 7.0.0(postcss@8.4.47)
- postcss-normalize-string: 7.0.0(postcss@8.4.47)
- postcss-normalize-timing-functions: 7.0.0(postcss@8.4.47)
- postcss-normalize-unicode: 7.0.2(postcss@8.4.47)
- postcss-normalize-url: 7.0.0(postcss@8.4.47)
- postcss-normalize-whitespace: 7.0.0(postcss@8.4.47)
- postcss-ordered-values: 7.0.1(postcss@8.4.47)
- postcss-reduce-initial: 7.0.2(postcss@8.4.47)
- postcss-reduce-transforms: 7.0.0(postcss@8.4.47)
- postcss-svgo: 7.0.1(postcss@8.4.47)
- postcss-unique-selectors: 7.0.3(postcss@8.4.47)
-
- cssnano-utils@5.0.0(postcss@8.4.47):
- dependencies:
- postcss: 8.4.47
-
- cssnano@7.0.6(postcss@8.4.47):
- dependencies:
- cssnano-preset-default: 7.0.6(postcss@8.4.47)
- lilconfig: 3.1.2
- postcss: 8.4.47
+ cssnano-preset-default@7.0.9(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.26.3
+ css-declaration-sorter: 7.3.0(postcss@8.5.6)
+ cssnano-utils: 5.0.1(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-calc: 10.1.1(postcss@8.5.6)
+ postcss-colormin: 7.0.4(postcss@8.5.6)
+ postcss-convert-values: 7.0.7(postcss@8.5.6)
+ postcss-discard-comments: 7.0.4(postcss@8.5.6)
+ postcss-discard-duplicates: 7.0.2(postcss@8.5.6)
+ postcss-discard-empty: 7.0.1(postcss@8.5.6)
+ postcss-discard-overridden: 7.0.1(postcss@8.5.6)
+ postcss-merge-longhand: 7.0.5(postcss@8.5.6)
+ postcss-merge-rules: 7.0.6(postcss@8.5.6)
+ postcss-minify-font-values: 7.0.1(postcss@8.5.6)
+ postcss-minify-gradients: 7.0.1(postcss@8.5.6)
+ postcss-minify-params: 7.0.4(postcss@8.5.6)
+ postcss-minify-selectors: 7.0.5(postcss@8.5.6)
+ postcss-normalize-charset: 7.0.1(postcss@8.5.6)
+ postcss-normalize-display-values: 7.0.1(postcss@8.5.6)
+ postcss-normalize-positions: 7.0.1(postcss@8.5.6)
+ postcss-normalize-repeat-style: 7.0.1(postcss@8.5.6)
+ postcss-normalize-string: 7.0.1(postcss@8.5.6)
+ postcss-normalize-timing-functions: 7.0.1(postcss@8.5.6)
+ postcss-normalize-unicode: 7.0.4(postcss@8.5.6)
+ postcss-normalize-url: 7.0.1(postcss@8.5.6)
+ postcss-normalize-whitespace: 7.0.1(postcss@8.5.6)
+ postcss-ordered-values: 7.0.2(postcss@8.5.6)
+ postcss-reduce-initial: 7.0.4(postcss@8.5.6)
+ postcss-reduce-transforms: 7.0.1(postcss@8.5.6)
+ postcss-svgo: 7.1.0(postcss@8.5.6)
+ postcss-unique-selectors: 7.0.4(postcss@8.5.6)
+
+ cssnano-utils@5.0.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+
+ cssnano@7.1.1(postcss@8.5.6):
+ dependencies:
+ cssnano-preset-default: 7.0.9(postcss@8.5.6)
+ lilconfig: 3.1.3
+ postcss: 8.5.6
csso@5.0.5:
dependencies:
css-tree: 2.2.1
- cssstyle@4.0.1:
+ cssstyle@5.3.1(postcss@8.5.6):
dependencies:
- rrweb-cssom: 0.6.0
+ '@asamuzakjp/css-color': 4.0.5
+ '@csstools/css-syntax-patches-for-csstree': 1.0.14(postcss@8.5.6)
+ css-tree: 3.1.0
+ transitivePeerDependencies:
+ - postcss
csstype@3.1.3: {}
- d@1.0.2:
- dependencies:
- es5-ext: 0.10.64
- type: 2.7.3
+ data-uri-to-buffer@4.0.1: {}
- dargs@8.1.0: {}
+ data-uri-to-buffer@6.0.2: {}
- data-urls@5.0.0:
+ data-urls@6.0.0:
dependencies:
whatwg-mimetype: 4.0.0
- whatwg-url: 14.0.0
-
- data-view-buffer@1.0.1:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
-
- data-view-byte-length@1.0.1:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
-
- data-view-byte-offset@1.0.0:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
+ whatwg-url: 15.1.0
- date-fns@2.30.0:
- dependencies:
- '@babel/runtime': 7.25.4
+ dataloader@2.2.3: {}
date-fns@3.6.0: {}
- dateformat@4.6.3: {}
-
- db0@0.2.1: {}
-
- de-indent@1.0.2:
- optional: true
-
- debug@2.6.9:
- dependencies:
- ms: 2.0.0
+ date-fns@4.1.0: {}
- debug@3.1.0:
- dependencies:
- ms: 2.0.0
+ dateformat@4.6.3: {}
- debug@3.2.7:
- dependencies:
- ms: 2.1.3
+ db0@0.3.4(@libsql/client@0.15.15):
+ optionalDependencies:
+ '@libsql/client': 0.15.15
- debug@4.3.6:
+ debug@4.3.4:
dependencies:
ms: 2.1.2
- debug@4.3.7(supports-color@5.5.0):
+ debug@4.4.3:
dependencies:
ms: 2.1.3
- optionalDependencies:
- supports-color: 5.5.0
-
- debug@4.3.7(supports-color@9.4.0):
- dependencies:
- ms: 2.1.3
- optionalDependencies:
- supports-color: 9.4.0
-
- debuglog@1.0.1: {}
-
- decamelize-keys@1.1.1:
- dependencies:
- decamelize: 1.2.0
- map-obj: 1.0.1
- decamelize@1.2.0: {}
+ decamelize@6.0.1: {}
- decamelize@5.0.1: {}
-
- decamelize@6.0.0: {}
-
- decimal.js@10.4.3: {}
+ decimal.js@10.6.0: {}
decompress-response@6.0.0:
dependencies:
mimic-response: 3.1.0
+ dedent@1.7.0: {}
+
deep-is@0.1.4: {}
deepmerge@4.3.1: {}
@@ -14786,61 +15808,37 @@ snapshots:
defer-to-connect@2.0.1: {}
- define-data-property@1.1.4:
- dependencies:
- es-define-property: 1.0.0
- es-errors: 1.3.0
- gopd: 1.0.1
-
define-lazy-prop@2.0.0: {}
define-lazy-prop@3.0.0: {}
- define-properties@1.2.1:
- dependencies:
- define-data-property: 1.1.4
- has-property-descriptors: 1.0.2
- object-keys: 1.1.1
-
defu@6.1.4: {}
- del-cli@5.1.0:
+ degenerator@5.0.1:
dependencies:
- del: 7.1.0
- meow: 10.1.5
-
- del@7.1.0:
- dependencies:
- globby: 13.2.2
- graceful-fs: 4.2.11
- is-glob: 4.0.3
- is-path-cwd: 3.0.0
- is-path-inside: 4.0.0
- p-map: 5.5.0
- rimraf: 3.0.2
- slash: 4.0.0
+ ast-types: 0.13.4
+ escodegen: 2.1.0
+ esprima: 4.0.1
delayed-stream@1.0.0: {}
- delegates@1.0.0: {}
-
denque@2.1.0: {}
depd@2.0.0: {}
dequal@2.0.3: {}
- destr@2.0.3: {}
-
- destroy@1.2.0: {}
+ destr@2.0.5: {}
detect-libc@1.0.3: {}
- detect-libc@2.0.3: {}
+ detect-libc@2.0.2: {}
+
+ detect-libc@2.1.2: {}
- detect-node@2.1.0: {}
+ detect-newline@3.1.0: {}
- devalue@5.1.1: {}
+ devalue@5.3.2: {}
devlop@1.1.0:
dependencies:
@@ -14851,24 +15849,14 @@ snapshots:
asap: 2.0.6
wrappy: 1.0.2
- diff@5.2.0: {}
+ diff@4.0.2: {}
- diff@7.0.0: {}
+ diff@8.0.2: {}
dir-glob@3.0.1:
dependencies:
path-type: 4.0.0
- doctrine@3.0.0:
- dependencies:
- esutils: 2.0.3
-
- dom-serializer@1.4.1:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 4.3.1
- entities: 2.2.0
-
dom-serializer@2.0.0:
dependencies:
domelementtype: 2.3.0
@@ -14877,55 +15865,48 @@ snapshots:
domelementtype@2.3.0: {}
- domhandler@3.3.0:
- dependencies:
- domelementtype: 2.3.0
-
- domhandler@4.3.1:
- dependencies:
- domelementtype: 2.3.0
-
domhandler@5.0.3:
dependencies:
domelementtype: 2.3.0
- domutils@2.8.0:
- dependencies:
- dom-serializer: 1.4.1
- domelementtype: 2.3.0
- domhandler: 4.3.1
-
- domutils@3.1.0:
+ domutils@3.2.2:
dependencies:
dom-serializer: 2.0.0
domelementtype: 2.3.0
domhandler: 5.0.3
- dot-prop@9.0.0:
+ dot-prop@10.1.0:
dependencies:
- type-fest: 4.25.0
+ type-fest: 5.1.0
- dotenv-cli@7.4.2:
+ dotenv-cli@10.0.0:
dependencies:
- cross-spawn: 7.0.3
- dotenv: 16.4.5
- dotenv-expand: 10.0.0
+ cross-spawn: 7.0.6
+ dotenv: 17.2.3
+ dotenv-expand: 11.0.7
minimist: 1.2.8
- dotenv-expand@10.0.0: {}
+ dotenv-expand@11.0.7:
+ dependencies:
+ dotenv: 16.6.1
- dotenv@16.4.5: {}
+ dotenv-expand@12.0.1:
+ dependencies:
+ dotenv: 16.4.7
- dottie@2.0.6: {}
+ dotenv@16.4.7: {}
- duplexer@0.1.2: {}
+ dotenv@16.6.1: {}
- duplexify@4.1.3:
+ dotenv@17.2.3: {}
+
+ dunder-proto@1.0.1:
dependencies:
- end-of-stream: 1.4.4
- inherits: 2.0.4
- readable-stream: 3.6.2
- stream-shift: 1.0.3
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
+ duplexer@0.1.2: {}
eastasianwidth@0.2.0: {}
@@ -14933,35 +15914,20 @@ snapshots:
dependencies:
safe-buffer: 5.2.1
- editorconfig@1.0.4:
- dependencies:
- '@one-ini/wasm': 0.1.1
- commander: 10.0.1
- minimatch: 9.0.1
- semver: 7.6.3
-
ee-first@1.1.1: {}
- electron-to-chromium@1.5.13: {}
-
- electron-to-chromium@1.5.55: {}
-
- email-validator@2.0.4: {}
-
- emailjs@4.0.3(typescript@5.6.3):
- optionalDependencies:
- typescript: 5.6.3
+ electron-to-chromium@1.5.234: {}
emittery@0.13.1: {}
- emoji-regex@10.3.0: {}
+ emoji-regex-xs@1.0.0: {}
+
+ emoji-regex@10.6.0: {}
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
- encodeurl@1.0.2: {}
-
encodeurl@2.0.0: {}
encoding@0.1.13:
@@ -14969,131 +15935,48 @@ snapshots:
iconv-lite: 0.6.3
optional: true
- end-of-stream@1.4.4:
+ end-of-stream@1.4.5:
dependencies:
once: 1.4.0
- enhanced-resolve@5.17.1:
+ enhanced-resolve@5.18.3:
dependencies:
graceful-fs: 4.2.11
- tapable: 2.2.1
-
- entities@2.2.0: {}
+ tapable: 2.3.0
entities@4.5.0: {}
+ entities@6.0.1: {}
+
env-paths@2.2.1: {}
err-code@2.0.3: {}
- error-ex@1.3.2:
+ error-ex@1.3.4:
dependencies:
is-arrayish: 0.2.1
- error-stack-parser-es@0.1.5: {}
+ error-stack-parser-es@1.0.5: {}
errx@0.1.0: {}
- es-abstract@1.23.3:
- dependencies:
- array-buffer-byte-length: 1.0.1
- arraybuffer.prototype.slice: 1.0.3
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- data-view-buffer: 1.0.1
- data-view-byte-length: 1.0.1
- data-view-byte-offset: 1.0.0
- es-define-property: 1.0.0
- es-errors: 1.3.0
- es-object-atoms: 1.0.0
- es-set-tostringtag: 2.0.3
- es-to-primitive: 1.2.1
- function.prototype.name: 1.1.6
- get-intrinsic: 1.2.4
- get-symbol-description: 1.0.2
- globalthis: 1.0.4
- gopd: 1.0.1
- has-property-descriptors: 1.0.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- hasown: 2.0.2
- internal-slot: 1.0.7
- is-array-buffer: 3.0.4
- is-callable: 1.2.7
- is-data-view: 1.0.1
- is-negative-zero: 2.0.3
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.3
- is-string: 1.0.7
- is-typed-array: 1.1.13
- is-weakref: 1.0.2
- object-inspect: 1.13.2
- object-keys: 1.1.1
- object.assign: 4.1.5
- regexp.prototype.flags: 1.5.2
- safe-array-concat: 1.1.2
- safe-regex-test: 1.0.3
- string.prototype.trim: 1.2.9
- string.prototype.trimend: 1.0.8
- string.prototype.trimstart: 1.0.8
- typed-array-buffer: 1.0.2
- typed-array-byte-length: 1.0.1
- typed-array-byte-offset: 1.0.2
- typed-array-length: 1.0.6
- unbox-primitive: 1.0.2
- which-typed-array: 1.1.15
-
- es-array-method-boxes-properly@1.0.0: {}
-
- es-define-property@1.0.0:
- dependencies:
- get-intrinsic: 1.2.4
+ es-define-property@1.0.1: {}
es-errors@1.3.0: {}
- es-module-lexer@1.5.4: {}
+ es-module-lexer@1.7.0: {}
- es-object-atoms@1.0.0:
+ es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
- es-set-tostringtag@2.0.3:
+ es-set-tostringtag@2.1.0:
dependencies:
- get-intrinsic: 1.2.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
has-tostringtag: 1.0.2
hasown: 2.0.2
- es-to-primitive@1.2.1:
- dependencies:
- is-callable: 1.2.7
- is-date-object: 1.0.5
- is-symbol: 1.0.4
-
- es5-ext@0.10.64:
- dependencies:
- es6-iterator: 2.0.3
- es6-symbol: 3.1.4
- esniff: 2.0.1
- next-tick: 1.1.0
-
- es6-iterator@2.0.3:
- dependencies:
- d: 1.0.2
- es5-ext: 0.10.64
- es6-symbol: 3.1.4
-
- es6-symbol@3.1.4:
- dependencies:
- d: 1.0.2
- ext: 1.7.0
-
- es6-weak-map@2.0.3:
- dependencies:
- d: 1.0.2
- es5-ext: 0.10.64
- es6-iterator: 2.0.3
- es6-symbol: 3.1.4
-
esbuild@0.21.5:
optionalDependencies:
'@esbuild/aix-ppc64': 0.21.5
@@ -15120,209 +16003,207 @@ snapshots:
'@esbuild/win32-ia32': 0.21.5
'@esbuild/win32-x64': 0.21.5
- esbuild@0.23.1:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.23.1
- '@esbuild/android-arm': 0.23.1
- '@esbuild/android-arm64': 0.23.1
- '@esbuild/android-x64': 0.23.1
- '@esbuild/darwin-arm64': 0.23.1
- '@esbuild/darwin-x64': 0.23.1
- '@esbuild/freebsd-arm64': 0.23.1
- '@esbuild/freebsd-x64': 0.23.1
- '@esbuild/linux-arm': 0.23.1
- '@esbuild/linux-arm64': 0.23.1
- '@esbuild/linux-ia32': 0.23.1
- '@esbuild/linux-loong64': 0.23.1
- '@esbuild/linux-mips64el': 0.23.1
- '@esbuild/linux-ppc64': 0.23.1
- '@esbuild/linux-riscv64': 0.23.1
- '@esbuild/linux-s390x': 0.23.1
- '@esbuild/linux-x64': 0.23.1
- '@esbuild/netbsd-x64': 0.23.1
- '@esbuild/openbsd-arm64': 0.23.1
- '@esbuild/openbsd-x64': 0.23.1
- '@esbuild/sunos-x64': 0.23.1
- '@esbuild/win32-arm64': 0.23.1
- '@esbuild/win32-ia32': 0.23.1
- '@esbuild/win32-x64': 0.23.1
-
- esbuild@0.24.0:
+ esbuild@0.25.10:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.24.0
- '@esbuild/android-arm': 0.24.0
- '@esbuild/android-arm64': 0.24.0
- '@esbuild/android-x64': 0.24.0
- '@esbuild/darwin-arm64': 0.24.0
- '@esbuild/darwin-x64': 0.24.0
- '@esbuild/freebsd-arm64': 0.24.0
- '@esbuild/freebsd-x64': 0.24.0
- '@esbuild/linux-arm': 0.24.0
- '@esbuild/linux-arm64': 0.24.0
- '@esbuild/linux-ia32': 0.24.0
- '@esbuild/linux-loong64': 0.24.0
- '@esbuild/linux-mips64el': 0.24.0
- '@esbuild/linux-ppc64': 0.24.0
- '@esbuild/linux-riscv64': 0.24.0
- '@esbuild/linux-s390x': 0.24.0
- '@esbuild/linux-x64': 0.24.0
- '@esbuild/netbsd-x64': 0.24.0
- '@esbuild/openbsd-arm64': 0.24.0
- '@esbuild/openbsd-x64': 0.24.0
- '@esbuild/sunos-x64': 0.24.0
- '@esbuild/win32-arm64': 0.24.0
- '@esbuild/win32-ia32': 0.24.0
- '@esbuild/win32-x64': 0.24.0
-
- escalade@3.1.2: {}
+ '@esbuild/aix-ppc64': 0.25.10
+ '@esbuild/android-arm': 0.25.10
+ '@esbuild/android-arm64': 0.25.10
+ '@esbuild/android-x64': 0.25.10
+ '@esbuild/darwin-arm64': 0.25.10
+ '@esbuild/darwin-x64': 0.25.10
+ '@esbuild/freebsd-arm64': 0.25.10
+ '@esbuild/freebsd-x64': 0.25.10
+ '@esbuild/linux-arm': 0.25.10
+ '@esbuild/linux-arm64': 0.25.10
+ '@esbuild/linux-ia32': 0.25.10
+ '@esbuild/linux-loong64': 0.25.10
+ '@esbuild/linux-mips64el': 0.25.10
+ '@esbuild/linux-ppc64': 0.25.10
+ '@esbuild/linux-riscv64': 0.25.10
+ '@esbuild/linux-s390x': 0.25.10
+ '@esbuild/linux-x64': 0.25.10
+ '@esbuild/netbsd-arm64': 0.25.10
+ '@esbuild/netbsd-x64': 0.25.10
+ '@esbuild/openbsd-arm64': 0.25.10
+ '@esbuild/openbsd-x64': 0.25.10
+ '@esbuild/openharmony-arm64': 0.25.10
+ '@esbuild/sunos-x64': 0.25.10
+ '@esbuild/win32-arm64': 0.25.10
+ '@esbuild/win32-ia32': 0.25.10
+ '@esbuild/win32-x64': 0.25.10
escalade@3.2.0: {}
- escape-goat@3.0.0: {}
-
escape-html@1.0.3: {}
escape-regexp-component@1.0.2: {}
escape-string-regexp@1.0.5: {}
+ escape-string-regexp@2.0.0: {}
+
escape-string-regexp@4.0.0: {}
escape-string-regexp@5.0.0: {}
- eslint-config-flat-gitignore@0.3.0(eslint@9.14.0(jiti@2.4.0)):
+ escodegen@2.1.0:
+ dependencies:
+ esprima: 4.0.1
+ estraverse: 5.3.0
+ esutils: 2.0.3
+ optionalDependencies:
+ source-map: 0.6.1
+
+ eslint-config-flat-gitignore@2.1.0(eslint@9.37.0(jiti@2.6.1)):
dependencies:
- '@eslint/compat': 1.2.2(eslint@9.14.0(jiti@2.4.0))
- eslint: 9.14.0(jiti@2.4.0)
- find-up-simple: 1.0.0
+ '@eslint/compat': 1.4.0(eslint@9.37.0(jiti@2.6.1))
+ eslint: 9.37.0(jiti@2.6.1)
- eslint-flat-config-utils@0.4.0:
+ eslint-flat-config-utils@2.1.4:
dependencies:
- pathe: 1.1.2
+ pathe: 2.0.3
- eslint-import-resolver-node@0.3.9:
+ eslint-import-context@0.1.9(unrs-resolver@1.11.1):
dependencies:
- debug: 3.2.7
- is-core-module: 2.15.1
- resolve: 1.22.8
- transitivePeerDependencies:
- - supports-color
+ get-tsconfig: 4.12.0
+ stable-hash-x: 0.2.0
+ optionalDependencies:
+ unrs-resolver: 1.11.1
+
+ eslint-merge-processors@2.0.0(eslint@9.37.0(jiti@2.6.1)):
+ dependencies:
+ eslint: 9.37.0(jiti@2.6.1)
+
+ eslint-plugin-import-lite@0.3.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1))
+ '@typescript-eslint/types': 8.46.0
+ eslint: 9.37.0(jiti@2.6.1)
+ optionalDependencies:
+ typescript: 5.9.3
- eslint-plugin-import-x@4.4.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3):
+ eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1)):
dependencies:
- '@typescript-eslint/utils': 8.2.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)
- debug: 4.3.7(supports-color@9.4.0)
- doctrine: 3.0.0
- eslint: 9.14.0(jiti@2.4.0)
- eslint-import-resolver-node: 0.3.9
- get-tsconfig: 4.7.6
+ '@typescript-eslint/types': 8.46.0
+ comment-parser: 1.4.1
+ debug: 4.4.3
+ eslint: 9.37.0(jiti@2.6.1)
+ eslint-import-context: 0.1.9(unrs-resolver@1.11.1)
is-glob: 4.0.3
- minimatch: 9.0.5
- semver: 7.6.3
- stable-hash: 0.0.4
- tslib: 2.7.0
+ minimatch: 10.0.3
+ semver: 7.7.3
+ stable-hash-x: 0.2.0
+ unrs-resolver: 1.11.1
+ optionalDependencies:
+ '@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
transitivePeerDependencies:
- supports-color
- - typescript
- eslint-plugin-jsdoc@50.4.3(eslint@9.14.0(jiti@2.4.0)):
+ eslint-plugin-jsdoc@54.7.0(eslint@9.37.0(jiti@2.6.1)):
dependencies:
- '@es-joy/jsdoccomment': 0.49.0
+ '@es-joy/jsdoccomment': 0.56.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
- debug: 4.3.7(supports-color@9.4.0)
+ debug: 4.4.3
escape-string-regexp: 4.0.0
- eslint: 9.14.0(jiti@2.4.0)
- espree: 10.3.0
+ eslint: 9.37.0(jiti@2.6.1)
+ espree: 10.4.0
esquery: 1.6.0
- parse-imports: 2.1.1
- semver: 7.6.3
+ parse-imports-exports: 0.2.4
+ semver: 7.7.3
spdx-expression-parse: 4.0.0
- synckit: 0.9.1
transitivePeerDependencies:
- supports-color
- eslint-plugin-regexp@2.6.0(eslint@9.14.0(jiti@2.4.0)):
+ eslint-plugin-regexp@2.10.0(eslint@9.37.0(jiti@2.6.1)):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.0))
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1))
'@eslint-community/regexpp': 4.12.1
comment-parser: 1.4.1
- eslint: 9.14.0(jiti@2.4.0)
- jsdoc-type-pratt-parser: 4.1.0
+ eslint: 9.37.0(jiti@2.6.1)
+ jsdoc-type-pratt-parser: 4.8.0
refa: 0.12.1
regexp-ast-analysis: 0.7.1
scslre: 0.3.0
- eslint-plugin-unicorn@56.0.0(eslint@9.14.0(jiti@2.4.0)):
+ eslint-plugin-unicorn@60.0.0(eslint@9.37.0(jiti@2.6.1)):
dependencies:
- '@babel/helper-validator-identifier': 7.24.7
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.0))
- ci-info: 4.0.0
+ '@babel/helper-validator-identifier': 7.27.1
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1))
+ '@eslint/plugin-kit': 0.3.5
+ change-case: 5.4.4
+ ci-info: 4.3.1
clean-regexp: 1.0.0
- core-js-compat: 3.38.1
- eslint: 9.14.0(jiti@2.4.0)
+ core-js-compat: 3.46.0
+ eslint: 9.37.0(jiti@2.6.1)
esquery: 1.6.0
- globals: 15.12.0
- indent-string: 4.0.0
- is-builtin-module: 3.2.1
- jsesc: 3.0.2
+ find-up-simple: 1.0.1
+ globals: 16.4.0
+ indent-string: 5.0.0
+ is-builtin-module: 5.0.0
+ jsesc: 3.1.0
pluralize: 8.0.0
- read-pkg-up: 7.0.1
regexp-tree: 0.1.27
- regjsparser: 0.10.0
- semver: 7.6.3
- strip-indent: 3.0.0
+ regjsparser: 0.12.0
+ semver: 7.7.3
+ strip-indent: 4.1.1
- eslint-plugin-vue@9.30.0(eslint@9.14.0(jiti@2.4.0)):
+ eslint-plugin-vue@10.5.0(@stylistic/eslint-plugin@5.4.0(eslint@9.37.0(jiti@2.6.1)))(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.37.0(jiti@2.6.1))):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.0))
- eslint: 9.14.0(jiti@2.4.0)
- globals: 13.24.0
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1))
+ eslint: 9.37.0(jiti@2.6.1)
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.1.2
- semver: 7.6.3
- vue-eslint-parser: 9.4.3(eslint@9.14.0(jiti@2.4.0))
+ semver: 7.7.3
+ vue-eslint-parser: 10.2.0(eslint@9.37.0(jiti@2.6.1))
xml-name-validator: 4.0.0
- transitivePeerDependencies:
- - supports-color
+ optionalDependencies:
+ '@stylistic/eslint-plugin': 5.4.0(eslint@9.37.0(jiti@2.6.1))
+ '@typescript-eslint/parser': 8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)
+
+ eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.37.0(jiti@2.6.1)):
+ dependencies:
+ '@vue/compiler-sfc': 3.5.22
+ eslint: 9.37.0(jiti@2.6.1)
- eslint-scope@7.2.2:
+ eslint-scope@5.1.1:
dependencies:
esrecurse: 4.3.0
- estraverse: 5.3.0
+ estraverse: 4.3.0
- eslint-scope@8.2.0:
+ eslint-scope@8.4.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-visitor-keys@3.4.3: {}
- eslint-visitor-keys@4.2.0: {}
+ eslint-visitor-keys@4.2.1: {}
- eslint@9.14.0(jiti@2.4.0):
+ eslint@9.37.0(jiti@2.6.1):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.0))
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1))
'@eslint-community/regexpp': 4.12.1
- '@eslint/config-array': 0.18.0
- '@eslint/core': 0.7.0
- '@eslint/eslintrc': 3.1.0
- '@eslint/js': 9.14.0
- '@eslint/plugin-kit': 0.2.2
- '@humanfs/node': 0.16.6
+ '@eslint/config-array': 0.21.0
+ '@eslint/config-helpers': 0.4.0
+ '@eslint/core': 0.16.0
+ '@eslint/eslintrc': 3.3.1
+ '@eslint/js': 9.37.0
+ '@eslint/plugin-kit': 0.4.0
+ '@humanfs/node': 0.16.7
'@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.4.1
- '@types/estree': 1.0.6
+ '@humanwhocodes/retry': 0.4.3
+ '@types/estree': 1.0.8
'@types/json-schema': 7.0.15
ajv: 6.12.6
chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.7(supports-color@9.4.0)
+ cross-spawn: 7.0.6
+ debug: 4.4.3
escape-string-regexp: 4.0.0
- eslint-scope: 8.2.0
- eslint-visitor-keys: 4.2.0
- espree: 10.3.0
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
esquery: 1.6.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
@@ -15337,30 +16218,18 @@ snapshots:
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.4
- text-table: 0.2.0
optionalDependencies:
- jiti: 2.4.0
+ jiti: 2.6.1
transitivePeerDependencies:
- supports-color
- esniff@2.0.1:
- dependencies:
- d: 1.0.2
- es5-ext: 0.10.64
- event-emitter: 0.3.5
- type: 2.7.3
-
- espree@10.3.0:
- dependencies:
- acorn: 8.14.0
- acorn-jsx: 5.3.2(acorn@8.14.0)
- eslint-visitor-keys: 4.2.0
+ esm@3.2.25: {}
- espree@9.6.1:
+ espree@10.4.0:
dependencies:
- acorn: 8.14.0
- acorn-jsx: 5.3.2(acorn@8.14.0)
- eslint-visitor-keys: 3.4.3
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ eslint-visitor-keys: 4.2.1
esprima@4.0.1: {}
@@ -15372,32 +16241,33 @@ snapshots:
dependencies:
estraverse: 5.3.0
+ estraverse@4.3.0: {}
+
estraverse@5.3.0: {}
estree-walker@2.0.2: {}
estree-walker@3.0.3:
dependencies:
- '@types/estree': 1.0.6
+ '@types/estree': 1.0.8
esutils@2.0.3: {}
etag@1.8.1: {}
- event-emitter@0.3.5:
- dependencies:
- d: 1.0.2
- es5-ext: 0.10.64
-
event-target-shim@5.0.1: {}
- events@1.1.1: {}
+ events-universal@1.0.1:
+ dependencies:
+ bare-events: 2.8.0
+ transitivePeerDependencies:
+ - bare-abort-controller
events@3.3.0: {}
execa@5.1.1:
dependencies:
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
get-stream: 6.0.1
human-signals: 2.1.0
is-stream: 2.0.1
@@ -15409,7 +16279,7 @@ snapshots:
execa@6.1.0:
dependencies:
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
get-stream: 6.0.1
human-signals: 3.0.1
is-stream: 3.0.0
@@ -15419,21 +16289,9 @@ snapshots:
signal-exit: 3.0.7
strip-final-newline: 3.0.0
- execa@7.2.0:
- dependencies:
- cross-spawn: 7.0.3
- get-stream: 6.0.1
- human-signals: 4.3.1
- is-stream: 3.0.0
- merge-stream: 2.0.0
- npm-run-path: 5.3.0
- onetime: 6.0.0
- signal-exit: 3.0.7
- strip-final-newline: 3.0.0
-
execa@8.0.1:
dependencies:
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
get-stream: 8.0.1
human-signals: 5.0.0
is-stream: 3.0.0
@@ -15443,97 +16301,71 @@ snapshots:
signal-exit: 4.1.0
strip-final-newline: 3.0.0
- execa@9.5.1:
+ execa@9.6.0:
dependencies:
'@sindresorhus/merge-streams': 4.0.0
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
figures: 6.1.0
get-stream: 9.0.1
- human-signals: 8.0.0
+ human-signals: 8.0.1
is-plain-obj: 4.1.0
is-stream: 4.0.1
npm-run-path: 6.0.0
- pretty-ms: 9.1.0
+ pretty-ms: 9.3.0
signal-exit: 4.1.0
strip-final-newline: 4.0.0
- yoctocolors: 2.1.1
-
- exponential-backoff@3.1.1: {}
-
- express-rate-limit@7.4.1(express@5.0.0):
- dependencies:
- express: 5.0.0
+ yoctocolors: 2.1.2
- express-session@1.18.1:
- dependencies:
- cookie: 0.7.2
- cookie-signature: 1.0.7
- debug: 2.6.9
- depd: 2.0.0
- on-headers: 1.0.2
- parseurl: 1.3.3
- safe-buffer: 5.2.1
- uid-safe: 2.1.5
- transitivePeerDependencies:
- - supports-color
+ exit-x@0.2.2: {}
- express@5.0.0:
+ expect@30.2.0:
+ dependencies:
+ '@jest/expect-utils': 30.2.0
+ '@jest/get-type': 30.1.0
+ jest-matcher-utils: 30.2.0
+ jest-message-util: 30.2.0
+ jest-mock: 30.2.0
+ jest-util: 30.2.0
+
+ exponential-backoff@3.1.3: {}
+
+ express@5.1.0:
dependencies:
accepts: 2.0.0
- body-parser: 2.0.1
+ body-parser: 2.2.0
content-disposition: 1.0.0
content-type: 1.0.5
- cookie: 0.6.0
- cookie-signature: 1.2.1
- debug: 4.3.6
- depd: 2.0.0
+ cookie: 0.7.2
+ cookie-signature: 1.2.2
+ debug: 4.4.3
encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
- finalhandler: 2.0.0
+ finalhandler: 2.1.0
fresh: 2.0.0
http-errors: 2.0.0
merge-descriptors: 2.0.0
- methods: 1.1.2
- mime-types: 3.0.0
+ mime-types: 3.0.1
on-finished: 2.4.1
once: 1.4.0
parseurl: 1.3.3
proxy-addr: 2.0.7
- qs: 6.13.0
+ qs: 6.14.0
range-parser: 1.2.1
- router: 2.0.0
- safe-buffer: 5.2.1
- send: 1.1.0
- serve-static: 2.1.0
- setprototypeof: 1.2.0
- statuses: 2.0.1
- type-is: 2.0.0
- utils-merge: 1.0.1
+ router: 2.2.0
+ send: 1.2.0
+ serve-static: 2.2.0
+ statuses: 2.0.2
+ type-is: 2.0.1
vary: 1.1.2
transitivePeerDependencies:
- supports-color
- ext@1.7.0:
- dependencies:
- type: 2.7.3
-
- external-editor@3.1.0:
- dependencies:
- chardet: 0.7.0
- iconv-lite: 0.4.24
- tmp: 0.0.33
-
- externality@1.0.2:
- dependencies:
- enhanced-resolve: 5.17.1
- mlly: 1.7.2
- pathe: 1.1.2
- ufo: 1.5.4
+ exsolve@1.0.7: {}
extract-zip@2.0.1:
dependencies:
- debug: 4.3.7(supports-color@9.4.0)
+ debug: 4.4.3
get-stream: 5.2.0
yauzl: 2.10.0
optionalDependencies:
@@ -15547,7 +16379,7 @@ snapshots:
fast-fifo@1.3.2: {}
- fast-glob@3.3.2:
+ fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
@@ -15559,63 +16391,84 @@ snapshots:
fast-levenshtein@2.0.6: {}
- fast-npm-meta@0.2.2: {}
-
- fast-redact@3.5.0: {}
+ fast-npm-meta@0.4.7: {}
fast-safe-stringify@2.1.1: {}
- fast-uri@3.0.1: {}
+ fast-uri@3.1.0: {}
+
+ fast-xml-parser@5.2.5:
+ dependencies:
+ strnum: 2.1.1
- fast-xml-parser@4.4.1:
+ fastq@1.19.1:
dependencies:
- strnum: 1.0.5
+ reusify: 1.1.0
- fastq@1.17.1:
+ fb-watchman@2.0.2:
dependencies:
- reusify: 1.0.4
+ bser: 2.1.1
fd-slicer@1.1.0:
dependencies:
pend: 1.2.0
- fdir@6.4.0(picomatch@3.0.1):
+ fdir@6.5.0(picomatch@3.0.1):
optionalDependencies:
picomatch: 3.0.1
- fdir@6.4.2(picomatch@4.0.2):
+ fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
- picomatch: 4.0.2
+ picomatch: 4.0.3
fecha@4.2.3: {}
+ fetch-blob@3.2.0:
+ dependencies:
+ node-domexception: 1.0.0
+ web-streams-polyfill: 3.3.3
+
+ fflate@0.8.2: {}
+
+ figlet@1.9.3:
+ dependencies:
+ commander: 14.0.1
+
figures@6.1.0:
dependencies:
- is-unicode-supported: 2.0.0
+ is-unicode-supported: 2.1.0
file-entry-cache@8.0.0:
dependencies:
flat-cache: 4.0.1
+ file-type@21.0.0:
+ dependencies:
+ '@tokenizer/inflate': 0.2.7
+ strtok3: 10.3.4
+ token-types: 6.1.1
+ uint8array-extras: 1.5.0
+ transitivePeerDependencies:
+ - supports-color
+
file-uri-to-path@1.0.0: {}
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
- finalhandler@2.0.0:
+ finalhandler@2.1.0:
dependencies:
- debug: 2.6.9
- encodeurl: 1.0.2
+ debug: 4.4.3
+ encodeurl: 2.0.0
escape-html: 1.0.3
on-finished: 2.4.1
parseurl: 1.3.3
- statuses: 2.0.1
- unpipe: 1.0.0
+ statuses: 2.0.2
transitivePeerDependencies:
- supports-color
- find-up-simple@1.0.0: {}
+ find-up-simple@1.0.1: {}
find-up@4.1.0:
dependencies:
@@ -15636,80 +16489,84 @@ snapshots:
dependencies:
aggregate-error: 5.0.0
execa: 8.0.1
- pid-port: 1.0.0
+ pid-port: 1.0.2
process-exists: 5.0.0
ps-list: 8.1.1
taskkill: 5.0.0
flat-cache@4.0.1:
dependencies:
- flatted: 3.3.1
+ flatted: 3.3.3
keyv: 4.5.4
- flatted@3.3.1: {}
+ flatted@3.3.3: {}
- focus-trap@7.6.0:
+ focus-trap@7.6.5:
dependencies:
tabbable: 6.2.0
- follow-redirects@1.15.6(debug@4.3.7):
+ follow-redirects@1.15.11(debug@4.4.3):
optionalDependencies:
- debug: 4.3.7(supports-color@9.4.0)
-
- for-each@0.3.3:
- dependencies:
- is-callable: 1.2.7
+ debug: 4.4.3
- foreground-child@3.3.0:
+ foreground-child@3.3.1:
dependencies:
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
signal-exit: 4.1.0
- form-data-encoder@1.7.2: {}
+ fork-ts-checker-webpack-plugin@9.1.0(typescript@5.8.3)(webpack@5.100.2):
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ chalk: 4.1.2
+ chokidar: 4.0.3
+ cosmiconfig: 8.3.6(typescript@5.8.3)
+ deepmerge: 4.3.1
+ fs-extra: 10.1.0
+ memfs: 3.5.3
+ minimatch: 3.1.2
+ node-abort-controller: 3.1.1
+ schema-utils: 3.3.0
+ semver: 7.7.3
+ tapable: 2.3.0
+ typescript: 5.8.3
+ webpack: 5.100.2
- form-data@4.0.0:
+ form-data@4.0.4:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ hasown: 2.0.2
mime-types: 2.1.35
- formdata-node@4.4.1:
+ formdata-polyfill@4.0.10:
dependencies:
- node-domexception: 1.0.0
- web-streams-polyfill: 4.0.0-beta.3
+ fetch-blob: 3.2.0
+
+ formidable@3.5.4:
+ dependencies:
+ '@paralleldrive/cuid2': 2.2.2
+ dezalgo: 1.0.4
+ once: 1.4.0
+
+ forwarded-parse@2.1.2: {}
forwarded@0.2.0: {}
fraction.js@4.3.7: {}
- fresh@0.5.2: {}
-
fresh@2.0.0: {}
- fs-blob-store@6.0.0:
- dependencies:
- duplexify: 4.1.3
- end-of-stream: 1.4.4
- lru-cache: 6.0.0
- mkdirp-classic: 0.5.3
-
- fs-extra@11.2.0:
+ fs-extra@10.1.0:
dependencies:
graceful-fs: 4.2.11
- jsonfile: 6.1.0
+ jsonfile: 6.2.0
universalify: 2.0.1
- fs-extra@7.0.1:
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 4.0.0
- universalify: 0.1.2
-
- fs-extra@9.1.0:
+ fs-extra@11.3.2:
dependencies:
- at-least-node: 1.0.0
graceful-fs: 4.2.11
- jsonfile: 6.1.0
+ jsonfile: 6.2.0
universalify: 2.0.1
fs-minipass@2.1.0:
@@ -15720,6 +16577,8 @@ snapshots:
dependencies:
minipass: 7.1.2
+ fs-monkey@1.1.0: {}
+
fs.realpath@1.0.0: {}
fsevents@2.3.2:
@@ -15730,46 +16589,39 @@ snapshots:
function-bind@1.1.2: {}
- function.prototype.name@1.1.6:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- functions-have-names: 1.2.3
-
- functions-have-names@1.2.3: {}
-
- gauge@3.0.2:
- dependencies:
- aproba: 2.0.0
- color-support: 1.1.3
- console-control-strings: 1.1.0
- has-unicode: 2.0.1
- object-assign: 4.1.1
- signal-exit: 3.0.7
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wide-align: 1.1.5
+ fuse.js@7.1.0: {}
gensync@1.0.0-beta.2: {}
get-caller-file@2.0.5: {}
- get-east-asian-width@1.2.0: {}
+ get-east-asian-width@1.4.0: {}
- get-intrinsic@1.2.4:
+ get-intrinsic@1.3.0:
dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
es-errors: 1.3.0
+ es-object-atoms: 1.1.1
function-bind: 1.1.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-symbols: 1.1.0
hasown: 2.0.2
+ math-intrinsics: 1.1.0
+
+ get-package-type@0.1.0: {}
+
+ get-port-please@3.2.0: {}
- get-port-please@3.1.2: {}
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
get-stream@5.2.0:
dependencies:
- pump: 3.0.0
+ pump: 3.0.3
get-stream@6.0.1: {}
@@ -15780,37 +16632,37 @@ snapshots:
'@sec-ant/readable-stream': 0.4.1
is-stream: 4.0.1
- get-symbol-description@1.0.2:
+ get-tsconfig@4.12.0:
dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
+ resolve-pkg-maps: 1.0.0
- get-tsconfig@4.7.6:
+ get-uri@6.0.5:
dependencies:
- resolve-pkg-maps: 1.0.0
+ basic-ftp: 5.0.5
+ data-uri-to-buffer: 6.0.2
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
- giget@1.2.3:
+ getopts@2.3.0: {}
+
+ giget@2.0.0:
dependencies:
citty: 0.1.6
- consola: 3.2.3
+ consola: 3.4.2
defu: 6.1.4
- node-fetch-native: 1.6.4
- nypm: 0.3.11
- ohash: 1.1.3
- pathe: 1.1.2
- tar: 6.2.1
-
- git-config-path@2.0.0: {}
+ node-fetch-native: 1.6.7
+ nypm: 0.6.2
+ pathe: 2.0.3
- git-up@7.0.0:
+ git-up@8.1.1:
dependencies:
- is-ssh: 1.4.0
- parse-url: 8.1.0
+ is-ssh: 1.4.1
+ parse-url: 9.2.0
- git-url-parse@15.0.0:
+ git-url-parse@16.1.0:
dependencies:
- git-up: 7.0.0
+ git-up: 8.1.1
glob-parent@5.1.2:
dependencies:
@@ -15820,15 +16672,26 @@ snapshots:
dependencies:
is-glob: 4.0.3
+ glob-to-regexp@0.4.1: {}
+
glob@10.4.5:
dependencies:
- foreground-child: 3.3.0
+ foreground-child: 3.3.1
jackspeak: 3.4.3
minimatch: 9.0.5
minipass: 7.1.2
- package-json-from-dist: 1.0.0
+ package-json-from-dist: 1.0.1
path-scurry: 1.11.1
+ glob@11.0.3:
+ dependencies:
+ foreground-child: 3.3.1
+ jackspeak: 4.1.1
+ minimatch: 10.0.3
+ minipass: 7.1.2
+ package-json-from-dist: 1.0.1
+ path-scurry: 2.0.0
+
glob@7.2.3:
dependencies:
fs.realpath: 1.0.0
@@ -15842,59 +16705,38 @@ snapshots:
dependencies:
ini: 4.1.1
- globals@11.12.0: {}
-
- globals@13.24.0:
- dependencies:
- type-fest: 0.20.2
-
globals@14.0.0: {}
- globals@15.12.0: {}
-
- globalthis@1.0.4:
- dependencies:
- define-properties: 1.2.1
- gopd: 1.0.1
+ globals@16.4.0: {}
globby@11.1.0:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
- fast-glob: 3.3.2
+ fast-glob: 3.3.3
ignore: 5.3.2
merge2: 1.4.1
slash: 3.0.0
- globby@13.2.2:
- dependencies:
- dir-glob: 3.0.1
- fast-glob: 3.3.2
- ignore: 5.3.2
- merge2: 1.4.1
- slash: 4.0.0
-
- globby@14.0.2:
+ globby@15.0.0:
dependencies:
- '@sindresorhus/merge-streams': 2.3.0
- fast-glob: 3.3.2
- ignore: 5.3.2
- path-type: 5.0.0
+ '@sindresorhus/merge-streams': 4.0.0
+ fast-glob: 3.3.3
+ ignore: 7.0.5
+ path-type: 6.0.0
slash: 5.1.0
- unicorn-magic: 0.1.0
+ unicorn-magic: 0.3.0
- google-fonts-helper@3.6.0:
+ google-fonts-helper@3.7.3:
dependencies:
deepmerge: 4.3.1
hookable: 5.5.3
- ofetch: 1.3.4
- ufo: 1.5.4
+ ofetch: 1.4.1
+ ufo: 1.6.1
google-protobuf@3.21.4: {}
- gopd@1.0.1:
- dependencies:
- get-intrinsic: 1.2.4
+ gopd@1.2.0: {}
got@11.8.6:
dependencies:
@@ -15914,59 +16756,40 @@ snapshots:
graphemer@1.4.0: {}
- gravatar@1.8.2:
- dependencies:
- blueimp-md5: 2.19.0
- email-validator: 2.0.4
- querystring: 0.2.0
- yargs: 15.4.1
+ graphql@16.11.0: {}
gzip-size@7.0.0:
dependencies:
duplexer: 0.1.2
- h3@1.13.0:
+ h3@1.15.4:
dependencies:
cookie-es: 1.2.2
- crossws: 0.3.1
+ crossws: 0.3.5
defu: 6.1.4
- destr: 2.0.3
+ destr: 2.0.5
iron-webcrypto: 1.2.1
- ohash: 1.1.4
+ node-mock-http: 1.0.3
radix3: 1.1.2
- ufo: 1.5.4
+ ufo: 1.6.1
uncrypto: 0.1.3
- unenv: 1.10.0
-
- hard-rejection@2.1.0: {}
-
- has-bigints@1.0.2: {}
- has-flag@3.0.0: {}
-
- has-flag@4.0.0: {}
-
- has-property-descriptors@1.0.2:
+ handlebars@4.7.8:
dependencies:
- es-define-property: 1.0.0
+ minimist: 1.2.8
+ neo-async: 2.6.2
+ source-map: 0.6.1
+ wordwrap: 1.0.0
+ optionalDependencies:
+ uglify-js: 3.19.3
- has-proto@1.0.3: {}
+ has-flag@4.0.0: {}
- has-symbols@1.0.3: {}
+ has-symbols@1.1.0: {}
has-tostringtag@1.0.2:
dependencies:
- has-symbols: 1.0.3
-
- has-unicode@2.0.1: {}
-
- hash-obj@4.0.0:
- dependencies:
- is-obj: 3.0.0
- sort-keys: 5.0.0
- type-fest: 1.4.0
-
- hash-sum@2.0.0: {}
+ has-symbols: 1.1.0
hashids@2.3.0: {}
@@ -15974,7 +16797,7 @@ snapshots:
dependencies:
function-bind: 1.1.2
- hast-util-to-html@9.0.3:
+ hast-util-to-html@9.0.5:
dependencies:
'@types/hast': 3.0.4
'@types/unist': 3.0.3
@@ -15983,7 +16806,7 @@ snapshots:
hast-util-whitespace: 3.0.0
html-void-elements: 3.0.0
mdast-util-to-hast: 13.2.0
- property-information: 6.5.0
+ property-information: 7.1.0
space-separated-tokens: 2.0.2
stringify-entities: 4.0.4
zwitch: 2.0.4
@@ -15992,20 +16815,12 @@ snapshots:
dependencies:
'@types/hast': 3.0.4
- he@1.2.0: {}
-
- helmet@7.1.0: {}
+ helmet@8.1.0: {}
help-me@5.0.0: {}
hookable@5.5.3: {}
- hosted-git-info@2.8.9: {}
-
- hosted-git-info@4.1.0:
- dependencies:
- lru-cache: 6.0.0
-
hosted-git-info@7.0.2:
dependencies:
lru-cache: 10.4.3
@@ -16014,50 +16829,11 @@ snapshots:
dependencies:
whatwg-encoding: 3.1.1
- html-minifier@4.0.0:
- dependencies:
- camel-case: 3.0.0
- clean-css: 4.2.4
- commander: 2.20.3
- he: 1.2.0
- param-case: 2.1.1
- relateurl: 0.2.7
- uglify-js: 3.19.2
-
- html-tags@3.3.1: {}
-
- html-to-text@9.0.5:
- dependencies:
- '@selderee/plugin-htmlparser2': 0.11.0
- deepmerge: 4.3.1
- dom-serializer: 2.0.0
- htmlparser2: 8.0.2
- selderee: 0.11.0
+ html-escaper@2.0.2: {}
html-void-elements@3.0.0: {}
- htmlparser2@5.0.1:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 3.3.0
- domutils: 2.8.0
- entities: 2.2.0
-
- htmlparser2@8.0.2:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- domutils: 3.1.0
- entities: 4.5.0
-
- htmlparser2@9.1.0:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- domutils: 3.1.0
- entities: 4.5.0
-
- http-cache-semantics@4.1.1: {}
+ http-cache-semantics@4.2.0: {}
http-errors@2.0.0:
dependencies:
@@ -16069,114 +16845,98 @@ snapshots:
http-proxy-agent@7.0.2:
dependencies:
- agent-base: 7.1.1(supports-color@9.4.0)
- debug: 4.3.7(supports-color@9.4.0)
+ agent-base: 7.1.4
+ debug: 4.4.3
transitivePeerDependencies:
- supports-color
http-shutdown@1.2.2: {}
- http-status-codes@2.3.0: {}
-
http2-wrapper@1.0.3:
dependencies:
quick-lru: 5.1.1
resolve-alpn: 1.2.1
- https-proxy-agent@5.0.1:
- dependencies:
- agent-base: 6.0.2
- debug: 4.3.7(supports-color@9.4.0)
- transitivePeerDependencies:
- - supports-color
-
- https-proxy-agent@7.0.5(supports-color@9.4.0):
+ https-proxy-agent@7.0.6:
dependencies:
- agent-base: 7.1.1(supports-color@9.4.0)
- debug: 4.3.7(supports-color@9.4.0)
+ agent-base: 7.1.4
+ debug: 4.4.3
transitivePeerDependencies:
- supports-color
- httpxy@0.1.5: {}
+ httpxy@0.1.7: {}
human-signals@2.1.0: {}
human-signals@3.0.1: {}
- human-signals@4.3.1: {}
-
human-signals@5.0.0: {}
- human-signals@8.0.0: {}
-
- humanize-ms@1.2.1:
- dependencies:
- ms: 2.1.3
-
- humanize-string@3.0.0:
- dependencies:
- decamelize: 6.0.0
+ human-signals@8.0.1: {}
- iconv-lite@0.4.24:
+ humanize-string@3.1.0:
dependencies:
- safer-buffer: 2.1.2
+ decamelize: 6.0.1
- iconv-lite@0.5.2:
+ iconv-lite@0.6.3:
dependencies:
safer-buffer: 2.1.2
- iconv-lite@0.6.3:
+ iconv-lite@0.7.0:
dependencies:
safer-buffer: 2.1.2
- ieee754@1.1.13: {}
-
ieee754@1.2.1: {}
- ignore-by-default@1.0.1: {}
-
ignore-walk@6.0.5:
dependencies:
minimatch: 9.0.5
ignore@5.3.2: {}
- ignore@6.0.2: {}
+ ignore@7.0.5: {}
- image-meta@0.2.1: {}
+ image-meta@0.2.2: {}
- image-size@1.1.1:
+ image-size@1.2.1:
dependencies:
queue: 6.0.2
- immediate@3.0.6: {}
+ immutable@5.1.4: {}
- immutable@4.3.7: {}
-
- import-fresh@3.3.0:
+ import-fresh@3.3.1:
dependencies:
parent-module: 1.0.1
resolve-from: 4.0.0
- import-in-the-middle@1.11.0:
+ import-in-the-middle@1.15.0:
dependencies:
- acorn: 8.14.0
- acorn-import-attributes: 1.9.5(acorn@8.14.0)
- cjs-module-lexer: 1.4.0
- module-details-from-path: 1.0.3
+ acorn: 8.15.0
+ acorn-import-attributes: 1.9.5(acorn@8.15.0)
+ cjs-module-lexer: 1.4.3
+ module-details-from-path: 1.0.4
import-lazy@4.0.0: {}
+ import-local@3.2.0:
+ dependencies:
+ pkg-dir: 4.2.0
+ resolve-cwd: 3.0.0
+
+ impound@1.0.0:
+ dependencies:
+ exsolve: 1.0.7
+ mocked-exports: 0.1.1
+ pathe: 2.0.3
+ unplugin: 2.3.10
+ unplugin-utils: 0.2.5
+
imurmurhash@0.1.4: {}
indent-string@4.0.0: {}
indent-string@5.0.0: {}
- index-to-position@0.1.2: {}
-
- inflection@1.13.4: {}
-
inflight@1.0.6:
dependencies:
once: 1.4.0
@@ -16184,42 +16944,31 @@ snapshots:
inherits@2.0.4: {}
- ini@1.3.8: {}
-
ini@2.0.0: {}
ini@4.1.1: {}
ini@4.1.3: {}
- inquirer@9.3.6:
- dependencies:
- '@inquirer/figures': 1.0.5
- ansi-escapes: 4.3.2
- cli-width: 4.1.0
- external-editor: 3.1.0
- mute-stream: 1.0.0
- ora: 5.4.1
- run-async: 3.0.0
- rxjs: 7.8.1
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 6.2.0
- yoctocolors-cjs: 2.1.2
-
- internal-slot@1.0.7:
+ inquirer@12.9.6(@types/node@24.7.2):
dependencies:
- es-errors: 1.3.0
- hasown: 2.0.2
- side-channel: 1.0.6
+ '@inquirer/ansi': 1.0.0
+ '@inquirer/core': 10.2.2(@types/node@24.7.2)
+ '@inquirer/prompts': 7.8.6(@types/node@24.7.2)
+ '@inquirer/type': 3.0.8(@types/node@24.7.2)
+ mute-stream: 2.0.0
+ run-async: 4.0.6
+ rxjs: 7.8.2
+ optionalDependencies:
+ '@types/node': 24.7.2
- interpret@1.4.0: {}
+ interpret@2.2.0: {}
- ioredis@5.4.1:
+ ioredis@5.8.1:
dependencies:
- '@ioredis/commands': 1.2.0
+ '@ioredis/commands': 1.4.0
cluster-key-slot: 1.1.2
- debug: 4.3.7(supports-color@9.4.0)
+ debug: 4.4.3
denque: 2.1.0
lodash.defaults: 4.2.0
lodash.isarguments: 3.1.0
@@ -16229,60 +16978,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
- ip-address@9.0.5:
- dependencies:
- jsbn: 1.1.0
- sprintf-js: 1.1.3
+ ip-address@10.0.1: {}
ipaddr.js@1.9.1: {}
iron-webcrypto@1.2.1: {}
- is-arguments@1.1.1:
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
-
- is-array-buffer@3.0.4:
- dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
-
is-arrayish@0.2.1: {}
- is-bigint@1.0.4:
- dependencies:
- has-bigints: 1.0.2
-
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
is-blob@2.1.0: {}
- is-boolean-object@1.1.2:
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
-
- is-builtin-module@3.2.1:
+ is-builtin-module@5.0.0:
dependencies:
- builtin-modules: 3.3.0
-
- is-callable@1.2.7: {}
+ builtin-modules: 5.0.0
- is-core-module@2.15.1:
+ is-core-module@2.16.1:
dependencies:
hasown: 2.0.2
- is-data-view@1.0.1:
- dependencies:
- is-typed-array: 1.1.13
-
- is-date-object@1.0.5:
- dependencies:
- has-tostringtag: 1.0.2
-
is-docker@2.2.1: {}
is-docker@3.0.0: {}
@@ -16291,9 +17004,7 @@ snapshots:
is-fullwidth-code-point@3.0.0: {}
- is-generator-function@1.0.10:
- dependencies:
- has-tostringtag: 1.0.2
+ is-generator-fn@2.1.0: {}
is-glob@4.0.3:
dependencies:
@@ -16318,138 +17029,438 @@ snapshots:
is-module@1.0.0: {}
- is-negative-zero@2.0.3: {}
+ is-number@7.0.0: {}
+
+ is-path-inside@4.0.0: {}
+
+ is-plain-obj@4.1.0: {}
+
+ is-potential-custom-element-name@1.0.1: {}
+
+ is-promise@4.0.0: {}
- is-number-object@1.0.7:
+ is-reference@1.2.1:
dependencies:
- has-tostringtag: 1.0.2
+ '@types/estree': 1.0.8
- is-number@7.0.0: {}
+ is-ssh@1.4.1:
+ dependencies:
+ protocols: 2.0.2
- is-obj@3.0.0: {}
+ is-stream@2.0.1: {}
- is-path-cwd@3.0.0: {}
+ is-stream@3.0.0: {}
- is-path-inside@4.0.0: {}
+ is-stream@4.0.1: {}
- is-plain-obj@1.1.0: {}
+ is-unicode-supported@0.1.0: {}
- is-plain-obj@4.1.0: {}
+ is-unicode-supported@2.1.0: {}
- is-potential-custom-element-name@1.0.1: {}
+ is-wayland@0.1.0: {}
+
+ is-what@4.1.16: {}
+
+ is-wsl@2.2.0:
+ dependencies:
+ is-docker: 2.2.1
+
+ is-wsl@3.1.0:
+ dependencies:
+ is-inside-container: 1.0.0
+
+ is64bit@2.0.0:
+ dependencies:
+ system-architecture: 0.1.0
+
+ isarray@1.0.0: {}
+
+ isexe@2.0.0: {}
+
+ isexe@3.1.1: {}
+
+ istanbul-lib-coverage@3.2.2: {}
+
+ istanbul-lib-instrument@6.0.3:
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/parser': 7.28.4
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-coverage: 3.2.2
+ semver: 7.7.3
+ transitivePeerDependencies:
+ - supports-color
+
+ istanbul-lib-report@3.0.1:
+ dependencies:
+ istanbul-lib-coverage: 3.2.2
+ make-dir: 4.0.0
+ supports-color: 7.2.0
+
+ istanbul-lib-source-maps@5.0.6:
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ debug: 4.4.3
+ istanbul-lib-coverage: 3.2.2
+ transitivePeerDependencies:
+ - supports-color
+
+ istanbul-reports@3.2.0:
+ dependencies:
+ html-escaper: 2.0.2
+ istanbul-lib-report: 3.0.1
+
+ iterare@1.2.1: {}
+
+ jackspeak@3.4.3:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+
+ jackspeak@4.1.1:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
- is-promise@2.2.2: {}
+ jest-changed-files@30.2.0:
+ dependencies:
+ execa: 5.1.1
+ jest-util: 30.2.0
+ p-limit: 3.1.0
- is-promise@4.0.0: {}
+ jest-circus@30.2.0:
+ dependencies:
+ '@jest/environment': 30.2.0
+ '@jest/expect': 30.2.0
+ '@jest/test-result': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 24.7.2
+ chalk: 4.1.2
+ co: 4.6.0
+ dedent: 1.7.0
+ is-generator-fn: 2.1.0
+ jest-each: 30.2.0
+ jest-matcher-utils: 30.2.0
+ jest-message-util: 30.2.0
+ jest-runtime: 30.2.0
+ jest-snapshot: 30.2.0
+ jest-util: 30.2.0
+ p-limit: 3.1.0
+ pretty-format: 30.2.0
+ pure-rand: 7.0.1
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
- is-reference@1.2.1:
+ jest-cli@30.2.0(@types/node@24.7.2)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3)):
dependencies:
- '@types/estree': 1.0.6
+ '@jest/core': 30.2.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))
+ '@jest/test-result': 30.2.0
+ '@jest/types': 30.2.0
+ chalk: 4.1.2
+ exit-x: 0.2.2
+ import-local: 3.2.0
+ jest-config: 30.2.0(@types/node@24.7.2)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))
+ jest-util: 30.2.0
+ jest-validate: 30.2.0
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - esbuild-register
+ - supports-color
+ - ts-node
- is-regex@1.1.4:
+ jest-config@30.2.0(@types/node@24.7.2)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3)):
dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
+ '@babel/core': 7.28.4
+ '@jest/get-type': 30.1.0
+ '@jest/pattern': 30.0.1
+ '@jest/test-sequencer': 30.2.0
+ '@jest/types': 30.2.0
+ babel-jest: 30.2.0(@babel/core@7.28.4)
+ chalk: 4.1.2
+ ci-info: 4.3.1
+ deepmerge: 4.3.1
+ glob: 10.4.5
+ graceful-fs: 4.2.11
+ jest-circus: 30.2.0
+ jest-docblock: 30.2.0
+ jest-environment-node: 30.2.0
+ jest-regex-util: 30.0.1
+ jest-resolve: 30.2.0
+ jest-runner: 30.2.0
+ jest-util: 30.2.0
+ jest-validate: 30.2.0
+ micromatch: 4.0.8
+ parse-json: 5.2.0
+ pretty-format: 30.2.0
+ slash: 3.0.0
+ strip-json-comments: 3.1.1
+ optionalDependencies:
+ '@types/node': 24.7.2
+ ts-node: 10.9.2(@types/node@24.7.2)(typescript@5.9.3)
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
- is-shared-array-buffer@1.0.3:
+ jest-diff@30.2.0:
dependencies:
- call-bind: 1.0.7
+ '@jest/diff-sequences': 30.0.1
+ '@jest/get-type': 30.1.0
+ chalk: 4.1.2
+ pretty-format: 30.2.0
- is-ssh@1.4.0:
+ jest-docblock@30.2.0:
dependencies:
- protocols: 2.0.1
+ detect-newline: 3.1.0
- is-stream@2.0.1: {}
+ jest-each@30.2.0:
+ dependencies:
+ '@jest/get-type': 30.1.0
+ '@jest/types': 30.2.0
+ chalk: 4.1.2
+ jest-util: 30.2.0
+ pretty-format: 30.2.0
- is-stream@3.0.0: {}
+ jest-environment-node@30.2.0:
+ dependencies:
+ '@jest/environment': 30.2.0
+ '@jest/fake-timers': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 24.7.2
+ jest-mock: 30.2.0
+ jest-util: 30.2.0
+ jest-validate: 30.2.0
- is-stream@4.0.1: {}
+ jest-haste-map@30.2.0:
+ dependencies:
+ '@jest/types': 30.2.0
+ '@types/node': 24.7.2
+ anymatch: 3.1.3
+ fb-watchman: 2.0.2
+ graceful-fs: 4.2.11
+ jest-regex-util: 30.0.1
+ jest-util: 30.2.0
+ jest-worker: 30.2.0
+ micromatch: 4.0.8
+ walker: 1.0.8
+ optionalDependencies:
+ fsevents: 2.3.3
- is-string@1.0.7:
+ jest-leak-detector@30.2.0:
dependencies:
- has-tostringtag: 1.0.2
+ '@jest/get-type': 30.1.0
+ pretty-format: 30.2.0
- is-symbol@1.0.4:
+ jest-matcher-utils@30.2.0:
dependencies:
- has-symbols: 1.0.3
+ '@jest/get-type': 30.1.0
+ chalk: 4.1.2
+ jest-diff: 30.2.0
+ pretty-format: 30.2.0
- is-typed-array@1.1.13:
+ jest-message-util@30.2.0:
dependencies:
- which-typed-array: 1.1.15
+ '@babel/code-frame': 7.27.1
+ '@jest/types': 30.2.0
+ '@types/stack-utils': 2.0.3
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.8
+ pretty-format: 30.2.0
+ slash: 3.0.0
+ stack-utils: 2.0.6
- is-unicode-supported@0.1.0: {}
+ jest-mock@30.2.0:
+ dependencies:
+ '@jest/types': 30.2.0
+ '@types/node': 24.7.2
+ jest-util: 30.2.0
- is-unicode-supported@1.3.0: {}
+ jest-pnp-resolver@1.2.3(jest-resolve@30.2.0):
+ optionalDependencies:
+ jest-resolve: 30.2.0
- is-unicode-supported@2.0.0: {}
+ jest-regex-util@30.0.1: {}
- is-weakref@1.0.2:
+ jest-resolve-dependencies@30.2.0:
dependencies:
- call-bind: 1.0.7
-
- is-what@4.1.16: {}
+ jest-regex-util: 30.0.1
+ jest-snapshot: 30.2.0
+ transitivePeerDependencies:
+ - supports-color
- is-wsl@2.2.0:
+ jest-resolve@30.2.0:
dependencies:
- is-docker: 2.2.1
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ jest-haste-map: 30.2.0
+ jest-pnp-resolver: 1.2.3(jest-resolve@30.2.0)
+ jest-util: 30.2.0
+ jest-validate: 30.2.0
+ slash: 3.0.0
+ unrs-resolver: 1.11.1
- is-wsl@3.1.0:
+ jest-runner@30.2.0:
dependencies:
- is-inside-container: 1.0.0
+ '@jest/console': 30.2.0
+ '@jest/environment': 30.2.0
+ '@jest/test-result': 30.2.0
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 24.7.2
+ chalk: 4.1.2
+ emittery: 0.13.1
+ exit-x: 0.2.2
+ graceful-fs: 4.2.11
+ jest-docblock: 30.2.0
+ jest-environment-node: 30.2.0
+ jest-haste-map: 30.2.0
+ jest-leak-detector: 30.2.0
+ jest-message-util: 30.2.0
+ jest-resolve: 30.2.0
+ jest-runtime: 30.2.0
+ jest-util: 30.2.0
+ jest-watcher: 30.2.0
+ jest-worker: 30.2.0
+ p-limit: 3.1.0
+ source-map-support: 0.5.13
+ transitivePeerDependencies:
+ - supports-color
- is64bit@2.0.0:
+ jest-runtime@30.2.0:
dependencies:
- system-architecture: 0.1.0
-
- isarray@1.0.0: {}
-
- isarray@2.0.5: {}
-
- isexe@2.0.0: {}
+ '@jest/environment': 30.2.0
+ '@jest/fake-timers': 30.2.0
+ '@jest/globals': 30.2.0
+ '@jest/source-map': 30.0.1
+ '@jest/test-result': 30.2.0
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 24.7.2
+ chalk: 4.1.2
+ cjs-module-lexer: 2.1.0
+ collect-v8-coverage: 1.0.2
+ glob: 10.4.5
+ graceful-fs: 4.2.11
+ jest-haste-map: 30.2.0
+ jest-message-util: 30.2.0
+ jest-mock: 30.2.0
+ jest-regex-util: 30.0.1
+ jest-resolve: 30.2.0
+ jest-snapshot: 30.2.0
+ jest-util: 30.2.0
+ slash: 3.0.0
+ strip-bom: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
- isexe@3.1.1: {}
+ jest-snapshot@30.2.0:
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/generator': 7.28.3
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4)
+ '@babel/types': 7.28.4
+ '@jest/expect-utils': 30.2.0
+ '@jest/get-type': 30.1.0
+ '@jest/snapshot-utils': 30.2.0
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.4)
+ chalk: 4.1.2
+ expect: 30.2.0
+ graceful-fs: 4.2.11
+ jest-diff: 30.2.0
+ jest-matcher-utils: 30.2.0
+ jest-message-util: 30.2.0
+ jest-util: 30.2.0
+ pretty-format: 30.2.0
+ semver: 7.7.3
+ synckit: 0.11.11
+ transitivePeerDependencies:
+ - supports-color
- jackspeak@3.4.3:
+ jest-util@30.2.0:
dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
+ '@jest/types': 30.2.0
+ '@types/node': 24.7.2
+ chalk: 4.1.2
+ ci-info: 4.3.1
+ graceful-fs: 4.2.11
+ picomatch: 4.0.3
- jiti@1.21.6: {}
+ jest-validate@30.2.0:
+ dependencies:
+ '@jest/get-type': 30.1.0
+ '@jest/types': 30.2.0
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ leven: 3.1.0
+ pretty-format: 30.2.0
- jiti@2.4.0: {}
+ jest-watcher@30.2.0:
+ dependencies:
+ '@jest/test-result': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 24.7.2
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ emittery: 0.13.1
+ jest-util: 30.2.0
+ string-length: 4.0.2
- jju@1.4.0: {}
+ jest-worker@27.5.1:
+ dependencies:
+ '@types/node': 24.7.2
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
- jmespath@0.16.0: {}
+ jest-worker@30.2.0:
+ dependencies:
+ '@types/node': 24.7.2
+ '@ungap/structured-clone': 1.3.0
+ jest-util: 30.2.0
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
- joi@17.13.3:
+ jest@30.2.0(@types/node@24.7.2)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3)):
dependencies:
- '@hapi/hoek': 9.3.0
- '@hapi/topo': 5.1.0
- '@sideway/address': 4.1.5
- '@sideway/formula': 3.0.1
- '@sideway/pinpoint': 2.0.0
+ '@jest/core': 30.2.0(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))
+ '@jest/types': 30.2.0
+ import-local: 3.2.0
+ jest-cli: 30.2.0(@types/node@24.7.2)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - esbuild-register
+ - supports-color
+ - ts-node
- jose@4.15.9: {}
+ jiti@2.6.1: {}
- joycon@3.1.1: {}
+ jju@1.4.0: {}
- js-beautify@1.15.1:
+ joi@18.0.1:
dependencies:
- config-chain: 1.1.13
- editorconfig: 1.0.4
- glob: 10.4.5
- js-cookie: 3.0.5
- nopt: 7.2.1
+ '@hapi/address': 5.1.1
+ '@hapi/formula': 3.0.2
+ '@hapi/hoek': 11.0.7
+ '@hapi/pinpoint': 2.0.1
+ '@hapi/tlds': 1.1.3
+ '@hapi/topo': 6.0.2
+ '@standard-schema/spec': 1.0.0
- js-cookie@3.0.5: {}
+ joycon@3.1.1: {}
- js-levenshtein@1.1.6: {}
+ js-base64@3.7.8: {}
js-tokens@4.0.0: {}
- js-tokens@9.0.0: {}
+ js-tokens@9.0.1: {}
js-yaml@3.14.1:
dependencies:
@@ -16460,44 +17471,42 @@ snapshots:
dependencies:
argparse: 2.0.1
- jsbn@1.1.0: {}
+ jsdoc-type-pratt-parser@4.8.0: {}
- jsdoc-type-pratt-parser@4.1.0: {}
+ jsdoc-type-pratt-parser@5.1.1: {}
- jsdom@24.1.3:
+ jsdom@27.0.0(postcss@8.5.6):
dependencies:
- cssstyle: 4.0.1
- data-urls: 5.0.0
- decimal.js: 10.4.3
- form-data: 4.0.0
+ '@asamuzakjp/dom-selector': 6.6.2
+ cssstyle: 5.3.1(postcss@8.5.6)
+ data-urls: 6.0.0
+ decimal.js: 10.6.0
html-encoding-sniffer: 4.0.0
http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.5(supports-color@9.4.0)
+ https-proxy-agent: 7.0.6
is-potential-custom-element-name: 1.0.1
- nwsapi: 2.2.12
- parse5: 7.1.2
- rrweb-cssom: 0.7.1
+ parse5: 7.3.0
+ rrweb-cssom: 0.8.0
saxes: 6.0.0
symbol-tree: 3.2.4
- tough-cookie: 4.1.4
+ tough-cookie: 6.0.0
w3c-xmlserializer: 5.0.0
- webidl-conversions: 7.0.0
+ webidl-conversions: 8.0.0
whatwg-encoding: 3.1.1
whatwg-mimetype: 4.0.0
- whatwg-url: 14.0.0
- ws: 8.18.0
+ whatwg-url: 15.1.0
+ ws: 8.18.3
xml-name-validator: 5.0.0
transitivePeerDependencies:
- bufferutil
+ - postcss
- supports-color
- utf-8-validate
- jsesc@0.5.0: {}
-
- jsesc@2.5.2: {}
-
jsesc@3.0.2: {}
+ jsesc@3.1.0: {}
+
json-buffer@3.0.1: {}
json-parse-even-better-errors@2.3.1: {}
@@ -16514,11 +17523,9 @@ snapshots:
json5@2.2.3: {}
- jsonfile@4.0.0:
- optionalDependencies:
- graceful-fs: 4.2.11
+ jsonc-parser@3.3.1: {}
- jsonfile@6.1.0:
+ jsonfile@6.2.0:
dependencies:
universalify: 2.0.1
optionalDependencies:
@@ -16526,6 +17533,8 @@ snapshots:
jsonparse@1.3.1: {}
+ jsonpointer@5.0.1: {}
+
jsonwebtoken@9.0.2:
dependencies:
jws: 3.2.2
@@ -16537,30 +17546,13 @@ snapshots:
lodash.isstring: 4.0.1
lodash.once: 4.1.1
ms: 2.1.3
- semver: 7.6.3
-
- jszip@3.10.1:
- dependencies:
- lie: 3.3.0
- pako: 1.0.11
- readable-stream: 2.3.8
- setimmediate: 1.0.5
-
- juice@10.0.1(encoding@0.1.13):
- dependencies:
- cheerio: 1.0.0-rc.12
- commander: 6.2.1
- mensch: 0.3.4
- slick: 1.12.2
- web-resource-inliner: 6.0.1(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ semver: 7.7.3
just-diff-apply@5.5.0: {}
just-diff@6.0.2: {}
- jwa@1.4.1:
+ jwa@1.4.2:
dependencies:
buffer-equal-constant-time: 1.0.1
ecdsa-sig-formatter: 1.0.11
@@ -16568,87 +17560,113 @@ snapshots:
jws@3.2.2:
dependencies:
- jwa: 1.4.1
+ jwa: 1.4.2
safe-buffer: 5.2.1
keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
- keyv@5.1.3:
- dependencies:
- '@keyv/serialize': 1.0.1
-
- kind-of@6.0.3: {}
-
kleur@3.0.3: {}
- klona@2.0.6: {}
-
- knitwork@1.1.0: {}
+ kleur@4.1.5: {}
- kolorist@1.8.0: {}
+ klona@2.0.6: {}
- launch-editor@2.8.1:
+ knex@3.1.0(pg@8.16.3):
dependencies:
- picocolors: 1.0.1
- shell-quote: 1.8.1
+ colorette: 2.0.19
+ commander: 10.0.1
+ debug: 4.3.4
+ escalade: 3.2.0
+ esm: 3.2.25
+ get-package-type: 0.1.0
+ getopts: 2.3.0
+ interpret: 2.2.0
+ lodash: 4.17.21
+ pg-connection-string: 2.6.2
+ rechoir: 0.8.0
+ resolve-from: 5.0.0
+ tarn: 3.0.2
+ tildify: 2.0.0
+ optionalDependencies:
+ pg: 8.16.3
+ transitivePeerDependencies:
+ - supports-color
- launch-editor@2.9.1:
+ knitwork@1.2.0: {}
+
+ launch-editor@2.11.1:
dependencies:
- picocolors: 1.1.0
- shell-quote: 1.8.1
+ picocolors: 1.1.1
+ shell-quote: 1.8.3
lazystream@1.0.1:
dependencies:
readable-stream: 2.3.8
- leac@0.6.0: {}
+ leven@3.1.0: {}
levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
- lie@3.3.0:
- dependencies:
- immediate: 3.0.6
+ libphonenumber-js@1.12.24: {}
- lilconfig@3.1.2: {}
+ libsql@0.5.22:
+ dependencies:
+ '@neon-rs/load': 0.0.4
+ detect-libc: 2.0.2
+ optionalDependencies:
+ '@libsql/darwin-arm64': 0.5.22
+ '@libsql/darwin-x64': 0.5.22
+ '@libsql/linux-arm-gnueabihf': 0.5.22
+ '@libsql/linux-arm-musleabihf': 0.5.22
+ '@libsql/linux-arm64-gnu': 0.5.22
+ '@libsql/linux-arm64-musl': 0.5.22
+ '@libsql/linux-x64-gnu': 0.5.22
+ '@libsql/linux-x64-musl': 0.5.22
+ '@libsql/win32-x64-msvc': 0.5.22
+
+ lilconfig@3.1.3: {}
lines-and-columns@1.2.4: {}
- lines-and-columns@2.0.4: {}
-
linkify-it@5.0.0:
dependencies:
uc.micro: 2.1.0
listhen@1.9.0:
dependencies:
- '@parcel/watcher': 2.4.1
- '@parcel/watcher-wasm': 2.4.1
+ '@parcel/watcher': 2.5.1
+ '@parcel/watcher-wasm': 2.5.1
citty: 0.1.6
clipboardy: 4.0.0
- consola: 3.2.3
- crossws: 0.3.1
+ consola: 3.4.2
+ crossws: 0.3.5
defu: 6.1.4
- get-port-please: 3.1.2
- h3: 1.13.0
+ get-port-please: 3.2.0
+ h3: 1.15.4
http-shutdown: 1.2.2
- jiti: 2.4.0
- mlly: 1.7.2
+ jiti: 2.6.1
+ mlly: 1.8.0
node-forge: 1.3.1
pathe: 1.1.2
- std-env: 3.7.0
- ufo: 1.5.4
+ std-env: 3.9.0
+ ufo: 1.6.1
untun: 0.1.3
uqr: 0.1.2
- local-pkg@0.5.0:
+ load-esm@1.0.2: {}
+
+ loader-runner@4.3.1: {}
+
+ local-pkg@1.1.2:
dependencies:
- mlly: 1.7.1
- pkg-types: 1.2.0
+ mlly: 1.8.0
+ pkg-types: 2.3.0
+ quansync: 0.2.11
locate-path@5.0.0:
dependencies:
@@ -16672,8 +17690,6 @@ snapshots:
lodash.isboolean@3.0.3: {}
- lodash.isequal@4.5.0: {}
-
lodash.isinteger@4.0.4: {}
lodash.isnumber@3.0.3: {}
@@ -16697,19 +17713,19 @@ snapshots:
chalk: 4.1.2
is-unicode-supported: 0.1.0
- log-symbols@6.0.0:
+ log-symbols@7.0.1:
dependencies:
- chalk: 5.3.0
- is-unicode-supported: 1.3.0
+ is-unicode-supported: 2.1.0
+ yoctocolors: 2.1.2
- long@5.2.3: {}
-
- lower-case@1.1.4: {}
+ long@5.3.2: {}
lowercase-keys@2.0.0: {}
lru-cache@10.4.3: {}
+ lru-cache@11.2.2: {}
+
lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
@@ -16718,66 +17734,66 @@ snapshots:
dependencies:
yallist: 4.0.0
- lru-queue@0.1.0:
+ magic-regexp@0.10.0:
dependencies:
- es5-ext: 0.10.64
-
- luxon@3.5.0: {}
-
- magic-string-ast@0.6.2:
- dependencies:
- magic-string: 0.30.12
+ estree-walker: 3.0.3
+ magic-string: 0.30.19
+ mlly: 1.8.0
+ regexp-tree: 0.1.27
+ type-level-regexp: 0.1.17
+ ufo: 1.6.1
+ unplugin: 2.3.10
- magic-string@0.30.11:
+ magic-string-ast@1.0.3:
dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
+ magic-string: 0.30.19
- magic-string@0.30.12:
+ magic-string@0.30.17:
dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/sourcemap-codec': 1.5.5
- magicast@0.3.4:
+ magic-string@0.30.19:
dependencies:
- '@babel/parser': 7.25.4
- '@babel/types': 7.25.4
- source-map-js: 1.2.0
+ '@jridgewell/sourcemap-codec': 1.5.5
magicast@0.3.5:
dependencies:
- '@babel/parser': 7.26.2
- '@babel/types': 7.26.0
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
source-map-js: 1.2.1
- mailtrap@3.4.0:
+ mailtrap@4.3.0:
dependencies:
- axios: 1.7.7(debug@4.3.7)
+ axios: 1.12.2(debug@4.4.3)
transitivePeerDependencies:
- debug
- make-dir@3.1.0:
+ make-dir@4.0.0:
dependencies:
- semver: 6.3.1
+ semver: 7.7.3
+
+ make-error@1.3.6: {}
make-fetch-happen@13.0.1:
dependencies:
'@npmcli/agent': 2.2.2
cacache: 18.0.4
- http-cache-semantics: 4.1.1
+ http-cache-semantics: 4.2.0
is-lambda: 1.0.1
minipass: 7.1.2
minipass-fetch: 3.0.5
minipass-flush: 1.0.5
minipass-pipeline: 1.2.4
- negotiator: 0.6.3
+ negotiator: 0.6.4
proc-log: 4.2.0
promise-retry: 2.0.1
ssri: 10.0.6
transitivePeerDependencies:
- supports-color
- map-obj@1.0.1: {}
-
- map-obj@4.3.0: {}
+ makeerror@1.0.12:
+ dependencies:
+ tmpl: 1.0.5
mark.js@8.11.1: {}
@@ -16790,13 +17806,38 @@ snapshots:
punycode.js: 2.3.1
uc.micro: 2.1.0
+ massimo-cli@1.0.1:
+ dependencies:
+ '@fastify/error': 4.2.0
+ camelcase: 6.3.0
+ code-block-writer: 13.0.3
+ graphql: 16.11.0
+ help-me: 5.0.0
+ jsonpointer: 5.0.1
+ massimo: 1.0.1
+ minimist: 1.2.8
+ pino: 9.13.1
+ pino-pretty: 13.1.2
+ undici: 7.16.0
+ yaml: 2.8.1
+
+ massimo@1.0.1:
+ dependencies:
+ '@apidevtools/json-schema-ref-parser': 11.9.3
+ '@fastify/error': 4.2.0
+ ajv: 8.17.1
+ camelcase: 6.3.0
+ undici: 7.16.0
+
+ math-intrinsics@1.1.0: {}
+
mdast-util-to-hast@13.2.0:
dependencies:
'@types/hast': 3.0.4
'@types/mdast': 4.0.4
- '@ungap/structured-clone': 1.2.0
+ '@ungap/structured-clone': 1.3.0
devlop: 1.1.0
- micromark-util-sanitize-uri: 2.0.0
+ micromark-util-sanitize-uri: 2.0.1
trim-lines: 3.0.1
unist-util-position: 5.0.0
unist-util-visit: 5.0.0
@@ -16804,471 +17845,142 @@ snapshots:
mdn-data@2.0.28: {}
- mdn-data@2.0.30: {}
+ mdn-data@2.12.2: {}
mdurl@2.0.0: {}
media-typer@0.3.0: {}
- media-typer@1.1.0: {}
-
- memoizee@0.4.17:
- dependencies:
- d: 1.0.2
- es5-ext: 0.10.64
- es6-weak-map: 2.0.3
- event-emitter: 0.3.5
- is-promise: 2.2.2
- lru-queue: 0.1.0
- next-tick: 1.1.0
- timers-ext: 0.1.8
-
- mensch@0.3.4: {}
-
- meow@10.1.5:
- dependencies:
- '@types/minimist': 1.2.5
- camelcase-keys: 7.0.2
- decamelize: 5.0.1
- decamelize-keys: 1.1.1
- hard-rejection: 2.1.0
- minimist-options: 4.1.0
- normalize-package-data: 3.0.3
- read-pkg-up: 8.0.0
- redent: 4.0.0
- trim-newlines: 4.1.1
- type-fest: 1.4.0
- yargs-parser: 20.2.9
-
- merge-descriptors@2.0.0: {}
-
- merge-stream@2.0.0: {}
-
- merge2@1.4.1: {}
-
- methods@1.1.2: {}
-
- micromark-util-character@2.1.0:
- dependencies:
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-util-encode@2.0.0: {}
-
- micromark-util-sanitize-uri@2.0.0:
- dependencies:
- micromark-util-character: 2.1.0
- micromark-util-encode: 2.0.0
- micromark-util-symbol: 2.0.0
-
- micromark-util-symbol@2.0.0: {}
-
- micromark-util-types@2.0.0: {}
-
- micromatch@4.0.8:
- dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
-
- mime-db@1.52.0: {}
-
- mime-db@1.53.0: {}
-
- mime-types@2.1.35:
- dependencies:
- mime-db: 1.52.0
-
- mime-types@3.0.0:
- dependencies:
- mime-db: 1.53.0
-
- mime@1.6.0: {}
-
- mime@2.6.0: {}
-
- mime@3.0.0: {}
-
- mime@4.0.4: {}
-
- mimic-fn@2.1.0: {}
-
- mimic-fn@4.0.0: {}
-
- mimic-function@5.0.1: {}
-
- mimic-response@1.0.1: {}
-
- mimic-response@3.1.0: {}
-
- min-indent@1.0.1: {}
-
- minimatch@3.1.2:
- dependencies:
- brace-expansion: 1.1.11
-
- minimatch@5.1.6:
- dependencies:
- brace-expansion: 2.0.1
-
- minimatch@9.0.1:
- dependencies:
- brace-expansion: 2.0.1
-
- minimatch@9.0.3:
- dependencies:
- brace-expansion: 2.0.1
-
- minimatch@9.0.5:
- dependencies:
- brace-expansion: 2.0.1
-
- minimist-options@4.1.0:
- dependencies:
- arrify: 1.0.1
- is-plain-obj: 1.1.0
- kind-of: 6.0.3
-
- minimist@1.2.8: {}
-
- minipass-collect@2.0.1:
- dependencies:
- minipass: 7.1.2
-
- minipass-fetch@3.0.5:
- dependencies:
- minipass: 7.1.2
- minipass-sized: 1.0.3
- minizlib: 2.1.2
- optionalDependencies:
- encoding: 0.1.13
-
- minipass-flush@1.0.5:
- dependencies:
- minipass: 3.3.6
-
- minipass-pipeline@1.2.4:
- dependencies:
- minipass: 3.3.6
-
- minipass-sized@1.0.3:
- dependencies:
- minipass: 3.3.6
+ media-typer@1.1.0: {}
- minipass@3.3.6:
+ memfs@3.5.3:
dependencies:
- yallist: 4.0.0
+ fs-monkey: 1.1.0
- minipass@5.0.0: {}
+ merge-descriptors@2.0.0: {}
- minipass@7.1.2: {}
+ merge-stream@2.0.0: {}
- minisearch@7.1.0: {}
+ merge2@1.4.1: {}
- minizlib@2.1.2:
- dependencies:
- minipass: 3.3.6
- yallist: 4.0.0
+ mersenne-twister@1.1.0: {}
- mitt@3.0.1: {}
+ methods@1.1.2: {}
- mjml-accordion@4.15.3(encoding@0.1.13):
+ micromark-util-character@2.1.1:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- mjml-body@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ micromark-util-encode@2.0.1: {}
- mjml-button@4.15.3(encoding@0.1.13):
+ micromark-util-sanitize-uri@2.0.1:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
- mjml-carousel@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ micromark-util-symbol@2.0.1: {}
- mjml-cli@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- chokidar: 3.6.0
- glob: 10.4.5
- html-minifier: 4.0.0
- js-beautify: 1.15.1
- lodash: 4.17.21
- minimatch: 9.0.5
- mjml-core: 4.15.3(encoding@0.1.13)
- mjml-migrate: 4.15.3(encoding@0.1.13)
- mjml-parser-xml: 4.15.3
- mjml-validator: 4.15.3
- yargs: 17.7.2
- transitivePeerDependencies:
- - encoding
+ micromark-util-types@2.0.2: {}
- mjml-column@4.15.3(encoding@0.1.13):
+ micromatch@4.0.8:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ braces: 3.0.3
+ picomatch: 2.3.1
- mjml-core@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- cheerio: 1.0.0-rc.12
- detect-node: 2.1.0
- html-minifier: 4.0.0
- js-beautify: 1.15.1
- juice: 10.0.1(encoding@0.1.13)
- lodash: 4.17.21
- mjml-migrate: 4.15.3(encoding@0.1.13)
- mjml-parser-xml: 4.15.3
- mjml-validator: 4.15.3
- transitivePeerDependencies:
- - encoding
+ mikro-orm@6.5.8: {}
- mjml-divider@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ mime-db@1.52.0: {}
- mjml-group@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ mime-db@1.54.0: {}
- mjml-head-attributes@4.15.3(encoding@0.1.13):
+ mime-types@2.1.35:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ mime-db: 1.52.0
- mjml-head-breakpoint@4.15.3(encoding@0.1.13):
+ mime-types@3.0.1:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ mime-db: 1.54.0
- mjml-head-font@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ mime@2.6.0: {}
- mjml-head-html-attributes@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ mime@3.0.0: {}
- mjml-head-preview@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ mime@4.1.0: {}
- mjml-head-style@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ mimic-fn@2.1.0: {}
- mjml-head-title@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ mimic-fn@4.0.0: {}
- mjml-head@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ mimic-function@5.0.1: {}
- mjml-hero@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ mimic-response@1.0.1: {}
- mjml-image@4.15.3(encoding@0.1.13):
+ mimic-response@3.1.0: {}
+
+ minimatch@10.0.3:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ '@isaacs/brace-expansion': 5.0.0
- mjml-migrate@4.15.3(encoding@0.1.13):
+ minimatch@3.1.2:
dependencies:
- '@babel/runtime': 7.25.4
- js-beautify: 1.15.1
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- mjml-parser-xml: 4.15.3
- yargs: 17.7.2
- transitivePeerDependencies:
- - encoding
+ brace-expansion: 1.1.12
- mjml-navbar@4.15.3(encoding@0.1.13):
+ minimatch@5.1.6:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ brace-expansion: 2.0.2
- mjml-parser-xml@4.15.3:
+ minimatch@9.0.5:
dependencies:
- '@babel/runtime': 7.25.4
- detect-node: 2.1.0
- htmlparser2: 9.1.0
- lodash: 4.17.21
+ brace-expansion: 2.0.2
- mjml-preset-core@4.15.3(encoding@0.1.13):
- dependencies:
- '@babel/runtime': 7.25.4
- mjml-accordion: 4.15.3(encoding@0.1.13)
- mjml-body: 4.15.3(encoding@0.1.13)
- mjml-button: 4.15.3(encoding@0.1.13)
- mjml-carousel: 4.15.3(encoding@0.1.13)
- mjml-column: 4.15.3(encoding@0.1.13)
- mjml-divider: 4.15.3(encoding@0.1.13)
- mjml-group: 4.15.3(encoding@0.1.13)
- mjml-head: 4.15.3(encoding@0.1.13)
- mjml-head-attributes: 4.15.3(encoding@0.1.13)
- mjml-head-breakpoint: 4.15.3(encoding@0.1.13)
- mjml-head-font: 4.15.3(encoding@0.1.13)
- mjml-head-html-attributes: 4.15.3(encoding@0.1.13)
- mjml-head-preview: 4.15.3(encoding@0.1.13)
- mjml-head-style: 4.15.3(encoding@0.1.13)
- mjml-head-title: 4.15.3(encoding@0.1.13)
- mjml-hero: 4.15.3(encoding@0.1.13)
- mjml-image: 4.15.3(encoding@0.1.13)
- mjml-navbar: 4.15.3(encoding@0.1.13)
- mjml-raw: 4.15.3(encoding@0.1.13)
- mjml-section: 4.15.3(encoding@0.1.13)
- mjml-social: 4.15.3(encoding@0.1.13)
- mjml-spacer: 4.15.3(encoding@0.1.13)
- mjml-table: 4.15.3(encoding@0.1.13)
- mjml-text: 4.15.3(encoding@0.1.13)
- mjml-wrapper: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ minimist@1.2.8: {}
- mjml-raw@4.15.3(encoding@0.1.13):
+ minipass-collect@2.0.1:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ minipass: 7.1.2
- mjml-section@4.15.3(encoding@0.1.13):
+ minipass-fetch@3.0.5:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ minipass: 7.1.2
+ minipass-sized: 1.0.3
+ minizlib: 2.1.2
+ optionalDependencies:
+ encoding: 0.1.13
- mjml-social@4.15.3(encoding@0.1.13):
+ minipass-flush@1.0.5:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ minipass: 3.3.6
- mjml-spacer@4.15.3(encoding@0.1.13):
+ minipass-pipeline@1.2.4:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ minipass: 3.3.6
- mjml-table@4.15.3(encoding@0.1.13):
+ minipass-sized@1.0.3:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ minipass: 3.3.6
- mjml-text@4.15.3(encoding@0.1.13):
+ minipass@3.3.6:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ yallist: 4.0.0
- mjml-validator@4.15.3:
- dependencies:
- '@babel/runtime': 7.25.4
+ minipass@5.0.0: {}
+
+ minipass@7.1.2: {}
+
+ minisearch@7.2.0: {}
- mjml-wrapper@4.15.3(encoding@0.1.13):
+ minizlib@2.1.2:
dependencies:
- '@babel/runtime': 7.25.4
- lodash: 4.17.21
- mjml-core: 4.15.3(encoding@0.1.13)
- mjml-section: 4.15.3(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
+ minipass: 3.3.6
+ yallist: 4.0.0
- mjml@4.15.3(encoding@0.1.13):
+ minizlib@3.1.0:
dependencies:
- '@babel/runtime': 7.25.4
- mjml-cli: 4.15.3(encoding@0.1.13)
- mjml-core: 4.15.3(encoding@0.1.13)
- mjml-migrate: 4.15.3(encoding@0.1.13)
- mjml-preset-core: 4.15.3(encoding@0.1.13)
- mjml-validator: 4.15.3
- transitivePeerDependencies:
- - encoding
+ minipass: 7.1.2
- mkdirp-classic@0.5.3: {}
+ mitt@3.0.1: {}
mkdirp@0.5.6:
dependencies:
@@ -17276,141 +17988,136 @@ snapshots:
mkdirp@1.0.4: {}
- mkdirp@3.0.1: {}
-
- mlly@1.7.1:
- dependencies:
- acorn: 8.12.1
- pathe: 1.1.2
- pkg-types: 1.2.0
- ufo: 1.5.4
-
- mlly@1.7.2:
+ mlly@1.8.0:
dependencies:
- acorn: 8.14.0
- pathe: 1.1.2
- pkg-types: 1.2.1
- ufo: 1.5.4
+ acorn: 8.15.0
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.1
- module-details-from-path@1.0.3: {}
+ mocked-exports@0.1.1: {}
- moment-timezone@0.5.45:
- dependencies:
- moment: 2.30.1
+ module-details-from-path@1.0.4: {}
moment@2.30.1: {}
- mri@1.2.0: {}
-
- mrmime@2.0.0: {}
-
- ms@2.0.0: {}
+ mrmime@2.0.1: {}
ms@2.1.2: {}
ms@2.1.3: {}
- muggle-string@0.4.1:
- optional: true
+ muggle-string@0.4.1: {}
- multer@1.4.5-lts.1:
+ multer@2.0.2:
dependencies:
append-field: 1.0.0
busboy: 1.6.0
- concat-stream: 1.6.2
+ concat-stream: 2.0.0
mkdirp: 0.5.6
object-assign: 4.1.1
type-is: 1.6.18
xtend: 4.0.2
- mustache@4.2.0: {}
+ mute-stream@2.0.0: {}
+
+ nanoid@3.3.11: {}
- mute-stream@1.0.0: {}
+ nanoid@5.1.6: {}
- nanoid@3.3.7: {}
+ nanotar@0.2.0: {}
- nanoid@5.0.7: {}
+ napi-postinstall@0.3.4: {}
natural-compare@1.4.0: {}
- negotiator@0.6.3: {}
+ negotiator@0.6.4: {}
negotiator@1.0.0: {}
- next-tick@1.1.0: {}
-
- nitropack@2.10.3(encoding@0.1.13)(typescript@5.6.3)(webpack-sources@3.2.3)(xml2js@0.6.2):
- dependencies:
- '@cloudflare/kv-asset-handler': 0.3.4
- '@netlify/functions': 2.8.2
- '@rollup/plugin-alias': 5.1.1(rollup@4.24.4)
- '@rollup/plugin-commonjs': 28.0.1(rollup@4.24.4)
- '@rollup/plugin-inject': 5.0.5(rollup@4.24.4)
- '@rollup/plugin-json': 6.1.0(rollup@4.24.4)
- '@rollup/plugin-node-resolve': 15.3.0(rollup@4.24.4)
- '@rollup/plugin-replace': 6.0.1(rollup@4.24.4)
- '@rollup/plugin-terser': 0.4.4(rollup@4.24.4)
- '@rollup/pluginutils': 5.1.3(rollup@4.24.4)
- '@types/http-proxy': 1.17.15
- '@vercel/nft': 0.27.6(encoding@0.1.13)
+ neo-async@2.6.2: {}
+
+ nestjs-pino@4.4.1(@nestjs/common@11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(pino-http@10.5.0)(pino@9.13.1)(rxjs@7.8.2):
+ dependencies:
+ '@nestjs/common': 11.1.6(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ pino: 9.13.1
+ pino-http: 10.5.0
+ rxjs: 7.8.2
+
+ netmask@2.0.2: {}
+
+ nitropack@2.12.7(@libsql/client@0.15.15)(encoding@0.1.13):
+ dependencies:
+ '@cloudflare/kv-asset-handler': 0.4.0
+ '@rollup/plugin-alias': 5.1.1(rollup@4.52.4)
+ '@rollup/plugin-commonjs': 28.0.6(rollup@4.52.4)
+ '@rollup/plugin-inject': 5.0.5(rollup@4.52.4)
+ '@rollup/plugin-json': 6.1.0(rollup@4.52.4)
+ '@rollup/plugin-node-resolve': 16.0.3(rollup@4.52.4)
+ '@rollup/plugin-replace': 6.0.2(rollup@4.52.4)
+ '@rollup/plugin-terser': 0.4.4(rollup@4.52.4)
+ '@vercel/nft': 0.30.2(encoding@0.1.13)(rollup@4.52.4)
archiver: 7.0.1
- c12: 2.0.1(magicast@0.3.5)
- chokidar: 3.6.0
+ c12: 3.3.0(magicast@0.3.5)
+ chokidar: 4.0.3
citty: 0.1.6
- compatx: 0.1.8
- confbox: 0.1.8
- consola: 3.2.3
- cookie-es: 1.2.2
- croner: 9.0.0
- crossws: 0.3.1
- db0: 0.2.1
+ compatx: 0.2.0
+ confbox: 0.2.2
+ consola: 3.4.2
+ cookie-es: 2.0.0
+ croner: 9.1.0
+ crossws: 0.3.5
+ db0: 0.3.4(@libsql/client@0.15.15)
defu: 6.1.4
- destr: 2.0.3
- dot-prop: 9.0.0
- esbuild: 0.24.0
+ destr: 2.0.5
+ dot-prop: 10.1.0
+ esbuild: 0.25.10
escape-string-regexp: 5.0.0
etag: 1.8.1
- fs-extra: 11.2.0
- globby: 14.0.2
+ exsolve: 1.0.7
+ globby: 15.0.0
gzip-size: 7.0.0
- h3: 1.13.0
+ h3: 1.15.4
hookable: 5.5.3
- httpxy: 0.1.5
- ioredis: 5.4.1
- jiti: 2.4.0
+ httpxy: 0.1.7
+ ioredis: 5.8.1
+ jiti: 2.6.1
klona: 2.0.6
- knitwork: 1.1.0
+ knitwork: 1.2.0
listhen: 1.9.0
- magic-string: 0.30.12
+ magic-string: 0.30.19
magicast: 0.3.5
- mime: 4.0.4
- mlly: 1.7.2
- node-fetch-native: 1.6.4
+ mime: 4.1.0
+ mlly: 1.8.0
+ node-fetch-native: 1.6.7
+ node-mock-http: 1.0.3
ofetch: 1.4.1
- ohash: 1.1.4
- openapi-typescript: 7.4.2(encoding@0.1.13)(typescript@5.6.3)
- pathe: 1.1.2
- perfect-debounce: 1.0.0
- pkg-types: 1.2.1
- pretty-bytes: 6.1.1
+ ohash: 2.0.11
+ pathe: 2.0.3
+ perfect-debounce: 2.0.0
+ pkg-types: 2.3.0
+ pretty-bytes: 7.1.0
radix3: 1.1.2
- rollup: 4.24.4
- rollup-plugin-visualizer: 5.12.0(rollup@4.24.4)
+ rollup: 4.52.4
+ rollup-plugin-visualizer: 6.0.4(rollup@4.52.4)
scule: 1.3.0
- semver: 7.6.3
+ semver: 7.7.3
serve-placeholder: 2.0.2
- serve-static: 1.16.2
- std-env: 3.7.0
- ufo: 1.5.4
+ serve-static: 2.2.0
+ source-map: 0.7.6
+ std-env: 3.9.0
+ ufo: 1.6.1
+ ultrahtml: 1.6.0
uncrypto: 0.1.3
- unctx: 2.3.1(webpack-sources@3.2.3)
- unenv: 1.10.0
- unimport: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3)
- unstorage: 1.13.1(ioredis@5.4.1)
- untyped: 1.5.1
- unwasm: 0.3.9(webpack-sources@3.2.3)
- optionalDependencies:
- xml2js: 0.6.2
+ unctx: 2.4.1
+ unenv: 2.0.0-rc.21
+ unimport: 5.4.1
+ unplugin-utils: 0.3.1
+ unstorage: 1.17.1(db0@0.3.4(@libsql/client@0.15.15))(ioredis@5.8.1)
+ untyped: 2.0.0
+ unwasm: 0.3.11
+ youch: 4.1.0-beta.11
+ youch-core: 0.3.3
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -17419,32 +18126,45 @@ snapshots:
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@capacitor/preferences'
+ - '@deno/kv'
- '@electric-sql/pglite'
- '@libsql/client'
- '@netlify/blobs'
- '@planetscale/database'
- '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
- '@vercel/kv'
+ - aws4fetch
+ - bare-abort-controller
- better-sqlite3
- drizzle-orm
- encoding
- idb-keyval
- mysql2
+ - react-native-b4a
+ - rolldown
+ - sqlite3
- supports-color
- - typescript
- - webpack-sources
+ - uploadthing
- no-case@2.3.2:
+ node-abi@3.78.0:
dependencies:
- lower-case: 1.1.4
+ semver: 7.7.3
- node-addon-api@5.1.0: {}
+ node-abort-controller@3.1.1: {}
node-addon-api@7.1.1: {}
+ node-addon-api@8.5.0: {}
+
node-domexception@1.0.0: {}
- node-fetch-native@1.6.4: {}
+ node-emoji@1.11.0:
+ dependencies:
+ lodash: 4.17.21
+
+ node-fetch-native@1.6.7: {}
node-fetch@2.7.0(encoding@0.1.13):
dependencies:
@@ -17452,66 +18172,51 @@ snapshots:
optionalDependencies:
encoding: 0.1.13
+ node-fetch@3.3.2:
+ dependencies:
+ data-uri-to-buffer: 4.0.1
+ fetch-blob: 3.2.0
+ formdata-polyfill: 4.0.10
+
node-forge@1.3.1: {}
- node-gyp-build@4.8.1: {}
+ node-gyp-build@4.8.4: {}
- node-gyp@10.2.0:
+ node-gyp@10.3.1:
dependencies:
env-paths: 2.2.1
- exponential-backoff: 3.1.1
+ exponential-backoff: 3.1.3
glob: 10.4.5
graceful-fs: 4.2.11
make-fetch-happen: 13.0.1
nopt: 7.2.1
proc-log: 4.2.0
- semver: 7.6.3
+ semver: 7.7.3
tar: 6.2.1
which: 4.0.0
transitivePeerDependencies:
- supports-color
- node-releases@2.0.18: {}
+ node-int64@0.4.0: {}
- nodemon@3.1.7:
- dependencies:
- chokidar: 3.6.0
- debug: 4.3.7(supports-color@5.5.0)
- ignore-by-default: 1.0.1
- minimatch: 3.1.2
- pstree.remy: 1.1.8
- semver: 7.6.3
- simple-update-notifier: 2.0.0
- supports-color: 5.5.0
- touch: 3.1.1
- undefsafe: 2.0.5
+ node-mock-http@1.0.3: {}
- nopt@5.0.0:
- dependencies:
- abbrev: 1.1.1
+ node-releases@2.0.23: {}
+
+ nodemailer@7.0.9: {}
nopt@7.2.1:
dependencies:
abbrev: 2.0.0
- normalize-package-data@2.5.0:
- dependencies:
- hosted-git-info: 2.8.9
- resolve: 1.22.8
- semver: 5.7.2
- validate-npm-package-license: 3.0.4
-
- normalize-package-data@3.0.3:
+ nopt@8.1.0:
dependencies:
- hosted-git-info: 4.1.0
- is-core-module: 2.15.1
- semver: 7.6.3
- validate-npm-package-license: 3.0.4
+ abbrev: 3.0.1
normalize-package-data@6.0.2:
dependencies:
hosted-git-info: 7.0.2
- semver: 7.6.3
+ semver: 7.7.3
validate-npm-package-license: 3.0.4
normalize-path@3.0.0: {}
@@ -17526,9 +18231,7 @@ snapshots:
npm-install-checks@6.3.0:
dependencies:
- semver: 7.6.3
-
- npm-normalize-package-bin@1.0.1: {}
+ semver: 7.7.3
npm-normalize-package-bin@3.0.1: {}
@@ -17536,7 +18239,7 @@ snapshots:
dependencies:
hosted-git-info: 7.0.2
proc-log: 4.2.0
- semver: 7.6.3
+ semver: 7.7.3
validate-npm-package-name: 5.0.1
npm-packlist@8.0.2:
@@ -17548,7 +18251,7 @@ snapshots:
npm-install-checks: 6.3.0
npm-normalize-package-bin: 3.0.1
npm-package-arg: 11.0.3
- semver: 7.6.3
+ semver: 7.7.3
npm-registry-fetch@17.1.0:
dependencies:
@@ -17576,83 +18279,78 @@ snapshots:
path-key: 4.0.0
unicorn-magic: 0.3.0
- npmlog@5.0.1:
- dependencies:
- are-we-there-yet: 2.0.0
- console-control-strings: 1.1.0
- gauge: 3.0.2
- set-blocking: 2.0.0
-
nth-check@2.1.1:
dependencies:
boolbase: 1.0.0
- nuxi@3.15.0: {}
-
- nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.9.0)(encoding@0.1.13)(eslint@9.14.0(jiti@2.4.0))(ioredis@5.4.1)(magicast@0.3.5)(meow@10.1.5)(optionator@0.9.4)(rollup@4.24.4)(sass@1.79.5)(terser@5.36.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue-tsc@2.1.6(typescript@5.6.3))(webpack-sources@3.2.3)(xml2js@0.6.2):
+ nuxt@4.1.2(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.22)(db0@0.3.4(@libsql/client@0.15.15))(encoding@0.1.13)(eslint@9.37.0(jiti@2.6.1))(ioredis@5.8.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.4)(sass@1.93.2)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1):
dependencies:
+ '@nuxt/cli': 3.29.3(magicast@0.3.5)
'@nuxt/devalue': 2.0.2
- '@nuxt/devtools': 1.6.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)
- '@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
- '@nuxt/schema': 3.13.0(rollup@4.24.4)
- '@nuxt/telemetry': 2.6.0(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
- '@nuxt/vite-builder': 3.13.0(@types/node@22.9.0)(eslint@9.14.0(jiti@2.4.0))(magicast@0.3.5)(meow@10.1.5)(optionator@0.9.4)(rollup@4.24.4)(sass@1.79.5)(terser@5.36.0)(typescript@5.6.3)(vue-tsc@2.1.6(typescript@5.6.3))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)
- '@unhead/dom': 1.11.11
- '@unhead/ssr': 1.11.11
- '@unhead/vue': 1.11.11(vue@3.5.12(typescript@5.6.3))
- '@vue/shared': 3.5.12
- acorn: 8.12.1
- c12: 1.11.2(magicast@0.3.5)
- chokidar: 3.6.0
- compatx: 0.1.8
- consola: 3.2.3
- cookie-es: 1.2.2
+ '@nuxt/devtools': 2.6.5(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))
+ '@nuxt/kit': 4.1.2(magicast@0.3.5)
+ '@nuxt/schema': 4.1.2
+ '@nuxt/telemetry': 2.6.6(magicast@0.3.5)
+ '@nuxt/vite-builder': 4.1.2(@types/node@24.7.2)(eslint@9.37.0(jiti@2.6.1))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.4)(sass@1.93.2)(terser@5.44.0)(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))(yaml@2.8.1)
+ '@unhead/vue': 2.0.19(vue@3.5.22(typescript@5.9.3))
+ '@vue/shared': 3.5.22
+ c12: 3.3.0(magicast@0.3.5)
+ chokidar: 4.0.3
+ compatx: 0.2.0
+ consola: 3.4.2
+ cookie-es: 2.0.0
defu: 6.1.4
- destr: 2.0.3
- devalue: 5.1.1
+ destr: 2.0.5
+ devalue: 5.3.2
errx: 0.1.0
- esbuild: 0.23.1
+ esbuild: 0.25.10
escape-string-regexp: 5.0.0
estree-walker: 3.0.3
- globby: 14.0.2
- h3: 1.13.0
+ exsolve: 1.0.7
+ h3: 1.15.4
hookable: 5.5.3
- ignore: 5.3.2
- jiti: 1.21.6
+ ignore: 7.0.5
+ impound: 1.0.0
+ jiti: 2.6.1
klona: 2.0.6
- knitwork: 1.1.0
- magic-string: 0.30.12
- mlly: 1.7.2
- nitropack: 2.10.3(encoding@0.1.13)(typescript@5.6.3)(webpack-sources@3.2.3)(xml2js@0.6.2)
- nuxi: 3.15.0
- nypm: 0.3.12
+ knitwork: 1.2.0
+ magic-string: 0.30.19
+ mlly: 1.8.0
+ mocked-exports: 0.1.1
+ nanotar: 0.2.0
+ nitropack: 2.12.7(@libsql/client@0.15.15)(encoding@0.1.13)
+ nypm: 0.6.2
ofetch: 1.4.1
- ohash: 1.1.4
- pathe: 1.1.2
- perfect-debounce: 1.0.0
- pkg-types: 1.2.1
+ ohash: 2.0.11
+ on-change: 5.0.1
+ oxc-minify: 0.87.0
+ oxc-parser: 0.87.0
+ oxc-transform: 0.87.0
+ oxc-walker: 0.5.2(oxc-parser@0.87.0)
+ pathe: 2.0.3
+ perfect-debounce: 2.0.0
+ pkg-types: 2.3.0
radix3: 1.1.2
scule: 1.3.0
- semver: 7.6.3
- std-env: 3.7.0
- strip-literal: 2.1.0
- ufo: 1.5.4
- ultrahtml: 1.5.3
+ semver: 7.7.3
+ std-env: 3.9.0
+ tinyglobby: 0.2.15
+ ufo: 1.6.1
+ ultrahtml: 1.6.0
uncrypto: 0.1.3
- unctx: 2.3.1(webpack-sources@3.2.3)
- unenv: 1.10.0
- unimport: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3)
- unplugin: 1.15.0(webpack-sources@3.2.3)
- unplugin-vue-router: 0.10.8(rollup@4.24.4)(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)
- unstorage: 1.13.1(ioredis@5.4.1)
- untyped: 1.5.1
- vue: 3.5.12(typescript@5.6.3)
- vue-bundle-renderer: 2.1.1
+ unctx: 2.4.1
+ unimport: 5.4.1
+ unplugin: 2.3.10
+ unplugin-vue-router: 0.15.0(@vue/compiler-sfc@3.5.22)(typescript@5.9.3)(vue-router@4.5.1(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))
+ unstorage: 1.17.1(db0@0.3.4(@libsql/client@0.15.15))(ioredis@5.8.1)
+ untyped: 2.0.0
+ vue: 3.5.22(typescript@5.9.3)
+ vue-bundle-renderer: 2.2.0
vue-devtools-stub: 0.1.0
- vue-router: 4.4.5(vue@3.5.12(typescript@5.6.3))
+ vue-router: 4.5.1(vue@3.5.22(typescript@5.9.3))
optionalDependencies:
- '@parcel/watcher': 2.4.1
- '@types/node': 22.9.0
+ '@parcel/watcher': 2.5.1
+ '@types/node': 24.7.2
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -17662,14 +18360,21 @@ snapshots:
- '@azure/storage-blob'
- '@biomejs/biome'
- '@capacitor/preferences'
+ - '@deno/kv'
- '@electric-sql/pglite'
- '@libsql/client'
- '@netlify/blobs'
- '@planetscale/database'
- '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
- '@vercel/kv'
+ - '@vue/compiler-sfc'
+ - aws4fetch
+ - bare-abort-controller
- better-sqlite3
- bufferutil
+ - db0
- drizzle-orm
- encoding
- eslint
@@ -17681,85 +18386,49 @@ snapshots:
- meow
- mysql2
- optionator
+ - react-native-b4a
+ - rolldown
- rollup
- sass
- sass-embedded
+ - sqlite3
- stylelint
- stylus
- sugarss
- supports-color
- terser
+ - tsx
- typescript
+ - uploadthing
- utf-8-validate
- vite
- vls
- vti
- vue-tsc
- - webpack-sources
- xml2js
+ - yaml
- nwsapi@2.2.12: {}
-
- nypm@0.3.11:
- dependencies:
- citty: 0.1.6
- consola: 3.2.3
- execa: 8.0.1
- pathe: 1.1.2
- pkg-types: 1.2.0
- ufo: 1.5.4
-
- nypm@0.3.12:
+ nypm@0.6.2:
dependencies:
citty: 0.1.6
- consola: 3.2.3
- execa: 8.0.1
- pathe: 1.1.2
- pkg-types: 1.2.1
- ufo: 1.5.4
+ consola: 3.4.2
+ pathe: 2.0.3
+ pkg-types: 2.3.0
+ tinyexec: 1.0.1
object-assign@4.1.1: {}
- object-hash@2.2.0: {}
-
- object-inspect@1.13.2: {}
-
- object-keys@1.1.1: {}
-
- object.assign@4.1.5:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- has-symbols: 1.0.3
- object-keys: 1.1.1
-
- object.getownpropertydescriptors@2.1.8:
- dependencies:
- array.prototype.reduce: 1.0.7
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
- gopd: 1.0.1
- safe-array-concat: 1.1.2
-
- ofetch@1.3.4:
- dependencies:
- destr: 2.0.3
- node-fetch-native: 1.6.4
- ufo: 1.5.4
+ object-inspect@1.13.4: {}
ofetch@1.4.1:
dependencies:
- destr: 2.0.3
- node-fetch-native: 1.6.4
- ufo: 1.5.4
+ destr: 2.0.5
+ node-fetch-native: 1.6.7
+ ufo: 1.6.1
- ohash@1.1.3: {}
+ ohash@2.0.11: {}
- ohash@1.1.4: {}
-
- oidc-token-hash@5.0.3: {}
+ on-change@5.0.1: {}
on-exit-leak-free@2.1.2: {}
@@ -17767,8 +18436,6 @@ snapshots:
dependencies:
ee-first: 1.1.1
- on-headers@1.0.2: {}
-
once@1.4.0:
dependencies:
wrappy: 1.0.2
@@ -17785,16 +18452,18 @@ snapshots:
dependencies:
mimic-function: 5.0.1
- oniguruma-to-js@0.4.3:
+ oniguruma-to-es@3.1.1:
dependencies:
- regex: 4.3.3
+ emoji-regex-xs: 1.0.0
+ regex: 6.0.1
+ regex-recursion: 6.0.2
- open@10.1.0:
+ open@10.2.0:
dependencies:
default-browser: 5.2.1
define-lazy-prop: 3.0.0
is-inside-container: 1.0.0
- is-wsl: 3.1.0
+ wsl-utils: 0.1.0
open@8.4.2:
dependencies:
@@ -17802,37 +18471,6 @@ snapshots:
is-docker: 2.2.1
is-wsl: 2.2.0
- openai@4.71.1(encoding@0.1.13):
- dependencies:
- '@types/node': 18.19.45
- '@types/node-fetch': 2.6.11
- abort-controller: 3.0.0
- agentkeepalive: 4.5.0
- form-data-encoder: 1.7.2
- formdata-node: 4.4.1
- node-fetch: 2.7.0(encoding@0.1.13)
- transitivePeerDependencies:
- - encoding
-
- openapi-typescript@7.4.2(encoding@0.1.13)(typescript@5.6.3):
- dependencies:
- '@redocly/openapi-core': 1.25.11(encoding@0.1.13)(supports-color@9.4.0)
- ansi-colors: 4.1.3
- change-case: 5.4.4
- parse-json: 8.1.0
- supports-color: 9.4.0
- typescript: 5.6.3
- yargs-parser: 21.1.1
- transitivePeerDependencies:
- - encoding
-
- openid-client@5.7.0:
- dependencies:
- jose: 4.15.9
- lru-cache: 6.0.0
- object-hash: 2.2.0
- oidc-token-hash: 5.0.3
-
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -17854,21 +18492,80 @@ snapshots:
strip-ansi: 6.0.1
wcwidth: 1.0.1
- ora@8.1.1:
+ ora@9.0.0:
dependencies:
- chalk: 5.3.0
+ chalk: 5.6.2
cli-cursor: 5.0.0
- cli-spinners: 2.9.2
+ cli-spinners: 3.3.0
is-interactive: 2.0.0
- is-unicode-supported: 2.0.0
- log-symbols: 6.0.0
+ is-unicode-supported: 2.1.0
+ log-symbols: 7.0.1
stdin-discarder: 0.2.2
- string-width: 7.2.0
- strip-ansi: 7.1.0
+ string-width: 8.1.0
+ strip-ansi: 7.1.2
orderedmap@2.1.1: {}
- os-tmpdir@1.0.2: {}
+ oxc-minify@0.87.0:
+ optionalDependencies:
+ '@oxc-minify/binding-android-arm64': 0.87.0
+ '@oxc-minify/binding-darwin-arm64': 0.87.0
+ '@oxc-minify/binding-darwin-x64': 0.87.0
+ '@oxc-minify/binding-freebsd-x64': 0.87.0
+ '@oxc-minify/binding-linux-arm-gnueabihf': 0.87.0
+ '@oxc-minify/binding-linux-arm-musleabihf': 0.87.0
+ '@oxc-minify/binding-linux-arm64-gnu': 0.87.0
+ '@oxc-minify/binding-linux-arm64-musl': 0.87.0
+ '@oxc-minify/binding-linux-riscv64-gnu': 0.87.0
+ '@oxc-minify/binding-linux-s390x-gnu': 0.87.0
+ '@oxc-minify/binding-linux-x64-gnu': 0.87.0
+ '@oxc-minify/binding-linux-x64-musl': 0.87.0
+ '@oxc-minify/binding-wasm32-wasi': 0.87.0
+ '@oxc-minify/binding-win32-arm64-msvc': 0.87.0
+ '@oxc-minify/binding-win32-x64-msvc': 0.87.0
+
+ oxc-parser@0.87.0:
+ dependencies:
+ '@oxc-project/types': 0.87.0
+ optionalDependencies:
+ '@oxc-parser/binding-android-arm64': 0.87.0
+ '@oxc-parser/binding-darwin-arm64': 0.87.0
+ '@oxc-parser/binding-darwin-x64': 0.87.0
+ '@oxc-parser/binding-freebsd-x64': 0.87.0
+ '@oxc-parser/binding-linux-arm-gnueabihf': 0.87.0
+ '@oxc-parser/binding-linux-arm-musleabihf': 0.87.0
+ '@oxc-parser/binding-linux-arm64-gnu': 0.87.0
+ '@oxc-parser/binding-linux-arm64-musl': 0.87.0
+ '@oxc-parser/binding-linux-riscv64-gnu': 0.87.0
+ '@oxc-parser/binding-linux-s390x-gnu': 0.87.0
+ '@oxc-parser/binding-linux-x64-gnu': 0.87.0
+ '@oxc-parser/binding-linux-x64-musl': 0.87.0
+ '@oxc-parser/binding-wasm32-wasi': 0.87.0
+ '@oxc-parser/binding-win32-arm64-msvc': 0.87.0
+ '@oxc-parser/binding-win32-x64-msvc': 0.87.0
+
+ oxc-transform@0.87.0:
+ optionalDependencies:
+ '@oxc-transform/binding-android-arm64': 0.87.0
+ '@oxc-transform/binding-darwin-arm64': 0.87.0
+ '@oxc-transform/binding-darwin-x64': 0.87.0
+ '@oxc-transform/binding-freebsd-x64': 0.87.0
+ '@oxc-transform/binding-linux-arm-gnueabihf': 0.87.0
+ '@oxc-transform/binding-linux-arm-musleabihf': 0.87.0
+ '@oxc-transform/binding-linux-arm64-gnu': 0.87.0
+ '@oxc-transform/binding-linux-arm64-musl': 0.87.0
+ '@oxc-transform/binding-linux-riscv64-gnu': 0.87.0
+ '@oxc-transform/binding-linux-s390x-gnu': 0.87.0
+ '@oxc-transform/binding-linux-x64-gnu': 0.87.0
+ '@oxc-transform/binding-linux-x64-musl': 0.87.0
+ '@oxc-transform/binding-wasm32-wasi': 0.87.0
+ '@oxc-transform/binding-win32-arm64-msvc': 0.87.0
+ '@oxc-transform/binding-win32-x64-msvc': 0.87.0
+
+ oxc-walker@0.5.2(oxc-parser@0.87.0):
+ dependencies:
+ magic-regexp: 0.10.0
+ oxc-parser: 0.87.0
p-cancelable@2.1.1: {}
@@ -17882,7 +18579,7 @@ snapshots:
p-limit@4.0.0:
dependencies:
- yocto-queue: 1.1.1
+ yocto-queue: 1.2.1
p-locate@4.1.0:
dependencies:
@@ -17900,25 +18597,43 @@ snapshots:
dependencies:
aggregate-error: 3.1.0
- p-map@5.5.0:
+ p-min-delay@4.2.0:
+ dependencies:
+ yoctodelay: 2.0.0
+
+ p-try@2.2.0: {}
+
+ pac-proxy-agent@7.2.0:
dependencies:
- aggregate-error: 4.0.1
+ '@tootallnate/quickjs-emscripten': 0.23.0
+ agent-base: 7.1.4
+ debug: 4.4.3
+ get-uri: 6.0.5
+ http-proxy-agent: 7.0.2
+ https-proxy-agent: 7.0.6
+ pac-resolver: 7.0.1
+ socks-proxy-agent: 8.0.5
+ transitivePeerDependencies:
+ - supports-color
- p-min-delay@4.0.2:
+ pac-resolver@7.0.1:
dependencies:
- yoctodelay: 1.2.0
+ degenerator: 5.0.1
+ netmask: 2.0.2
- p-try@2.2.0: {}
+ package-json-from-dist@1.0.1: {}
- package-json-from-dist@1.0.0: {}
+ package-manager-detector@1.4.0: {}
- package-manager-detector@0.2.2: {}
+ package-up@5.0.0:
+ dependencies:
+ find-up-simple: 1.0.1
pacote@18.0.6:
dependencies:
'@npmcli/git': 5.0.8
'@npmcli/installed-package-contents': 2.1.0
- '@npmcli/package-json': 5.2.0
+ '@npmcli/package-json': 5.2.1
'@npmcli/promise-spawn': 7.0.2
'@npmcli/run-script': 8.1.0
cacache: 18.0.4
@@ -17937,78 +18652,47 @@ snapshots:
- bluebird
- supports-color
- pako@1.0.11: {}
-
pako@2.1.0: {}
- param-case@2.1.1:
- dependencies:
- no-case: 2.3.2
-
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
+ parent-require@1.0.0: {}
+
parse-conflict-json@3.0.1:
dependencies:
json-parse-even-better-errors: 3.0.2
just-diff: 6.0.2
just-diff-apply: 5.5.0
- parse-git-config@3.0.0:
- dependencies:
- git-config-path: 2.0.0
- ini: 1.3.8
-
- parse-imports@2.1.1:
+ parse-imports-exports@0.2.4:
dependencies:
- es-module-lexer: 1.5.4
- slashes: 3.0.12
+ parse-statements: 1.0.11
parse-json@5.2.0:
dependencies:
- '@babel/code-frame': 7.24.7
- error-ex: 1.3.2
+ '@babel/code-frame': 7.27.1
+ error-ex: 1.3.4
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
- parse-json@7.1.1:
- dependencies:
- '@babel/code-frame': 7.24.7
- error-ex: 1.3.2
- json-parse-even-better-errors: 3.0.2
- lines-and-columns: 2.0.4
- type-fest: 3.13.1
-
- parse-json@8.1.0:
- dependencies:
- '@babel/code-frame': 7.26.2
- index-to-position: 0.1.2
- type-fest: 4.25.0
-
parse-ms@4.0.0: {}
- parse-path@7.0.0:
- dependencies:
- protocols: 2.0.1
-
- parse-url@8.1.0:
+ parse-path@7.1.0:
dependencies:
- parse-path: 7.0.0
+ protocols: 2.0.2
- parse5-htmlparser2-tree-adapter@7.0.0:
- dependencies:
- domhandler: 5.0.3
- parse5: 7.1.2
+ parse-statements@1.0.11: {}
- parse5@7.1.2:
+ parse-url@9.2.0:
dependencies:
- entities: 4.5.0
+ '@types/parse-path': 7.1.0
+ parse-path: 7.1.0
- parseley@0.12.1:
+ parse5@7.3.0:
dependencies:
- leac: 0.6.0
- peberminta: 0.9.0
+ entities: 6.0.1
parseurl@1.3.3: {}
@@ -18023,14 +18707,13 @@ snapshots:
passport-strategy@1.0.0: {}
- passport@0.6.0:
+ passport@0.7.0:
dependencies:
passport-strategy: 1.0.0
pause: 0.0.1
utils-merge: 1.0.1
- path-browserify@1.0.1:
- optional: true
+ path-browserify@1.0.1: {}
path-exists@4.0.0: {}
@@ -18049,45 +18732,47 @@ snapshots:
lru-cache: 10.4.3
minipass: 7.1.2
+ path-scurry@2.0.0:
+ dependencies:
+ lru-cache: 11.2.2
+ minipass: 7.1.2
+
path-to-regexp@6.3.0: {}
- path-to-regexp@8.1.0: {}
+ path-to-regexp@8.2.0: {}
+
+ path-to-regexp@8.3.0: {}
path-type@4.0.0: {}
- path-type@5.0.0: {}
+ path-type@6.0.0: {}
pathe@1.1.2: {}
- pause@0.0.1: {}
+ pathe@2.0.3: {}
- peberminta@0.9.0: {}
+ pause@0.0.1: {}
pend@1.2.0: {}
perfect-debounce@1.0.0: {}
- pg-cloudflare@1.1.1:
+ perfect-debounce@2.0.0: {}
+
+ pg-cloudflare@1.2.7:
optional: true
- pg-connection-string@2.7.0: {}
+ pg-connection-string@2.6.2: {}
- pg-cursor@2.12.1(pg@8.13.1):
- dependencies:
- pg: 8.13.1
+ pg-connection-string@2.9.1: {}
pg-int8@1.0.1: {}
- pg-pool@3.7.0(pg@8.13.1):
+ pg-pool@3.10.1(pg@8.16.3):
dependencies:
- pg: 8.13.1
-
- pg-protocol@1.7.0: {}
+ pg: 8.16.3
- pg-query-stream@4.7.1(pg@8.13.1):
- dependencies:
- pg: 8.13.1
- pg-cursor: 2.12.1(pg@8.13.1)
+ pg-protocol@1.10.3: {}
pg-types@2.2.0:
dependencies:
@@ -18097,23 +18782,21 @@ snapshots:
postgres-date: 1.0.7
postgres-interval: 1.2.0
- pg@8.13.1:
+ pg@8.16.3:
dependencies:
- pg-connection-string: 2.7.0
- pg-pool: 3.7.0(pg@8.13.1)
- pg-protocol: 1.7.0
+ pg-connection-string: 2.9.1
+ pg-pool: 3.10.1(pg@8.16.3)
+ pg-protocol: 1.10.3
pg-types: 2.2.0
pgpass: 1.0.5
optionalDependencies:
- pg-cloudflare: 1.1.1
+ pg-cloudflare: 1.2.7
pgpass@1.0.5:
dependencies:
split2: 4.2.0
- picocolors@1.0.1: {}
-
- picocolors@1.1.0: {}
+ picocolors@1.1.1: {}
picomatch@2.3.1: {}
@@ -18121,30 +18804,35 @@ snapshots:
picomatch@4.0.2: {}
- pid-port@1.0.0:
+ picomatch@4.0.3: {}
+
+ pid-port@1.0.2:
dependencies:
execa: 8.0.1
- pinia@2.2.6(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)):
+ pid-port@2.0.0:
dependencies:
- '@vue/devtools-api': 6.6.4
- vue: 3.5.12(typescript@5.6.3)
- vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
+ execa: 9.6.0
+
+ pinia@3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)):
+ dependencies:
+ '@vue/devtools-api': 7.7.7
+ vue: 3.5.22(typescript@5.9.3)
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.9.3
pino-abstract-transport@2.0.0:
dependencies:
split2: 4.2.0
- pino-http@10.3.0:
+ pino-http@10.5.0:
dependencies:
get-caller-file: 2.0.5
- pino: 9.5.0
+ pino: 9.13.1
pino-std-serializers: 7.0.0
- process-warning: 4.0.0
+ process-warning: 5.0.0
- pino-pretty@12.0.0:
+ pino-pretty@13.1.2:
dependencies:
colorette: 2.0.20
dateformat: 4.6.3
@@ -18155,53 +18843,58 @@ snapshots:
minimist: 1.2.8
on-exit-leak-free: 2.1.2
pino-abstract-transport: 2.0.0
- pump: 3.0.0
- readable-stream: 4.5.2
- secure-json-parse: 2.7.0
+ pump: 3.0.3
+ secure-json-parse: 4.1.0
sonic-boom: 4.2.0
- strip-json-comments: 3.1.1
+ strip-json-comments: 5.0.3
pino-std-serializers@7.0.0: {}
- pino@9.5.0:
+ pino@9.13.1:
dependencies:
atomic-sleep: 1.0.0
- fast-redact: 3.5.0
on-exit-leak-free: 2.1.2
pino-abstract-transport: 2.0.0
pino-std-serializers: 7.0.0
- process-warning: 4.0.0
+ process-warning: 5.0.0
quick-format-unescaped: 4.0.4
real-require: 0.2.0
safe-stable-stringify: 2.5.0
+ slow-redact: 0.3.2
sonic-boom: 4.2.0
thread-stream: 3.1.0
+ pirates@4.0.7: {}
+
+ pkg-dir@4.2.0:
+ dependencies:
+ find-up: 4.1.0
+
pkg-dir@7.0.0:
dependencies:
find-up: 6.3.0
- pkg-dir@8.0.0:
+ pkg-dir@9.0.0:
dependencies:
- find-up-simple: 1.0.0
+ find-up-simple: 1.0.1
- pkg-types@1.2.0:
+ pkg-types@1.3.1:
dependencies:
- confbox: 0.1.7
- mlly: 1.7.1
- pathe: 1.1.2
+ confbox: 0.1.8
+ mlly: 1.8.0
+ pathe: 2.0.3
- pkg-types@1.2.1:
+ pkg-types@2.3.0:
dependencies:
- confbox: 0.1.8
- mlly: 1.7.2
- pathe: 1.1.2
+ confbox: 0.2.2
+ exsolve: 1.0.7
+ pathe: 2.0.3
- playwright-core@1.46.1: {}
+ playwright-core@1.56.0: {}
- playwright@1.46.1:
+ playwright@1.56.0:
dependencies:
- playwright-core: 1.46.1
+ playwright-core: 1.56.0
optionalDependencies:
fsevents: 2.3.2
@@ -18209,144 +18902,142 @@ snapshots:
pony-cause@2.1.11: {}
- possible-typed-array-names@1.0.0: {}
-
- postcss-calc@10.0.2(postcss@8.4.47):
+ postcss-calc@10.1.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
- postcss-selector-parser: 6.1.2
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
postcss-value-parser: 4.2.0
- postcss-colormin@7.0.2(postcss@8.4.47):
+ postcss-colormin@7.0.4(postcss@8.5.6):
dependencies:
- browserslist: 4.24.2
+ browserslist: 4.26.3
caniuse-api: 3.0.0
colord: 2.9.3
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-convert-values@7.0.4(postcss@8.4.47):
+ postcss-convert-values@7.0.7(postcss@8.5.6):
dependencies:
- browserslist: 4.24.2
- postcss: 8.4.47
+ browserslist: 4.26.3
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-discard-comments@7.0.3(postcss@8.4.47):
+ postcss-discard-comments@7.0.4(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
- postcss-selector-parser: 6.1.2
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
- postcss-discard-duplicates@7.0.1(postcss@8.4.47):
+ postcss-discard-duplicates@7.0.2(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
- postcss-discard-empty@7.0.0(postcss@8.4.47):
+ postcss-discard-empty@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
- postcss-discard-overridden@7.0.0(postcss@8.4.47):
+ postcss-discard-overridden@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
- postcss-merge-longhand@7.0.4(postcss@8.4.47):
+ postcss-merge-longhand@7.0.5(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- stylehacks: 7.0.4(postcss@8.4.47)
+ stylehacks: 7.0.6(postcss@8.5.6)
- postcss-merge-rules@7.0.4(postcss@8.4.47):
+ postcss-merge-rules@7.0.6(postcss@8.5.6):
dependencies:
- browserslist: 4.24.2
+ browserslist: 4.26.3
caniuse-api: 3.0.0
- cssnano-utils: 5.0.0(postcss@8.4.47)
- postcss: 8.4.47
- postcss-selector-parser: 6.1.2
+ cssnano-utils: 5.0.1(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
- postcss-minify-font-values@7.0.0(postcss@8.4.47):
+ postcss-minify-font-values@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-minify-gradients@7.0.0(postcss@8.4.47):
+ postcss-minify-gradients@7.0.1(postcss@8.5.6):
dependencies:
colord: 2.9.3
- cssnano-utils: 5.0.0(postcss@8.4.47)
- postcss: 8.4.47
+ cssnano-utils: 5.0.1(postcss@8.5.6)
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-minify-params@7.0.2(postcss@8.4.47):
+ postcss-minify-params@7.0.4(postcss@8.5.6):
dependencies:
- browserslist: 4.24.2
- cssnano-utils: 5.0.0(postcss@8.4.47)
- postcss: 8.4.47
+ browserslist: 4.26.3
+ cssnano-utils: 5.0.1(postcss@8.5.6)
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-minify-selectors@7.0.4(postcss@8.4.47):
+ postcss-minify-selectors@7.0.5(postcss@8.5.6):
dependencies:
cssesc: 3.0.0
- postcss: 8.4.47
- postcss-selector-parser: 6.1.2
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
- postcss-normalize-charset@7.0.0(postcss@8.4.47):
+ postcss-normalize-charset@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
- postcss-normalize-display-values@7.0.0(postcss@8.4.47):
+ postcss-normalize-display-values@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-positions@7.0.0(postcss@8.4.47):
+ postcss-normalize-positions@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-repeat-style@7.0.0(postcss@8.4.47):
+ postcss-normalize-repeat-style@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-string@7.0.0(postcss@8.4.47):
+ postcss-normalize-string@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-timing-functions@7.0.0(postcss@8.4.47):
+ postcss-normalize-timing-functions@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-unicode@7.0.2(postcss@8.4.47):
+ postcss-normalize-unicode@7.0.4(postcss@8.5.6):
dependencies:
- browserslist: 4.24.2
- postcss: 8.4.47
+ browserslist: 4.26.3
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-url@7.0.0(postcss@8.4.47):
+ postcss-normalize-url@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-whitespace@7.0.0(postcss@8.4.47):
+ postcss-normalize-whitespace@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-ordered-values@7.0.1(postcss@8.4.47):
+ postcss-ordered-values@7.0.2(postcss@8.5.6):
dependencies:
- cssnano-utils: 5.0.0(postcss@8.4.47)
- postcss: 8.4.47
+ cssnano-utils: 5.0.1(postcss@8.5.6)
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-reduce-initial@7.0.2(postcss@8.4.47):
+ postcss-reduce-initial@7.0.4(postcss@8.5.6):
dependencies:
- browserslist: 4.24.2
+ browserslist: 4.26.3
caniuse-api: 3.0.0
- postcss: 8.4.47
+ postcss: 8.5.6
- postcss-reduce-transforms@7.0.0(postcss@8.4.47):
+ postcss-reduce-transforms@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
postcss-selector-parser@6.1.2:
@@ -18354,42 +19045,61 @@ snapshots:
cssesc: 3.0.0
util-deprecate: 1.0.2
- postcss-svgo@7.0.1(postcss@8.4.47):
+ postcss-selector-parser@7.1.0:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-svgo@7.1.0(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- svgo: 3.3.2
+ svgo: 4.0.0
- postcss-unique-selectors@7.0.3(postcss@8.4.47):
+ postcss-unique-selectors@7.0.4(postcss@8.5.6):
dependencies:
- postcss: 8.4.47
- postcss-selector-parser: 6.1.2
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
postcss-value-parser@4.2.0: {}
- postcss@8.4.47:
+ postcss@8.5.6:
dependencies:
- nanoid: 3.3.7
- picocolors: 1.1.0
+ nanoid: 3.3.11
+ picocolors: 1.1.1
source-map-js: 1.2.1
postgres-array@2.0.0: {}
+ postgres-array@3.0.4: {}
+
postgres-bytea@1.0.0: {}
postgres-date@1.0.7: {}
+ postgres-date@2.1.0: {}
+
postgres-interval@1.2.0:
dependencies:
xtend: 4.0.2
- preact@10.23.2: {}
+ postgres-interval@4.0.2: {}
+
+ preact@10.27.2: {}
prelude-ls@1.2.1: {}
- pretty-bytes@6.1.1: {}
+ prettier@3.6.2: {}
+
+ pretty-bytes@7.1.0: {}
+
+ pretty-format@30.2.0:
+ dependencies:
+ '@jest/schemas': 30.0.5
+ ansi-styles: 5.2.0
+ react-is: 18.3.1
- pretty-ms@9.1.0:
+ pretty-ms@9.3.0:
dependencies:
parse-ms: 4.0.0
@@ -18401,7 +19111,7 @@ snapshots:
process-nextick-args@2.0.1: {}
- process-warning@4.0.0: {}
+ process-warning@5.0.0: {}
process@0.11.10: {}
@@ -18409,10 +19119,12 @@ snapshots:
promise-all-reject-late@1.0.1: {}
- promise-call-limit@3.0.1: {}
+ promise-call-limit@3.0.2: {}
promise-inflight@1.0.1: {}
+ promise-limit@2.7.0: {}
+
promise-queue@2.2.5: {}
promise-retry@2.0.1:
@@ -18427,114 +19139,112 @@ snapshots:
property-expr@2.0.6: {}
- property-information@6.5.0: {}
+ property-information@7.1.0: {}
- prosemirror-changeset@2.2.1:
+ prosemirror-changeset@2.3.1:
dependencies:
- prosemirror-transform: 1.10.2
+ prosemirror-transform: 1.10.4
prosemirror-collab@1.3.1:
dependencies:
prosemirror-state: 1.4.3
- prosemirror-commands@1.6.2:
+ prosemirror-commands@1.7.1:
dependencies:
- prosemirror-model: 1.23.0
+ prosemirror-model: 1.25.3
prosemirror-state: 1.4.3
- prosemirror-transform: 1.10.2
+ prosemirror-transform: 1.10.4
- prosemirror-dropcursor@1.8.1:
+ prosemirror-dropcursor@1.8.2:
dependencies:
prosemirror-state: 1.4.3
- prosemirror-transform: 1.10.2
- prosemirror-view: 1.36.0
+ prosemirror-transform: 1.10.4
+ prosemirror-view: 1.41.3
prosemirror-gapcursor@1.3.2:
dependencies:
- prosemirror-keymap: 1.2.2
- prosemirror-model: 1.23.0
+ prosemirror-keymap: 1.2.3
+ prosemirror-model: 1.25.3
prosemirror-state: 1.4.3
- prosemirror-view: 1.36.0
+ prosemirror-view: 1.41.3
prosemirror-history@1.4.1:
dependencies:
prosemirror-state: 1.4.3
- prosemirror-transform: 1.10.2
- prosemirror-view: 1.36.0
+ prosemirror-transform: 1.10.4
+ prosemirror-view: 1.41.3
rope-sequence: 1.3.4
- prosemirror-inputrules@1.4.0:
+ prosemirror-inputrules@1.5.0:
dependencies:
prosemirror-state: 1.4.3
- prosemirror-transform: 1.10.2
+ prosemirror-transform: 1.10.4
- prosemirror-keymap@1.2.2:
+ prosemirror-keymap@1.2.3:
dependencies:
prosemirror-state: 1.4.3
w3c-keyname: 2.2.8
- prosemirror-markdown@1.13.1:
+ prosemirror-markdown@1.13.2:
dependencies:
'@types/markdown-it': 14.1.2
markdown-it: 14.1.0
- prosemirror-model: 1.23.0
+ prosemirror-model: 1.25.3
- prosemirror-menu@1.2.4:
+ prosemirror-menu@1.2.5:
dependencies:
crelt: 1.0.6
- prosemirror-commands: 1.6.2
+ prosemirror-commands: 1.7.1
prosemirror-history: 1.4.1
prosemirror-state: 1.4.3
- prosemirror-model@1.23.0:
+ prosemirror-model@1.25.3:
dependencies:
orderedmap: 2.1.1
- prosemirror-schema-basic@1.2.3:
+ prosemirror-schema-basic@1.2.4:
dependencies:
- prosemirror-model: 1.23.0
+ prosemirror-model: 1.25.3
- prosemirror-schema-list@1.4.1:
+ prosemirror-schema-list@1.5.1:
dependencies:
- prosemirror-model: 1.23.0
+ prosemirror-model: 1.25.3
prosemirror-state: 1.4.3
- prosemirror-transform: 1.10.2
+ prosemirror-transform: 1.10.4
prosemirror-state@1.4.3:
dependencies:
- prosemirror-model: 1.23.0
- prosemirror-transform: 1.10.2
- prosemirror-view: 1.36.0
+ prosemirror-model: 1.25.3
+ prosemirror-transform: 1.10.4
+ prosemirror-view: 1.41.3
- prosemirror-tables@1.6.1:
+ prosemirror-tables@1.8.1:
dependencies:
- prosemirror-keymap: 1.2.2
- prosemirror-model: 1.23.0
+ prosemirror-keymap: 1.2.3
+ prosemirror-model: 1.25.3
prosemirror-state: 1.4.3
- prosemirror-transform: 1.10.2
- prosemirror-view: 1.36.0
+ prosemirror-transform: 1.10.4
+ prosemirror-view: 1.41.3
- prosemirror-trailing-node@3.0.0(prosemirror-model@1.23.0)(prosemirror-state@1.4.3)(prosemirror-view@1.36.0):
+ prosemirror-trailing-node@3.0.0(prosemirror-model@1.25.3)(prosemirror-state@1.4.3)(prosemirror-view@1.41.3):
dependencies:
'@remirror/core-constants': 3.0.0
escape-string-regexp: 4.0.0
- prosemirror-model: 1.23.0
+ prosemirror-model: 1.25.3
prosemirror-state: 1.4.3
- prosemirror-view: 1.36.0
+ prosemirror-view: 1.41.3
- prosemirror-transform@1.10.2:
+ prosemirror-transform@1.10.4:
dependencies:
- prosemirror-model: 1.23.0
+ prosemirror-model: 1.25.3
- prosemirror-view@1.36.0:
+ prosemirror-view@1.41.3:
dependencies:
- prosemirror-model: 1.23.0
+ prosemirror-model: 1.25.3
prosemirror-state: 1.4.3
- prosemirror-transform: 1.10.2
+ prosemirror-transform: 1.10.4
- proto-list@1.2.4: {}
-
- protobufjs@7.4.0:
+ protobufjs@7.5.4:
dependencies:
'@protobufjs/aspromise': 1.1.2
'@protobufjs/base64': 1.1.2
@@ -18546,10 +19256,10 @@ snapshots:
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
- '@types/node': 22.9.0
- long: 5.2.3
+ '@types/node': 24.7.2
+ long: 5.3.2
- protocols@2.0.1: {}
+ protocols@2.0.2: {}
proxy-addr@2.0.7:
dependencies:
@@ -18560,33 +19270,27 @@ snapshots:
ps-list@8.1.1: {}
- psl@1.9.0: {}
-
- pstree.remy@1.1.8: {}
-
- pump@3.0.0:
+ pump@3.0.3:
dependencies:
- end-of-stream: 1.4.4
+ end-of-stream: 1.4.5
once: 1.4.0
punycode.js@2.3.1: {}
- punycode@1.3.2: {}
-
punycode@2.3.1: {}
- qs@6.13.0:
+ pure-rand@7.0.1: {}
+
+ qs@6.14.0:
dependencies:
- side-channel: 1.0.6
+ side-channel: 1.1.0
- querystring@0.2.0: {}
+ quansync@0.2.11: {}
querystringify@2.2.0: {}
queue-microtask@1.2.3: {}
- queue-tick@1.0.1: {}
-
queue@6.0.2:
dependencies:
inherits: 2.0.4
@@ -18597,38 +19301,25 @@ snapshots:
radix3@1.1.2: {}
- random-bytes@1.0.0: {}
-
- randombytes@2.0.3: {}
-
randombytes@2.1.0:
dependencies:
safe-buffer: 5.2.1
- randomstring@1.3.0:
- dependencies:
- randombytes: 2.0.3
-
range-parser@1.2.1: {}
- raw-body@2.5.2:
+ raw-body@3.0.1:
dependencies:
bytes: 3.1.2
http-errors: 2.0.0
- iconv-lite: 0.4.24
- unpipe: 1.0.0
-
- raw-body@3.0.0:
- dependencies:
- bytes: 3.1.2
- http-errors: 2.0.0
- iconv-lite: 0.6.3
+ iconv-lite: 0.7.0
unpipe: 1.0.0
rc9@2.1.2:
dependencies:
defu: 6.1.4
- destr: 2.0.3
+ destr: 2.0.5
+
+ react-is@18.3.1: {}
read-cmd-shim@4.0.0: {}
@@ -18637,58 +19328,6 @@ snapshots:
json-parse-even-better-errors: 3.0.2
npm-normalize-package-bin: 3.0.1
- read-package-json@2.1.2:
- dependencies:
- glob: 7.2.3
- json-parse-even-better-errors: 2.3.1
- normalize-package-data: 2.5.0
- npm-normalize-package-bin: 1.0.1
-
- read-package-tree@5.3.1:
- dependencies:
- read-package-json: 2.1.2
- readdir-scoped-modules: 1.1.0
- util-promisify: 2.1.0
-
- read-pkg-up@10.1.0:
- dependencies:
- find-up: 6.3.0
- read-pkg: 8.1.0
- type-fest: 4.25.0
-
- read-pkg-up@7.0.1:
- dependencies:
- find-up: 4.1.0
- read-pkg: 5.2.0
- type-fest: 0.8.1
-
- read-pkg-up@8.0.0:
- dependencies:
- find-up: 5.0.0
- read-pkg: 6.0.0
- type-fest: 1.4.0
-
- read-pkg@5.2.0:
- dependencies:
- '@types/normalize-package-data': 2.4.4
- normalize-package-data: 2.5.0
- parse-json: 5.2.0
- type-fest: 0.6.0
-
- read-pkg@6.0.0:
- dependencies:
- '@types/normalize-package-data': 2.4.4
- normalize-package-data: 3.0.3
- parse-json: 5.2.0
- type-fest: 1.4.0
-
- read-pkg@8.1.0:
- dependencies:
- '@types/normalize-package-data': 2.4.4
- normalize-package-data: 6.0.2
- parse-json: 7.1.1
- type-fest: 4.25.0
-
readable-stream@2.3.8:
dependencies:
core-util-is: 1.0.3
@@ -18705,7 +19344,7 @@ snapshots:
string_decoder: 1.3.0
util-deprecate: 1.0.2
- readable-stream@4.5.2:
+ readable-stream@4.7.0:
dependencies:
abort-controller: 3.0.0
buffer: 6.0.3
@@ -18717,29 +19356,13 @@ snapshots:
dependencies:
minimatch: 5.1.6
- readdir-scoped-modules@1.1.0:
- dependencies:
- debuglog: 1.0.1
- dezalgo: 1.0.4
- graceful-fs: 4.2.11
- once: 1.4.0
-
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
-
- readdirp@4.0.2: {}
+ readdirp@4.1.2: {}
real-require@0.2.0: {}
- rechoir@0.6.2:
- dependencies:
- resolve: 1.22.8
-
- redent@4.0.0:
+ rechoir@0.8.0:
dependencies:
- indent-string: 5.0.0
- strip-indent: 4.0.0
+ resolve: 1.22.10
redis-errors@1.2.0: {}
@@ -18751,9 +19374,17 @@ snapshots:
dependencies:
'@eslint-community/regexpp': 4.12.1
- regenerator-runtime@0.14.1: {}
+ reflect-metadata@0.2.2: {}
+
+ regex-recursion@6.0.2:
+ dependencies:
+ regex-utilities: 2.3.0
+
+ regex-utilities@2.3.0: {}
- regex@4.3.3: {}
+ regex@6.0.1:
+ dependencies:
+ regex-utilities: 2.3.0
regexp-ast-analysis@0.7.1:
dependencies:
@@ -18762,46 +19393,39 @@ snapshots:
regexp-tree@0.1.27: {}
- regexp.prototype.flags@1.5.2:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-errors: 1.3.0
- set-function-name: 2.0.2
-
- regjsparser@0.10.0:
+ regjsparser@0.12.0:
dependencies:
- jsesc: 0.5.0
-
- relateurl@0.2.7: {}
+ jsesc: 3.0.2
require-directory@2.1.1: {}
require-from-string@2.0.2: {}
- require-in-the-middle@7.4.0:
+ require-in-the-middle@7.5.2:
dependencies:
- debug: 4.3.7(supports-color@9.4.0)
- module-details-from-path: 1.0.3
- resolve: 1.22.8
+ debug: 4.4.3
+ module-details-from-path: 1.0.4
+ resolve: 1.22.10
transitivePeerDependencies:
- supports-color
- require-main-filename@2.0.0: {}
-
requires-port@1.0.0: {}
resolve-alpn@1.2.1: {}
+ resolve-cwd@3.0.0:
+ dependencies:
+ resolve-from: 5.0.0
+
resolve-from@4.0.0: {}
resolve-from@5.0.0: {}
resolve-pkg-maps@1.0.0: {}
- resolve@1.22.8:
+ resolve@1.22.10:
dependencies:
- is-core-module: 2.15.1
+ is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
@@ -18819,11 +19443,9 @@ snapshots:
onetime: 7.0.0
signal-exit: 4.1.0
- retry-as-promised@7.0.4: {}
-
retry@0.12.0: {}
- reusify@1.0.4: {}
+ reusify@1.1.0: {}
rfdc@1.4.1: {}
@@ -18831,58 +19453,60 @@ snapshots:
dependencies:
glob: 7.2.3
- rollup-plugin-visualizer@5.12.0(rollup@4.24.4):
+ rollup-plugin-visualizer@6.0.4(rollup@4.52.4):
dependencies:
open: 8.4.2
- picomatch: 2.3.1
- source-map: 0.7.4
+ picomatch: 4.0.3
+ source-map: 0.7.6
yargs: 17.7.2
optionalDependencies:
- rollup: 4.24.4
+ rollup: 4.52.4
- rollup@4.24.4:
+ rollup@4.52.4:
dependencies:
- '@types/estree': 1.0.6
+ '@types/estree': 1.0.8
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.24.4
- '@rollup/rollup-android-arm64': 4.24.4
- '@rollup/rollup-darwin-arm64': 4.24.4
- '@rollup/rollup-darwin-x64': 4.24.4
- '@rollup/rollup-freebsd-arm64': 4.24.4
- '@rollup/rollup-freebsd-x64': 4.24.4
- '@rollup/rollup-linux-arm-gnueabihf': 4.24.4
- '@rollup/rollup-linux-arm-musleabihf': 4.24.4
- '@rollup/rollup-linux-arm64-gnu': 4.24.4
- '@rollup/rollup-linux-arm64-musl': 4.24.4
- '@rollup/rollup-linux-powerpc64le-gnu': 4.24.4
- '@rollup/rollup-linux-riscv64-gnu': 4.24.4
- '@rollup/rollup-linux-s390x-gnu': 4.24.4
- '@rollup/rollup-linux-x64-gnu': 4.24.4
- '@rollup/rollup-linux-x64-musl': 4.24.4
- '@rollup/rollup-win32-arm64-msvc': 4.24.4
- '@rollup/rollup-win32-ia32-msvc': 4.24.4
- '@rollup/rollup-win32-x64-msvc': 4.24.4
+ '@rollup/rollup-android-arm-eabi': 4.52.4
+ '@rollup/rollup-android-arm64': 4.52.4
+ '@rollup/rollup-darwin-arm64': 4.52.4
+ '@rollup/rollup-darwin-x64': 4.52.4
+ '@rollup/rollup-freebsd-arm64': 4.52.4
+ '@rollup/rollup-freebsd-x64': 4.52.4
+ '@rollup/rollup-linux-arm-gnueabihf': 4.52.4
+ '@rollup/rollup-linux-arm-musleabihf': 4.52.4
+ '@rollup/rollup-linux-arm64-gnu': 4.52.4
+ '@rollup/rollup-linux-arm64-musl': 4.52.4
+ '@rollup/rollup-linux-loong64-gnu': 4.52.4
+ '@rollup/rollup-linux-ppc64-gnu': 4.52.4
+ '@rollup/rollup-linux-riscv64-gnu': 4.52.4
+ '@rollup/rollup-linux-riscv64-musl': 4.52.4
+ '@rollup/rollup-linux-s390x-gnu': 4.52.4
+ '@rollup/rollup-linux-x64-gnu': 4.52.4
+ '@rollup/rollup-linux-x64-musl': 4.52.4
+ '@rollup/rollup-openharmony-arm64': 4.52.4
+ '@rollup/rollup-win32-arm64-msvc': 4.52.4
+ '@rollup/rollup-win32-ia32-msvc': 4.52.4
+ '@rollup/rollup-win32-x64-gnu': 4.52.4
+ '@rollup/rollup-win32-x64-msvc': 4.52.4
fsevents: 2.3.3
rope-sequence@1.3.4: {}
- router@2.0.0:
+ router@2.2.0:
dependencies:
- array-flatten: 3.0.0
+ debug: 4.4.3
+ depd: 2.0.0
is-promise: 4.0.0
- methods: 1.1.2
parseurl: 1.3.3
- path-to-regexp: 8.1.0
- setprototypeof: 1.2.0
- utils-merge: 1.0.1
-
- rrweb-cssom@0.6.0: {}
+ path-to-regexp: 8.2.0
+ transitivePeerDependencies:
+ - supports-color
- rrweb-cssom@0.7.1: {}
+ rrweb-cssom@0.8.0: {}
- run-applescript@7.0.0: {}
+ run-applescript@7.1.0: {}
- run-async@3.0.0: {}
+ run-async@4.0.6: {}
run-parallel@1.2.0:
dependencies:
@@ -18890,44 +19514,47 @@ snapshots:
rxjs@7.8.1:
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
- safe-array-concat@1.1.2:
+ rxjs@7.8.2:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- isarray: 2.0.5
+ tslib: 2.8.1
safe-buffer@5.1.2: {}
safe-buffer@5.2.1: {}
- safe-regex-test@1.0.3:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-regex: 1.1.4
-
- safe-require@1.0.4: {}
-
safe-stable-stringify@2.5.0: {}
safer-buffer@2.1.2: {}
- sass@1.79.5:
+ sass@1.93.2:
dependencies:
- '@parcel/watcher': 2.4.1
- chokidar: 4.0.1
- immutable: 4.3.7
- source-map-js: 1.2.0
+ chokidar: 4.0.3
+ immutable: 5.1.4
+ source-map-js: 1.2.1
+ optionalDependencies:
+ '@parcel/watcher': 2.5.1
- sax@1.2.1: {}
+ sax@1.4.1: {}
saxes@6.0.0:
dependencies:
xmlchars: 2.2.0
+ schema-utils@3.3.0:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ schema-utils@4.3.3:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 8.17.1
+ ajv-formats: 2.1.1(ajv@8.17.1)
+ ajv-keywords: 5.1.0(ajv@8.17.1)
+
scslre@0.3.0:
dependencies:
'@eslint-community/regexpp': 4.12.1
@@ -18936,13 +19563,9 @@ snapshots:
scule@1.3.0: {}
- search-insights@2.17.0: {}
-
- secure-json-parse@2.7.0: {}
+ search-insights@2.17.3: {}
- selderee@0.11.0:
- dependencies:
- parseley: 0.12.1
+ secure-json-parse@4.1.0: {}
semver@5.7.2: {}
@@ -18952,77 +19575,21 @@ snapshots:
dependencies:
lru-cache: 6.0.0
- semver@7.6.3: {}
-
- send@0.19.0:
- dependencies:
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- encodeurl: 1.0.2
- escape-html: 1.0.3
- etag: 1.8.1
- fresh: 0.5.2
- http-errors: 2.0.0
- mime: 1.6.0
- ms: 2.1.3
- on-finished: 2.4.1
- range-parser: 1.2.1
- statuses: 2.0.1
- transitivePeerDependencies:
- - supports-color
+ semver@7.7.3: {}
- send@1.1.0:
+ send@1.2.0:
dependencies:
- debug: 4.3.7(supports-color@9.4.0)
- destroy: 1.2.0
+ debug: 4.4.3
encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
- fresh: 0.5.2
+ fresh: 2.0.0
http-errors: 2.0.0
- mime-types: 2.1.35
+ mime-types: 3.0.1
ms: 2.1.3
on-finished: 2.4.1
range-parser: 1.2.1
- statuses: 2.0.1
- transitivePeerDependencies:
- - supports-color
-
- sequelize-cli@6.6.2:
- dependencies:
- cli-color: 2.0.4
- fs-extra: 9.1.0
- js-beautify: 1.15.1
- lodash: 4.17.21
- resolve: 1.22.8
- umzug: 2.3.0
- yargs: 16.2.0
-
- sequelize-pool@7.1.0: {}
-
- sequelize-replace-enum-postgres@1.6.0: {}
-
- sequelize@6.37.5(pg@8.13.1):
- dependencies:
- '@types/debug': 4.1.12
- '@types/validator': 13.12.1
- debug: 4.3.7(supports-color@9.4.0)
- dottie: 2.0.6
- inflection: 1.13.4
- lodash: 4.17.21
- moment: 2.30.1
- moment-timezone: 0.5.45
- pg-connection-string: 2.7.0
- retry-as-promised: 7.0.4
- semver: 7.6.3
- sequelize-pool: 7.1.0
- toposort-class: 1.0.1
- uuid: 8.3.2
- validator: 13.12.0
- wkx: 0.5.0
- optionalDependencies:
- pg: 8.13.1
+ statuses: 2.0.2
transitivePeerDependencies:
- supports-color
@@ -19034,43 +19601,16 @@ snapshots:
dependencies:
defu: 6.1.4
- serve-static@1.16.2:
- dependencies:
- encodeurl: 2.0.0
- escape-html: 1.0.3
- parseurl: 1.3.3
- send: 0.19.0
- transitivePeerDependencies:
- - supports-color
-
- serve-static@2.1.0:
+ serve-static@2.2.0:
dependencies:
encodeurl: 2.0.0
escape-html: 1.0.3
parseurl: 1.3.3
- send: 1.1.0
+ send: 1.2.0
transitivePeerDependencies:
- supports-color
- set-blocking@2.0.0: {}
-
- set-function-length@1.2.2:
- dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- function-bind: 1.1.2
- get-intrinsic: 1.2.4
- gopd: 1.0.1
- has-property-descriptors: 1.0.2
-
- set-function-name@2.0.2:
- dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- functions-have-names: 1.2.3
- has-property-descriptors: 1.0.2
-
- setimmediate@1.0.5: {}
+ set-cookie-parser@2.7.1: {}
setprototypeof@1.2.0: {}
@@ -19080,31 +19620,53 @@ snapshots:
shebang-regex@3.0.0: {}
- shell-quote@1.8.1: {}
+ shell-quote@1.8.3: {}
- shelljs@0.8.5:
+ shelljs@0.10.0:
dependencies:
- glob: 7.2.3
- interpret: 1.4.0
- rechoir: 0.6.2
+ execa: 5.1.1
+ fast-glob: 3.3.3
- shiki@1.22.2:
+ shiki@2.5.0:
dependencies:
- '@shikijs/core': 1.22.2
- '@shikijs/engine-javascript': 1.22.2
- '@shikijs/engine-oniguruma': 1.22.2
- '@shikijs/types': 1.22.2
- '@shikijs/vscode-textmate': 9.3.0
+ '@shikijs/core': 2.5.0
+ '@shikijs/engine-javascript': 2.5.0
+ '@shikijs/engine-oniguruma': 2.5.0
+ '@shikijs/langs': 2.5.0
+ '@shikijs/themes': 2.5.0
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
shimmer@1.2.1: {}
- side-channel@1.0.6:
+ side-channel-list@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+
+ side-channel-map@1.0.1:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
es-errors: 1.3.0
- get-intrinsic: 1.2.4
- object-inspect: 1.13.2
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+
+ side-channel-weakmap@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-map: 1.0.1
+
+ side-channel@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-list: 1.0.0
+ side-channel-map: 1.0.1
+ side-channel-weakmap: 1.0.2
signal-exit@3.0.7: {}
@@ -19114,91 +19676,65 @@ snapshots:
dependencies:
'@sigstore/bundle': 2.3.2
'@sigstore/core': 1.1.0
- '@sigstore/protobuf-specs': 0.3.2
+ '@sigstore/protobuf-specs': 0.3.3
'@sigstore/sign': 2.3.2
'@sigstore/tuf': 2.3.4
'@sigstore/verify': 1.2.1
transitivePeerDependencies:
- supports-color
- simple-git@3.25.0:
- dependencies:
- '@kwsites/file-exists': 1.1.1
- '@kwsites/promise-deferred': 1.1.1
- debug: 4.3.7(supports-color@9.4.0)
- transitivePeerDependencies:
- - supports-color
-
- simple-git@3.27.0:
+ simple-git@3.28.0:
dependencies:
'@kwsites/file-exists': 1.1.1
'@kwsites/promise-deferred': 1.1.1
- debug: 4.3.7(supports-color@9.4.0)
- transitivePeerDependencies:
- - supports-color
-
- simple-oauth2@5.1.0:
- dependencies:
- '@hapi/hoek': 11.0.4
- '@hapi/wreck': 18.1.0
- debug: 4.3.6
- joi: 17.13.3
+ debug: 4.4.3
transitivePeerDependencies:
- supports-color
- simple-update-notifier@2.0.0:
+ sirv@3.0.2:
dependencies:
- semver: 7.6.3
-
- sirv@2.0.4:
- dependencies:
- '@polka/url': 1.0.0-next.25
- mrmime: 2.0.0
+ '@polka/url': 1.0.0-next.29
+ mrmime: 2.0.1
totalist: 3.0.1
sisteransi@1.0.5: {}
slash@3.0.0: {}
- slash@4.0.0: {}
-
slash@5.1.0: {}
- slashes@3.0.12: {}
-
- slick@1.12.2: {}
+ slow-redact@0.3.2: {}
smart-buffer@4.2.0: {}
smob@1.5.0: {}
- socks-proxy-agent@8.0.4:
+ socks-proxy-agent@8.0.5:
dependencies:
- agent-base: 7.1.1(supports-color@9.4.0)
- debug: 4.3.7(supports-color@9.4.0)
- socks: 2.8.3
+ agent-base: 7.1.4
+ debug: 4.4.3
+ socks: 2.8.7
transitivePeerDependencies:
- supports-color
- socks@2.8.3:
+ socks@2.8.7:
dependencies:
- ip-address: 9.0.5
+ ip-address: 10.0.1
smart-buffer: 4.2.0
sonic-boom@4.2.0:
dependencies:
atomic-sleep: 1.0.0
- sort-keys@5.0.0:
- dependencies:
- is-plain-obj: 4.1.0
-
sortablejs@1.14.0: {}
- source-map-js@1.2.0: {}
-
source-map-js@1.2.1: {}
+ source-map-support@0.5.13:
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+
source-map-support@0.5.21:
dependencies:
buffer-from: 1.1.2
@@ -19208,26 +19744,28 @@ snapshots:
source-map@0.7.4: {}
+ source-map@0.7.6: {}
+
space-separated-tokens@2.0.2: {}
spdx-correct@3.2.0:
dependencies:
spdx-expression-parse: 3.0.1
- spdx-license-ids: 3.0.20
+ spdx-license-ids: 3.0.22
spdx-exceptions@2.5.0: {}
spdx-expression-parse@3.0.1:
dependencies:
spdx-exceptions: 2.5.0
- spdx-license-ids: 3.0.20
+ spdx-license-ids: 3.0.22
spdx-expression-parse@4.0.0:
dependencies:
spdx-exceptions: 2.5.0
- spdx-license-ids: 3.0.20
+ spdx-license-ids: 3.0.22
- spdx-license-ids@3.0.20: {}
+ spdx-license-ids@3.0.22: {}
speakingurl@14.0.1: {}
@@ -19235,41 +19773,50 @@ snapshots:
sprintf-js@1.0.3: {}
- sprintf-js@1.1.3: {}
+ sqlstring-sqlite@0.1.1: {}
+
+ sqlstring@2.3.3: {}
+
+ srvx@0.8.16: {}
ssri@10.0.6:
dependencies:
minipass: 7.1.2
- stable-hash@0.0.4: {}
+ stable-hash-x@0.2.0: {}
+
+ stack-utils@2.0.6:
+ dependencies:
+ escape-string-regexp: 2.0.0
standard-as-callback@2.1.0: {}
statuses@2.0.1: {}
- std-env@3.7.0: {}
-
- stdin-discarder@0.2.2: {}
+ statuses@2.0.2: {}
- stream-browserify@3.0.0:
- dependencies:
- inherits: 2.0.4
- readable-stream: 3.6.2
+ std-env@3.9.0: {}
- stream-shift@1.0.3: {}
+ stdin-discarder@0.2.2: {}
streamsearch@1.1.0: {}
- streamx@2.19.0:
+ streamx@2.23.0:
dependencies:
+ events-universal: 1.0.1
fast-fifo: 1.3.2
- queue-tick: 1.0.1
- text-decoder: 1.1.1
- optionalDependencies:
- bare-events: 2.4.2
+ text-decoder: 1.2.3
+ transitivePeerDependencies:
+ - bare-abort-controller
+ - react-native-b4a
string-argv@0.3.2: {}
+ string-length@4.0.2:
+ dependencies:
+ char-regex: 1.0.2
+ strip-ansi: 6.0.1
+
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
@@ -19280,32 +19827,18 @@ snapshots:
dependencies:
eastasianwidth: 0.2.0
emoji-regex: 9.2.2
- strip-ansi: 7.1.0
+ strip-ansi: 7.1.2
string-width@7.2.0:
dependencies:
- emoji-regex: 10.3.0
- get-east-asian-width: 1.2.0
- strip-ansi: 7.1.0
-
- string.prototype.trim@1.2.9:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
-
- string.prototype.trimend@1.0.8:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ emoji-regex: 10.6.0
+ get-east-asian-width: 1.4.0
+ strip-ansi: 7.1.2
- string.prototype.trimstart@1.0.8:
+ string-width@8.1.0:
dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ get-east-asian-width: 1.4.0
+ strip-ansi: 7.1.2
string_decoder@1.1.1:
dependencies:
@@ -19324,9 +19857,13 @@ snapshots:
dependencies:
ansi-regex: 5.0.1
- strip-ansi@7.1.0:
+ strip-ansi@7.1.2:
dependencies:
- ansi-regex: 6.0.1
+ ansi-regex: 6.2.2
+
+ strip-bom@3.0.0: {}
+
+ strip-bom@4.0.0: {}
strip-final-newline@2.0.0: {}
@@ -19334,35 +19871,56 @@ snapshots:
strip-final-newline@4.0.0: {}
- strip-indent@3.0.0:
+ strip-indent@4.1.1: {}
+
+ strip-json-comments@3.1.1: {}
+
+ strip-json-comments@5.0.3: {}
+
+ strip-literal@3.1.0:
dependencies:
- min-indent: 1.0.1
+ js-tokens: 9.0.1
- strip-indent@4.0.0:
+ strnum@2.1.1: {}
+
+ strtok3@10.3.4:
dependencies:
- min-indent: 1.0.1
+ '@tokenizer/token': 0.3.0
- strip-json-comments@3.1.1: {}
+ structured-clone-es@1.0.0: {}
- strip-literal@2.1.0:
+ stylehacks@7.0.6(postcss@8.5.6):
dependencies:
- js-tokens: 9.0.0
+ browserslist: 4.26.3
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
- strnum@1.0.5: {}
-
- stylehacks@7.0.4(postcss@8.4.47):
+ superagent@10.2.3:
dependencies:
- browserslist: 4.24.2
- postcss: 8.4.47
- postcss-selector-parser: 6.1.2
+ component-emitter: 1.3.1
+ cookiejar: 2.1.4
+ debug: 4.4.3
+ fast-safe-stringify: 2.1.1
+ form-data: 4.0.4
+ formidable: 3.5.4
+ methods: 1.1.2
+ mime: 2.6.0
+ qs: 6.14.0
+ transitivePeerDependencies:
+ - supports-color
- superjson@2.2.1:
+ superjson@2.2.2:
dependencies:
copy-anything: 3.0.5
- supports-color@5.5.0:
+ supertest@7.1.4:
dependencies:
- has-flag: 3.0.0
+ methods: 1.1.2
+ superagent: 10.2.3
+ transitivePeerDependencies:
+ - supports-color
+
+ supports-color@10.2.2: {}
supports-color@7.2.0:
dependencies:
@@ -19372,40 +19930,57 @@ snapshots:
dependencies:
has-flag: 4.0.0
- supports-color@9.4.0: {}
-
supports-preserve-symlinks-flag@1.0.0: {}
- svg-tags@1.0.0: {}
-
- svgo@3.3.2:
+ svgo@4.0.0:
dependencies:
- '@trysound/sax': 0.2.0
- commander: 7.2.0
- css-select: 5.1.0
- css-tree: 2.3.1
- css-what: 6.1.0
+ commander: 11.1.0
+ css-select: 5.2.2
+ css-tree: 3.1.0
+ css-what: 6.2.2
csso: 5.0.5
- picocolors: 1.1.0
+ picocolors: 1.1.1
+ sax: 1.4.1
+
+ swagger-ui-dist@5.21.0:
+ dependencies:
+ '@scarf/scarf': 1.4.0
+
+ swagger-ui-dist@5.29.4:
+ dependencies:
+ '@scarf/scarf': 1.4.0
+
+ swagger-ui-express@5.0.1(express@5.1.0):
+ dependencies:
+ express: 5.1.0
+ swagger-ui-dist: 5.29.4
+
+ symbol-observable@4.0.0: {}
symbol-tree@3.2.4: {}
- synckit@0.9.1:
+ synckit@0.11.11:
dependencies:
- '@pkgr/core': 0.1.1
- tslib: 2.7.0
+ '@pkgr/core': 0.2.9
system-architecture@0.1.0: {}
+ systeminformation@5.27.11: {}
+
tabbable@6.2.0: {}
- tapable@2.2.1: {}
+ tagged-tag@1.0.0: {}
+
+ tapable@2.3.0: {}
tar-stream@3.1.7:
dependencies:
- b4a: 1.6.6
+ b4a: 1.7.3
fast-fifo: 1.3.2
- streamx: 2.19.0
+ streamx: 2.23.0
+ transitivePeerDependencies:
+ - bare-abort-controller
+ - react-native-b4a
tar@6.2.1:
dependencies:
@@ -19416,42 +19991,64 @@ snapshots:
mkdirp: 1.0.4
yallist: 4.0.0
+ tar@7.5.1:
+ dependencies:
+ '@isaacs/fs-minipass': 4.0.1
+ chownr: 3.0.0
+ minipass: 7.1.2
+ minizlib: 3.1.0
+ yallist: 5.0.0
+
+ tarn@3.0.2: {}
+
taskkill@5.0.0:
dependencies:
execa: 6.1.0
- terser@5.36.0:
+ terser-webpack-plugin@5.3.14(webpack@5.100.2):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ jest-worker: 27.5.1
+ schema-utils: 4.3.3
+ serialize-javascript: 6.0.2
+ terser: 5.44.0
+ webpack: 5.100.2
+
+ terser@5.44.0:
dependencies:
- '@jridgewell/source-map': 0.3.6
- acorn: 8.14.0
+ '@jridgewell/source-map': 0.3.11
+ acorn: 8.15.0
commander: 2.20.3
source-map-support: 0.5.21
- text-decoder@1.1.1:
+ test-exclude@6.0.0:
dependencies:
- b4a: 1.6.6
+ '@istanbuljs/schema': 0.1.3
+ glob: 7.2.3
+ minimatch: 3.1.2
- text-table@0.2.0: {}
+ text-decoder@1.2.3:
+ dependencies:
+ b4a: 1.7.3
+ transitivePeerDependencies:
+ - react-native-b4a
thread-stream@3.1.0:
dependencies:
real-require: 0.2.0
- through@2.3.8: {}
-
- timers-ext@0.1.8:
- dependencies:
- es5-ext: 0.10.64
- next-tick: 1.1.0
+ tildify@2.0.0: {}
tiny-case@1.0.3: {}
tiny-invariant@1.3.3: {}
- tinyglobby@0.2.10:
+ tinyexec@1.0.1: {}
+
+ tinyglobby@0.2.15:
dependencies:
- fdir: 6.4.2(picomatch@4.0.2)
- picomatch: 4.0.2
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
tippy.js@6.3.7:
dependencies:
@@ -19459,13 +20056,15 @@ snapshots:
title-case-minors@1.0.0: {}
- tmp@0.0.33:
- dependencies:
- os-tmpdir: 1.0.2
+ tldts-core@7.0.17: {}
- tmp@0.2.1:
+ tldts@7.0.17:
dependencies:
- rimraf: 3.0.2
+ tldts-core: 7.0.17
+
+ tmp@0.2.5: {}
+
+ tmpl@1.0.5: {}
to-camel-case@1.0.0:
dependencies:
@@ -19497,8 +20096,6 @@ snapshots:
dependencies:
to-space-case: 1.0.0
- to-fast-properties@2.0.0: {}
-
to-no-case@1.0.2: {}
to-pascal-case@1.0.0:
@@ -19534,24 +20131,23 @@ snapshots:
toidentifier@1.0.1: {}
- toposort-class@1.0.1: {}
+ token-types@6.1.1:
+ dependencies:
+ '@borewit/text-codec': 0.1.1
+ '@tokenizer/token': 0.3.0
+ ieee754: 1.2.1
toposort@2.0.2: {}
totalist@3.0.1: {}
- touch@3.1.1: {}
-
- tough-cookie@4.1.4:
+ tough-cookie@6.0.0:
dependencies:
- psl: 1.9.0
- punycode: 2.3.1
- universalify: 0.2.0
- url-parse: 1.5.10
+ tldts: 7.0.17
tr46@0.0.3: {}
- tr46@5.0.0:
+ tr46@6.0.0:
dependencies:
punycode: 2.3.1
@@ -19561,18 +20157,82 @@ snapshots:
trim-lines@3.0.1: {}
- trim-newlines@4.1.1: {}
+ ts-api-utils@2.1.0(typescript@5.9.3):
+ dependencies:
+ typescript: 5.9.3
+
+ ts-jest@29.4.5(@babel/core@7.28.4)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.4))(jest-util@30.2.0)(jest@30.2.0(@types/node@24.7.2)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3)))(typescript@5.9.3):
+ dependencies:
+ bs-logger: 0.2.6
+ fast-json-stable-stringify: 2.1.0
+ handlebars: 4.7.8
+ jest: 30.2.0(@types/node@24.7.2)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3))
+ json5: 2.2.3
+ lodash.memoize: 4.1.2
+ make-error: 1.3.6
+ semver: 7.7.3
+ type-fest: 4.41.0
+ typescript: 5.9.3
+ yargs-parser: 21.1.1
+ optionalDependencies:
+ '@babel/core': 7.28.4
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ babel-jest: 30.2.0(@babel/core@7.28.4)
+ jest-util: 30.2.0
+
+ ts-loader@9.5.4(typescript@5.9.3)(webpack@5.100.2):
+ dependencies:
+ chalk: 4.1.2
+ enhanced-resolve: 5.18.3
+ micromatch: 4.0.8
+ semver: 7.7.3
+ source-map: 0.7.6
+ typescript: 5.9.3
+ webpack: 5.100.2
+
+ ts-morph@27.0.2:
+ dependencies:
+ '@ts-morph/common': 0.28.1
+ code-block-writer: 13.0.3
+
+ ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.3):
+ dependencies:
+ '@cspotcode/source-map-support': 0.8.1
+ '@tsconfig/node10': 1.0.11
+ '@tsconfig/node12': 1.0.11
+ '@tsconfig/node14': 1.0.3
+ '@tsconfig/node16': 1.0.4
+ '@types/node': 24.7.2
+ acorn: 8.15.0
+ acorn-walk: 8.3.4
+ arg: 4.1.3
+ create-require: 1.1.1
+ diff: 4.0.2
+ make-error: 1.3.6
+ typescript: 5.9.3
+ v8-compile-cache-lib: 3.0.1
+ yn: 3.1.1
- ts-api-utils@1.3.0(typescript@5.6.3):
+ tsconfig-paths-webpack-plugin@4.2.0:
dependencies:
- typescript: 5.6.3
+ chalk: 4.1.2
+ enhanced-resolve: 5.18.3
+ tapable: 2.3.0
+ tsconfig-paths: 4.2.0
+
+ tsconfig-paths@4.2.0:
+ dependencies:
+ json5: 2.2.3
+ minimist: 1.2.8
+ strip-bom: 3.0.0
- tslib@2.7.0: {}
+ tslib@2.8.1: {}
tuf-js@2.2.1:
dependencies:
'@tufjs/models': 2.0.1
- debug: 4.3.7(supports-color@9.4.0)
+ debug: 4.4.3
make-fetch-happen: 13.0.1
transitivePeerDependencies:
- supports-color
@@ -19581,176 +20241,105 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
- type-fest@0.20.2: {}
+ type-detect@4.0.8: {}
type-fest@0.21.3: {}
- type-fest@0.6.0: {}
-
- type-fest@0.8.1: {}
-
- type-fest@1.4.0: {}
-
type-fest@2.19.0: {}
- type-fest@3.13.1: {}
+ type-fest@4.41.0: {}
- type-fest@4.25.0: {}
+ type-fest@5.1.0:
+ dependencies:
+ tagged-tag: 1.0.0
type-is@1.6.18:
dependencies:
media-typer: 0.3.0
mime-types: 2.1.35
- type-is@2.0.0:
+ type-is@2.0.1:
dependencies:
content-type: 1.0.5
media-typer: 1.1.0
- mime-types: 3.0.0
-
- type@2.7.3: {}
-
- typed-array-buffer@1.0.2:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-typed-array: 1.1.13
-
- typed-array-byte-length@1.0.1:
- dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
-
- typed-array-byte-offset@1.0.2:
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
+ mime-types: 3.0.1
- typed-array-length@1.0.6:
- dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
- possible-typed-array-names: 1.0.0
+ type-level-regexp@0.1.17: {}
typedarray@0.0.6: {}
- typescript@5.6.3: {}
+ typescript@5.8.3: {}
+
+ typescript@5.9.3: {}
uc.micro@2.1.0: {}
- ufo@1.5.4: {}
+ ufo@1.6.1: {}
- uglify-js@3.19.2: {}
+ uglify-js@3.19.3:
+ optional: true
- uid-safe@2.1.5:
+ uid@2.0.2:
dependencies:
- random-bytes: 1.0.0
+ '@lukeed/csprng': 1.1.0
- ultrahtml@1.5.3: {}
+ uint8array-extras@1.5.0: {}
- umzug@2.3.0:
- dependencies:
- bluebird: 3.7.2
+ ultrahtml@1.6.0: {}
- umzug@3.8.2(@types/node@22.9.0):
+ umzug@3.8.2(@types/node@24.7.2):
dependencies:
- '@rushstack/ts-command-line': 4.22.6(@types/node@22.9.0)
+ '@rushstack/ts-command-line': 4.23.7(@types/node@24.7.2)
emittery: 0.13.1
- fast-glob: 3.3.2
+ fast-glob: 3.3.3
pony-cause: 2.1.11
- type-fest: 4.25.0
+ type-fest: 4.41.0
transitivePeerDependencies:
- '@types/node'
- unbox-primitive@1.0.2:
- dependencies:
- call-bind: 1.0.7
- has-bigints: 1.0.2
- has-symbols: 1.0.3
- which-boxed-primitive: 1.0.2
-
uncrypto@0.1.3: {}
- unctx@2.3.1(webpack-sources@3.2.3):
+ unctx@2.4.1:
dependencies:
- acorn: 8.14.0
+ acorn: 8.15.0
estree-walker: 3.0.3
- magic-string: 0.30.12
- unplugin: 1.15.0(webpack-sources@3.2.3)
- transitivePeerDependencies:
- - webpack-sources
+ magic-string: 0.30.19
+ unplugin: 2.3.10
- undefsafe@2.0.5: {}
+ undici-types@7.14.0: {}
- undici-types@5.26.5: {}
+ undici@7.16.0: {}
- undici-types@6.19.8: {}
-
- unenv@1.10.0:
+ unenv@2.0.0-rc.21:
dependencies:
- consola: 3.2.3
defu: 6.1.4
- mime: 3.0.0
- node-fetch-native: 1.6.4
- pathe: 1.1.2
+ exsolve: 1.0.7
+ ohash: 2.0.11
+ pathe: 2.0.3
+ ufo: 1.6.1
- unhead@1.11.11:
+ unhead@2.0.19:
dependencies:
- '@unhead/dom': 1.11.11
- '@unhead/schema': 1.11.11
- '@unhead/shared': 1.11.11
hookable: 5.5.3
- unicorn-magic@0.1.0: {}
-
unicorn-magic@0.3.0: {}
- unimport@3.11.1(rollup@4.24.4):
- dependencies:
- '@rollup/pluginutils': 5.1.0(rollup@4.24.4)
- acorn: 8.12.1
- escape-string-regexp: 5.0.0
- estree-walker: 3.0.3
- fast-glob: 3.3.2
- local-pkg: 0.5.0
- magic-string: 0.30.11
- mlly: 1.7.1
- pathe: 1.1.2
- pkg-types: 1.2.0
- scule: 1.3.0
- strip-literal: 2.1.0
- unplugin: 1.12.2
- transitivePeerDependencies:
- - rollup
-
- unimport@3.13.1(rollup@4.24.4)(webpack-sources@3.2.3):
+ unimport@5.4.1:
dependencies:
- '@rollup/pluginutils': 5.1.2(rollup@4.24.4)
- acorn: 8.14.0
+ acorn: 8.15.0
escape-string-regexp: 5.0.0
estree-walker: 3.0.3
- fast-glob: 3.3.2
- local-pkg: 0.5.0
- magic-string: 0.30.12
- mlly: 1.7.2
- pathe: 1.1.2
- pkg-types: 1.2.1
+ local-pkg: 1.1.2
+ magic-string: 0.30.19
+ mlly: 1.8.0
+ pathe: 2.0.3
+ picomatch: 4.0.3
+ pkg-types: 2.3.0
scule: 1.3.0
- strip-literal: 2.1.0
- unplugin: 1.15.0(webpack-sources@3.2.3)
- transitivePeerDependencies:
- - rollup
- - webpack-sources
+ strip-literal: 3.1.0
+ tinyglobby: 0.2.15
+ unplugin: 2.3.10
+ unplugin-utils: 0.3.1
unique-filename@3.0.0:
dependencies:
@@ -19783,129 +20372,123 @@ snapshots:
unist-util-is: 6.0.0
unist-util-visit-parents: 6.0.1
- universalify@0.1.2: {}
-
- universalify@0.2.0: {}
-
universalify@2.0.1: {}
unpipe@1.0.0: {}
- unplugin-vue-router@0.10.8(rollup@4.24.4)(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3):
+ unplugin-utils@0.2.5:
+ dependencies:
+ pathe: 2.0.3
+ picomatch: 4.0.3
+
+ unplugin-utils@0.3.1:
+ dependencies:
+ pathe: 2.0.3
+ picomatch: 4.0.3
+
+ unplugin-vue-router@0.15.0(@vue/compiler-sfc@3.5.22)(typescript@5.9.3)(vue-router@4.5.1(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)):
dependencies:
- '@babel/types': 7.26.0
- '@rollup/pluginutils': 5.1.3(rollup@4.24.4)
- '@vue-macros/common': 1.12.2(rollup@4.24.4)(vue@3.5.12(typescript@5.6.3))
- ast-walker-scope: 0.6.2
- chokidar: 3.6.0
- fast-glob: 3.3.2
+ '@vue-macros/common': 3.0.0-beta.16(vue@3.5.22(typescript@5.9.3))
+ '@vue/compiler-sfc': 3.5.22
+ '@vue/language-core': 3.1.1(typescript@5.9.3)
+ ast-walker-scope: 0.8.3
+ chokidar: 4.0.3
json5: 2.2.3
- local-pkg: 0.5.0
- magic-string: 0.30.12
- mlly: 1.7.2
- pathe: 1.1.2
+ local-pkg: 1.1.2
+ magic-string: 0.30.19
+ mlly: 1.8.0
+ muggle-string: 0.4.1
+ pathe: 2.0.3
+ picomatch: 4.0.3
scule: 1.3.0
- unplugin: 1.15.0(webpack-sources@3.2.3)
- yaml: 2.5.0
+ tinyglobby: 0.2.15
+ unplugin: 2.3.10
+ unplugin-utils: 0.2.5
+ yaml: 2.8.1
optionalDependencies:
- vue-router: 4.4.5(vue@3.5.12(typescript@5.6.3))
+ vue-router: 4.5.1(vue@3.5.22(typescript@5.9.3))
transitivePeerDependencies:
- - rollup
+ - typescript
- vue
- - webpack-sources
- unplugin@1.12.2:
+ unplugin@2.3.10:
dependencies:
- acorn: 8.12.1
- chokidar: 3.6.0
- webpack-sources: 3.2.3
+ '@jridgewell/remapping': 2.3.5
+ acorn: 8.15.0
+ picomatch: 4.0.3
webpack-virtual-modules: 0.6.2
- unplugin@1.15.0(webpack-sources@3.2.3):
+ unrs-resolver@1.11.1:
dependencies:
- acorn: 8.14.0
- webpack-virtual-modules: 0.6.2
+ napi-postinstall: 0.3.4
optionalDependencies:
- webpack-sources: 3.2.3
-
- unstorage@1.13.1(ioredis@5.4.1):
+ '@unrs/resolver-binding-android-arm-eabi': 1.11.1
+ '@unrs/resolver-binding-android-arm64': 1.11.1
+ '@unrs/resolver-binding-darwin-arm64': 1.11.1
+ '@unrs/resolver-binding-darwin-x64': 1.11.1
+ '@unrs/resolver-binding-freebsd-x64': 1.11.1
+ '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1
+ '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1
+ '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-arm64-musl': 1.11.1
+ '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1
+ '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-x64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-x64-musl': 1.11.1
+ '@unrs/resolver-binding-wasm32-wasi': 1.11.1
+ '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1
+ '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1
+ '@unrs/resolver-binding-win32-x64-msvc': 1.11.1
+
+ unstorage@1.17.1(db0@0.3.4(@libsql/client@0.15.15))(ioredis@5.8.1):
dependencies:
anymatch: 3.1.3
- chokidar: 3.6.0
- citty: 0.1.6
- destr: 2.0.3
- h3: 1.13.0
- listhen: 1.9.0
+ chokidar: 4.0.3
+ destr: 2.0.5
+ h3: 1.15.4
lru-cache: 10.4.3
- node-fetch-native: 1.6.4
+ node-fetch-native: 1.6.7
ofetch: 1.4.1
- ufo: 1.5.4
+ ufo: 1.6.1
optionalDependencies:
- ioredis: 5.4.1
-
- untildify@5.0.0: {}
+ db0: 0.3.4(@libsql/client@0.15.15)
+ ioredis: 5.8.1
untun@0.1.3:
dependencies:
citty: 0.1.6
- consola: 3.2.3
+ consola: 3.4.2
pathe: 1.1.2
- untyped@1.4.2:
- dependencies:
- '@babel/core': 7.25.2
- '@babel/standalone': 7.25.5
- '@babel/types': 7.25.4
- defu: 6.1.4
- jiti: 1.21.6
- mri: 1.2.0
- scule: 1.3.0
- transitivePeerDependencies:
- - supports-color
-
- untyped@1.5.1:
+ untyped@2.0.0:
dependencies:
- '@babel/core': 7.26.0
- '@babel/standalone': 7.26.2
- '@babel/types': 7.26.0
+ citty: 0.1.6
defu: 6.1.4
- jiti: 2.4.0
- mri: 1.2.0
+ jiti: 2.6.1
+ knitwork: 1.2.0
scule: 1.3.0
- transitivePeerDependencies:
- - supports-color
- unwasm@0.3.9(webpack-sources@3.2.3):
+ unwasm@0.3.11:
dependencies:
- knitwork: 1.1.0
- magic-string: 0.30.12
- mlly: 1.7.2
- pathe: 1.1.2
- pkg-types: 1.2.1
- unplugin: 1.15.0(webpack-sources@3.2.3)
- transitivePeerDependencies:
- - webpack-sources
+ knitwork: 1.2.0
+ magic-string: 0.30.19
+ mlly: 1.8.0
+ pathe: 2.0.3
+ pkg-types: 2.3.0
+ unplugin: 2.3.10
upath@1.2.0: {}
- update-browserslist-db@1.1.0(browserslist@4.23.3):
- dependencies:
- browserslist: 4.23.3
- escalade: 3.1.2
- picocolors: 1.0.1
-
- update-browserslist-db@1.1.1(browserslist@4.24.2):
+ update-browserslist-db@1.1.3(browserslist@4.26.3):
dependencies:
- browserslist: 4.24.2
+ browserslist: 4.26.3
escalade: 3.2.0
- picocolors: 1.1.0
-
- upper-case@1.1.3: {}
+ picocolors: 1.1.1
uqr@0.1.2: {}
- uri-js-replace@1.0.1: {}
-
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
@@ -19917,46 +20500,25 @@ snapshots:
querystringify: 2.2.0
requires-port: 1.0.0
- url@0.10.3:
- dependencies:
- punycode: 1.3.2
- querystring: 0.2.0
-
- urlpattern-polyfill@8.0.2: {}
-
- user@0.0.0: {}
-
util-deprecate@1.0.2: {}
- util-promisify@2.1.0:
- dependencies:
- object.getownpropertydescriptors: 2.1.8
-
- util@0.12.5:
- dependencies:
- inherits: 2.0.4
- is-arguments: 1.1.1
- is-generator-function: 1.0.10
- is-typed-array: 1.1.13
- which-typed-array: 1.1.15
-
utils-merge@1.0.1: {}
- uuid@10.0.0: {}
-
- uuid@8.0.0: {}
-
- uuid@8.3.2: {}
+ uuid@13.0.0: {}
- uuid@9.0.1: {}
-
- v-clipboard@3.0.0-next.1(typescript@5.6.3):
+ v-clipboard@3.0.0-next.1(typescript@5.9.3):
dependencies:
- vue: 3.5.12(typescript@5.6.3)
+ vue: 3.5.22(typescript@5.9.3)
transitivePeerDependencies:
- typescript
- valid-data-url@3.0.1: {}
+ v8-compile-cache-lib@3.0.1: {}
+
+ v8-to-istanbul@9.3.0:
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ '@types/istanbul-lib-coverage': 2.0.6
+ convert-source-map: 2.0.0
validate-npm-package-license@3.0.4:
dependencies:
@@ -19965,23 +20527,17 @@ snapshots:
validate-npm-package-name@5.0.1: {}
- validator@13.12.0: {}
+ validator@13.15.15: {}
vary@1.1.2: {}
- vee-validate@4.13.2(vue@3.5.12(typescript@5.6.3)):
+ vee-validate@4.15.1(vue@3.5.22(typescript@5.9.3)):
dependencies:
- '@vue/devtools-api': 6.6.4
- type-fest: 4.25.0
- vue: 3.5.12(typescript@5.6.3)
-
- vee-validate@4.14.6(vue@3.5.12(typescript@5.6.3)):
- dependencies:
- '@vue/devtools-api': 7.6.3
- type-fest: 4.25.0
- vue: 3.5.12(typescript@5.6.3)
+ '@vue/devtools-api': 7.7.7
+ type-fest: 4.41.0
+ vue: 3.5.22(typescript@5.9.3)
- vfile-message@4.0.2:
+ vfile-message@4.0.3:
dependencies:
'@types/unist': 3.0.3
unist-util-stringify-position: 4.0.0
@@ -19989,20 +20545,28 @@ snapshots:
vfile@6.0.3:
dependencies:
'@types/unist': 3.0.3
- vfile-message: 4.0.2
+ vfile-message: 4.0.3
+
+ vite-dev-rpc@1.1.0(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)):
+ dependencies:
+ birpc: 2.6.1
+ vite: 7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
+ vite-hot-client: 2.1.0(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))
- vite-hot-client@0.2.3(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)):
+ vite-hot-client@2.1.0(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)):
dependencies:
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
+ vite: 7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
- vite-node@2.1.4(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0):
+ vite-node@3.2.4(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1):
dependencies:
cac: 6.7.14
- debug: 4.3.7(supports-color@9.4.0)
- pathe: 1.1.2
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
+ debug: 4.4.3
+ es-module-lexer: 1.7.0
+ pathe: 2.0.3
+ vite: 7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
transitivePeerDependencies:
- '@types/node'
+ - jiti
- less
- lightningcss
- sass
@@ -20011,120 +20575,106 @@ snapshots:
- sugarss
- supports-color
- terser
+ - tsx
+ - yaml
- vite-plugin-checker@0.7.2(eslint@9.14.0(jiti@2.4.0))(meow@10.1.5)(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue-tsc@2.1.6(typescript@5.6.3)):
+ vite-plugin-checker@0.10.3(eslint@9.37.0(jiti@2.6.1))(optionator@0.9.4)(typescript@5.9.3)(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)):
dependencies:
- '@babel/code-frame': 7.26.2
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- chokidar: 3.6.0
- commander: 8.3.0
- fast-glob: 3.3.2
- fs-extra: 11.2.0
- npm-run-path: 4.0.1
- strip-ansi: 6.0.1
+ '@babel/code-frame': 7.27.1
+ chokidar: 4.0.3
+ npm-run-path: 6.0.0
+ picocolors: 1.1.1
+ picomatch: 4.0.3
+ strip-ansi: 7.1.2
tiny-invariant: 1.3.3
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
- vscode-languageclient: 7.0.0
- vscode-languageserver: 7.0.0
- vscode-languageserver-textdocument: 1.0.12
- vscode-uri: 3.0.8
+ tinyglobby: 0.2.15
+ vite: 7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
+ vscode-uri: 3.1.0
optionalDependencies:
- eslint: 9.14.0(jiti@2.4.0)
- meow: 10.1.5
+ eslint: 9.37.0(jiti@2.6.1)
optionator: 0.9.4
- typescript: 5.6.3
- vue-tsc: 2.1.6(typescript@5.6.3)
-
- vite-plugin-inspect@0.8.7(@nuxt/kit@3.13.0(magicast@0.3.4)(rollup@4.24.4)(webpack-sources@3.2.3))(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)):
- dependencies:
- '@antfu/utils': 0.7.10
- '@rollup/pluginutils': 5.1.0(rollup@4.24.4)
- debug: 4.3.7(supports-color@9.4.0)
- error-stack-parser-es: 0.1.5
- fs-extra: 11.2.0
- open: 10.1.0
- perfect-debounce: 1.0.0
- picocolors: 1.0.1
- sirv: 2.0.4
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
+ typescript: 5.9.3
+
+ vite-plugin-inspect@11.3.3(@nuxt/kit@3.19.3(magicast@0.3.5))(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)):
+ dependencies:
+ ansis: 4.2.0
+ debug: 4.4.3
+ error-stack-parser-es: 1.0.5
+ ohash: 2.0.11
+ open: 10.2.0
+ perfect-debounce: 2.0.0
+ sirv: 3.0.2
+ unplugin-utils: 0.3.1
+ vite: 7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
+ vite-dev-rpc: 1.1.0(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))
optionalDependencies:
- '@nuxt/kit': 3.13.0(magicast@0.3.4)(rollup@4.24.4)(webpack-sources@3.2.3)
+ '@nuxt/kit': 3.19.3(magicast@0.3.5)
transitivePeerDependencies:
- - rollup
- supports-color
- vite-plugin-inspect@0.8.7(@nuxt/kit@3.14.159(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3))(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)):
+ vite-plugin-vue-tracer@1.0.1(vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)):
dependencies:
- '@antfu/utils': 0.7.10
- '@rollup/pluginutils': 5.1.0(rollup@4.24.4)
- debug: 4.3.7(supports-color@9.4.0)
- error-stack-parser-es: 0.1.5
- fs-extra: 11.2.0
- open: 10.1.0
- perfect-debounce: 1.0.0
- picocolors: 1.0.1
- sirv: 2.0.4
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
- optionalDependencies:
- '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.24.4)(webpack-sources@3.2.3)
- transitivePeerDependencies:
- - rollup
- - supports-color
-
- vite-plugin-vue-inspector@5.1.3(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)):
- dependencies:
- '@babel/core': 7.25.2
- '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2)
- '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2)
- '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2)
- '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.25.2)
- '@vue/compiler-dom': 3.4.38
- kolorist: 1.8.0
- magic-string: 0.30.11
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
- transitivePeerDependencies:
- - supports-color
+ estree-walker: 3.0.3
+ exsolve: 1.0.7
+ magic-string: 0.30.19
+ pathe: 2.0.3
+ source-map-js: 1.2.1
+ vite: 7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
+ vue: 3.5.22(typescript@5.9.3)
- vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0):
+ vite@5.4.20(@types/node@24.7.2)(sass@1.93.2)(terser@5.44.0):
dependencies:
esbuild: 0.21.5
- postcss: 8.4.47
- rollup: 4.24.4
+ postcss: 8.5.6
+ rollup: 4.52.4
optionalDependencies:
- '@types/node': 22.9.0
+ '@types/node': 24.7.2
fsevents: 2.3.3
- sass: 1.79.5
- terser: 5.36.0
+ sass: 1.93.2
+ terser: 5.44.0
- vitepress@1.5.0(@algolia/client-search@4.24.0)(@types/node@22.9.0)(axios@1.7.7)(change-case@5.4.4)(postcss@8.4.47)(sass@1.79.5)(search-insights@2.17.0)(sortablejs@1.14.0)(terser@5.36.0)(typescript@5.6.3):
+ vite@7.1.9(@types/node@24.7.2)(jiti@2.6.1)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1):
dependencies:
- '@docsearch/css': 3.6.2
- '@docsearch/js': 3.6.2(@algolia/client-search@4.24.0)(search-insights@2.17.0)
- '@iconify-json/simple-icons': 1.2.11
- '@shikijs/core': 1.22.2
- '@shikijs/transformers': 1.22.2
- '@shikijs/types': 1.22.2
+ esbuild: 0.25.10
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+ postcss: 8.5.6
+ rollup: 4.52.4
+ tinyglobby: 0.2.15
+ optionalDependencies:
+ '@types/node': 24.7.2
+ fsevents: 2.3.3
+ jiti: 2.6.1
+ sass: 1.93.2
+ terser: 5.44.0
+ yaml: 2.8.1
+
+ vitepress@1.6.4(@algolia/client-search@5.40.0)(@types/node@24.7.2)(axios@1.12.2)(change-case@5.4.4)(fuse.js@7.1.0)(postcss@8.5.6)(sass@1.93.2)(search-insights@2.17.3)(sortablejs@1.14.0)(terser@5.44.0)(typescript@5.9.3):
+ dependencies:
+ '@docsearch/css': 3.8.2
+ '@docsearch/js': 3.8.2(@algolia/client-search@5.40.0)(search-insights@2.17.3)
+ '@iconify-json/simple-icons': 1.2.54
+ '@shikijs/core': 2.5.0
+ '@shikijs/transformers': 2.5.0
+ '@shikijs/types': 2.5.0
'@types/markdown-it': 14.1.2
- '@vitejs/plugin-vue': 5.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
- '@vue/devtools-api': 7.6.3
- '@vue/shared': 3.5.12
- '@vueuse/core': 11.1.0(vue@3.5.12(typescript@5.6.3))
- '@vueuse/integrations': 11.1.0(axios@1.7.7)(change-case@5.4.4)(focus-trap@7.6.0)(sortablejs@1.14.0)(vue@3.5.12(typescript@5.6.3))
- focus-trap: 7.6.0
+ '@vitejs/plugin-vue': 5.2.4(vite@5.4.20(@types/node@24.7.2)(sass@1.93.2)(terser@5.44.0))(vue@3.5.22(typescript@5.9.3))
+ '@vue/devtools-api': 7.7.7
+ '@vue/shared': 3.5.22
+ '@vueuse/core': 12.8.2(typescript@5.9.3)
+ '@vueuse/integrations': 12.8.2(axios@1.12.2)(change-case@5.4.4)(focus-trap@7.6.5)(fuse.js@7.1.0)(sortablejs@1.14.0)(typescript@5.9.3)
+ focus-trap: 7.6.5
mark.js: 8.11.1
- minisearch: 7.1.0
- shiki: 1.22.2
- vite: 5.4.10(@types/node@22.9.0)(sass@1.79.5)(terser@5.36.0)
- vue: 3.5.12(typescript@5.6.3)
+ minisearch: 7.2.0
+ shiki: 2.5.0
+ vite: 5.4.20(@types/node@24.7.2)(sass@1.93.2)(terser@5.44.0)
+ vue: 3.5.22(typescript@5.9.3)
optionalDependencies:
- postcss: 8.4.47
+ postcss: 8.5.6
transitivePeerDependencies:
- '@algolia/client-search'
- '@types/node'
- '@types/react'
- - '@vue/composition-api'
- async-validator
- axios
- change-case
@@ -20148,96 +20698,61 @@ snapshots:
- typescript
- universal-cookie
- vscode-jsonrpc@6.0.0: {}
-
- vscode-languageclient@7.0.0:
- dependencies:
- minimatch: 3.1.2
- semver: 7.6.3
- vscode-languageserver-protocol: 3.16.0
-
- vscode-languageserver-protocol@3.16.0:
- dependencies:
- vscode-jsonrpc: 6.0.0
- vscode-languageserver-types: 3.16.0
-
- vscode-languageserver-textdocument@1.0.12: {}
-
- vscode-languageserver-types@3.16.0: {}
-
- vscode-languageserver@7.0.0:
- dependencies:
- vscode-languageserver-protocol: 3.16.0
-
- vscode-uri@3.0.8: {}
-
- vue-bundle-renderer@2.1.1:
- dependencies:
- ufo: 1.5.4
+ vscode-uri@3.1.0: {}
- vue-demi@0.14.10(vue@3.5.12(typescript@5.6.3)):
+ vue-bundle-renderer@2.2.0:
dependencies:
- vue: 3.5.12(typescript@5.6.3)
+ ufo: 1.6.1
vue-devtools-stub@0.1.0: {}
- vue-eslint-parser@9.4.3(eslint@9.14.0(jiti@2.4.0)):
+ vue-eslint-parser@10.2.0(eslint@9.37.0(jiti@2.6.1)):
dependencies:
- debug: 4.3.7(supports-color@9.4.0)
- eslint: 9.14.0(jiti@2.4.0)
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
+ debug: 4.4.3
+ eslint: 9.37.0(jiti@2.6.1)
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
esquery: 1.6.0
- lodash: 4.17.21
- semver: 7.6.3
+ semver: 7.7.3
transitivePeerDependencies:
- supports-color
- vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)):
+ vue-router@4.5.1(vue@3.5.22(typescript@5.9.3)):
dependencies:
'@vue/devtools-api': 6.6.4
- vue: 3.5.12(typescript@5.6.3)
-
- vue-tsc@2.1.6(typescript@5.6.3):
- dependencies:
- '@volar/typescript': 2.4.6
- '@vue/language-core': 2.1.6(typescript@5.6.3)
- semver: 7.6.3
- typescript: 5.6.3
- optional: true
+ vue: 3.5.22(typescript@5.9.3)
- vue3-tree-vue@2.0.11(vue@3.5.12(typescript@5.6.3)):
+ vue3-tree-vue@2.0.15(vue@3.5.22(typescript@5.9.3)):
dependencies:
- user: 0.0.0
- vue: 3.5.12(typescript@5.6.3)
+ vue: 3.5.22(typescript@5.9.3)
- vue@3.5.12(typescript@5.6.3):
+ vue@3.5.22(typescript@5.9.3):
dependencies:
- '@vue/compiler-dom': 3.5.12
- '@vue/compiler-sfc': 3.5.12
- '@vue/runtime-dom': 3.5.12
- '@vue/server-renderer': 3.5.12(vue@3.5.12(typescript@5.6.3))
- '@vue/shared': 3.5.12
+ '@vue/compiler-dom': 3.5.22
+ '@vue/compiler-sfc': 3.5.22
+ '@vue/runtime-dom': 3.5.22
+ '@vue/server-renderer': 3.5.22(vue@3.5.22(typescript@5.9.3))
+ '@vue/shared': 3.5.22
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.9.3
- vuedraggable@4.1.0(vue@3.5.12(typescript@5.6.3)):
+ vuedraggable@4.1.0(vue@3.5.22(typescript@5.9.3)):
dependencies:
sortablejs: 1.14.0
- vue: 3.5.12(typescript@5.6.3)
+ vue: 3.5.22(typescript@5.9.3)
- vuetify@3.7.0(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)):
+ vuetify@3.10.5(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)):
dependencies:
- vue: 3.5.12(typescript@5.6.3)
+ vue: 3.5.22(typescript@5.9.3)
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.9.3
- vuetify@3.7.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)):
+ vuetify@3.7.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)):
dependencies:
- vue: 3.5.12(typescript@5.6.3)
+ vue: 3.5.22(typescript@5.9.3)
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.9.3
w3c-keyname@2.2.8: {}
@@ -20247,95 +20762,99 @@ snapshots:
walk-up-path@3.0.1: {}
- wcwidth@1.0.1:
+ walker@1.0.8:
dependencies:
- defaults: 1.0.4
+ makeerror: 1.0.12
- web-resource-inliner@6.0.1(encoding@0.1.13):
+ watchpack@2.4.4:
dependencies:
- ansi-colors: 4.1.3
- escape-goat: 3.0.0
- htmlparser2: 5.0.1
- mime: 2.6.0
- node-fetch: 2.7.0(encoding@0.1.13)
- valid-data-url: 3.0.1
- transitivePeerDependencies:
- - encoding
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+
+ wcwidth@1.0.1:
+ dependencies:
+ defaults: 1.0.4
- web-streams-polyfill@4.0.0-beta.3: {}
+ web-streams-polyfill@3.3.3: {}
webidl-conversions@3.0.1: {}
- webidl-conversions@7.0.0: {}
+ webidl-conversions@8.0.0: {}
- webpack-sources@3.2.3: {}
+ webpack-node-externals@3.0.0: {}
+
+ webpack-sources@3.3.3: {}
webpack-virtual-modules@0.6.2: {}
+ webpack@5.100.2:
+ dependencies:
+ '@types/eslint-scope': 3.7.7
+ '@types/estree': 1.0.8
+ '@types/json-schema': 7.0.15
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/wasm-edit': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ acorn: 8.15.0
+ acorn-import-phases: 1.0.4(acorn@8.15.0)
+ browserslist: 4.26.3
+ chrome-trace-event: 1.0.4
+ enhanced-resolve: 5.18.3
+ es-module-lexer: 1.7.0
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.1
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 4.3.3
+ tapable: 2.3.0
+ terser-webpack-plugin: 5.3.14(webpack@5.100.2)
+ watchpack: 2.4.4
+ webpack-sources: 3.3.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+
whatwg-encoding@3.1.1:
dependencies:
iconv-lite: 0.6.3
whatwg-mimetype@4.0.0: {}
- whatwg-url@14.0.0:
+ whatwg-url@15.1.0:
dependencies:
- tr46: 5.0.0
- webidl-conversions: 7.0.0
+ tr46: 6.0.0
+ webidl-conversions: 8.0.0
whatwg-url@5.0.0:
dependencies:
tr46: 0.0.3
webidl-conversions: 3.0.1
- which-boxed-primitive@1.0.2:
- dependencies:
- is-bigint: 1.0.4
- is-boolean-object: 1.1.2
- is-number-object: 1.0.7
- is-string: 1.0.7
- is-symbol: 1.0.4
-
- which-module@2.0.1: {}
-
- which-typed-array@1.1.15:
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-tostringtag: 1.0.2
-
which@2.0.2:
dependencies:
isexe: 2.0.0
- which@3.0.1:
- dependencies:
- isexe: 2.0.0
-
which@4.0.0:
dependencies:
isexe: 3.1.1
- wide-align@1.1.5:
- dependencies:
- string-width: 4.2.3
-
- widest-line@4.0.1:
+ which@5.0.0:
dependencies:
- string-width: 5.1.2
+ isexe: 3.1.1
widest-line@5.0.0:
dependencies:
string-width: 7.2.0
- wkx@0.5.0:
- dependencies:
- '@types/node': 22.9.0
-
word-wrap@1.2.5: {}
+ wordwrap@1.0.0: {}
+
wrap-ansi@6.2.0:
dependencies:
ansi-styles: 4.3.0
@@ -20350,15 +20869,15 @@ snapshots:
wrap-ansi@8.1.0:
dependencies:
- ansi-styles: 6.2.1
+ ansi-styles: 6.2.3
string-width: 5.1.2
- strip-ansi: 7.1.0
+ strip-ansi: 7.1.2
- wrap-ansi@9.0.0:
+ wrap-ansi@9.0.2:
dependencies:
- ansi-styles: 6.2.1
+ ansi-styles: 6.2.3
string-width: 7.2.0
- strip-ansi: 7.1.0
+ strip-ansi: 7.1.2
wrappy@1.0.2: {}
@@ -20367,72 +20886,36 @@ snapshots:
imurmurhash: 0.1.4
signal-exit: 4.1.0
- ws@8.18.0: {}
+ ws@8.18.3: {}
+
+ wsl-utils@0.1.0:
+ dependencies:
+ is-wsl: 3.1.0
xml-name-validator@4.0.0: {}
xml-name-validator@5.0.0: {}
- xml2js@0.6.2:
- dependencies:
- sax: 1.2.1
- xmlbuilder: 11.0.1
-
- xmlbuilder@11.0.1: {}
-
xmlchars@2.2.0: {}
xtend@4.0.2: {}
- y18n@4.0.3: {}
-
y18n@5.0.8: {}
yallist@3.1.1: {}
yallist@4.0.0: {}
- yaml-ast-parser@0.0.43: {}
-
- yaml@2.5.0: {}
-
- yargs-parser@18.1.3:
- dependencies:
- camelcase: 5.3.1
- decamelize: 1.2.0
+ yallist@5.0.0: {}
- yargs-parser@20.2.9: {}
+ yaml@2.8.1: {}
yargs-parser@21.1.1: {}
- yargs@15.4.1:
- dependencies:
- cliui: 6.0.0
- decamelize: 1.2.0
- find-up: 4.1.0
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- require-main-filename: 2.0.0
- set-blocking: 2.0.0
- string-width: 4.2.3
- which-module: 2.0.1
- y18n: 4.0.3
- yargs-parser: 18.1.3
-
- yargs@16.2.0:
- dependencies:
- cliui: 7.0.4
- escalade: 3.1.2
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- string-width: 4.2.3
- y18n: 5.0.8
- yargs-parser: 20.2.9
-
yargs@17.7.2:
dependencies:
cliui: 8.0.1
- escalade: 3.1.2
+ escalade: 3.2.0
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
@@ -20444,31 +20927,44 @@ snapshots:
buffer-crc32: 0.2.13
fd-slicer: 1.1.0
- yn@5.0.0: {}
+ yn@3.1.1: {}
+
+ yn@5.1.0: {}
yocto-queue@0.1.0: {}
- yocto-queue@1.1.1: {}
+ yocto-queue@1.2.1: {}
+
+ yoctocolors-cjs@2.1.3: {}
- yoctocolors-cjs@2.1.2: {}
+ yoctocolors@2.1.2: {}
- yoctocolors@2.1.1: {}
+ yoctodelay@2.0.0: {}
- yoctodelay@1.2.0: {}
+ youch-core@0.3.3:
+ dependencies:
+ '@poppinss/exception': 1.2.2
+ error-stack-parser-es: 1.0.5
+
+ youch@4.1.0-beta.11:
+ dependencies:
+ '@poppinss/colors': 4.1.5
+ '@poppinss/dumper': 0.6.4
+ '@speed-highlight/core': 1.2.7
+ cookie: 1.0.2
+ youch-core: 0.3.3
- yup@1.4.0:
+ yup@1.7.1:
dependencies:
property-expr: 2.0.6
tiny-case: 1.0.3
toposort: 2.0.2
type-fest: 2.19.0
- zhead@2.2.4: {}
-
zip-stream@6.0.1:
dependencies:
archiver-utils: 5.0.2
compress-commons: 6.0.2
- readable-stream: 4.5.2
+ readable-stream: 4.7.0
zwitch@2.0.4: {}
diff --git a/scripts/boot.js b/scripts/boot.js
index 1b1f035..973bc5d 100644
--- a/scripts/boot.js
+++ b/scripts/boot.js
@@ -65,7 +65,7 @@ const dbConfig = env.DATABASE_URI
: {
host: env.DATABASE_HOST || 'localhost',
port: env.DATABASE_PORT || 5432,
- user: env.DATABASE_USER,
+ user: env.DATABASE_USERNAME,
password: env.DATABASE_PASSWORD,
database: env.DATABASE_NAME,
};
@@ -73,7 +73,14 @@ await testDatabaseConnection(dbConfig, 10, 3000);
dbConnectionLoader.stop();
const appCommands = await Promise.all(
- ['backend', 'frontend'].map(async (name, index) => {
+ ['backend', 'frontend', 'api-client'].map(async (name, index) => {
+ if (name === 'api-client') {
+ return {
+ name,
+ prefixColor: 'yellow',
+ command: `pnpm api:client:watch`,
+ };
+ }
return {
name,
prefixColor: ['blue', 'green'][index],
diff --git a/scripts/setup/set-env.js b/scripts/setup/set-env.js
index fc78ce4..3275610 100644
--- a/scripts/setup/set-env.js
+++ b/scripts/setup/set-env.js
@@ -21,7 +21,6 @@ const setAppEnv = (opts) => ({
DATABASE_NAME: opts.dbName,
DATABASE_USER: opts.user,
DATABASE_PASSWORD: opts.password,
- STORAGE_PATH: `${PROJECT_DIR}/apps/backend/data`,
};
return {
env,
@@ -34,7 +33,7 @@ export default async function ({ dbPrefix }) {
try {
const dbConfig = await getDatabaseClient();
const configs = [
- setAppEnv({ ...dbConfig, dbName: getDBName('app_starter', dbPrefix) }),
+ setAppEnv({ ...dbConfig, dbName: getDBName('odma', dbPrefix) }),
];
const afterHooks = [];
await Promise.all(
diff --git a/tests/api/BaseClient.ts b/tests/api/BaseClient.ts
index b3ccddc..d3073e0 100644
--- a/tests/api/BaseClient.ts
+++ b/tests/api/BaseClient.ts
@@ -25,9 +25,18 @@ export default class BaseClient {
private signIn = async () => {
const { email, password } = TEST_USER;
BaseClient.req = await Playwright.request.newContext();
- await BaseClient.req.post(new URL('/api/users/login', this.baseURL).href, {
- headers: { 'Content-Type': 'application/json' },
- data: { email, password },
- });
+ const response = await BaseClient.req.post(
+ new URL('/api/auth/login', this.baseURL).href,
+ {
+ headers: { 'Content-Type': 'application/json' },
+ data: { email, password },
+ },
+ );
+ if (!response.ok()) {
+ const responseText = await response.text();
+ throw new Error(
+ `Authentication failed: ${response.status()} ${responseText}`,
+ );
+ }
};
}
diff --git a/tests/package.json b/tests/package.json
index 2c2f216..8a913a4 100644
--- a/tests/package.json
+++ b/tests/package.json
@@ -8,19 +8,19 @@
"e2e:a11y": "pnpm playwright test --project=a11y --project=setup"
},
"devDependencies": {
- "@axe-core/playwright": "4.10.0",
- "@percy/cli": "^1.30.1",
- "@percy/playwright": "^1.0.6",
- "@playwright/test": "1.46.1",
- "@types/node": "^22.9.0"
+ "@axe-core/playwright": "4.10.2",
+ "@percy/cli": "^1.31.3",
+ "@percy/playwright": "^1.0.9",
+ "@playwright/test": "1.56.0",
+ "@types/node": "^24.7.2"
},
"dependencies": {
- "@faker-js/faker": "^8.4.1",
- "date-fns": "^3.6.0",
- "dotenv": "^16.4.5",
- "jsdom": "^24.1.0",
+ "@faker-js/faker": "^10.0.0",
+ "date-fns": "^4.1.0",
+ "dotenv": "^17.2.3",
+ "jsdom": "^27.0.0",
"lodash": "^4.17.21",
- "mailtrap": "^3.4.0",
+ "mailtrap": "^4.3.0",
"@app/seed": "workspace:^"
}
}
diff --git a/tests/playwright.config.ts b/tests/playwright.config.ts
index 62893d4..410a24e 100644
--- a/tests/playwright.config.ts
+++ b/tests/playwright.config.ts
@@ -3,7 +3,7 @@ import { defineConfig, devices } from '@playwright/test';
dotenv.config();
-if (!process.env.APP_URL) process.env.APP_URL = 'http://localhost:3001';
+if (!process.env.APP_URL) process.env.APP_URL = 'http://localhost:3000';
// See https://playwright.dev/docs/test-configuration.
export default defineConfig({
diff --git a/tests/pom/admin/UserManagement.ts b/tests/pom/admin/UserManagement.ts
index 1f68466..0dc96fc 100644
--- a/tests/pom/admin/UserManagement.ts
+++ b/tests/pom/admin/UserManagement.ts
@@ -160,6 +160,7 @@ export class UserManagement {
lastName: string = 'Doe',
role: 'Admin' | 'User' = 'Admin',
) {
+ await this.el.waitFor({ state: 'visible' });
await this.addBtn.click();
const dialog = new UserDialog(this.page);
await dialog.edit(email, firstName, lastName, role);
diff --git a/tests/pom/auth/ForgotPassword.ts b/tests/pom/auth/ForgotPassword.ts
index 9beb622..f237a6d 100644
--- a/tests/pom/auth/ForgotPassword.ts
+++ b/tests/pom/auth/ForgotPassword.ts
@@ -29,7 +29,7 @@ export class ForgotPassword {
}
async fetchResetLink(email: string) {
- const linkTitle = 'Reset password';
+ const linkTitle = 'Reset Password';
const resetLink = await getAnchorFromLastRecievedEmail(email, linkTitle);
expect(resetLink.textContent).toBe(linkTitle);
return resetLink.href;
diff --git a/tests/pom/auth/ResetPassword.ts b/tests/pom/auth/ResetPassword.ts
index a0ae031..10c7324 100644
--- a/tests/pom/auth/ResetPassword.ts
+++ b/tests/pom/auth/ResetPassword.ts
@@ -26,13 +26,14 @@ export class ResetPassword {
}
async resetPassword(password: string) {
+ await expect(this.passwordInput).toBeVisible();
await this.fillPassword(password);
await this.fillPasswordConfirmation(password);
await this.submitBtn.click();
}
async fetchInviteLink(email: string) {
- const linkTitle = 'Complete registration';
+ const linkTitle = 'Set Up Account';
const resetLink = await getAnchorFromLastRecievedEmail(email, linkTitle);
expect(resetLink.textContent).toBe(linkTitle);
return resetLink.href;
diff --git a/tests/pom/common/AppBar.ts b/tests/pom/common/AppBar.ts
index 95fc834..3a5df37 100644
--- a/tests/pom/common/AppBar.ts
+++ b/tests/pom/common/AppBar.ts
@@ -4,13 +4,13 @@ export class AppBar {
readonly page: Page;
readonly el: Locator;
readonly adminLink: Locator;
- readonly catalogLink: Locator;
+ readonly homeLink: Locator;
readonly userMenu: Locator;
constructor(page: Page) {
this.page = page;
this.el = page.locator('#mainAppBar');
- this.catalogLink = this.el.getByRole('link', { name: 'Catalog' });
+ this.homeLink = this.el.getByRole('link', { name: 'Home' });
this.adminLink = this.el.getByRole('link', { name: 'Admin' });
this.userMenu = this.el.getByLabel('User menu');
}
diff --git a/tests/specs/functional/admin/user-management.spec.ts b/tests/specs/functional/admin/user-management.spec.ts
index 2a29fe7..7a7889c 100644
--- a/tests/specs/functional/admin/user-management.spec.ts
+++ b/tests/specs/functional/admin/user-management.spec.ts
@@ -7,12 +7,20 @@ import {
UserManagement,
} from '../../../pom/admin/UserManagement.ts';
import SeedClient from '../../../api/SeedClient.ts';
+import { SignIn } from '../../../pom/auth/index.ts';
+import { TEST_USER } from '../../../fixtures/auth.ts';
const DEFAULT_USERS_PER_PAGE = 10;
test.beforeEach(async ({ page }) => {
await SeedClient.resetDatabase();
+ // Re-authenticate after database reset
+ const authPage = new SignIn(page);
+ await authPage.visit();
+ await authPage.signIn(TEST_USER.email, TEST_USER.password);
+ await page.waitForLoadState('networkidle');
await page.goto(UserManagement.route);
+ await page.waitForLoadState('networkidle');
});
test('should be able to add new user to the platform', async ({ page }) => {
diff --git a/tests/specs/functional/auth/auth.spec.ts b/tests/specs/functional/auth/auth.spec.ts
index fd10fe5..46ead39 100644
--- a/tests/specs/functional/auth/auth.spec.ts
+++ b/tests/specs/functional/auth/auth.spec.ts
@@ -6,16 +6,24 @@ import ApiClient from '../../../api/ApiClient';
import { AppBar } from '../../../pom/common/AppBar';
import { TEST_USER as DEFAULT_USER } from '../../../fixtures/auth';
-const { OIDC_TEST_USER_EMAIL, OIDC_TEST_USER_PASSWORD } = process.env;
+const {
+ OIDC_TEST_USER_EMAIL: _OIDC_TEST_USER_EMAIL,
+ OIDC_TEST_USER_PASSWORD: _OIDC_TEST_USER_PASSWORD,
+} = process.env;
interface UserData {
email: string;
- password: string;
+ firstName?: string;
+ lastName?: string;
+ role: string;
+ password?: string;
}
const getMockUserData = (): UserData => ({
email: faker.internet.email({ provider: 'example.com' }),
- password: faker.internet.password(),
+ firstName: faker.person.firstName(),
+ lastName: faker.person.lastName(),
+ role: 'ADMIN',
});
const userAPI = new ApiClient('/api/users');
@@ -27,9 +35,11 @@ const createUser = async (page): Promise => {
const resetPasswordPage = new ResetPassword(page);
const inviteLink = await resetPasswordPage.fetchInviteLink(userData.email);
await page.goto(inviteLink);
- await resetPasswordPage.resetPassword(userData.password);
+ await page.waitForLoadState('networkidle');
+ const password = 'Test1234!';
+ await resetPasswordPage.resetPassword(password);
await page.goto(initialLocation);
- return userData;
+ return { ...userData, password };
};
test.beforeEach(async ({ page }) => {
@@ -43,29 +53,18 @@ test('sign in page has a title set', async ({ page }) => {
await expect(page).toHaveTitle(/Sign in/);
});
-test('should be able to sign in with OIDC', async ({ page }) => {
- test.skip(
- !OIDC_TEST_USER_EMAIL || !OIDC_TEST_USER_PASSWORD,
- 'OIDC is not enabled',
- );
- const signInPage = new SignIn(page);
- await signInPage.visit();
- await signInPage.oidcSignIn(OIDC_TEST_USER_EMAIL, OIDC_TEST_USER_PASSWORD);
- await expect(page).toHaveTitle('Catalog');
-});
-
test('should be able to sign in', async ({ page }) => {
const signInPage = new SignIn(page);
await signInPage.visit();
await signInPage.signIn(DEFAULT_USER.email, DEFAULT_USER.password);
- await expect(page).toHaveTitle('Catalog');
+ await expect(page).toHaveTitle('Home');
});
test('should be able to sign out', async ({ page }) => {
const signInPage = new SignIn(page);
await signInPage.visit();
await signInPage.signIn(DEFAULT_USER.email, DEFAULT_USER.password);
- await expect(page).toHaveTitle('Catalog');
+ await expect(page).toHaveTitle('Home');
const appBar = new AppBar(page);
await appBar.logout();
await expect(page).toHaveTitle(/Sign in/);
@@ -74,7 +73,7 @@ test('should be able to sign out', async ({ page }) => {
test('sign in should fail in case of wrong credentials', async ({ page }) => {
const signInPage = new SignIn(page);
await signInPage.visit();
- await signInPage.signIn(DEFAULT_USER.email, faker.internet.password());
+ await signInPage.signIn(DEFAULT_USER.email, 'Test1234!');
await expect(
page.getByText('The email or password you entered is incorrect.'),
).toBeVisible();
@@ -101,15 +100,11 @@ test('should be able to reset password', async ({ page }) => {
// Fetch reset link from email
const resetLink = await forgotPasswordPage.fetchResetLink(user.email);
await page.goto(resetLink);
+ await page.waitForLoadState('networkidle');
// Set new password
const resetPasswordPage = new ResetPassword(page);
- const newPassword = faker.internet.password();
+ const newPassword = 'Test1234!';
await resetPasswordPage.resetPassword(newPassword);
await signInPage.signIn(user.email, newPassword);
- await expect(page).toHaveTitle('Catalog');
-});
-
-test.afterAll(async () => {
- // Delete all newly created users
- await userAPI.dispose();
+ await expect(page).toHaveTitle('Home');
});
diff --git a/tests/specs/functional/common/top-navigation.spec.ts b/tests/specs/functional/common/top-navigation.spec.ts
index 89e29d4..814d885 100644
--- a/tests/specs/functional/common/top-navigation.spec.ts
+++ b/tests/specs/functional/common/top-navigation.spec.ts
@@ -1,10 +1,17 @@
import { expect, test } from '@playwright/test';
import { AppBar } from '../../../pom/common/AppBar.ts';
import SeedClient from '../../../api/SeedClient.ts';
+import { SignIn } from '../../../pom/auth/SignIn.ts';
+import { TEST_USER } from '../../../fixtures/auth.ts';
test.beforeEach(async ({ page }) => {
await SeedClient.resetDatabase();
+ const authPage = new SignIn(page);
+ await authPage.visit();
+ await authPage.signIn(TEST_USER.email, TEST_USER.password);
+ await page.waitForLoadState('networkidle');
await page.goto('/');
+ await page.waitForLoadState('networkidle');
});
test('should be able to access admin page', async ({ page }) => {
@@ -14,13 +21,12 @@ test('should be able to access admin page', async ({ page }) => {
await expect(page.getByText('System users')).toBeVisible();
});
-test('should be able to navigate to the catalog page', async ({ page }) => {
+test('should be able to navigate to the home page', async ({ page }) => {
const appBar = new AppBar(page);
await appBar.adminLink.click();
await expect(page.getByText('System users')).toBeVisible();
- await appBar.catalogLink.click();
- await expect(page).toHaveTitle('Catalog');
- await expect(page.getByText('0 available repositories')).toBeVisible();
+ await appBar.homeLink.click();
+ await expect(page).toHaveTitle('Home');
});
test.afterAll(async () => {
diff --git a/tests/specs/functional/common/user-profile.spec.ts b/tests/specs/functional/common/user-profile.spec.ts
index 4e5a6a8..192e6bf 100644
--- a/tests/specs/functional/common/user-profile.spec.ts
+++ b/tests/specs/functional/common/user-profile.spec.ts
@@ -4,6 +4,8 @@ import userSeed from '@app/seed/user.json';
import { ChangePasswordDialog } from '../../../pom/common/ChangePasswordDiaog';
import SeedClient from '../../../api/SeedClient';
+import { SignIn } from '../../../pom/auth/index.ts';
+import { TEST_USER } from '../../../fixtures/auth.ts';
import { UserProfile } from '../../../pom/common/UserProfile';
interface UserData {
@@ -12,15 +14,21 @@ interface UserData {
lastName: string;
}
-const getMockUserData = (): UserData => ({
- email: faker.internet.email({ provider: 'example.com' }).toLowerCase(),
+const getTestUserData = (): UserData => ({
+ email: TEST_USER.email,
firstName: faker.person.firstName(),
lastName: faker.person.lastName(),
});
test.beforeEach(async ({ page }) => {
await SeedClient.resetDatabase();
+ // Re-authenticate after database reset
+ const authPage = new SignIn(page);
+ await authPage.visit();
+ await authPage.signIn(TEST_USER.email, TEST_USER.password);
+ await page.waitForLoadState('networkidle');
await page.goto(UserProfile.route);
+ await page.waitForLoadState('networkidle');
});
test('should be able to access profile page', async ({ page }) => {
@@ -29,7 +37,7 @@ test('should be able to access profile page', async ({ page }) => {
test('should be able to update user', async ({ page }) => {
const profilePage = new UserProfile(page);
- const { email, firstName, lastName } = getMockUserData();
+ const { email, firstName, lastName } = getTestUserData();
await profilePage.updateProfile(email, firstName, lastName);
await profilePage.hasVisibleStatusMessage('User information updated!');
await page.reload();
@@ -41,7 +49,7 @@ test('should be able to update user', async ({ page }) => {
test('updating user should fail if email already exists', async ({ page }) => {
const { data: user } = await SeedClient.seedUser();
const email = user.email.toLowerCase();
- const { firstName, lastName } = getMockUserData();
+ const { firstName, lastName } = getTestUserData();
const profilePage = new UserProfile(page);
await profilePage.updateProfile(email, firstName, lastName);
await profilePage.hasVisibleAlert('Email is already taken');
@@ -121,7 +129,7 @@ test('updating password should fail if password confirmation does not match', as
const passwordDialog = new ChangePasswordDialog(page);
await passwordDialog.open();
await passwordDialog.fillCurrentPassword(userSeed[0].password);
- await passwordDialog.fillNewPassword(faker.internet.password());
+ await passwordDialog.fillNewPassword('Test1234!');
await passwordDialog.fillPasswordConfirmation(faker.internet.password());
await passwordDialog.save();
await passwordDialog.hasVisibleAlert('Password confirmation does not match');
@@ -133,7 +141,7 @@ test('updating password should fail if current password is incorrect', async ({
const passwordDialog = new ChangePasswordDialog(page);
await passwordDialog.open();
await passwordDialog.fillCurrentPassword(faker.internet.password());
- const newPassword = faker.internet.password();
+ const newPassword = 'Test1234!';
await passwordDialog.fillNewPassword(newPassword);
await passwordDialog.fillPasswordConfirmation(newPassword);
await passwordDialog.save();
@@ -144,10 +152,11 @@ test('should be able to update password', async ({ page }) => {
const passwordDialog = new ChangePasswordDialog(page);
await passwordDialog.open();
await passwordDialog.fillCurrentPassword(userSeed[0].password);
- const newPassword = faker.internet.password();
+ const newPassword = 'Test1234!';
await passwordDialog.fillNewPassword(newPassword);
await passwordDialog.fillPasswordConfirmation(newPassword);
await passwordDialog.save();
+ await page.waitForLoadState('networkidle');
await expect(page).toHaveTitle('Sign in');
});
diff --git a/tests/specs/setup.spec.ts b/tests/specs/setup.spec.ts
index 959af9f..e44179e 100644
--- a/tests/specs/setup.spec.ts
+++ b/tests/specs/setup.spec.ts
@@ -8,6 +8,6 @@ setup('authenticate', async ({ page }) => {
await authPage.visit();
await authPage.signIn(TEST_USER.email, TEST_USER.password);
await page.waitForLoadState('networkidle');
- await expect(page).toHaveTitle(/Catalog/);
+ await expect(page).toHaveTitle(/Home/);
await page.context().storageState({ path: '.auth.json' });
});