feat: Finally support a docker compose files that works (#555)

This commit is contained in:
Rotimi Best
2025-05-20 01:37:58 +01:00
committed by GitHub
parent 512fe06722
commit 9aeefc9f4f
15 changed files with 215 additions and 605 deletions
+2 -2
View File
@@ -9,9 +9,9 @@ tasks:
cd ../dashboard &&
cp .env.example .env &&
cd ../.. &&
pnpm supabase start
pnpm supabase:start
command: |
SUPABASE_ANON_KEY=$(pnpm supabase status | grep "anon key" | awk '{print $3}' | tr -d '\\n') &&
SUPABASE_ANON_KEY=$(pnpm supabase:status | grep "anon key" | awk '{print $3}' | tr -d '\\n') &&
cd apps/dashboard &&
sed -i "s/PUBLIC_SUPABASE_ANON_KEY=.*/PUBLIC_SUPABASE_ANON_KEY=$SUPABASE_ANON_KEY/g" .env &&
cd ../.. &&
-97
View File
@@ -1,97 +0,0 @@
# Build stage
FROM node:18-alpine AS builder
# Install pnpm
RUN npm install -g [email protected] && \
pnpm config set use-git-checks false && \
pnpm config set git-checks false && \
apk add --no-cache git
# Set working directory
WORKDIR /app
# Copy root package files
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
# Copy workspace package files
COPY apps/dashboard/package.json ./apps/dashboard/
COPY packages/shared/package.json ./packages/shared/
COPY packages/tsconfig/package.json ./packages/tsconfig/
# Set environment variables for build
ENV IS_SELFHOSTED=true
ENV DEPLOYMENT_PROVIDER=docker
ENV NODE_OPTIONS="--max-old-space-size=40960"
ENV VITE_DISABLE_GIT=true
ENV SENTRY_DISABLE_GIT=true
ENV GIT_TERMINAL_PROMPT=0
ENV GIT_ASKPASS=/bin/true
ENV VITE_DEBUG=true
# Install all dependencies (including dev dependencies)
RUN pnpm install --frozen-lockfile
# Copy source code
COPY . .
RUN echo "Root node_modules contents:" && \
ls -la ./node_modules && \
echo "\nDashboard node_modules contents:" && \
ls -la ./apps/dashboard/node_modules
# Set production environment for build
ENV NODE_ENV=production
ENV DEPLOYMENT_PROVIDER=docker
ENV IS_SELFHOSTED=true
RUN git init && \
git config --global user.email "[email protected]" && \
git config --global user.name "Crom CI" && \
git add . && \
git commit -m "Initial commit for build"
# Build the application with increased timeout
RUN pnpm build --filter=dashboard -- --timeout 600000
# Production stage
FROM node:18-alpine AS runner
# Install pnpm
RUN npm install -g [email protected]
# Set working directory
WORKDIR /app
# Copy only necessary files from builder
COPY --from=builder /app/package.json /app/pnpm-lock.yaml ./
COPY --from=builder /app/apps/dashboard/build ./apps/dashboard/build
COPY --from=builder /app/apps/dashboard/package.json ./apps/dashboard/
COPY --from=builder /app/packages/shared ./packages/shared
COPY --from=builder /app/packages/tsconfig ./packages/tsconfig
# Install production dependencies only
RUN pnpm i --prod --filter=dashboard
# Set environment variables
ENV NODE_ENV=production
ENV IS_SELFHOSTED=true
ENV DEPLOYMENT_PROVIDER=docker
ENV PUBLIC_SUPABASE_URL=$PUBLIC_SUPABASE_URL
ENV PUBLIC_SUPABASE_ANON_KEY=$PUBLIC_SUPABASE_ANON_KEY
ENV PRIVATE_SUPABASE_SERVICE_ROLE=$PRIVATE_SUPABASE_SERVICE_ROLE
ENV PRIVATE_APP_HOST=$PRIVATE_APP_HOST
ENV PRIVATE_APP_SUBDOMAINS=$PRIVATE_APP_SUBDOMAINS
ENV UNSPLASH_API_KEY=$UNSPLASH_API_KEY
ENV OPENAI_API_KEY=$OPENAI_API_KEY
ENV PUBLIC_SERVER_URL=$PUBLIC_SERVER_URL
ENV PUBLIC_IP_REGISTRY_KEY=$PUBLIC_IP_REGISTRY_KEY
ENV NODE_OPTIONS="--max-old-space-size=40960"
# Expose port
EXPOSE 5000
# Set working directory for the application
WORKDIR /app/apps/dashboard
# Start the application
CMD ["node", "build"]
+3 -3
View File
@@ -136,7 +136,7 @@ To get the environmental variables for supabase continue to step(5)
- Go to the project directory in your terminal and start Supabase
```bash
pnpm supabase start
pnpm supabase:start
```
- You should get a result like this
@@ -154,7 +154,7 @@ To get the environmental variables for supabase continue to step(5)
service_role key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImV4cCI6MTk4MzgxMjk5Nn0.EGIM96RAZx35lJzdJsyH-qQwv8Hdp7fsn3W0YpN81IU
```
- Add Supabase environment variables into `app/dashboard` folder, which should be taken from the result of `pnpm supabase start`
- Add Supabase environment variables into `app/dashboard` folder, which should be taken from the result of `pnpm supabase:start`
```env
PUBLIC_SUPABASE_URL=<API URL>
@@ -162,7 +162,7 @@ To get the environmental variables for supabase continue to step(5)
PRIVATE_SUPABASE_SERVICE_ROLE=<service_role key>
```
- To view the Supabase studio, open the Studio URL from the result of `pnpm supabase start`
- To view the Supabase studio, open the Studio URL from the result of `pnpm supabase:start`
7. Run all projects (in development mode)
@@ -1,5 +1,18 @@
FROM node:slim AS app
# Add build arguments
ARG PUBLIC_SUPABASE_ANON_KEY
ARG PUBLIC_SUPABASE_URL
ARG CLOUDFLARE_BUCKET_DOMAIN
ARG CLOUDFLARE_ACCESS_KEY
ARG CLOUDFLARE_SECRET_ACCESS_KEY
ARG CLOUDFLARE_ACCOUNT_ID
ARG CLOUDFLARE_BUCKET_ID
ARG SMTP_HOST
ARG SMTP_USER
ARG SMTP_PASSWORD
ARG SMTP_PORT
RUN mkdir /app
WORKDIR /app
@@ -32,7 +45,20 @@ COPY ./package.json /app
RUN npm install --frozen-lockfile
COPY . /app
ENV PORT 3002
# Set environment variables from build args
ENV NODE_ENV=production \
PUBLIC_SUPABASE_ANON_KEY=$PUBLIC_SUPABASE_ANON_KEY \
PUBLIC_SUPABASE_URL=$PUBLIC_SUPABASE_URL \
CLOUDFLARE_BUCKET_DOMAIN=$CLOUDFLARE_BUCKET_DOMAIN \
CLOUDFLARE_ACCESS_KEY=$CLOUDFLARE_ACCESS_KEY \
CLOUDFLARE_SECRET_ACCESS_KEY=$CLOUDFLARE_SECRET_ACCESS_KEY \
CLOUDFLARE_ACCOUNT_ID=$CLOUDFLARE_ACCOUNT_ID \
CLOUDFLARE_BUCKET_ID=$CLOUDFLARE_BUCKET_ID \
SMTP_HOST=$SMTP_HOST \
SMTP_USER=$SMTP_USER \
SMTP_PASSWORD=$SMTP_PASSWORD \
SMTP_PORT=$SMTP_PORT \
PORT=3002
EXPOSE 3002
+83
View File
@@ -0,0 +1,83 @@
# ----------- Build Stage -----------
FROM node:18.17.0-alpine AS builder
# Add build arguments
ARG PUBLIC_SUPABASE_URL
ARG PUBLIC_SUPABASE_ANON_KEY
ARG PRIVATE_SUPABASE_SERVICE_ROLE
ARG PRIVATE_APP_HOST
ARG PRIVATE_APP_SUBDOMAINS
ARG UNSPLASH_API_KEY
ARG OPENAI_API_KEY
ARG PUBLIC_SERVER_URL
ARG PUBLIC_IP_REGISTRY_KEY
WORKDIR /cio
# Install pnpm
RUN corepack enable && corepack prepare pnpm@latest --activate
# Copy monorepo files
COPY pnpm-lock.yaml package.json pnpm-workspace.yaml ./
COPY apps/dashboard/package.json apps/dashboard/
COPY packages/tsconfig ./packages/tsconfig
COPY packages/shared ./packages/shared
# Install all dependencies (monorepo context)
RUN pnpm install
# Copy the rest of the dashboard app
COPY apps/dashboard ./apps/dashboard
# Set env vars for SvelteKit to use Node adapter
ENV IS_SELFHOSTED=true \
DEPLOYMENT_PROVIDER=docker \
PUBLIC_SUPABASE_URL=$PUBLIC_SUPABASE_URL \
PUBLIC_SUPABASE_ANON_KEY=$PUBLIC_SUPABASE_ANON_KEY \
PRIVATE_SUPABASE_SERVICE_ROLE=$PRIVATE_SUPABASE_SERVICE_ROLE \
PRIVATE_APP_HOST=$PRIVATE_APP_HOST \
PRIVATE_APP_SUBDOMAINS=$PRIVATE_APP_SUBDOMAINS \
UNSPLASH_API_KEY=$UNSPLASH_API_KEY \
OPENAI_API_KEY=$OPENAI_API_KEY \
PUBLIC_SERVER_URL=$PUBLIC_SERVER_URL \
PUBLIC_IP_REGISTRY_KEY=$PUBLIC_IP_REGISTRY_KEY
# Build the dashboard app
WORKDIR /cio/apps/dashboard
RUN pnpm install
RUN NODE_OPTIONS=--max-old-space-size=4096 pnpm build
# ----------- Production Stage -----------
FROM node:18.17.0-alpine AS runner
WORKDIR /app
# Install pnpm
RUN corepack enable && corepack prepare pnpm@latest --activate
# Copy only production node_modules for dashboard
COPY --from=builder ./cio/node_modules ./node_modules
COPY --from=builder ./cio/package.json ./package.json
COPY --from=builder ./cio/apps/dashboard/node_modules ./apps/dashboard/node_modules
COPY --from=builder ./cio/apps/dashboard/package.json ./apps/dashboard/package.json
COPY --from=builder ./cio/apps/dashboard/build ./apps/dashboard/build
# Expose the port (default for SvelteKit Node adapter)
EXPOSE 3000
# Set environment variables for production
ENV NODE_ENV=production \
IS_SELFHOSTED=true \
DEPLOYMENT_PROVIDER=docker \
PUBLIC_SUPABASE_URL=$PUBLIC_SUPABASE_URL \
PUBLIC_SUPABASE_ANON_KEY=$PUBLIC_SUPABASE_ANON_KEY \
PRIVATE_SUPABASE_SERVICE_ROLE=$PRIVATE_SUPABASE_SERVICE_ROLE \
PRIVATE_APP_HOST=$PRIVATE_APP_HOST \
PRIVATE_APP_SUBDOMAINS=$PRIVATE_APP_SUBDOMAINS \
UNSPLASH_API_KEY=$UNSPLASH_API_KEY \
OPENAI_API_KEY=$OPENAI_API_KEY \
PUBLIC_SERVER_URL=$PUBLIC_SERVER_URL \
PUBLIC_IP_REGISTRY_KEY=$PUBLIC_IP_REGISTRY_KEY
# Start the app
CMD ["pnpm", "dashboard:start"]
-42
View File
@@ -1,42 +0,0 @@
FROM node:18-alpine
WORKDIR /app
RUN npm install -g pnpm
COPY ./package.json ./
COPY ./pnpm-lock.yaml ./
# Set environment variables
ENV IS_SELFHOSTED=true
ENV DEPLOYMENT_PROVIDER=docker
ENV PUBLIC_SUPABASE_URL=$PUBLIC_SUPABASE_URL
ENV PUBLIC_SUPABASE_ANON_KEY=$PUBLIC_SUPABASE_ANON_KEY
ENV PRIVATE_SUPABASE_SERVICE_ROLE=$PRIVATE_SUPABASE_SERVICE_ROLE
ENV PRIVATE_APP_HOST=$PRIVATE_APP_HOST
ENV PRIVATE_APP_SUBDOMAINS=$PRIVATE_APP_SUBDOMAINS
ENV UNSPLASH_API_KEY=$UNSPLASH_API_KEY
ENV OPENAI_API_KEY=$OPENAI_API_KEY
ENV PUBLIC_SERVER_URL=$PUBLIC_SERVER_URL
ENV PUBLIC_IP_REGISTRY_KEY=$PUBLIC_IP_REGISTRY_KEY
ENV NODE_OPTIONS="--max-old-space-size=8192"
RUN pnpm i
COPY . .
WORKDIR /app/apps/dashboard
RUN pnpm i
RUN pnpm build
RUN pnpm prune --production
EXPOSE 5000
ENV NODE_ENV=production
CMD [ "node", "apps/dashboard/build" ]
# EXPOSE 5000
# CMD ["pnpm", "start"]
# CMD [ "sh", "-c", "ls -la && cd apps/dashboard && pnpm build && pnpm start" ]
-55
View File
@@ -1,55 +0,0 @@
# FROM node:18-alpine
# WORKDIR /app
# RUN npm install -g pnpm
# COPY . .
# # Install dependencies and build
# RUN pnpm install --frozen-lockfile && \
# cd apps/dashboard && \
# pnpm build || { echo "Build failed! Error output above."; exit 1; }
# EXPOSE 5004
# ENV NODE_ENV=production
# CMD [ "pnpm", "dashboard:start" ]
FROM node:18-alpine AS builder
WORKDIR /app
RUN npm install -g pnpm
COPY package.json .
COPY pnpm-lock.yaml .
RUN pnpm install --frozen-lockfile
COPY . .
# Set environment variables
ENV IS_SELFHOSTED=true
ENV DEPLOYMENT_PROVIDER=docker
ENV PUBLIC_SUPABASE_URL=$PUBLIC_SUPABASE_URL
ENV PUBLIC_SUPABASE_ANON_KEY=$PUBLIC_SUPABASE_ANON_KEY
ENV PRIVATE_SUPABASE_SERVICE_ROLE=$PRIVATE_SUPABASE_SERVICE_ROLE
ENV PRIVATE_APP_HOST=$PRIVATE_APP_HOST
ENV PRIVATE_APP_SUBDOMAINS=$PRIVATE_APP_SUBDOMAINS
ENV UNSPLASH_API_KEY=$UNSPLASH_API_KEY
ENV OPENAI_API_KEY=$OPENAI_API_KEY
ENV PUBLIC_SERVER_URL=$PUBLIC_SERVER_URL
ENV PUBLIC_IP_REGISTRY_KEY=$PUBLIC_IP_REGISTRY_KEY
ENV NODE_OPTIONS="--max-old-space-size=10240"
WORKDIR /app/apps/dashboard
RUN pnpm install --frozen-lockfile
RUN IS_SELFHOSTED=true DEPLOYMENT_PROVIDER=docker pnpm build
RUN pnpm prune --production
FROM node:18-alpine
WORKDIR /app
COPY --from=builder /app/apps/dashboard/build build/
COPY --from=builder /app/apps/dashboard/node_modules node_modules/
COPY package.json .
EXPOSE 3004
ENV NODE_ENV=production
CMD [ "node", "build" ]
-3
View File
@@ -23,9 +23,6 @@
"@carbon/charts-svelte": "^1.13.6",
"@lemonsqueezy/lemonsqueezy.js": "^2.2.0",
"@polar-sh/sveltekit": "^0.2.1",
"@sentry/browser": "^7.61.0",
"@sentry/integrations": "^7.61.0",
"@sentry/vite-plugin": "^2.6.2",
"@supabase/supabase-js": "^2.31.0",
"@sveltejs/adapter-auto": "^2.1.0",
"@sveltejs/adapter-node": "^1.3.1",
@@ -1,26 +1,26 @@
import { dev } from '$app/environment';
import * as Sentry from '@sentry/browser';
import { CaptureConsole } from '@sentry/integrations';
// import * as Sentry from '@sentry/browser';
// import { CaptureConsole } from '@sentry/integrations';
export const initSentry = (): void => {
if (dev) return;
Sentry.init({
dsn: 'https://[email protected]/5999999',
integrations: [
new CaptureConsole({
levels: ['error']
}),
new Sentry.Replay()
],
environment: 'production',
replaysSessionSampleRate: 0.5,
replaysOnErrorSampleRate: 1.0
});
// Sentry.init({
// dsn: 'https://[email protected]/5999999',
// integrations: [
// new CaptureConsole({
// levels: ['error']
// }),
// new Sentry.Replay()
// ],
// environment: 'production',
// replaysSessionSampleRate: 0.5,
// replaysOnErrorSampleRate: 1.0
// });
};
export const setSentryUser = (user: Record<string, any>): void => {
if (dev) return;
Sentry.setUser(user);
// Sentry.setUser(user);
};
+4 -4
View File
@@ -9,14 +9,14 @@ export default ({ mode }) => {
css: {
preprocessorOptions: {
scss: {
silenceDeprecations: ['legacy-js-api'],
},
},
silenceDeprecations: ['legacy-js-api']
}
}
},
plugins: [sveltekit()],
server: getServer(process.env),
build: {
sourcemap: true
sourcemap: false
},
optimizeDeps: {
entries: ['src/routes/**/+*.{js,ts,svelte}']
@@ -1,13 +1,3 @@
import Image from 'next/image';
import { Steps } from 'nextra/components';
import { Callout } from 'nextra/components';
import DBUrl from './images/db-url.webp';
import DBPushResult from './images/db-push-result.webp';
import AuthSettings from './images/auth-settings.webp';
import MatchEnvVariables from './images/match-env.webp';
import NewProject from './images/new-project.webp';
import SmtpSettings from './images/smtp-settings.webp';
# Supabase Cloud Setup
In this guide, you will learn how to setup a supabase cloud project and link it to your local environment.
@@ -58,7 +48,7 @@ Once you have an account just click on the _New Project_ on your dashboard. Afte
Open your terminal and go to the root of the project. Run the following:
```bash copy
pnpm supabase login
pnpm supabase:login
```
Follow the instruction in your terminal to generate your access token. Paste the token in the console and hit **Enter**
@@ -75,7 +65,7 @@ Follow the instruction in your terminal to generate your access token. Paste the
- Then run in your terminal:
```bash copy
pnpm supabase db push --db-url "URL HERE"
pnpx supabase@1.51.1 db push --db-url "URL HERE"
```
<Callout>
+46 -6
View File
@@ -1,7 +1,3 @@
import { Callout } from 'nextra/components';
import Image from 'next/image';
import SelfhostClassroomIO from './images/selfhost-classroomio.webp';
# Self-hosting ClassroomIO.com
This guide will help you quickly selfhost ClassroomIO
@@ -119,6 +115,50 @@ PRIVATE_APP_SUBDOMAINS=""
## Using Docker
We do have a [docker-compose file](https://github.com/rotimi-best/classroomio/blob/main/docker-compose.yaml) to deploy both the backend and dashboard however it still requires some more debugging and we are still trying to figure out how we can also get supabase to be included in the docker compose file.
We provide a docker-compose configuration to deploy both the backend and dashboard services. Here's how to use it:
If you'd like to help with this, please do open a PR on Github 👍🏽
1. Clone the repository:
```bash
git clone https://github.com/rotimi-best/classroomio.git
cd classroomio
```
2. Create a `.env` file with your environment variables (see Environment Variables section above)
3. Start the services:
```bash
docker compose up --build
```
The services will be available at:
- Dashboard: http://localhost:3000
- Backend: http://localhost:3002
### Service Configuration
The docker-compose file sets up two services:
#### Backend Service
- Runs on port 3002
- Uses Node.js slim image
- Mounts the backend code directory
- Requires environment variables for:
- Supabase configuration
- Cloudflare R2 for video uploads
- SMTP for email notifications
#### Dashboard Service
- Runs on port 3000
- Uses Node.js Alpine image
- Uses pnpm for package management
- Requires environment variables for:
- Supabase configuration
- Application settings
- Optional API keys (OpenAI, Unsplash)
Note: We're currently working on including Supabase in the docker-compose file. If you'd like to help with this, please open a PR on GitHub! 👍
+18 -2
View File
@@ -9,8 +9,22 @@ version: '3.8'
services:
backend:
build:
dockerfile: Dockerfile
context: ./apps/backend
dockerfile: Dockerfile
args:
- PUBLIC_SUPABASE_ANON_KEY=${PUBLIC_SUPABASE_ANON_KEY}
- PUBLIC_SUPABASE_URL=${PUBLIC_SUPABASE_URL}
- CLOUDFLARE_BUCKET_DOMAIN=${CLOUDFLARE_BUCKET_DOMAIN}
- CLOUDFLARE_ACCESS_KEY=${CLOUDFLARE_ACCESS_KEY}
- CLOUDFLARE_SECRET_ACCESS_KEY=${CLOUDFLARE_SECRET_ACCESS_KEY}
- CLOUDFLARE_ACCOUNT_ID=${CLOUDFLARE_ACCOUNT_ID}
- CLOUDFLARE_BUCKET_ID=${CLOUDFLARE_BUCKET_ID}
- SMTP_HOST=${SMTP_HOST}
- SMTP_USER=${SMTP_USER}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- SMTP_PORT=${SMTP_PORT}
ports:
- '3002:3002'
volumes:
- /app/node_modules
- ./apps/backend:/app
@@ -33,8 +47,8 @@ services:
dashboard:
build:
context: .
dockerfile: ./apps/dashboard/Dockerfile
context: ./
args:
- PUBLIC_SUPABASE_URL=${PUBLIC_SUPABASE_URL}
- PUBLIC_SUPABASE_ANON_KEY=${PUBLIC_SUPABASE_ANON_KEY}
@@ -45,6 +59,8 @@ services:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- PUBLIC_SERVER_URL=${PUBLIC_SERVER_URL}
- PUBLIC_IP_REGISTRY_KEY=${PUBLIC_IP_REGISTRY_KEY}
ports:
- '3000:3000'
volumes:
- .:/app
- /app/node_modules
+3 -1
View File
@@ -9,6 +9,9 @@
"format": "prettier . --write",
"release": "standard-version",
"ci": "cypress run",
"supabase:start": "pnpx [email protected] start",
"supabase:login": "pnpx [email protected] login",
"supabase:status": "pnpx [email protected] status",
"dashboard:build": "cd apps/dashboard && pnpm i && IS_SELFHOSTED=true NODE_OPTIONS='--max-old-space-size=20384' DEPLOYMENT_PROVIDER=docker pnpm build",
"dashboard:start": "cd apps/dashboard && node build"
},
@@ -24,7 +27,6 @@
"prettier-plugin-svelte": "^3.1.2",
"prettier-plugin-tailwindcss": "^0.5.7",
"standard-version": "^9.5.0",
"supabase": "^1.151.1",
"tsconfig": "workspace:*",
"typescript": "^5.1.6"
},
+12 -362
View File
@@ -26,9 +26,6 @@ importers:
standard-version:
specifier: ^9.5.0
version: 9.5.0
supabase:
specifier: ^1.151.1
version: 1.151.1
tsconfig:
specifier: workspace:*
version: link:packages/tsconfig
@@ -281,15 +278,6 @@ importers:
'@polar-sh/sveltekit':
specifier: ^0.2.1
version: 0.2.1(@sveltejs/[email protected])([email protected])
'@sentry/browser':
specifier: ^7.61.0
version: 7.61.0
'@sentry/integrations':
specifier: ^7.61.0
version: 7.61.0
'@sentry/vite-plugin':
specifier: ^2.6.2
version: 2.6.2([email protected])
'@supabase/supabase-js':
specifier: ^2.31.0
version: 2.32.0([email protected])([email protected])([email protected])
@@ -531,9 +519,6 @@ importers:
ts-node:
specifier: ^10.9.2
version: 10.9.2(@types/[email protected])([email protected])
tsconfig:
specifier: workspace:*
version: link:../../packages/tsconfig
tslib:
specifier: ^2.6.1
version: 2.6.1
@@ -5407,141 +5392,6 @@ packages:
'@sentry/utils': 7.110.1
dev: false
/@sentry-internal/[email protected]:
resolution: {integrity: sha512-zTr+MXEG4SxNxif42LIgm2RQn+JRXL2NuGhRaKSD2i4lXKFqHVGlVdoWqY5UfqnnJPokiTWIj9ejR8I5HV8Ogw==}
engines: {node: '>=8'}
dependencies:
'@sentry/core': 7.61.0
'@sentry/types': 7.61.0
'@sentry/utils': 7.61.0
tslib: 2.6.1
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-IGEkJZRP16Oe5CkXkmhU3QdV5RugW6Vds16yJFFYsgp87NprWtRZgqzldFDYkINStfBHVdctj/Rh/ZrLf8QlkQ==}
engines: {node: '>=8'}
dependencies:
'@sentry-internal/tracing': 7.61.0
'@sentry/core': 7.61.0
'@sentry/replay': 7.61.0
'@sentry/types': 7.61.0
'@sentry/utils': 7.61.0
tslib: 2.6.1
dev: false
/@sentry/[email protected]([email protected]):
resolution: {integrity: sha512-j2BOd8kl2NzexQaeNNc4uqteudK1lNngGP99zjTEj1BV/I5vOOR7PnrmQLXkLJOp5paGKKfelY9RHSVnvFf+Dw==}
engines: {node: '>= 14'}
dependencies:
'@sentry/cli': 2.43.1([email protected])
'@sentry/node': 7.110.1
'@sentry/utils': 7.120.3
dotenv: 16.3.1
find-up: 5.0.0
glob: 9.3.2
magic-string: 0.27.0
unplugin: 1.0.1
transitivePeerDependencies:
- encoding
- supports-color
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-622g/UyhTi1zC0Nnnbto75gNkExwwjv1cnRA4ERwfPgiOI3UK0/j+m4CcosqrfdTK55pv+SiifOlmvDPZnMIZw==}
engines: {node: '>=10'}
os: [darwin]
requiresBuild: true
dev: false
optional: true
/@sentry/[email protected]:
resolution: {integrity: sha512-c1P7eZqdDwRlePBSQSgWYUi80W5ywvG/XxZFVecjdHDEYlo2BJTRirqZTqzKzI/Ekk8x5hOxNuBbP+m9FluDMw==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux, freebsd]
requiresBuild: true
dev: false
optional: true
/@sentry/[email protected]:
resolution: {integrity: sha512-eQKcfqMR9bg8HKR9UCwm8x3lGBMUu1wCQow2BwEX4NbY1GzniSHNH4MBY2ERpOsfCA0LM5xEWQk/QFXexz1Dhw==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux, freebsd]
requiresBuild: true
dev: false
optional: true
/@sentry/[email protected]:
resolution: {integrity: sha512-VRhzmEOeA/nsQHkf3Jt8mbgZmdbAWURM18Y1uXVRI/mQzZaz6YAZ+IzQ6gANpUk+UfTdf1q0unZSAIOUuu19gA==}
engines: {node: '>=10'}
cpu: [x86, ia32]
os: [linux, freebsd]
requiresBuild: true
dev: false
optional: true
/@sentry/[email protected]:
resolution: {integrity: sha512-c8G4zdzxzdPOz+tV1LNwUz5UsPNnhEE13kMPesF81liawwznnBsDfeKf6t/87Eem4BgAPdsFlnqnffi4BdqkZQ==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux, freebsd]
requiresBuild: true
dev: false
optional: true
/@sentry/[email protected]:
resolution: {integrity: sha512-K+9td351lzUn51R/oHotyEkq7nzKWBm2ffhVAe4HXNh72MjhyIvonAhQUrGawIjn/aLHO+hq9iNaEXbCu6Hulg==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: false
optional: true
/@sentry/[email protected]:
resolution: {integrity: sha512-Co7kj0o16xcUZRZY+VwMgpdDvOY2xAbR5Xg5NXv73nXdALgGWf+G5bntFz3baNmaSOYWKJjvZT7a+YLwe/DihQ==}
engines: {node: '>=10'}
cpu: [x86, ia32]
os: [win32]
requiresBuild: true
dev: false
optional: true
/@sentry/[email protected]:
resolution: {integrity: sha512-uH7l4FXc6s0GoJeriU6kQOYzREqDGB7b16XbTKY+lnhMNvBgP2aaOUQ9yRLbEHeSSg/112SQeolCnF2GwTmoKw==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: false
optional: true
/@sentry/[email protected]([email protected]):
resolution: {integrity: sha512-5jg8cy4LlPnmgI6FkxClDRB5hFWzmlq7VZqj5o6Zdm5KRywzCn2s18GXyC1LPf6MFHw3AZ/K2h5pUZmJdWUBFQ==}
engines: {node: '>= 10'}
hasBin: true
requiresBuild: true
dependencies:
https-proxy-agent: 5.0.1
node-fetch: 2.7.0([email protected])
progress: 2.0.3
proxy-from-env: 1.1.0
which: 2.0.2
optionalDependencies:
'@sentry/cli-darwin': 2.43.1
'@sentry/cli-linux-arm': 2.43.1
'@sentry/cli-linux-arm64': 2.43.1
'@sentry/cli-linux-i686': 2.43.1
'@sentry/cli-linux-x64': 2.43.1
'@sentry/cli-win32-arm64': 2.43.1
'@sentry/cli-win32-i686': 2.43.1
'@sentry/cli-win32-x64': 2.43.1
transitivePeerDependencies:
- encoding
- supports-color
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-yC1yeUFQlmHj9u/KxKmwOMVanBmgfX+4MZnZU31QPqN95adyZTwpaYFZl4fH5kDVnz7wXJI0qRP8SxuMePtqhw==}
engines: {node: '>=8'}
@@ -5550,25 +5400,6 @@ packages:
'@sentry/utils': 7.110.1
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-zl0ZKRjIoYJQWYTd3K/U6zZfS4GDY9yGd2EH4vuYO4kfYtEp/nJ8A+tfAeDo0c9FGxZ0Q+5t5F4/SfwbgyyQzg==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.61.0
'@sentry/utils': 7.61.0
tslib: 2.6.1
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-NEQ+CatBfUM1TmA4FOOyHfsMvSIwSg4pA55Lxiq9quDykzkEtrXFzUfFpZbTunz4cegG8hucPOqbzKFrDPfGjQ==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.61.0
'@sentry/utils': 7.61.0
localforage: 1.10.0
tslib: 2.6.1
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-n6sNzZJ/ChfyCI1FxuGWgloeevC8j2vax3vXM4IZrSIm5hS1d9L2oCJ4HEPuxGUxCkQ1f4kXPcdmNaQsWH0JBw==}
engines: {node: '>=8'}
@@ -5589,30 +5420,11 @@ packages:
node-abi: 3.75.0
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-1ugk0yZssOPkSg6uTVcysjxlBydycXiOgV0PCU7DsXCFOV1ua5YpyPZFReTz9iFTtwD0LwGFM1LW9wJeQ67Fzg==}
engines: {node: '>=12'}
dependencies:
'@sentry/core': 7.61.0
'@sentry/types': 7.61.0
'@sentry/utils': 7.61.0
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-sZxOpM5gfyxvJeWVvNpHnxERTnlqcozjqNcIv29SZ6wonlkekmxDyJ3uCuPv85VO54WLyA4uzskPKnNFHacI8A==}
engines: {node: '>=8'}
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-C4z+3kGWNFJ303FC+FxAd4KkHvxpNFYAFN8iMIgBwJdpIl25KZ8Q/VdGn0MLLUEHNLvjob0+wvwlcRBBNLXOow==}
engines: {node: '>=8'}
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-/GLlIBNR35NKPE/SfWi9W10dK9hE8qTShzsuPVn5wAJxpT3Lb4+dkwmKCTLUYxdkmvRDEudkfOxgalsfQGTAWA==}
engines: {node: '>=8'}
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-eibLo2m1a7sHkOHxYYmRujr3D7ek2l9sv26F1SLoQBVDF7Afw5AKyzPmtA1D+4M9P/ux1okj7cGj3SaBrVpxXA==}
engines: {node: '>=8'}
@@ -5620,32 +5432,6 @@ packages:
'@sentry/types': 7.110.1
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-UDAOQJtJDxZHQ5Nm1olycBIsz2wdGX8SdzyGVHmD8EOQYAeDZQyIlQYohDe9nazdIOQLZCIc3fU0G9gqVLkaGQ==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.120.3
dev: false
/@sentry/[email protected]:
resolution: {integrity: sha512-jfj14d0XBFiCU0G6dZZ12SizATiF5Mt4stBGzkM5iS9nXFj8rh1oTT7/p+aZoYzP2JTF+sDzkNjWxyKZkcTo0Q==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.61.0
tslib: 2.6.1
dev: false
/@sentry/[email protected]([email protected]):
resolution: {integrity: sha512-r1jB854XZ+LFtel/gv2NX5gzeBXGajssXlDMmXM3yP9Ao7yZk7RqFMkqYfL+tMeIk2d7waAI8W8vMCbrg5CQFw==}
engines: {node: '>= 14'}
dependencies:
'@sentry/bundler-plugin-core': 2.6.2([email protected])
unplugin: 1.0.1
transitivePeerDependencies:
- encoding
- supports-color
dev: false
/@shikijs/[email protected]:
resolution: {integrity: sha512-NuOVgwcHgVC6jBVH5V7iblziw6iQbWWHrj5IlZI3Fqu2yx9awH7OIQkXIcsHsUmY19ckwSgUMgrqExEyP5A0TA==}
dependencies:
@@ -6693,7 +6479,7 @@ packages:
peerDependencies:
'@sveltejs/kit': ^2.0.0
dependencies:
'@sveltejs/kit': 2.9.0(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.1.2)([email protected])
'@sveltejs/kit': 2.9.0(@sveltejs/vite-plugin-svelte@4.0.0)(svelte@5.0.0)([email protected])
import-meta-resolve: 4.1.0
dev: true
@@ -8054,16 +7840,6 @@ packages:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
dev: false
/[email protected]:
resolution: {integrity: sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
dependencies:
cmd-shim: 6.0.3
npm-normalize-package-bin: 3.0.1
read-cmd-shim: 4.0.0
write-file-atomic: 5.0.1
dev: true
/[email protected]:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
@@ -8448,6 +8224,7 @@ packages:
/[email protected]:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
dev: false
/[email protected]:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
@@ -8521,11 +8298,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
/[email protected]:
resolution: {integrity: sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
dev: true
/[email protected]:
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
@@ -9343,11 +9115,6 @@ packages:
resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
dev: true
/[email protected]:
resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
engines: {node: '>= 12'}
dev: true
/[email protected]:
resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
engines: {node: '>=18'}
@@ -10289,14 +10056,6 @@ packages:
optional: true
dev: true
/[email protected]:
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
engines: {node: ^12.20 || >= 14.13}
dependencies:
node-domexception: 1.0.0
web-streams-polyfill: 3.3.3
dev: true
/[email protected]:
resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==}
dev: false
@@ -10374,6 +10133,7 @@ packages:
dependencies:
locate-path: 6.0.0
path-exists: 4.0.0
dev: true
/[email protected]:
resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
@@ -10442,13 +10202,6 @@ packages:
combined-stream: 1.0.8
mime-types: 2.1.35
/[email protected]:
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
engines: {node: '>=12.20.0'}
dependencies:
fetch-blob: 3.2.0
dev: true
/[email protected]:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
engines: {node: '>= 0.6'}
@@ -10483,6 +10236,7 @@ packages:
engines: {node: '>= 8'}
dependencies:
minipass: 3.3.6
dev: false
/[email protected]:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
@@ -10701,16 +10455,6 @@ packages:
once: 1.4.0
dev: false
/[email protected]:
resolution: {integrity: sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
fs.realpath: 1.0.0
minimatch: 7.4.6
minipass: 4.2.8
path-scurry: 1.11.1
dev: false
/[email protected]:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
@@ -11164,10 +10908,6 @@ packages:
engines: {node: '>= 4'}
dev: true
/[email protected]:
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
dev: false
/[email protected]:
resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==}
@@ -12302,12 +12042,6 @@ packages:
type-check: 0.4.0
dev: true
/[email protected]:
resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==}
dependencies:
immediate: 3.0.6
dev: false
/[email protected]:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
@@ -12325,12 +12059,6 @@ packages:
strip-bom: 3.0.0
dev: true
/[email protected]:
resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==}
dependencies:
lie: 3.1.1
dev: false
/[email protected]:
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
@@ -12362,6 +12090,7 @@ packages:
engines: {node: '>=10'}
dependencies:
p-locate: 5.0.0
dev: true
/[email protected]:
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
@@ -12477,6 +12206,7 @@ packages:
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
dev: true
/[email protected]:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
@@ -13333,13 +13063,6 @@ packages:
brace-expansion: 2.0.1
dev: false
/[email protected]:
resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
engines: {node: '>=10'}
dependencies:
brace-expansion: 2.0.1
dev: false
/[email protected]:
resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -13370,15 +13093,12 @@ packages:
engines: {node: '>=8'}
dependencies:
yallist: 4.0.0
/[email protected]:
resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==}
engines: {node: '>=8'}
dev: false
/[email protected]:
resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
engines: {node: '>=8'}
dev: false
/[email protected]:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
@@ -13390,6 +13110,7 @@ packages:
dependencies:
minipass: 3.3.6
yallist: 4.0.0
dev: false
/[email protected]:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
@@ -13401,6 +13122,7 @@ packages:
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
engines: {node: '>=10'}
hasBin: true
dev: false
/[email protected]:
resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
@@ -13692,12 +13414,6 @@ packages:
semver: 7.7.1
dev: false
/[email protected]:
resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
engines: {node: '>=10.5.0'}
deprecated: Use your platform's native DOMException instead
dev: true
/[email protected]([email protected]):
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
engines: {node: 4.x || >=6.0.0}
@@ -13711,15 +13427,6 @@ packages:
whatwg-url: 5.0.0
dev: false
/[email protected]:
resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
data-uri-to-buffer: 4.0.1
fetch-blob: 3.2.0
formdata-polyfill: 4.0.10
dev: true
/[email protected]:
resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
engines: {node: '>= 6.13.0'}
@@ -13814,11 +13521,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/[email protected]:
resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
dev: true
/[email protected]:
resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
engines: {node: '>=4'}
@@ -14022,6 +13724,7 @@ packages:
engines: {node: '>=10'}
dependencies:
p-limit: 3.1.0
dev: true
/[email protected]:
resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==}
@@ -14118,6 +13821,7 @@ packages:
/[email protected]:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
dev: true
/[email protected]:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
@@ -14553,11 +14257,6 @@ packages:
/[email protected]:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
/[email protected]:
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
engines: {node: '>=0.4.0'}
dev: false
/[email protected]:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
@@ -14719,11 +14418,6 @@ packages:
dependencies:
pify: 2.3.0
/[email protected]:
resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
dev: true
/[email protected]:
resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==}
engines: {node: '>=4'}
@@ -15873,20 +15567,6 @@ packages:
pirates: 4.0.7
ts-interface-checker: 0.1.13
/[email protected]:
resolution: {integrity: sha512-fl4h9mgG3z+bQ7UntymT30yqvOPJ4AfiCDKvDCFAdpkDhiozSfQqh1LwytEQSqMpgt6PEAcDJdYEbvholqPKOQ==}
engines: {npm: '>=8'}
hasBin: true
requiresBuild: true
dependencies:
bin-links: 4.0.4
https-proxy-agent: 7.0.6
node-fetch: 3.3.2
tar: 6.2.1
transitivePeerDependencies:
- supports-color
dev: true
/[email protected]:
resolution: {integrity: sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==}
engines: {node: '>=4'}
@@ -16307,6 +15987,7 @@ packages:
minizlib: 2.1.2
mkdirp: 1.0.4
yallist: 4.0.0
dev: false
/[email protected]:
resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
@@ -16930,15 +16611,6 @@ packages:
engines: {node: '>= 0.8'}
dev: false
/[email protected]:
resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==}
dependencies:
acorn: 8.14.1
chokidar: 3.6.0
webpack-sources: 3.2.3
webpack-virtual-modules: 0.5.0
dev: false
/[email protected]:
resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==}
engines: {node: '>=14.0.0'}
@@ -17403,11 +17075,6 @@ packages:
resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
dev: false
/[email protected]:
resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
engines: {node: '>= 8'}
dev: true
/[email protected]:
resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==}
dev: false
@@ -17425,15 +17092,6 @@ packages:
engines: {node: '>=12'}
dev: true
/[email protected]:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
engines: {node: '>=10.13.0'}
dev: false
/[email protected]:
resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
dev: false
/[email protected]:
resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
dev: false
@@ -17628,14 +17286,6 @@ packages:
signal-exit: 3.0.7
dev: true
/[email protected]:
resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
dependencies:
imurmurhash: 0.1.4
signal-exit: 4.1.0
dev: true
/[email protected]([email protected])([email protected]):
resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==}
engines: {node: '>=10.0.0'}