From ca1cad0cd32bffb02dd9522b3012116cacadd924 Mon Sep 17 00:00:00 2001 From: vben Date: Sun, 30 Jun 2024 14:09:44 +0800 Subject: [PATCH] feat: add backend-mock app --- .gitignore | 1 + apps/backend-mock/README.md | 18 + apps/backend-mock/ecosystem.config.cjs | 23 + apps/backend-mock/http/auth.http | 20 + apps/backend-mock/http/health.http | 3 + apps/backend-mock/nest-cli.json | 10 + apps/backend-mock/package.json | 47 + apps/backend-mock/src/app.module.ts | 39 + apps/backend-mock/src/config/dev.yml | 8 + apps/backend-mock/src/config/index.ts | 23 + apps/backend-mock/src/config/prod.yml | 8 + apps/backend-mock/src/core/decorator/index.ts | 1 + .../backend-mock/src/core/decorator/public.ts | 4 + .../src/core/filter/http-exception.filter.ts | 40 + apps/backend-mock/src/core/filter/index.ts | 1 + apps/backend-mock/src/core/guard/index.ts | 2 + .../src/core/guard/jwt-auth.guard.ts | 23 + .../src/core/guard/local-auth.guard.ts | 5 + .../src/core/interceptor/index.ts | 1 + .../core/interceptor/transform.interceptor.ts | 37 + apps/backend-mock/src/core/pipe/index.ts | 1 + .../backend-mock/src/core/pipe/params.pipe.ts | 27 + apps/backend-mock/src/main.ts | 51 + apps/backend-mock/src/models/dto/auth.dto.ts | 5 + .../src/models/entity/user.entity.ts | 34 + .../src/modules/auth/auth.controller.ts | 49 + .../src/modules/auth/auth.module.ts | 33 + .../src/modules/auth/auth.service.ts | 70 + .../src/modules/auth/jwt.strategy.ts | 26 + .../src/modules/auth/local.strategy.ts | 20 + .../modules/auth/refresh-token.strategy.ts | 29 + .../src/modules/database/database.module.ts | 12 + .../modules/database/database.service.spec.ts | 19 + .../src/modules/database/database.service.ts | 40 + .../src/modules/health/health.controller.ts | 11 + .../src/modules/health/health.module.ts | 8 + .../src/modules/users/users.module.ts | 12 + .../src/modules/users/users.service.ts | 27 + apps/backend-mock/src/types/config.ts | 13 + apps/backend-mock/src/types/express.d.ts | 7 + apps/backend-mock/src/types/index.ts | 2 + apps/backend-mock/src/types/jwt.ts | 7 + apps/backend-mock/tsconfig.build.json | 4 + apps/backend-mock/tsconfig.json | 25 + apps/web-antd/.env.analyze | 2 +- apps/web-antd/.env.development | 2 +- apps/web-antd/.env.production | 2 +- apps/web-antd/mock/_util.ts | 33 - apps/web-antd/mock/user.ts | 101 - apps/web-antd/package.json | 3 - apps/web-antd/src/apis/modules/user.ts | 6 +- apps/web-antd/src/apis/types/user.ts | 1 + apps/web-antd/src/bootstrap.ts | 7 - apps/web-antd/src/forward/request/index.ts | 32 +- apps/web-antd/src/main.ts | 3 +- apps/web-antd/src/mock-prod-server.ts | 10 - .../views/_essential/authentication/login.vue | 7 +- apps/web-antd/vite.config.mts | 7 +- cspell.json | 1 + .../lint-configs/eslint-config/package.json | 4 +- internal/vite-config/package.json | 3 +- .../vite-config/src/config/application.ts | 1 - internal/vite-config/src/plugins/index.ts | 13 - internal/vite-config/src/typing.ts | 2 - package.json | 4 +- .../src/request-client/request-client.ts | 20 +- .../request/src/request-client/types.ts | 2 +- .../forward/stores/src/modules/access.ts | 27 +- packages/types/src/user.d.ts | 11 +- pnpm-lock.yaml | 3001 ++++++++++++++--- vben-admin.code-workspace | 4 + 71 files changed, 3420 insertions(+), 735 deletions(-) create mode 100644 apps/backend-mock/README.md create mode 100644 apps/backend-mock/ecosystem.config.cjs create mode 100644 apps/backend-mock/http/auth.http create mode 100644 apps/backend-mock/http/health.http create mode 100644 apps/backend-mock/nest-cli.json create mode 100644 apps/backend-mock/package.json create mode 100644 apps/backend-mock/src/app.module.ts create mode 100644 apps/backend-mock/src/config/dev.yml create mode 100644 apps/backend-mock/src/config/index.ts create mode 100644 apps/backend-mock/src/config/prod.yml create mode 100644 apps/backend-mock/src/core/decorator/index.ts create mode 100644 apps/backend-mock/src/core/decorator/public.ts create mode 100644 apps/backend-mock/src/core/filter/http-exception.filter.ts create mode 100644 apps/backend-mock/src/core/filter/index.ts create mode 100644 apps/backend-mock/src/core/guard/index.ts create mode 100644 apps/backend-mock/src/core/guard/jwt-auth.guard.ts create mode 100644 apps/backend-mock/src/core/guard/local-auth.guard.ts create mode 100644 apps/backend-mock/src/core/interceptor/index.ts create mode 100644 apps/backend-mock/src/core/interceptor/transform.interceptor.ts create mode 100644 apps/backend-mock/src/core/pipe/index.ts create mode 100644 apps/backend-mock/src/core/pipe/params.pipe.ts create mode 100644 apps/backend-mock/src/main.ts create mode 100644 apps/backend-mock/src/models/dto/auth.dto.ts create mode 100644 apps/backend-mock/src/models/entity/user.entity.ts create mode 100644 apps/backend-mock/src/modules/auth/auth.controller.ts create mode 100644 apps/backend-mock/src/modules/auth/auth.module.ts create mode 100644 apps/backend-mock/src/modules/auth/auth.service.ts create mode 100644 apps/backend-mock/src/modules/auth/jwt.strategy.ts create mode 100644 apps/backend-mock/src/modules/auth/local.strategy.ts create mode 100644 apps/backend-mock/src/modules/auth/refresh-token.strategy.ts create mode 100644 apps/backend-mock/src/modules/database/database.module.ts create mode 100644 apps/backend-mock/src/modules/database/database.service.spec.ts create mode 100644 apps/backend-mock/src/modules/database/database.service.ts create mode 100644 apps/backend-mock/src/modules/health/health.controller.ts create mode 100644 apps/backend-mock/src/modules/health/health.module.ts create mode 100644 apps/backend-mock/src/modules/users/users.module.ts create mode 100644 apps/backend-mock/src/modules/users/users.service.ts create mode 100644 apps/backend-mock/src/types/config.ts create mode 100644 apps/backend-mock/src/types/express.d.ts create mode 100644 apps/backend-mock/src/types/index.ts create mode 100644 apps/backend-mock/src/types/jwt.ts create mode 100644 apps/backend-mock/tsconfig.build.json create mode 100644 apps/backend-mock/tsconfig.json delete mode 100644 apps/web-antd/mock/_util.ts delete mode 100644 apps/web-antd/mock/user.ts delete mode 100644 apps/web-antd/src/mock-prod-server.ts diff --git a/.gitignore b/.gitignore index 29459d50..492c224a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ dev-dist yarn.lock package-lock.json .VSCodeCounter +**/backend-mock/data # local env files .env.local diff --git a/apps/backend-mock/README.md b/apps/backend-mock/README.md new file mode 100644 index 00000000..8b194f9b --- /dev/null +++ b/apps/backend-mock/README.md @@ -0,0 +1,18 @@ +# @vben/backend-mock + +## Description + +Vben Admin Pro 数据mock服务 + +## Running the app + +```bash +# development +$ pnpm run start + +# watch mode +$ pnpm run start:dev + +# production mode +$ pnpm run start:prod +``` diff --git a/apps/backend-mock/ecosystem.config.cjs b/apps/backend-mock/ecosystem.config.cjs new file mode 100644 index 00000000..1bebc0ff --- /dev/null +++ b/apps/backend-mock/ecosystem.config.cjs @@ -0,0 +1,23 @@ +module.exports = { + apps: [ + { + autorestart: true, + cwd: './', + env: { + NODE_ENV: 'production', + }, + env_development: { + NODE_ENV: 'development', + }, + env_production: { + NODE_ENV: 'production', + }, + ignore_watch: ['node_modules', '.logs', 'dist'], + instances: 1, + max_memory_restart: '1G', + name: '@vben/backend-mock', + script: 'node dist/main.js', + watch: false, + }, + ], +}; diff --git a/apps/backend-mock/http/auth.http b/apps/backend-mock/http/auth.http new file mode 100644 index 00000000..608f522c --- /dev/null +++ b/apps/backend-mock/http/auth.http @@ -0,0 +1,20 @@ +@port = 5320 +@type = application/json +@token = Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MCwicm9sZXMiOlsiYWRtaW4iXSwidXNlcm5hbWUiOiJ2YmVuIiwiaWF0IjoxNzE5ODkwMTEwLCJleHAiOjE3MTk5NzY1MTB9.eyAFsQ2Jk_mAQGvrEL1jF9O6YmLZ_PSYj5aokL6fCuU +POST http://localhost:{{port}}/api/auth/login HTTP/1.1 +content-type: {{ type }} + +{ + "username": "vben", + "password": "123456" +} + + +### +GET http://localhost:{{port}}/api/auth/getUserInfo HTTP/1.1 +content-type: {{ type }} +Authorization: {{ token }} + +{ + "username": "vben" +} diff --git a/apps/backend-mock/http/health.http b/apps/backend-mock/http/health.http new file mode 100644 index 00000000..ecaad12c --- /dev/null +++ b/apps/backend-mock/http/health.http @@ -0,0 +1,3 @@ +@port = 5320 +GET http://localhost:{{port}}/api HTTP/1.1 +content-type: application/json diff --git a/apps/backend-mock/nest-cli.json b/apps/backend-mock/nest-cli.json new file mode 100644 index 00000000..0a7a909d --- /dev/null +++ b/apps/backend-mock/nest-cli.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://json.schemastore.org/nest-cli", + "collection": "@nestjs/schematics", + "sourceRoot": "src", + "compilerOptions": { + "assets": ["**/*.yml"], + "watchAssets": true, + "deleteOutDir": true + } +} diff --git a/apps/backend-mock/package.json b/apps/backend-mock/package.json new file mode 100644 index 00000000..1aa77bbc --- /dev/null +++ b/apps/backend-mock/package.json @@ -0,0 +1,47 @@ +{ + "name": "@vben/backend-mock", + "version": "0.0.1", + "description": "", + "private": true, + "license": "MIT", + "author": "", + "scripts": { + "build": "nest build", + "dev": "pnpm run start:dev", + "start:dev": "cross-env NODE_ENV=development DEBUG=true nest start --watch", + "start": "cross-env NODE_ENV=development node dist/main", + "start:prod": "cross-env NODE_ENV=production node dist/main" + }, + "dependencies": { + "@nestjs/common": "^10.3.10", + "@nestjs/config": "^3.2.3", + "@nestjs/core": "^10.3.10", + "@nestjs/jwt": "^10.2.0", + "@nestjs/passport": "^10.0.3", + "@nestjs/platform-express": "^10.3.10", + "@nestjs/typeorm": "^10.0.2", + "@types/js-yaml": "^4.0.9", + "bcryptjs": "^2.4.3", + "class-transformer": "^0.5.1", + "class-validator": "^0.14.1", + "cross-env": "^7.0.3", + "joi": "^17.13.3", + "js-yaml": "^4.1.0", + "passport": "^0.7.0", + "passport-jwt": "^4.0.1", + "passport-local": "^1.0.0", + "reflect-metadata": "^0.2.2", + "rxjs": "^7.8.1", + "sqlite3": "^5.1.7", + "typeorm": "^0.3.20" + }, + "devDependencies": { + "@nestjs/cli": "^10.3.2", + "@nestjs/schematics": "^10.1.1", + "@types/express": "^4.17.21", + "@types/node": "^20.14.9", + "nodemon": "^3.1.4", + "ts-node": "^10.9.2", + "typescript": "^5.5.3" + } +} diff --git a/apps/backend-mock/src/app.module.ts b/apps/backend-mock/src/app.module.ts new file mode 100644 index 00000000..c04aad43 --- /dev/null +++ b/apps/backend-mock/src/app.module.ts @@ -0,0 +1,39 @@ +import configuration from '@/config/index'; +import { Module } from '@nestjs/common'; +import { ConfigModule } from '@nestjs/config'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import Joi from 'joi'; + +import { AuthModule } from './modules/auth/auth.module'; +import { DatabaseModule } from './modules/database/database.module'; +import { HealthModule } from './modules/health/health.module'; +import { UsersModule } from './modules/users/users.module'; + +@Module({ + imports: [ + TypeOrmModule.forRoot({ + autoLoadEntities: true, + database: 'data/db.sqlite', + synchronize: true, + type: 'sqlite', + }), + ConfigModule.forRoot({ + cache: true, + isGlobal: true, + load: [configuration], + validationOptions: { + abortEarly: true, + allowUnknown: true, + }, + validationSchema: Joi.object({ + NODE_ENV: Joi.string().valid('development', 'production', 'test'), + port: Joi.number(), + }), + }), + HealthModule, + AuthModule, + UsersModule, + DatabaseModule, + ], +}) +export class AppModule {} diff --git a/apps/backend-mock/src/config/dev.yml b/apps/backend-mock/src/config/dev.yml new file mode 100644 index 00000000..f50410d8 --- /dev/null +++ b/apps/backend-mock/src/config/dev.yml @@ -0,0 +1,8 @@ +NODE_ENV: development +port: 5320 +apiPrefix: /api +jwt: + secret: plonmGN4aSuMVnucrHuhnUoo49Wy + expiresIn: 1d + refreshSecret: 1lonmGN4aSuMVnucrHuhnUoo49Wy + refreshexpiresIn: 7d diff --git a/apps/backend-mock/src/config/index.ts b/apps/backend-mock/src/config/index.ts new file mode 100644 index 00000000..1b1df187 --- /dev/null +++ b/apps/backend-mock/src/config/index.ts @@ -0,0 +1,23 @@ +import { readFileSync } from 'node:fs'; +import { join } from 'node:path'; +import process from 'node:process'; + +import * as yaml from 'js-yaml'; + +const configFileNameObj = { + development: 'dev', + production: 'prod', +}; + +const env = process.env.NODE_ENV; + +const configFactory = () => { + return yaml.load( + readFileSync( + join(process.cwd(), 'src', 'config', `${configFileNameObj[env]}.yml`), + 'utf8', + ), + ) as Record; +}; + +export default configFactory; diff --git a/apps/backend-mock/src/config/prod.yml b/apps/backend-mock/src/config/prod.yml new file mode 100644 index 00000000..c66b9ed9 --- /dev/null +++ b/apps/backend-mock/src/config/prod.yml @@ -0,0 +1,8 @@ +NODE_ENV: production +port: 5320 +apiPrefix: /api +jwt: + secret: plonmGN4SuMVnucrHunUoo49Wy12 + expiresIn: 1d + refreshSecret: 2lonmGN4aSuMVnucrHuhnUoo49Wy + refreshexpiresIn: 7d diff --git a/apps/backend-mock/src/core/decorator/index.ts b/apps/backend-mock/src/core/decorator/index.ts new file mode 100644 index 00000000..b7e8b718 --- /dev/null +++ b/apps/backend-mock/src/core/decorator/index.ts @@ -0,0 +1 @@ +export * from './public'; diff --git a/apps/backend-mock/src/core/decorator/public.ts b/apps/backend-mock/src/core/decorator/public.ts new file mode 100644 index 00000000..b3845e12 --- /dev/null +++ b/apps/backend-mock/src/core/decorator/public.ts @@ -0,0 +1,4 @@ +import { SetMetadata } from '@nestjs/common'; + +export const IS_PUBLIC_KEY = 'isPublic'; +export const Public = () => SetMetadata(IS_PUBLIC_KEY, true); diff --git a/apps/backend-mock/src/core/filter/http-exception.filter.ts b/apps/backend-mock/src/core/filter/http-exception.filter.ts new file mode 100644 index 00000000..5d106da9 --- /dev/null +++ b/apps/backend-mock/src/core/filter/http-exception.filter.ts @@ -0,0 +1,40 @@ +import { + ArgumentsHost, + Catch, + ExceptionFilter, + HttpException, + HttpStatus, + Logger, +} from '@nestjs/common'; +import { Request, Response } from 'express'; + +@Catch(HttpException) +export class HttpExceptionFilter implements ExceptionFilter { + catch(exception: HttpException, host: ArgumentsHost) { + const ctx = host.switchToHttp(); + const response = ctx.getResponse(); + const request = ctx.getRequest(); + const status = + exception instanceof HttpException + ? exception.getStatus() + : HttpStatus.INTERNAL_SERVER_ERROR; + + const logFormat = `Request original url: ${request.originalUrl} Method: ${request.method} IP: ${request.ip} Status code: ${status} Response: ${exception.toString()}`; + Logger.error(logFormat); + + const resultMessage = exception.message as any; + const message = + resultMessage || `${status >= 500 ? 'Service Error' : 'Client Error'}`; + + const errorResponse = { + code: 1, + error: resultMessage, + message, + status, + url: request.originalUrl, + }; + response.status(status); + response.header('Content-Type', 'application/json; charset=utf-8'); + response.send(errorResponse); + } +} diff --git a/apps/backend-mock/src/core/filter/index.ts b/apps/backend-mock/src/core/filter/index.ts new file mode 100644 index 00000000..18204b07 --- /dev/null +++ b/apps/backend-mock/src/core/filter/index.ts @@ -0,0 +1 @@ +export * from './http-exception.filter'; diff --git a/apps/backend-mock/src/core/guard/index.ts b/apps/backend-mock/src/core/guard/index.ts new file mode 100644 index 00000000..759d2eb0 --- /dev/null +++ b/apps/backend-mock/src/core/guard/index.ts @@ -0,0 +1,2 @@ +export * from './jwt-auth.guard'; +export * from './local-auth.guard'; diff --git a/apps/backend-mock/src/core/guard/jwt-auth.guard.ts b/apps/backend-mock/src/core/guard/jwt-auth.guard.ts new file mode 100644 index 00000000..4a4facf1 --- /dev/null +++ b/apps/backend-mock/src/core/guard/jwt-auth.guard.ts @@ -0,0 +1,23 @@ +import { ExecutionContext, Injectable } from '@nestjs/common'; +import { Reflector } from '@nestjs/core'; +import { AuthGuard } from '@nestjs/passport'; + +import { IS_PUBLIC_KEY } from '../decorator/index'; + +@Injectable() +export class JwtAuthGuard extends AuthGuard('jwt') { + constructor(private reflector: Reflector) { + super(); + } + + canActivate(context: ExecutionContext) { + const isPublic = this.reflector.getAllAndOverride(IS_PUBLIC_KEY, [ + context.getHandler(), + context.getClass(), + ]); + if (isPublic) { + return true; + } + return super.canActivate(context); + } +} diff --git a/apps/backend-mock/src/core/guard/local-auth.guard.ts b/apps/backend-mock/src/core/guard/local-auth.guard.ts new file mode 100644 index 00000000..ccf962b6 --- /dev/null +++ b/apps/backend-mock/src/core/guard/local-auth.guard.ts @@ -0,0 +1,5 @@ +import { Injectable } from '@nestjs/common'; +import { AuthGuard } from '@nestjs/passport'; + +@Injectable() +export class LocalAuthGuard extends AuthGuard('local') {} diff --git a/apps/backend-mock/src/core/interceptor/index.ts b/apps/backend-mock/src/core/interceptor/index.ts new file mode 100644 index 00000000..0546468e --- /dev/null +++ b/apps/backend-mock/src/core/interceptor/index.ts @@ -0,0 +1 @@ +export * from './transform.interceptor'; diff --git a/apps/backend-mock/src/core/interceptor/transform.interceptor.ts b/apps/backend-mock/src/core/interceptor/transform.interceptor.ts new file mode 100644 index 00000000..9aba1eec --- /dev/null +++ b/apps/backend-mock/src/core/interceptor/transform.interceptor.ts @@ -0,0 +1,37 @@ +import { + CallHandler, + ExecutionContext, + Injectable, + Logger, + NestInterceptor, +} from '@nestjs/common'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +@Injectable() +export class TransformInterceptor implements NestInterceptor { + public intercept( + context: ExecutionContext, + next: CallHandler, + ): Observable { + const req = context.getArgByIndex(1).req; + return next.handle().pipe( + map((data) => { + const logFormat = ` + Request original url: ${req.originalUrl} + Method: ${req.method} + IP: ${req.ip} + User: ${JSON.stringify(req.user)} + Response data: ${JSON.stringify(data)} + `; + Logger.debug(logFormat); + return { + code: 0, + data, + error: null, + message: 'ok', + }; + }), + ); + } +} diff --git a/apps/backend-mock/src/core/pipe/index.ts b/apps/backend-mock/src/core/pipe/index.ts new file mode 100644 index 00000000..609a4dcd --- /dev/null +++ b/apps/backend-mock/src/core/pipe/index.ts @@ -0,0 +1 @@ +export * from './params.pipe'; diff --git a/apps/backend-mock/src/core/pipe/params.pipe.ts b/apps/backend-mock/src/core/pipe/params.pipe.ts new file mode 100644 index 00000000..15c20a02 --- /dev/null +++ b/apps/backend-mock/src/core/pipe/params.pipe.ts @@ -0,0 +1,27 @@ +import { + BadRequestException, + HttpStatus, + ValidationPipe, + type ValidationPipeOptions, +} from '@nestjs/common'; + +class ParamsValidationPipe extends ValidationPipe { + constructor(options: ValidationPipeOptions = {}) { + super({ + errorHttpStatusCode: HttpStatus.BAD_REQUEST, + exceptionFactory: (errors) => { + const message = Object.values(errors[0].constraints)[0]; + return new BadRequestException({ + message, + status: HttpStatus.BAD_REQUEST, + }); + }, + forbidNonWhitelisted: true, + transform: true, + whitelist: true, + ...options, + }); + } +} + +export { ParamsValidationPipe }; diff --git a/apps/backend-mock/src/main.ts b/apps/backend-mock/src/main.ts new file mode 100644 index 00000000..cfe5e48a --- /dev/null +++ b/apps/backend-mock/src/main.ts @@ -0,0 +1,51 @@ +import type { AppConfig } from '@/types'; + +import process from 'node:process'; + +import { HttpExceptionFilter } from '@/core/filter'; +import { TransformInterceptor } from '@/core/interceptor'; +import { ParamsValidationPipe } from '@/core/pipe'; +import { type LogLevel } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; +import { NestFactory, Reflector } from '@nestjs/core'; + +import { AppModule } from './app.module'; +import { JwtAuthGuard } from './core/guard'; + +async function bootstrap() { + const debug: LogLevel[] = process.env.DEBUG ? ['debug'] : []; + const loggerLevel: LogLevel[] = ['log', 'error', 'warn', ...debug]; + + const app = await NestFactory.create(AppModule, { + cors: true, + logger: loggerLevel, + }); + + // 获取 ConfigService 实例 + const configService = app.get(ConfigService); + + // 使用 ConfigService 获取配置值 + const port = configService.get('port') || 3000; + const apiPrefix = configService.get('apiPrefix'); + + // 全局注册拦截器 + app.useGlobalInterceptors(new TransformInterceptor()); + + const reflector = app.get(Reflector); + app.useGlobalGuards(new JwtAuthGuard(reflector)); + + // 全局注册错误的过滤器 + app.useGlobalFilters(new HttpExceptionFilter()); + + // 设置全局接口数据校验 + app.useGlobalPipes(new ParamsValidationPipe()); + + app.setGlobalPrefix(apiPrefix); + + await app.listen(port); + + console.log( + `Application is running on: http://localhost:${port}${apiPrefix}`, + ); +} +bootstrap(); diff --git a/apps/backend-mock/src/models/dto/auth.dto.ts b/apps/backend-mock/src/models/dto/auth.dto.ts new file mode 100644 index 00000000..ff907cb0 --- /dev/null +++ b/apps/backend-mock/src/models/dto/auth.dto.ts @@ -0,0 +1,5 @@ +class RefreshTokenDto { + refreshToken: string; +} + +export { RefreshTokenDto }; diff --git a/apps/backend-mock/src/models/entity/user.entity.ts b/apps/backend-mock/src/models/entity/user.entity.ts new file mode 100644 index 00000000..0ac5fa4a --- /dev/null +++ b/apps/backend-mock/src/models/entity/user.entity.ts @@ -0,0 +1,34 @@ +import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; + +@Entity() +class UserEntity { + @PrimaryGeneratedColumn() + id: number; + /** + * 密码 + */ + @Column() + password: string; + /** + * 真实姓名 + */ + @Column() + realName: string; + /** + * 角色 + */ + @Column('text', { + transformer: { + from: (value: string) => JSON.parse(value), + to: (value: string[]) => JSON.stringify(value), + }, + }) + roles: string[]; + /** + * 用户名 + */ + @Column({ unique: true }) + username: string; +} + +export { UserEntity }; diff --git a/apps/backend-mock/src/modules/auth/auth.controller.ts b/apps/backend-mock/src/modules/auth/auth.controller.ts new file mode 100644 index 00000000..19fd3456 --- /dev/null +++ b/apps/backend-mock/src/modules/auth/auth.controller.ts @@ -0,0 +1,49 @@ +import type { RefreshTokenDto } from '@/models/dto/auth.dto'; + +import { Public } from '@/core/decorator'; +import { LocalAuthGuard } from '@/core/guard'; +import { + Body, + Controller, + Get, + HttpCode, + HttpStatus, + Post, + Request, + UseGuards, +} from '@nestjs/common'; + +import { AuthService } from './auth.service'; + +@Controller('auth') +export class AuthController { + constructor(private authService: AuthService) {} + + /** + * 获取用户信息 + * @param req + */ + @Get('getUserInfo') + @HttpCode(HttpStatus.OK) + async getProfile(@Request() req: Request) { + return await this.authService.getUserInfo(req.user.username); + } + + /** + * 用户登录 + * @param req + */ + @Public() + @UseGuards(LocalAuthGuard) + @Post('login') + @HttpCode(HttpStatus.OK) + async login(@Request() req: Request) { + return await this.authService.login(req.user); + } + + @Post('refreshToken') + @HttpCode(HttpStatus.OK) + async refreshToken(@Body() refreshTokenDto: RefreshTokenDto) { + return this.authService.refresh(refreshTokenDto.refreshToken); + } +} diff --git a/apps/backend-mock/src/modules/auth/auth.module.ts b/apps/backend-mock/src/modules/auth/auth.module.ts new file mode 100644 index 00000000..ba8e876f --- /dev/null +++ b/apps/backend-mock/src/modules/auth/auth.module.ts @@ -0,0 +1,33 @@ +import type { JwtConfig } from '@/types'; + +import { Module } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; +import { JwtModule } from '@nestjs/jwt'; + +import { UsersModule } from '../users/users.module'; +import { AuthController } from './auth.controller'; +import { AuthService } from './auth.service'; +import { JwtStrategy } from './jwt.strategy'; +import { LocalStrategy } from './local.strategy'; +import { JwtRefreshStrategy } from './refresh-token.strategy'; + +@Module({ + controllers: [AuthController], + exports: [AuthService], + imports: [ + UsersModule, + JwtModule.registerAsync({ + global: true, + inject: [ConfigService], + useFactory: async (configService: ConfigService) => { + const { expiresIn, secret } = configService.get('jwt'); + return { + secret, + signOptions: { expiresIn }, + }; + }, + }), + ], + providers: [AuthService, JwtStrategy, JwtRefreshStrategy, LocalStrategy], +}) +export class AuthModule {} diff --git a/apps/backend-mock/src/modules/auth/auth.service.ts b/apps/backend-mock/src/modules/auth/auth.service.ts new file mode 100644 index 00000000..37f4b68b --- /dev/null +++ b/apps/backend-mock/src/modules/auth/auth.service.ts @@ -0,0 +1,70 @@ +import type { UserEntity } from '@/models/entity/user.entity'; +import type { JwtConfig } from '@/types'; + +import { UsersService } from '@/modules/users/users.service'; +import { Injectable, UnauthorizedException } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; +import { JwtService } from '@nestjs/jwt'; +import bcrypt from 'bcryptjs'; + +@Injectable() +export class AuthService { + constructor( + private usersService: UsersService, + private jwtService: JwtService, + private configService: ConfigService, + ) {} + + /** + * get user info + * @param username + */ + async getUserInfo(username: string): Promise> { + const user = await this.usersService.findOne(username); + const { password: _pass, ...userInfo } = user; + return userInfo; + } + + /** + * user login + */ + async login(userEntity: UserEntity): Promise { + const { id, roles, username } = userEntity; + + const payload = { id, roles, username }; + const { refreshSecret, refreshexpiresIn } = + this.configService.get('jwt'); + return { + accessToken: await this.jwtService.signAsync(payload), + refreshToken: this.jwtService.sign(payload, { + expiresIn: refreshexpiresIn, + secret: refreshSecret, + }), + }; + } + + async refresh(refreshToken: string) { + try { + const payload = this.jwtService.verify(refreshToken, { + secret: this.configService.get('jwt').refreshSecret, + }); + const user = await this.usersService.findOne(payload.username); + if (!user) { + throw new UnauthorizedException(); + } + return this.login(user); + } catch { + throw new UnauthorizedException(); + } + } + + async validateUser(username: string, password: string): Promise { + const user = await this.usersService.findOne(username); + if (user && (await bcrypt.compare(password, user.password))) { + // 使用 bcrypt.compare 验证密码 + const { password: _pass, ...result } = user; + return result; + } + return null; + } +} diff --git a/apps/backend-mock/src/modules/auth/jwt.strategy.ts b/apps/backend-mock/src/modules/auth/jwt.strategy.ts new file mode 100644 index 00000000..97199cb9 --- /dev/null +++ b/apps/backend-mock/src/modules/auth/jwt.strategy.ts @@ -0,0 +1,26 @@ +import type { JwtConfig, JwtPayload } from '@/types'; + +import { Injectable } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; +import { PassportStrategy } from '@nestjs/passport'; +import { ExtractJwt, Strategy } from 'passport-jwt'; + +@Injectable() +export class JwtStrategy extends PassportStrategy(Strategy) { + constructor(configService: ConfigService) { + super({ + ignoreExpiration: false, + jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(), + secretOrKey: configService.get('jwt').secret, + }); + } + + async validate(payload: JwtPayload) { + console.log('jwt strategy validate payload', payload); + return { + id: payload.id, + roles: payload.roles, + username: payload.username, + }; + } +} diff --git a/apps/backend-mock/src/modules/auth/local.strategy.ts b/apps/backend-mock/src/modules/auth/local.strategy.ts new file mode 100644 index 00000000..40b92e1b --- /dev/null +++ b/apps/backend-mock/src/modules/auth/local.strategy.ts @@ -0,0 +1,20 @@ +import { Injectable, UnauthorizedException } from '@nestjs/common'; +import { PassportStrategy } from '@nestjs/passport'; +import { Strategy } from 'passport-local'; + +import { AuthService } from './auth.service'; + +@Injectable() +export class LocalStrategy extends PassportStrategy(Strategy) { + constructor(private authService: AuthService) { + super(); + } + + async validate(username: string, password: string): Promise { + const user = await this.authService.validateUser(username, password); + if (!user) { + throw new UnauthorizedException(); + } + return user; + } +} diff --git a/apps/backend-mock/src/modules/auth/refresh-token.strategy.ts b/apps/backend-mock/src/modules/auth/refresh-token.strategy.ts new file mode 100644 index 00000000..f4eacd66 --- /dev/null +++ b/apps/backend-mock/src/modules/auth/refresh-token.strategy.ts @@ -0,0 +1,29 @@ +import type { JwtConfig, JwtPayload } from '@/types'; + +import { Injectable } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; +import { PassportStrategy } from '@nestjs/passport'; +import { ExtractJwt, Strategy } from 'passport-jwt'; + +@Injectable() +export class JwtRefreshStrategy extends PassportStrategy( + Strategy, + 'jwt-refresh', +) { + constructor(configService: ConfigService) { + super({ + ignoreExpiration: false, + jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(), + secretOrKey: configService.get('jwt').refreshSecret, + }); + } + + async validate(payload: JwtPayload) { + console.log('jwt refresh strategy validate payload', payload); + return { + id: payload.id, + roles: payload.roles, + username: payload.username, + }; + } +} diff --git a/apps/backend-mock/src/modules/database/database.module.ts b/apps/backend-mock/src/modules/database/database.module.ts new file mode 100644 index 00000000..5b0f5236 --- /dev/null +++ b/apps/backend-mock/src/modules/database/database.module.ts @@ -0,0 +1,12 @@ +import { UserEntity } from '@/models/entity/user.entity'; +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; + +import { UsersModule } from '../users/users.module'; +import { DatabaseService } from './database.service'; + +@Module({ + imports: [UsersModule, TypeOrmModule.forFeature([UserEntity])], + providers: [DatabaseService], +}) +export class DatabaseModule {} diff --git a/apps/backend-mock/src/modules/database/database.service.spec.ts b/apps/backend-mock/src/modules/database/database.service.spec.ts new file mode 100644 index 00000000..3b1fbdb3 --- /dev/null +++ b/apps/backend-mock/src/modules/database/database.service.spec.ts @@ -0,0 +1,19 @@ +import { Test, TestingModule } from '@nestjs/testing'; + +import { DatabaseService } from './database.service'; + +describe('databaseService', () => { + let service: DatabaseService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [DatabaseService], + }).compile(); + + service = module.get(DatabaseService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); +}); diff --git a/apps/backend-mock/src/modules/database/database.service.ts b/apps/backend-mock/src/modules/database/database.service.ts new file mode 100644 index 00000000..02d006dc --- /dev/null +++ b/apps/backend-mock/src/modules/database/database.service.ts @@ -0,0 +1,40 @@ +import type { Repository } from 'typeorm'; + +import { UserEntity } from '@/models/entity/user.entity'; +import { Injectable, type OnModuleInit } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; + +import { UsersService } from '../users/users.service'; + +@Injectable() +export class DatabaseService implements OnModuleInit { + constructor( + @InjectRepository(UserEntity) + private usersRepository: Repository, + private userService: UsersService, + ) {} + async onModuleInit() { + // data/db.sqlite会被git忽略,方式数据库文件被提交到git + // 清空表,并初始化两条数据 + await this.usersRepository.clear(); + + await this.userService.create({ + id: 0, + password: '123456', + realName: 'Administrator', + roles: ['admin'], + username: 'vben', + }); + + await this.userService.create({ + id: 1, + password: '123456', + realName: 'Jack', + roles: ['user'], + username: 'jack', + }); + + const count = await this.usersRepository.count(); + console.log('Database has been initialized with seed data, count:', count); + } +} diff --git a/apps/backend-mock/src/modules/health/health.controller.ts b/apps/backend-mock/src/modules/health/health.controller.ts new file mode 100644 index 00000000..169f4658 --- /dev/null +++ b/apps/backend-mock/src/modules/health/health.controller.ts @@ -0,0 +1,11 @@ +import { Public } from '@/core/decorator'; +import { Controller, Get } from '@nestjs/common'; + +@Controller() +export class HealthController { + @Public() + @Get() + getHeart(): string { + return 'ok'; + } +} diff --git a/apps/backend-mock/src/modules/health/health.module.ts b/apps/backend-mock/src/modules/health/health.module.ts new file mode 100644 index 00000000..90d1fe0a --- /dev/null +++ b/apps/backend-mock/src/modules/health/health.module.ts @@ -0,0 +1,8 @@ +import { Module } from '@nestjs/common'; + +import { HealthController } from './health.controller'; + +@Module({ + controllers: [HealthController], +}) +export class HealthModule {} diff --git a/apps/backend-mock/src/modules/users/users.module.ts b/apps/backend-mock/src/modules/users/users.module.ts new file mode 100644 index 00000000..ea5ed083 --- /dev/null +++ b/apps/backend-mock/src/modules/users/users.module.ts @@ -0,0 +1,12 @@ +import { UserEntity } from '@/models/entity/user.entity'; +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; + +import { UsersService } from './users.service'; + +@Module({ + exports: [UsersService], + imports: [TypeOrmModule.forFeature([UserEntity])], + providers: [UsersService], +}) +export class UsersModule {} diff --git a/apps/backend-mock/src/modules/users/users.service.ts b/apps/backend-mock/src/modules/users/users.service.ts new file mode 100644 index 00000000..87bfa715 --- /dev/null +++ b/apps/backend-mock/src/modules/users/users.service.ts @@ -0,0 +1,27 @@ +import type { Repository } from 'typeorm'; + +import { UserEntity } from '@/models/entity/user.entity'; +import { Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import bcrypt from 'bcryptjs'; + +@Injectable() +export class UsersService { + constructor( + @InjectRepository(UserEntity) + private usersRepository: Repository, + ) {} + + async create(user: UserEntity): Promise { + user.password = await bcrypt.hash(user.password, 10); // 密码哈希 + return this.usersRepository.save(user); + } + + /** + * Find user by username + * @param username + */ + async findOne(username: string): Promise { + return await this.usersRepository.findOne({ where: { username } }); + } +} diff --git a/apps/backend-mock/src/types/config.ts b/apps/backend-mock/src/types/config.ts new file mode 100644 index 00000000..caf1943a --- /dev/null +++ b/apps/backend-mock/src/types/config.ts @@ -0,0 +1,13 @@ +interface AppConfig { + NODE_ENV: string; + apiPrefix: string; + port: number; +} + +interface JwtConfig { + expiresIn: string; + refreshSecret: string; + refreshexpiresIn: string; + secret: string; +} +export type { AppConfig, JwtConfig }; diff --git a/apps/backend-mock/src/types/express.d.ts b/apps/backend-mock/src/types/express.d.ts new file mode 100644 index 00000000..a8ce7b50 --- /dev/null +++ b/apps/backend-mock/src/types/express.d.ts @@ -0,0 +1,7 @@ +import { UserEntity } from '@/models/entity/user.entity'; + +declare global { + interface Request { + user?: UserEntity; + } +} diff --git a/apps/backend-mock/src/types/index.ts b/apps/backend-mock/src/types/index.ts new file mode 100644 index 00000000..108b3cef --- /dev/null +++ b/apps/backend-mock/src/types/index.ts @@ -0,0 +1,2 @@ +export * from './config'; +export * from './jwt'; diff --git a/apps/backend-mock/src/types/jwt.ts b/apps/backend-mock/src/types/jwt.ts new file mode 100644 index 00000000..272b873e --- /dev/null +++ b/apps/backend-mock/src/types/jwt.ts @@ -0,0 +1,7 @@ +interface JwtPayload { + id: number; + roles: string[]; + username: string; +} + +export { JwtPayload }; diff --git a/apps/backend-mock/tsconfig.build.json b/apps/backend-mock/tsconfig.build.json new file mode 100644 index 00000000..64f86c6b --- /dev/null +++ b/apps/backend-mock/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] +} diff --git a/apps/backend-mock/tsconfig.json b/apps/backend-mock/tsconfig.json new file mode 100644 index 00000000..655a5854 --- /dev/null +++ b/apps/backend-mock/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "incremental": true, + "target": "ES2021", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "baseUrl": "./", + "module": "commonjs", + "paths": { + "@/*": ["./src/*"] + }, + "strictBindCallApply": false, + "strictNullChecks": false, + "noFallthroughCasesInSwitch": false, + "noImplicitAny": false, + "declaration": true, + "outDir": "./dist", + "removeComments": true, + "sourceMap": true, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": false, + "skipLibCheck": true + } +} diff --git a/apps/web-antd/.env.analyze b/apps/web-antd/.env.analyze index 4ed339b5..400720cc 100644 --- a/apps/web-antd/.env.analyze +++ b/apps/web-antd/.env.analyze @@ -3,4 +3,4 @@ VITE_PUBLIC_PATH = / # Basic interface address SPA -VITE_GLOB_API_URL=/vben-api +VITE_GLOB_API_URL=/api diff --git a/apps/web-antd/.env.development b/apps/web-antd/.env.development index c90d1dbe..f2f935bd 100644 --- a/apps/web-antd/.env.development +++ b/apps/web-antd/.env.development @@ -1,3 +1,3 @@ VITE_PUBLIC_PATH = / -VITE_GLOB_API_URL=/vben-api +VITE_GLOB_API_URL=/api diff --git a/apps/web-antd/.env.production b/apps/web-antd/.env.production index aaee3002..a6f067f9 100644 --- a/apps/web-antd/.env.production +++ b/apps/web-antd/.env.production @@ -2,4 +2,4 @@ VITE_PUBLIC_PATH = / # Basic interface address SPA -VITE_GLOB_API_URL=/vben-api +VITE_GLOB_API_URL=/api diff --git a/apps/web-antd/mock/_util.ts b/apps/web-antd/mock/_util.ts deleted file mode 100644 index f6ffd955..00000000 --- a/apps/web-antd/mock/_util.ts +++ /dev/null @@ -1,33 +0,0 @@ -function resultSuccess>( - result: T, - { message = 'ok' } = {}, -) { - return { - code: 0, - message, - result, - type: 'success', - }; -} - -function resultError( - message = 'Request failed', - { code = -1, result = null } = {}, -) { - return { - code, - message, - result, - type: 'error', - }; -} - -/** - * @zh_CN 本函数用于从request数据中获取token,请根据项目的实际情况修改 - * - */ -function getRequestToken({ headers }: any): string | undefined { - return headers?.authorization; -} - -export { getRequestToken, resultError, resultSuccess }; diff --git a/apps/web-antd/mock/user.ts b/apps/web-antd/mock/user.ts deleted file mode 100644 index aa363774..00000000 --- a/apps/web-antd/mock/user.ts +++ /dev/null @@ -1,101 +0,0 @@ -import { getRequestToken, resultError, resultSuccess } from './_util'; - -const fakeUserList = [ - { - accessToken: 'fakeAdminToken', - avatar: '', - desc: 'manager', - homePath: '/', - password: '123456', - realName: 'Vben Admin', - roles: [ - { - roleName: 'Super Admin', - value: 'super', - }, - ], - userId: '1', - username: 'vben', - }, - { - accessToken: 'fakeTestToken', - avatar: '', - desc: 'tester', - homePath: '/', - password: '123456', - realName: 'test user', - roles: [ - { - roleName: 'Tester', - value: 'test', - }, - ], - userId: '2', - username: 'test', - }, -]; - -export default [ - { - method: 'post', - response: ({ body }: any) => { - const { password, username } = body; - const checkUser = fakeUserList.find( - (item) => item.username === username && password === item.password, - ); - if (!checkUser) { - return resultError('Incorrect account or password!'); - } - const { - accessToken, - desc, - realName, - roles, - userId, - username: _username, - } = checkUser; - return resultSuccess({ - accessToken, - desc, - realName, - roles, - userId, - username: _username, - }); - }, - timeout: 200, - url: '/vben-api/login', - }, - { - method: 'get', - response: (request: any) => { - const token = getRequestToken(request); - if (!token) return resultError('Invalid token'); - const checkUser = fakeUserList.find((item) => item.accessToken === token); - if (!checkUser) { - return resultError( - 'The corresponding user information was not obtained!', - ); - } - const { accessToken: _token, password: _pwd, ...rest } = checkUser; - return resultSuccess(rest); - }, - url: '/vben-api/getUserInfo', - }, - { - method: 'get', - response: (request: any) => { - const token = getRequestToken(request); - if (!token) return resultError('Invalid token'); - const checkUser = fakeUserList.find((item) => item.accessToken === token); - if (!checkUser) { - return resultError('Invalid token!'); - } - return resultSuccess(undefined, { - message: 'Token has been destroyed', - }); - }, - timeout: 200, - url: '/vben-api/logout', - }, -]; diff --git a/apps/web-antd/package.json b/apps/web-antd/package.json index daab1b9d..85e0ce5b 100644 --- a/apps/web-antd/package.json +++ b/apps/web-antd/package.json @@ -46,8 +46,5 @@ "pinia": "2.1.7", "vue": "^3.4.31", "vue-router": "^4.4.0" - }, - "devDependencies": { - "vite-plugin-mock": "^3.0.2" } } diff --git a/apps/web-antd/src/apis/modules/user.ts b/apps/web-antd/src/apis/modules/user.ts index 16b6a1e7..ac9b5b10 100644 --- a/apps/web-antd/src/apis/modules/user.ts +++ b/apps/web-antd/src/apis/modules/user.ts @@ -2,20 +2,20 @@ import type { UserInfo } from '@vben/types'; import type { UserApiType } from '../types'; -import { get, post } from '#/forward'; +import { requestClient } from '#/forward'; /** * 登录 */ async function userLogin(data: UserApiType.LoginParams) { - return post('/login', data); + return requestClient.post('/auth/login', data); } /** * 获取用户信息 */ async function getUserInfo() { - return get('/getUserInfo'); + return requestClient.get('/auth/getUserInfo'); } export { getUserInfo, userLogin }; diff --git a/apps/web-antd/src/apis/types/user.ts b/apps/web-antd/src/apis/types/user.ts index 2c23ea24..602bec6a 100644 --- a/apps/web-antd/src/apis/types/user.ts +++ b/apps/web-antd/src/apis/types/user.ts @@ -10,6 +10,7 @@ namespace UserApiType { accessToken: string; desc: string; realName: string; + refreshToken: string; userId: string; username: string; } diff --git a/apps/web-antd/src/bootstrap.ts b/apps/web-antd/src/bootstrap.ts index 0b3af3ff..b8dea800 100644 --- a/apps/web-antd/src/bootstrap.ts +++ b/apps/web-antd/src/bootstrap.ts @@ -22,13 +22,6 @@ async function bootstrap(namespace: string) { app.use(router); app.mount('#app'); - - // production mock server - if (import.meta.env.PROD) { - import('./mock-prod-server').then(({ setupProdMockServer }) => { - setupProdMockServer(); - }); - } } export { bootstrap }; diff --git a/apps/web-antd/src/forward/request/index.ts b/apps/web-antd/src/forward/request/index.ts index 4e84d47b..49f3dcb5 100644 --- a/apps/web-antd/src/forward/request/index.ts +++ b/apps/web-antd/src/forward/request/index.ts @@ -15,8 +15,8 @@ interface HttpResponse { * 0 means success, others means fail */ code: number; + data: T; message: string; - result: T; } /** @@ -31,7 +31,10 @@ function createRequestClient() { return { handler: () => { const accessStore = useAccessStore(); - return accessStore.getAccessToken; + return { + refreshToken: `Bearer ${accessStore.getRefreshToken}`, + token: `Bearer ${accessStore.getAccessToken}`, + }; }, // 默认 key: 'Authorization', @@ -39,23 +42,18 @@ function createRequestClient() { }, }); setupRequestInterceptors(client); - const request = client.request.bind(client); - const get = client.get.bind(client); - const post = client.post.bind(client); - return { - get, - post, - request, - }; + return client; } function setupRequestInterceptors(client: RequestClient) { client.addResponseInterceptor( (response: AxiosResponse) => { const { data: responseData, status } = response; - const { code, message: msg, result } = responseData; - if (status === 200 && code === 0) { - return result; + + const { code, data, message: msg } = responseData; + + if (status >= 200 && status < 400 && code === 0) { + return data; } else { message.error(msg); throw new Error(msg); @@ -73,17 +71,19 @@ function setupRequestInterceptors(client: RequestClient) { } else if (error?.message?.includes?.('timeout')) { errMsg = '请求超时。'; } else { - errMsg = error?.response?.data?.error?.message ?? ''; + const data = error?.response?.data; + errMsg = (data?.message || data?.error?.message) ?? ''; } + message.error(errMsg); return Promise.reject(error); }, ); } -const { get, post, request } = createRequestClient(); +const requestClient = createRequestClient(); // 其他配置的请求方法 // const { request: xxxRequest } = createRequest(); -export { get, post, request }; +export { requestClient }; diff --git a/apps/web-antd/src/main.ts b/apps/web-antd/src/main.ts index 5f5acf3a..260946b3 100644 --- a/apps/web-antd/src/main.ts +++ b/apps/web-antd/src/main.ts @@ -28,8 +28,9 @@ async function initApplication() { /** * 移除并销毁loading - * 放在这里是而不是放在 index.html 的app标签内,主要是因为这样比较不会生硬,渲染过快可能会有闪烁 + * 放在这里是而不是放在 index.html 的app标签内,是因为这样比较不会生硬,渲染过快可能会有闪烁 * 通过先添加css动画隐藏,在动画结束后在移除loading节点来改善体验 + * 不好的地方是会增加一些代码量 */ function destroyAppLoading() { // 查找全局 loading 元素 diff --git a/apps/web-antd/src/mock-prod-server.ts b/apps/web-antd/src/mock-prod-server.ts deleted file mode 100644 index ee940be2..00000000 --- a/apps/web-antd/src/mock-prod-server.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { createProdMockServer } from 'vite-plugin-mock/client'; - -// 逐一导入您的mock.ts文件 -// 如果使用vite.mock.config.ts,只需直接导入文件 -// 可以使用 import.meta.glob功能来进行全部导入 -import userModule from '../mock/user'; - -export function setupProdMockServer() { - createProdMockServer([...userModule]); -} diff --git a/apps/web-antd/src/views/_essential/authentication/login.vue b/apps/web-antd/src/views/_essential/authentication/login.vue index 5357920d..1cf2290b 100644 --- a/apps/web-antd/src/views/_essential/authentication/login.vue +++ b/apps/web-antd/src/views/_essential/authentication/login.vue @@ -4,6 +4,7 @@ import type { LoginAndRegisterParams } from '@vben/universal-ui'; import { computed } from 'vue'; import { useRouter } from 'vue-router'; +import { DEFAULT_HOME_PATH } from '@vben/constants'; import { $t } from '@vben/locales'; import { AuthenticationLogin } from '@vben/universal-ui'; import { useRequest } from '@vben-core/request'; @@ -39,7 +40,7 @@ async function handleLogin(values: LoginAndRegisterParams) { // 异步处理用户登录操作并获取 accessToken // Asynchronously handle the user login operation and obtain the accessToken - const { accessToken } = await runUserLogin(values); + const { accessToken, refreshToken } = await runUserLogin(values); // 如果成功获取到 accessToken // If accessToken is successfully obtained @@ -47,15 +48,17 @@ async function handleLogin(values: LoginAndRegisterParams) { // 将 accessToken 存储到 accessStore 中 // Store the accessToken in accessStore accessStore.setAccessToken(accessToken); + accessStore.setRefreshToken(refreshToken); // 获取用户信息并存储到 accessStore 中 // Get user information and store it in accessStore const userInfo = await runGetUserInfo(); + accessStore.setUserInfo(userInfo); // 跳转到用户信息中定义的 homePath 路径 // Redirect to the homePath defined in the user information - await router.push(userInfo.homePath); + await router.push(userInfo.homePath || DEFAULT_HOME_PATH); notification.success({ description: `${$t('authentication.login-success-desc')}:${userInfo.realName}`, duration: 3, diff --git a/apps/web-antd/vite.config.mts b/apps/web-antd/vite.config.mts index aa7982ec..e2bcaf98 100644 --- a/apps/web-antd/vite.config.mts +++ b/apps/web-antd/vite.config.mts @@ -46,10 +46,11 @@ export default defineConfig({ vite: { server: { proxy: { - '/vben-api': { + '/api': { changeOrigin: true, - rewrite: (path) => path.replace(/^\/vben-api/, ''), - target: 'http://localhost:3000', + rewrite: (path) => path.replace(/^\/api/, ''), + // 代理目标地址 - backend-mock 项目 + target: 'http://localhost:5320/api', ws: true, }, }, diff --git a/cspell.json b/cspell.json index 13147587..86b02382 100644 --- a/cspell.json +++ b/cspell.json @@ -5,6 +5,7 @@ "words": [ "clsx", "esno", + "typeorm", "unref", "taze", "acmr", diff --git a/internal/lint-configs/eslint-config/package.json b/internal/lint-configs/eslint-config/package.json index ea05155f..8de6bb77 100644 --- a/internal/lint-configs/eslint-config/package.json +++ b/internal/lint-configs/eslint-config/package.json @@ -32,8 +32,8 @@ "devDependencies": { "@eslint/js": "^9.6.0", "@types/eslint": "^8.56.10", - "@typescript-eslint/eslint-plugin": "^7.14.1", - "@typescript-eslint/parser": "^7.14.1", + "@typescript-eslint/eslint-plugin": "^7.15.0", + "@typescript-eslint/parser": "^7.15.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-eslint-comments": "^3.2.0", diff --git a/internal/vite-config/package.json b/internal/vite-config/package.json index 363be7a3..347fc76a 100644 --- a/internal/vite-config/package.json +++ b/internal/vite-config/package.json @@ -50,7 +50,6 @@ "vite": "^5.3.2", "vite-plugin-compression": "^0.5.1", "vite-plugin-dts": "^3.9.1", - "vite-plugin-html": "^3.2.2", - "vite-plugin-mock": "^3.0.2" + "vite-plugin-html": "^3.2.2" } } diff --git a/internal/vite-config/src/config/application.ts b/internal/vite-config/src/config/application.ts index eb0f8670..879025c7 100644 --- a/internal/vite-config/src/config/application.ts +++ b/internal/vite-config/src/config/application.ts @@ -27,7 +27,6 @@ function defineApplicationConfig(options: DefineApplicationOptions = {}) { injectMetadata: true, isBuild, license: true, - mock: true, mode, pwa: true, turboConsole: false, diff --git a/internal/vite-config/src/plugins/index.ts b/internal/vite-config/src/plugins/index.ts index 37d2aa17..7d24f8af 100644 --- a/internal/vite-config/src/plugins/index.ts +++ b/internal/vite-config/src/plugins/index.ts @@ -20,7 +20,6 @@ import viteCompressPlugin from 'vite-plugin-compression'; import viteDtsPlugin from 'vite-plugin-dts'; import { createHtmlPlugin as viteHtmlPlugin } from 'vite-plugin-html'; import { libInjectCss as viteLibInjectCss } from 'vite-plugin-lib-inject-css'; -import { viteMockServe as viteMockPlugin } from 'vite-plugin-mock'; import { VitePWA } from 'vite-plugin-pwa'; import viteVueDevTools from 'vite-plugin-vue-devtools'; @@ -107,7 +106,6 @@ async function getApplicationConditionPlugins( importmapOptions, injectAppLoading, license, - mock, pwa, pwaOptions, turboConsole, @@ -200,16 +198,6 @@ async function getApplicationConditionPlugins( condition: !isBuild && !!turboConsole, plugins: () => [viteTurboConsolePlugin()], }, - { - condition: !!mock, - plugins: () => [ - viteMockPlugin({ - enable: true, - ignore: /^_/, - mockPath: 'mock', - }), - ], - }, ]); } @@ -242,7 +230,6 @@ export { viteCompressPlugin, viteDtsPlugin, viteHtmlPlugin, - viteMockPlugin, viteTurboConsolePlugin, viteVisualizerPlugin, }; diff --git a/internal/vite-config/src/typing.ts b/internal/vite-config/src/typing.ts index 428a56c2..b2eed194 100644 --- a/internal/vite-config/src/typing.ts +++ b/internal/vite-config/src/typing.ts @@ -71,8 +71,6 @@ interface ApplicationPluginOptions extends CommonPluginOptions { injectAppLoading?: boolean; /** 是否注入版权信息 */ license?: boolean; - /** mock 插件配置 */ - mock?: boolean; /** 是否开启pwa */ pwa?: boolean; /** pwa 插件配置 */ diff --git a/package.json b/package.json index 55d79721..b4fdd6b9 100644 --- a/package.json +++ b/package.json @@ -70,10 +70,10 @@ "rimraf": "^5.0.7", "taze": "^0.14.0", "turbo": "^2.0.6", - "typescript": "^5.5.2", + "typescript": "^5.5.3", "unbuild": "^2.0.0", "vite": "^5.3.2", - "vitest": "^2.0.0-beta.10", + "vitest": "^2.0.0-beta.12", "vue-tsc": "^2.0.24" }, "engines": { diff --git a/packages/@core/forward/request/src/request-client/request-client.ts b/packages/@core/forward/request/src/request-client/request-client.ts index ffb098f5..312ae9bd 100644 --- a/packages/@core/forward/request/src/request-client/request-client.ts +++ b/packages/@core/forward/request/src/request-client/request-client.ts @@ -30,6 +30,7 @@ class RequestClient { * @param options - Axios请求配置,可选 */ constructor(options: RequestClientOptions = {}) { + this.bindMethods(); // 合并默认配置和传入的配置 const defaultConfig: CreateAxiosDefaults = { headers: { @@ -63,6 +64,21 @@ class RequestClient { this.setupInterceptors(); } + private bindMethods() { + const propertyNames = Object.getOwnPropertyNames( + Object.getPrototypeOf(this), + ); + propertyNames.forEach((propertyName) => { + const propertyValue = (this as any)[propertyName]; + if ( + typeof propertyValue === 'function' && + propertyName !== 'constructor' + ) { + (this as any)[propertyName] = propertyValue.bind(this); + } + }); + } + private errorHandler(error: any) { return Promise.reject(error); } @@ -71,8 +87,8 @@ class RequestClient { this.addRequestInterceptor((config: InternalAxiosRequestConfig) => { const authorization = this.makeAuthorization?.(config); if (authorization) { - config.headers[authorization.key || 'Authorization'] = - authorization.handler?.(); + const { token } = authorization.handler?.() ?? {}; + config.headers[authorization.key || 'Authorization'] = token; } return config; }, this.errorHandler); diff --git a/packages/@core/forward/request/src/request-client/types.ts b/packages/@core/forward/request/src/request-client/types.ts index 6fc88904..9aab5a1a 100644 --- a/packages/@core/forward/request/src/request-client/types.ts +++ b/packages/@core/forward/request/src/request-client/types.ts @@ -7,7 +7,7 @@ type RequestContentType = | 'multipart/form-data;charset=utf-8'; interface MakeAuthorization { - handler: () => null | string; + handler: () => { refreshToken: string; token: string } | null; key?: string; } diff --git a/packages/@core/forward/stores/src/modules/access.ts b/packages/@core/forward/stores/src/modules/access.ts index ff1a0ca5..5ed4a5a8 100644 --- a/packages/@core/forward/stores/src/modules/access.ts +++ b/packages/@core/forward/stores/src/modules/access.ts @@ -6,7 +6,6 @@ import { acceptHMRUpdate, defineStore } from 'pinia'; type AccessToken = null | string; interface BasicUserInfo { - [key: string]: any; /** * 头像 */ @@ -15,12 +14,14 @@ interface BasicUserInfo { * 用户昵称 */ realName: string; - + /** + * 用户角色 + */ + roles?: string[]; /** * 用户id */ userId: string; - /** * 用户名 */ @@ -40,6 +41,10 @@ interface AccessState { * 登录 accessToken */ accessToken: AccessToken; + /** + * 登录 accessToken + */ + refreshToken: AccessToken; /** * 用户信息 */ @@ -64,16 +69,15 @@ const useAccessStore = defineStore('access', { setAccessToken(token: AccessToken) { this.accessToken = token; }, + setRefreshToken(token: AccessToken) { + this.refreshToken = token; + }, setUserInfo(userInfo: BasicUserInfo) { // 设置用户信息 this.userInfo = userInfo; // 设置角色信息 const roles = userInfo?.roles ?? []; - const roleValues = - typeof roles[0] === 'string' - ? roles - : roles.map((item: Record) => item.value); - this.setUserRoles(roleValues); + this.setUserRoles(roles); }, setUserRoles(roles: string[]) { this.userRoles = roles; @@ -89,6 +93,9 @@ const useAccessStore = defineStore('access', { getAccessToken(): AccessToken { return this.accessToken; }, + getRefreshToken(): AccessToken { + return this.refreshToken; + }, getUserInfo(): BasicUserInfo | null { return this.userInfo; }, @@ -98,13 +105,13 @@ const useAccessStore = defineStore('access', { }, persist: { // 持久化 - // TODO: accessToken 过期时间 - paths: ['accessToken', 'userRoles', 'userInfo'], + paths: ['accessToken', 'refreshToken', 'userRoles', 'userInfo'], }, state: (): AccessState => ({ accessMenus: [], accessRoutes: [], accessToken: null, + refreshToken: null, userInfo: null, userRoles: [], }), diff --git a/packages/types/src/user.d.ts b/packages/types/src/user.d.ts index 6b3774b2..7f093353 100644 --- a/packages/types/src/user.d.ts +++ b/packages/types/src/user.d.ts @@ -1,10 +1,3 @@ -interface RoleInfo { - /** 角色名 */ - roleName: string; - /** 角色值 */ - value: string; -} - /** 用户信息 */ interface UserInfo { /** @@ -26,7 +19,7 @@ interface UserInfo { /** * 用户角色信息 */ - roles: RoleInfo[]; + roles: string[]; /** * accessToken */ @@ -41,4 +34,4 @@ interface UserInfo { username: string; } -export type { RoleInfo, UserInfo }; +export type { UserInfo }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a25b839d..80d29d78 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,20 +84,108 @@ importers: specifier: ^2.0.6 version: 2.0.6 typescript: - specifier: ^5.5.2 - version: 5.5.2 + specifier: ^5.5.3 + version: 5.5.3 unbuild: specifier: ^2.0.0 - version: 2.0.0(sass@1.77.6)(typescript@5.5.2)(vue-tsc@2.0.24(typescript@5.5.2)) + version: 2.0.0(sass@1.77.6)(typescript@5.5.3)(vue-tsc@2.0.24(typescript@5.5.3)) vite: specifier: ^5.3.2 version: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) vitest: - specifier: ^2.0.0-beta.10 - version: 2.0.0-beta.10(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)(terser@5.31.1) + specifier: ^2.0.0-beta.12 + version: 2.0.0-beta.12(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)(terser@5.31.1) vue-tsc: specifier: ^2.0.24 - version: 2.0.24(typescript@5.5.2) + version: 2.0.24(typescript@5.5.3) + + apps/backend-mock: + dependencies: + '@nestjs/common': + specifier: ^10.3.10 + version: 10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/config': + specifier: ^3.2.3 + version: 3.2.3(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(rxjs@7.8.1) + '@nestjs/core': + specifier: ^10.3.10 + version: 10.3.10(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.3.10)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/jwt': + specifier: ^10.2.0 + version: 10.2.0(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)) + '@nestjs/passport': + specifier: ^10.0.3 + version: 10.0.3(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(passport@0.7.0) + '@nestjs/platform-express': + specifier: ^10.3.10 + version: 10.3.10(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.3.10) + '@nestjs/typeorm': + specifier: ^10.0.2 + version: 10.0.2(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.3.10(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.3.10)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)(rxjs@7.8.1)(typeorm@0.3.20(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3))) + '@types/js-yaml': + specifier: ^4.0.9 + version: 4.0.9 + bcryptjs: + specifier: ^2.4.3 + version: 2.4.3 + class-transformer: + specifier: ^0.5.1 + version: 0.5.1 + class-validator: + specifier: ^0.14.1 + version: 0.14.1 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + joi: + specifier: ^17.13.3 + version: 17.13.3 + js-yaml: + specifier: ^4.1.0 + version: 4.1.0 + passport: + 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 + reflect-metadata: + specifier: ^0.2.2 + version: 0.2.2 + rxjs: + specifier: ^7.8.1 + version: 7.8.1 + sqlite3: + specifier: ^5.1.7 + version: 5.1.7 + typeorm: + specifier: ^0.3.20 + version: 0.3.20(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)) + devDependencies: + '@nestjs/cli': + specifier: ^10.3.2 + version: 10.3.2(esbuild@0.20.2) + '@nestjs/schematics': + specifier: ^10.1.1 + version: 10.1.1(chokidar@3.6.0)(typescript@5.5.3) + '@types/express': + specifier: ^4.17.21 + version: 4.17.21 + '@types/node': + specifier: ^20.14.9 + version: 20.14.9 + nodemon: + specifier: ^3.1.4 + version: 3.1.4 + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@20.14.9)(typescript@5.5.3) + typescript: + specifier: ^5.5.3 + version: 5.5.3 apps/web-antd: dependencies: @@ -148,32 +236,28 @@ importers: version: link:../../packages/business/widgets '@vueuse/core': specifier: ^10.11.0 - version: 10.11.0(vue@3.4.31(typescript@5.5.2)) + version: 10.11.0(vue@3.4.31(typescript@5.5.3)) ant-design-vue: specifier: ^4.2.3 - version: 4.2.3(vue@3.4.31(typescript@5.5.2)) + version: 4.2.3(vue@3.4.31(typescript@5.5.3)) dayjs: specifier: ^1.11.11 version: 1.11.11 pinia: specifier: 2.1.7 - version: 2.1.7(typescript@5.5.2)(vue@3.4.31(typescript@5.5.2)) + version: 2.1.7(typescript@5.5.3)(vue@3.4.31(typescript@5.5.3)) vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) vue-router: specifier: ^4.4.0 - version: 4.4.0(vue@3.4.31(typescript@5.5.2)) - devDependencies: - vite-plugin-mock: - specifier: ^3.0.2 - version: 3.0.2(esbuild@0.21.5)(mockjs@1.1.0)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)) + version: 4.4.0(vue@3.4.31(typescript@5.5.3)) internal/lint-configs/commitlint-config: dependencies: '@commitlint/cli': specifier: ^19.3.0 - version: 19.3.0(@types/node@20.14.9)(typescript@5.5.2) + version: 19.3.0(@types/node@20.14.9)(typescript@5.5.3) '@commitlint/config-conventional': specifier: ^19.2.2 version: 19.2.2 @@ -200,11 +284,11 @@ importers: specifier: ^8.56.10 version: 8.56.10 '@typescript-eslint/eslint-plugin': - specifier: ^7.14.1 - version: 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) + specifier: ^7.15.0 + version: 7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': - specifier: ^7.14.1 - version: 7.14.1(eslint@8.57.0)(typescript@5.5.2) + specifier: ^7.15.0 + version: 7.15.0(eslint@8.57.0)(typescript@5.5.3) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -216,7 +300,7 @@ importers: version: 3.2.0(eslint@8.57.0) eslint-plugin-i: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0) eslint-plugin-jsdoc: specifier: ^48.5.0 version: 48.5.0(eslint@8.57.0) @@ -231,7 +315,7 @@ importers: version: 3.1.0 eslint-plugin-perfectionist: specifier: ^2.11.0 - version: 2.11.0(eslint@8.57.0)(typescript@5.5.2)(vue-eslint-parser@9.4.3(eslint@8.57.0)) + version: 2.11.0(eslint@8.57.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@8.57.0)) eslint-plugin-prettier: specifier: ^5.1.3 version: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2) @@ -243,10 +327,10 @@ importers: version: 54.0.0(eslint@8.57.0) eslint-plugin-unused-imports: specifier: ^4.0.0 - version: 4.0.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0) + version: 4.0.0(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0) eslint-plugin-vitest: specifier: ^0.5.4 - version: 0.5.4(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)(vitest@2.0.0-beta.10(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)(terser@5.31.1)) + version: 0.5.4(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)(vitest@2.0.0-beta.12(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)(terser@5.31.1)) eslint-plugin-vue: specifier: ^9.26.0 version: 9.26.0(eslint@8.57.0) @@ -279,13 +363,13 @@ importers: dependencies: '@stylistic/stylelint-plugin': specifier: ^2.1.2 - version: 2.1.2(stylelint@16.6.1(typescript@5.5.2)) + version: 2.1.2(stylelint@16.6.1(typescript@5.5.3)) stylelint-config-recess-order: specifier: ^5.0.1 - version: 5.0.1(stylelint@16.6.1(typescript@5.5.2)) + version: 5.0.1(stylelint@16.6.1(typescript@5.5.3)) stylelint-scss: specifier: ^6.3.2 - version: 6.3.2(stylelint@16.6.1(typescript@5.5.2)) + version: 6.3.2(stylelint@16.6.1(typescript@5.5.3)) devDependencies: postcss: specifier: ^8.4.39 @@ -301,25 +385,25 @@ importers: version: 3.3.2 stylelint: specifier: ^16.6.1 - version: 16.6.1(typescript@5.5.2) + version: 16.6.1(typescript@5.5.3) stylelint-config-recommended: specifier: ^14.0.1 - version: 14.0.1(stylelint@16.6.1(typescript@5.5.2)) + version: 14.0.1(stylelint@16.6.1(typescript@5.5.3)) stylelint-config-recommended-scss: specifier: ^14.0.0 - version: 14.0.0(postcss@8.4.39)(stylelint@16.6.1(typescript@5.5.2)) + version: 14.0.0(postcss@8.4.39)(stylelint@16.6.1(typescript@5.5.3)) stylelint-config-recommended-vue: specifier: ^1.5.0 - version: 1.5.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.5.2)) + version: 1.5.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.5.3)) stylelint-config-standard: specifier: ^36.0.1 - version: 36.0.1(stylelint@16.6.1(typescript@5.5.2)) + version: 36.0.1(stylelint@16.6.1(typescript@5.5.3)) stylelint-order: specifier: ^6.0.4 - version: 6.0.4(stylelint@16.6.1(typescript@5.5.2)) + version: 6.0.4(stylelint@16.6.1(typescript@5.5.3)) stylelint-prettier: specifier: ^5.0.0 - version: 5.0.0(prettier@3.3.2)(stylelint@16.6.1(typescript@5.5.2)) + version: 5.0.0(prettier@3.3.2)(stylelint@16.6.1(typescript@5.5.3)) internal/node-utils: dependencies: @@ -364,13 +448,13 @@ importers: version: 1.1.1 '@tailwindcss/forms': specifier: ^0.5.7 - version: 0.5.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))) + version: 0.5.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3))) '@tailwindcss/nesting': specifier: 0.0.0-insiders.565cd3e version: 0.0.0-insiders.565cd3e(postcss@8.4.39) '@tailwindcss/typography': specifier: ^0.5.13 - version: 0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))) + version: 0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3))) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.39) @@ -391,10 +475,10 @@ importers: version: 9.5.15(postcss@8.4.39) tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)) tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))) + version: 1.0.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3))) devDependencies: '@types/postcss-import': specifier: ^14.0.3 @@ -416,7 +500,7 @@ importers: dependencies: '@intlify/unplugin-vue-i18n': specifier: ^4.0.0 - version: 4.0.0(rollup@4.18.0)(vue-i18n@9.13.1(vue@3.4.31(typescript@5.5.2))) + version: 4.0.0(rollup@4.18.0)(vue-i18n@9.13.1(vue@3.4.31(typescript@5.5.3))) '@jspm/generator': specifier: ^2.0.1 version: 2.0.1 @@ -437,7 +521,7 @@ importers: version: 0.20.0(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0) vite-plugin-vue-devtools: specifier: ^7.3.5 - version: 7.3.5(rollup@4.18.0)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2)) + version: 7.3.5(rollup@4.18.0)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.3)) devDependencies: '@types/html-minifier-terser': specifier: ^7.0.2 @@ -447,10 +531,10 @@ importers: version: link:../node-utils '@vitejs/plugin-vue': specifier: ^5.0.5 - version: 5.0.5(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2)) + version: 5.0.5(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.3)) '@vitejs/plugin-vue-jsx': specifier: ^4.0.0 - version: 4.0.0(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2)) + version: 4.0.0(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.3)) dayjs: specifier: ^1.11.11 version: 1.11.11 @@ -468,7 +552,7 @@ importers: version: 1.77.6 unplugin-turbo-console: specifier: ^1.8.9 - version: 1.8.9(esbuild@0.21.5)(rollup@4.18.0)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2))(webpack@5.90.1(esbuild@0.21.5)) + version: 1.8.9(esbuild@0.21.5)(rollup@4.18.0)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.3))(webpack@5.90.1(esbuild@0.21.5)) vite: specifier: ^5.3.2 version: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) @@ -477,13 +561,10 @@ importers: version: 0.5.1(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)) vite-plugin-dts: specifier: ^3.9.1 - version: 3.9.1(@types/node@20.14.9)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)) + version: 3.9.1(@types/node@20.14.9)(rollup@4.18.0)(typescript@5.5.3)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)) vite-plugin-html: specifier: ^3.2.2 version: 3.2.2(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)) - vite-plugin-mock: - specifier: ^3.0.2 - version: 3.0.2(esbuild@0.21.5)(mockjs@1.1.0)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)) packages/@core/forward/helpers: dependencies: @@ -495,7 +576,7 @@ importers: version: link:../../shared/typings vue-router: specifier: ^4.4.0 - version: 4.4.0(vue@3.4.31(typescript@5.5.2)) + version: 4.4.0(vue@3.4.31(typescript@5.5.3)) packages/@core/forward/preferences: dependencies: @@ -513,10 +594,10 @@ importers: version: link:../../shared/typings '@vueuse/core': specifier: ^10.11.0 - version: 10.11.0(vue@3.4.31(typescript@5.5.2)) + version: 10.11.0(vue@3.4.31(typescript@5.5.3)) vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) packages/@core/forward/request: dependencies: @@ -528,7 +609,7 @@ importers: version: 1.7.2 vue-request: specifier: ^2.0.4 - version: 2.0.4(vue@3.4.31(typescript@5.5.2)) + version: 2.0.4(vue@3.4.31(typescript@5.5.3)) devDependencies: axios-mock-adapter: specifier: ^1.22.0 @@ -544,16 +625,16 @@ importers: version: link:../../shared/typings pinia: specifier: 2.1.7 - version: 2.1.7(typescript@5.5.2)(vue@3.4.31(typescript@5.5.2)) + version: 2.1.7(typescript@5.5.3)(vue@3.4.31(typescript@5.5.3)) pinia-plugin-persistedstate: specifier: ^3.2.1 - version: 3.2.1(pinia@2.1.7(typescript@5.5.2)(vue@3.4.31(typescript@5.5.2))) + version: 3.2.1(pinia@2.1.7(typescript@5.5.3)(vue@3.4.31(typescript@5.5.3))) vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) vue-router: specifier: ^4.4.0 - version: 4.4.0(vue@3.4.31(typescript@5.5.2)) + version: 4.4.0(vue@3.4.31(typescript@5.5.3)) packages/@core/shared/cache: {} @@ -578,10 +659,10 @@ importers: dependencies: '@iconify/vue': specifier: ^4.1.2 - version: 4.1.2(vue@3.4.31(typescript@5.5.2)) + version: 4.1.2(vue@3.4.31(typescript@5.5.3)) vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) packages/@core/shared/toolkit: dependencies: @@ -609,10 +690,10 @@ importers: dependencies: vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) vue-router: specifier: ^4.4.0 - version: 4.4.0(vue@3.4.31(typescript@5.5.2)) + version: 4.4.0(vue@3.4.31(typescript@5.5.3)) packages/@core/ui-kit/layout-ui: dependencies: @@ -630,10 +711,10 @@ importers: version: link:../../shared/typings '@vueuse/core': specifier: ^10.11.0 - version: 10.11.0(vue@3.4.31(typescript@5.5.2)) + version: 10.11.0(vue@3.4.31(typescript@5.5.3)) vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) packages/@core/ui-kit/menu-ui: dependencies: @@ -654,16 +735,16 @@ importers: version: link:../../shared/typings '@vueuse/core': specifier: ^10.11.0 - version: 10.11.0(vue@3.4.31(typescript@5.5.2)) + version: 10.11.0(vue@3.4.31(typescript@5.5.3)) vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) packages/@core/ui-kit/shadcn-ui: dependencies: '@radix-icons/vue': specifier: ^1.0.0 - version: 1.0.0(vue@3.4.31(typescript@5.5.2)) + version: 1.0.0(vue@3.4.31(typescript@5.5.3)) '@vben-core/colorful': specifier: workspace:* version: link:../../shared/colorful @@ -678,16 +759,16 @@ importers: version: link:../../shared/typings '@vueuse/core': specifier: ^10.11.0 - version: 10.11.0(vue@3.4.31(typescript@5.5.2)) + version: 10.11.0(vue@3.4.31(typescript@5.5.3)) class-variance-authority: specifier: ^0.7.0 version: 0.7.0 radix-vue: specifier: ^1.8.5 - version: 1.8.5(vue@3.4.31(typescript@5.5.2)) + version: 1.8.5(vue@3.4.31(typescript@5.5.3)) vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) vue-sonner: specifier: ^1.1.3 version: 1.1.3 @@ -711,7 +792,7 @@ importers: version: link:../../shared/typings vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) packages/business/chart-ui: dependencies: @@ -723,13 +804,13 @@ importers: version: link:../../@core/forward/preferences '@vueuse/core': specifier: ^10.11.0 - version: 10.11.0(vue@3.4.31(typescript@5.5.2)) + version: 10.11.0(vue@3.4.31(typescript@5.5.3)) echarts: specifier: ^5.5.1 version: 5.5.1 vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) packages/business/layouts: dependencies: @@ -771,10 +852,10 @@ importers: version: link:../widgets vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) vue-router: specifier: ^4.4.0 - version: 4.4.0(vue@3.4.31(typescript@5.5.2)) + version: 4.4.0(vue@3.4.31(typescript@5.5.3)) devDependencies: '@vben-core/typings': specifier: workspace:* @@ -808,16 +889,16 @@ importers: version: link:../../types '@vueuse/integrations': specifier: ^10.11.0 - version: 10.11.0(async-validator@4.2.5)(axios@1.7.2)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.3)(vue@3.4.31(typescript@5.5.2)) + version: 10.11.0(async-validator@4.2.5)(axios@1.7.2)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.3)(vue@3.4.31(typescript@5.5.3)) qrcode: specifier: ^1.5.3 version: 1.5.3 vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) vue-router: specifier: ^4.4.0 - version: 4.4.0(vue@3.4.31(typescript@5.5.2)) + version: 4.4.0(vue@3.4.31(typescript@5.5.3)) devDependencies: '@types/qrcode': specifier: ^1.5.5 @@ -851,19 +932,19 @@ importers: version: link:../../locales '@vueuse/core': specifier: ^10.11.0 - version: 10.11.0(vue@3.4.31(typescript@5.5.2)) + version: 10.11.0(vue@3.4.31(typescript@5.5.3)) '@vueuse/integrations': specifier: ^10.11.0 - version: 10.11.0(async-validator@4.2.5)(axios@1.7.2)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.3)(vue@3.4.31(typescript@5.5.2)) + version: 10.11.0(async-validator@4.2.5)(axios@1.7.2)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.3)(vue@3.4.31(typescript@5.5.3)) qrcode: specifier: ^1.5.3 version: 1.5.3 vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) vue-router: specifier: ^4.4.0 - version: 4.4.0(vue@3.4.31(typescript@5.5.2)) + version: 4.4.0(vue@3.4.31(typescript@5.5.3)) devDependencies: '@types/qrcode': specifier: ^1.5.5 @@ -878,7 +959,7 @@ importers: dependencies: vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) packages/icons: dependencies: @@ -896,10 +977,10 @@ importers: version: link:../@core/shared/typings vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) vue-i18n: specifier: ^9.13.1 - version: 9.13.1(vue@3.4.31(typescript@5.5.2)) + version: 9.13.1(vue@3.4.31(typescript@5.5.3)) packages/styles: dependencies: @@ -917,10 +998,10 @@ importers: version: link:../@core/shared/typings vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) vue-router: specifier: ^4.4.0 - version: 4.4.0(vue@3.4.31(typescript@5.5.2)) + version: 4.4.0(vue@3.4.31(typescript@5.5.3)) packages/utils: dependencies: @@ -950,10 +1031,10 @@ importers: devDependencies: vitepress: specifier: ^1.2.3 - version: 1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.9)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.39)(qrcode@1.5.3)(sass@1.77.6)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.5.2) + version: 1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.9)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.39)(qrcode@1.5.3)(sass@1.77.6)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.5.3) vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.5.2) + version: 3.4.31(typescript@5.5.3) packages: @@ -1030,6 +1111,24 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@angular-devkit/core@17.1.2': + resolution: {integrity: sha512-ku+/W/HMCBacSWFppenr9y6Lx8mDuTuQvn1IkTyBLiJOpWnzgVbx9kHDeaDchGa1PwLlJUBBrv27t3qgJOIDPw==} + engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + peerDependencies: + chokidar: ^3.5.2 + peerDependenciesMeta: + chokidar: + optional: true + + '@angular-devkit/schematics-cli@17.1.2': + resolution: {integrity: sha512-bvXykYzSST05qFdlgIzUguNOb3z0hCa8HaTwtqdmQo9aFPf+P+/AC56I64t1iTchMjQtf3JrBQhYM25gUdcGbg==} + engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + hasBin: true + + '@angular-devkit/schematics@17.1.2': + resolution: {integrity: sha512-8S9RuM8olFN/gwN+mjbuF1CwHX61f0i59EGXz9tXLnKRUTjsRR+8vVMTAmX0dvVAT5fJTG/T69X+HX7FeumdqA==} + engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@ant-design/colors@7.0.2': resolution: {integrity: sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==} @@ -1836,6 +1935,10 @@ packages: '@changesets/write@0.3.1': resolution: {integrity: sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==} + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + '@commitlint/cli@19.3.0': resolution: {integrity: sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==} engines: {node: '>=v18'} @@ -2850,6 +2953,12 @@ packages: '@gar/promisify@1.1.3': resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -2964,11 +3073,19 @@ packages: '@jspm/import-map@1.0.8': resolution: {integrity: sha512-+o6ITxcXYWHoeUMmWWNm5ePHKFFHton69d5XPmBYodtM3h4j/o9uHJ+OnDd6xVIANMKh3jBM+ErYm7wiJUxeGA==} + '@ljharb/through@2.3.13': + resolution: {integrity: sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==} + engines: {node: '>= 0.4'} + '@ls-lint/ls-lint@2.2.3': resolution: {integrity: sha512-ekM12jNm/7O2I/hsRv9HvYkRdfrHpiV1epVuI2NP+eTIcEgdIdKkKCs9KgQydu/8R5YXTov9aHdOgplmCHLupw==} os: [darwin, linux, win32] hasBin: true + '@lukeed/csprng@1.1.0': + resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} + engines: {node: '>=8'} + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -3000,6 +3117,86 @@ packages: '@microsoft/tsdoc@0.14.2': resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + '@nestjs/cli@10.3.2': + resolution: {integrity: sha512-aWmD1GLluWrbuC4a1Iz/XBk5p74Uj6nIVZj6Ov03JbTfgtWqGFLtXuMetvzMiHxfrHehx/myt2iKAPRhKdZvTg==} + engines: {node: '>= 16.14'} + hasBin: true + peerDependencies: + '@swc/cli': ^0.1.62 || ^0.3.0 + '@swc/core': ^1.3.62 + peerDependenciesMeta: + '@swc/cli': + optional: true + '@swc/core': + optional: true + + '@nestjs/common@10.3.10': + resolution: {integrity: sha512-H8k0jZtxk1IdtErGDmxFRy0PfcOAUg41Prrqpx76DQusGGJjsaovs1zjXVD1rZWaVYchfT1uczJ6L4Kio10VNg==} + peerDependencies: + class-transformer: '*' + class-validator: '*' + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: + class-transformer: + optional: true + class-validator: + optional: true + + '@nestjs/config@3.2.3': + resolution: {integrity: sha512-p6yv/CvoBewJ72mBq4NXgOAi2rSQNWx3a+IMJLVKS2uiwFCOQQuiIatGwq6MRjXV3Jr+B41iUO8FIf4xBrZ4/w==} + peerDependencies: + '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 + rxjs: ^7.1.0 + + '@nestjs/core@10.3.10': + resolution: {integrity: sha512-ZbQ4jovQyzHtCGCrzK5NdtW1SYO2fHSsgSY1+/9WdruYCUra+JDkWEXgZ4M3Hv480Dl3OXehAmY1wCOojeMyMQ==} + peerDependencies: + '@nestjs/common': ^10.0.0 + '@nestjs/microservices': ^10.0.0 + '@nestjs/platform-express': ^10.0.0 + '@nestjs/websockets': ^10.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@10.2.0': + resolution: {integrity: sha512-x8cG90SURkEiLOehNaN2aRlotxT0KZESUliOPKKnjWiyJOcWurkF3w345WOX0P4MgFzUjGoZ1Sy0aZnxeihT0g==} + peerDependencies: + '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 + + '@nestjs/passport@10.0.3': + resolution: {integrity: sha512-znJ9Y4S8ZDVY+j4doWAJ8EuuVO7SkQN3yOBmzxbGaXbvcSwFDAdGJ+OMCg52NdzIO4tQoN4pYKx8W6M0ArfFRQ==} + peerDependencies: + '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 + passport: ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0 + + '@nestjs/platform-express@10.3.10': + resolution: {integrity: sha512-wK2ow3CZI2KFqWeEpPmoR300OB6BcBLxARV1EiClJLCj4S1mZsoCmS0YWgpk3j1j6mo0SI8vNLi/cC2iZPEPQA==} + peerDependencies: + '@nestjs/common': ^10.0.0 + '@nestjs/core': ^10.0.0 + + '@nestjs/schematics@10.1.1': + resolution: {integrity: sha512-o4lfCnEeIkfJhGBbLZxTuVWcGuqDCFwg5OrvpgRUBM7vI/vONvKKiB5riVNpO+JqXoH0I42NNeDb0m4V5RREig==} + peerDependencies: + typescript: '>=4.8.2' + + '@nestjs/typeorm@10.0.2': + resolution: {integrity: sha512-H738bJyydK4SQkRCTeh1aFBxoO1E9xdL/HaLGThwrqN95os5mEyAtK7BLADOS+vldP4jDZ2VQPLj4epWwRqCeQ==} + peerDependencies: + '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 + '@nestjs/core': ^8.0.0 || ^9.0.0 || ^10.0.0 + reflect-metadata: ^0.1.13 || ^0.2.0 + rxjs: ^7.2.0 + typeorm: ^0.3.0 + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -3020,6 +3217,11 @@ packages: engines: {node: '>=10'} deprecated: This functionality has been moved to @npmcli/fs + '@nuxtjs/opencollective@0.3.2': + resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + '@one-ini/wasm@0.1.1': resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} @@ -3248,6 +3450,15 @@ packages: '@shikijs/transformers@1.7.0': resolution: {integrity: sha512-QX3TP+CS4yYLt4X4Dk7wT0MsC7yweTYHMAAKY+ay+uuR9yRdFae/h+hivny2O+YixJHfZl57xtiZfWSrHdyVhQ==} + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + '@simonwep/pickr@1.8.2': resolution: {integrity: sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==} @@ -3262,6 +3473,9 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} + '@sqltools/formatter@1.2.5': + resolution: {integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==} + '@stylistic/stylelint-plugin@2.1.2': resolution: {integrity: sha512-JsSqu0Y3vsX+PBl+DwULxC0cIv9C1yIcq1MXkx7pBOGtTqU26a75I8MPYMiEYvrsXgsKLi65xVgy1iLVSZquJA==} engines: {node: ^18.12 || >=20.9} @@ -3339,6 +3553,12 @@ packages: '@types/bintrees@1.0.6': resolution: {integrity: sha512-pZWT4Bz+tWwxlDspSjdoIza4PE5lbGI4Xvs3FZV/2v5m5SDA8LwNpU8AXxlndmARO7OaQ1Vf3zFenOsNMzaRkQ==} + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/conventional-commits-parser@5.0.0': resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==} @@ -3354,6 +3574,12 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/express-serve-static-core@4.19.5': + resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} + + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + '@types/fs-extra@11.0.4': resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} @@ -3363,6 +3589,12 @@ packages: '@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/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + '@types/jsdom@21.1.7': resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} @@ -3372,6 +3604,9 @@ packages: '@types/jsonfile@6.1.4': resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + '@types/jsonwebtoken@9.0.5': + resolution: {integrity: sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA==} + '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} @@ -3381,6 +3616,9 @@ packages: '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + '@types/minimatch@3.0.5': resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} @@ -3414,26 +3652,41 @@ packages: '@types/qrcode@1.5.5': resolution: {integrity: sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg==} + '@types/qs@6.9.15': + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + + '@types/serve-static@1.15.7': + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@types/validator@13.12.0': + resolution: {integrity: sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==} + '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} '@types/which@3.0.4': resolution: {integrity: sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==} - '@typescript-eslint/eslint-plugin@7.14.1': - resolution: {integrity: sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==} + '@typescript-eslint/eslint-plugin@7.15.0': + resolution: {integrity: sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -3443,8 +3696,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.14.1': - resolution: {integrity: sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==} + '@typescript-eslint/parser@7.15.0': + resolution: {integrity: sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3457,12 +3710,12 @@ packages: resolution: {integrity: sha512-adbXNVEs6GmbzaCpymHQ0MB6E4TqoiVbC0iqG3uijR8ZYfpAXMGttouQzF4Oat3P2GxDVIrg7bMI/P65LiQZdg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@7.14.1': - resolution: {integrity: sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==} + '@typescript-eslint/scope-manager@7.15.0': + resolution: {integrity: sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.14.1': - resolution: {integrity: sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==} + '@typescript-eslint/type-utils@7.15.0': + resolution: {integrity: sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3475,8 +3728,8 @@ packages: resolution: {integrity: sha512-7K7HMcSQIAND6RBL4kDl24sG/xKM13cA85dc7JnmQXw2cBDngg7c19B++JzvJHRG3zG36n9j1i451GBzRuHchw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@7.14.1': - resolution: {integrity: sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==} + '@typescript-eslint/types@7.15.0': + resolution: {integrity: sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/typescript-estree@7.13.1': @@ -3488,8 +3741,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.14.1': - resolution: {integrity: sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==} + '@typescript-eslint/typescript-estree@7.15.0': + resolution: {integrity: sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -3503,8 +3756,8 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@7.14.1': - resolution: {integrity: sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==} + '@typescript-eslint/utils@7.15.0': + resolution: {integrity: sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3513,8 +3766,8 @@ packages: resolution: {integrity: sha512-k/Bfne7lrP7hcb7m9zSsgcBmo+8eicqqfNAJ7uUY+jkTFpKeH2FSkWpFRtimBxgkyvqfu9jTPRbYOvud6isdXA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@7.14.1': - resolution: {integrity: sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==} + '@typescript-eslint/visitor-keys@7.15.0': + resolution: {integrity: sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==} engines: {node: ^18.18.0 || >=20.0.0} '@ungap/structured-clone@1.2.0': @@ -3534,20 +3787,20 @@ packages: vite: ^5.0.0 vue: ^3.4.31 - '@vitest/expect@2.0.0-beta.10': - resolution: {integrity: sha512-/i2m9rj/Hzd+PcJYZo47dFDcrUnU0T4LbdCguugJZ0bvFLtU1oWmn6PxCUTYcwj4TgBWNU9r7f1ngZQId2j5Mw==} + '@vitest/expect@2.0.0-beta.12': + resolution: {integrity: sha512-4AoKb3aZRFzFWGVF6iFHuAjsFH0dydQKzEfT8TfCNzx7+iXtVnLJ5nQUC6D4qlvyEmJeGIbbXZcgiSxY4Ry7eA==} - '@vitest/runner@2.0.0-beta.10': - resolution: {integrity: sha512-OYqqCCOWoD0jJCJuAr5mNqlI98b1IUUw4o57JgoJ3sU1FRvgeb2fJX6n3/EFFGz9vkCBshiqkICZsEVy8AxUbQ==} + '@vitest/runner@2.0.0-beta.12': + resolution: {integrity: sha512-nAerpQvAw1/6vO4vRjOy0A+7IwtktSME3thwUoqWZxMKBgmTzIO2/WevbtFsAwYPc3V8NEY/Erv4PjQt9JTlzQ==} - '@vitest/snapshot@2.0.0-beta.10': - resolution: {integrity: sha512-SvvnBwcGsxI++T0WF8Py5LGCzJE2s5x2Bs6hCTiGVZPqmCrmCLVPeRQCLzYyX3LVRUHgkqgfmP7grUHDKusMJg==} + '@vitest/snapshot@2.0.0-beta.12': + resolution: {integrity: sha512-NBqn1rTNQ/e3Dsw8LnniHgeZslgIxg8UvSfje/QV3hJLSoLMLbKLopHmK9T2FQA0hcibAaq/TZVyVrBoX+6aig==} - '@vitest/spy@2.0.0-beta.10': - resolution: {integrity: sha512-vqkBBxQr5F+ufquHPMMpwfe/aPDWgHx7f6WyL7w6tIswZuCa9QSdwARldr8i2lEpCQC7htWA3UnmxQz5faYLxw==} + '@vitest/spy@2.0.0-beta.12': + resolution: {integrity: sha512-o9Di4HtCMY/81YZr13ozhvkEdF2cI/4VmkOO0rC5s4v1kTcM4PpvkkSut/Cwj5LfeENRQI6JINvDaKNgBPSXhA==} - '@vitest/utils@2.0.0-beta.10': - resolution: {integrity: sha512-QfkMTsHtNCav0ejxmJsRloUa1VT46vK0xJFQIA9hpA7rGnuUS3QZmKcbi9NrBRbCgPxk7TrXc2sJu2dk13Uifg==} + '@vitest/utils@2.0.0-beta.12': + resolution: {integrity: sha512-qjVhzdcGnZeWMOoEDk/wgfuO4f/jcz7MIOpSAr2apxeJoWOZ+4GrV77/3EZ9qBodU4MbXBeHdR5KHdMPfl3kAQ==} '@volar/language-core@1.11.1': resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} @@ -3776,6 +4029,9 @@ packages: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + abbrev@2.0.0: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -3784,6 +4040,10 @@ packages: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + acorn-import-assertions@1.9.0: resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: @@ -3819,6 +4079,14 @@ packages: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv-keywords@3.5.2: resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: @@ -3827,6 +4095,9 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv@8.16.0: resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} @@ -3840,6 +4111,10 @@ packages: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + ansi-escapes@6.2.1: resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} engines: {node: '>=14.16'} @@ -3881,10 +4156,25 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} + app-root-path@3.1.0: + resolution: {integrity: sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==} + engines: {node: '>= 6.0.0'} + + 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==} + are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} + are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -3909,6 +4199,9 @@ packages: resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} engines: {node: '>=8'} + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} @@ -3995,6 +4288,12 @@ packages: balanced-match@2.0.0: resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bcryptjs@2.4.3: + resolution: {integrity: sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==} + better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -4003,12 +4302,22 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + bintrees@1.0.2: resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} birpc@0.2.17: resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==} + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -4031,9 +4340,18 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + buffer-equal-constant-time@1.0.1: + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -4042,18 +4360,20 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - bundle-require@4.2.1: - resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.17' - bundle-require@5.0.0: resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.18' + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -4147,6 +4467,9 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -4170,6 +4493,12 @@ packages: citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + class-transformer@0.5.1: + resolution: {integrity: sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==} + + class-validator@0.14.1: + resolution: {integrity: sha512-2VEG9JICxIqTpoK1eMzZqaV+u/EiwEJkMGzTrZf6sU/fwsnOITVgYJ8yojSy6CaXtO9V0Cc6ZQZ8h8m4UBuLwQ==} + class-variance-authority@0.7.0: resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} @@ -4193,18 +4522,43 @@ packages: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + cli-cursor@4.0.0: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-highlight@2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + cli-progress@3.12.0: resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} engines: {node: '>=4'} + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-table3@0.6.3: + resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} + engines: {node: 10.* || >= 12.*} + cli-truncate@4.0.0: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} engines: {node: '>=18'} + cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} @@ -4215,6 +4569,10 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} @@ -4232,6 +4590,10 @@ packages: 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==} @@ -4296,6 +4658,10 @@ packages: 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} + confbox@0.1.7: resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} @@ -4310,10 +4676,6 @@ packages: resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==} engines: {node: '>=0.8'} - connect@3.7.0: - resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} - engines: {node: '>= 0.10.0'} - consola@2.15.3: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} @@ -4321,6 +4683,17 @@ packages: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + conventional-changelog-angular@7.0.0: resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} engines: {node: '>=16'} @@ -4340,6 +4713,13 @@ packages: cookie-es@1.1.0: resolution: {integrity: sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw==} + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + copy-anything@3.0.5: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} @@ -4353,6 +4733,10 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + cosmiconfig-typescript-loader@5.0.0: resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} engines: {node: '>=v16'} @@ -4365,6 +4749,15 @@ packages: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + cosmiconfig@9.0.0: resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} @@ -4628,6 +5021,9 @@ packages: resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} engines: {node: '>=18'} + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} @@ -4655,17 +5051,28 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + depcheck@1.4.7: resolution: {integrity: sha512-1lklS/bV5chOxwNKA/2XUUk/hPORp8zihZsXflr8x0kLwmcZ9Y9BsS6Hs3ssvA+2wUVbG0U2Ciqvm1SokNjPkA==} engines: {node: '>=10'} hasBin: true + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + deps-regex@0.2.0: resolution: {integrity: sha512-PwuBojGMQAYbWkMXOY9Pd/NWCDNHVH12pnS7WHqZkTSeMESe4hwnKKRp0yR87g37113x4JPbo/oIvXY+s/f56Q==} 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} + detect-file@1.0.0: resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} engines: {node: '>=0.10.0'} @@ -4678,6 +5085,10 @@ packages: resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} engines: {node: '>=12.20'} + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -4743,6 +5154,10 @@ packages: resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} engines: {node: '>=10'} + dotenv-expand@10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + dotenv-expand@8.0.3: resolution: {integrity: sha512-SErOMvge0ZUyWd5B0NXMQlDkN+8r+HhVUsxgOO7IoPDOdDRD2JjExpN6y3KnFR66jsJMwSn1pqIivhU5rcJiNg==} engines: {node: '>=12'} @@ -4761,6 +5176,9 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + ecdsa-sig-formatter@1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + echarts@5.5.1: resolution: {integrity: sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==} @@ -4799,6 +5217,9 @@ 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==} + enhanced-resolve@5.17.0: resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} engines: {node: '>=10.13.0'} @@ -4892,6 +5313,10 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + escodegen@2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} @@ -5118,6 +5543,10 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + event-stream@3.3.4: resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} @@ -5136,10 +5565,18 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + expand-tilde@2.0.2: resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} engines: {node: '>=0.10.0'} + express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + engines: {node: '>= 0.10.0'} + extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} @@ -5170,6 +5607,9 @@ packages: fast-npm-meta@0.0.1: resolution: {integrity: sha512-Uh4wg3/3v8I+6kC9zeSfqXa5jmZQrnZ44X3mx0jPtSlRdsqfolBgsmZ81ktHfwFd5ObCUhL2eRSslI/AYojzLw==} + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-string-compare@3.0.0: resolution: {integrity: sha512-PY66/8HelapGo5nqMN17ZTKqJj1nppuS1OoC9Y0aI2jsUDlZDEYhMODTpb68wVCq+xMbaEbPGXRd7qutHzkRXA==} engines: {node: ^14.13.1 || >=16.0.0} @@ -5185,6 +5625,14 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + figures@5.0.0: + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -5197,6 +5645,9 @@ packages: resolution: {integrity: sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==} engines: {node: '>=18'} + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} @@ -5204,8 +5655,8 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} find-up-simple@1.0.0: @@ -5265,6 +5716,13 @@ packages: resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} engines: {node: '>=14'} + fork-ts-checker-webpack-plugin@9.0.2: + resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} + engines: {node: '>=12.13.0', yarn: '>=1.0.0'} + peerDependencies: + typescript: '>3.6.0' + webpack: ^5.11.0 + form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} @@ -5277,12 +5735,23 @@ packages: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + from@0.1.7: resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -5307,6 +5776,9 @@ packages: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} + fs-monkey@1.0.6: + resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -5329,6 +5801,11 @@ packages: resolution: {integrity: sha512-/fZih3/WLsrtlaj2mahjWxAmyuikmcl3D5kKPqLtFmEilLsy9wp0+/vEmfvYXXhwJc+ajtCFDCf+yttXmPMHSQ==} hasBin: true + gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + gensequence@7.0.0: resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==} engines: {node: '>=18'} @@ -5382,6 +5859,9 @@ packages: engines: {node: '>=16'} hasBin: true + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -5393,6 +5873,11 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + glob@10.4.1: resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} engines: {node: '>=16 || 14 >=14.18'} @@ -5523,6 +6008,9 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -5531,6 +6019,9 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -5565,6 +6056,10 @@ packages: http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + http-proxy-agent@4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} engines: {node: '>= 6'} @@ -5611,6 +6106,12 @@ packages: idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + 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@5.0.1: resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -5665,14 +6166,30 @@ packages: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} + + inquirer@9.2.12: + resolution: {integrity: sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==} + engines: {node: '>=14.18.0'} + internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + ip-address@9.0.5: resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} engines: {node: '>= 12'} + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} @@ -5765,6 +6282,10 @@ packages: resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} engines: {node: '>=10'} + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + is-lambda@1.0.1: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} @@ -5856,6 +6377,14 @@ packages: is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + 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-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} @@ -5875,12 +6404,23 @@ packages: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} + 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==} + iterare@1.2.1: + resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==} + engines: {node: '>=6'} + + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + jackspeak@3.4.0: resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} engines: {node: '>=14'} @@ -5901,6 +6441,9 @@ packages: jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + js-beautify@1.15.1: resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==} engines: {node: '>=14'} @@ -5981,6 +6524,12 @@ packages: resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + + jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -5995,6 +6544,16 @@ packages: 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'} + + jwa@1.4.1: + resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + + jws@3.2.2: + resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -6027,6 +6586,9 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + libphonenumber-js@1.11.4: + resolution: {integrity: sha512-F/R50HQuWWYcmU/esP5jrH5LiWYaN7DpN0a/99U8+mnGGtnx8kmRE+649dQh3v+CowXXZc8vpkf5AmYkO0AQ7Q==} + lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -6086,12 +6648,27 @@ packages: lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + lodash.includes@4.3.0: + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + + 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==} + + lodash.isnumber@3.0.3: + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + lodash.isstring@4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} @@ -6104,6 +6681,9 @@ packages: lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} @@ -6125,6 +6705,10 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + log-update@6.0.0: resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} engines: {node: '>=18'} @@ -6163,6 +6747,10 @@ packages: magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -6170,6 +6758,10 @@ packages: resolution: {integrity: sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==} engines: {node: '>= 10'} + make-fetch-happen@9.1.0: + resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} + engines: {node: '>= 10'} + map-stream@0.1.0: resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} @@ -6185,6 +6777,14 @@ packages: mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + meow@12.1.1: resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} engines: {node: '>=16.10'} @@ -6193,6 +6793,9 @@ packages: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} + merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -6200,6 +6803,10 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + micromatch@4.0.7: resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} @@ -6212,6 +6819,11 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + mime@3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} @@ -6316,11 +6928,23 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true + mkdirp@2.1.6: + resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} + engines: {node: '>=10'} + hasBin: true + mkdist@1.5.1: resolution: {integrity: sha512-lCu1spNiA52o7IaKgZnOjg28nNHwYqUDjBfXePXyUtzD7Xhe6rRTkGTalQ/ALfrZC/SrPw2+A/0qkeJ+fPDZtQ==} hasBin: true @@ -6339,10 +6963,6 @@ packages: mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} - mockjs@1.1.0: - resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} - hasBin: true - modern-normalize@2.0.0: resolution: {integrity: sha512-CxBoEVKh5U4DH3XuNbc5ONLF6dQBc8dSc7pdZ1957FGbIO5JBqGqqchhET9dTexri8/pk9xBL6+5ceOtCIp1QA==} engines: {node: '>=6'} @@ -6370,10 +6990,21 @@ packages: muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + multer@1.4.4-lts.1: + resolution: {integrity: sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==} + engines: {node: '>= 6.0.0'} + multimatch@5.0.0: resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} engines: {node: '>=10'} + mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + + 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} + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -6390,18 +7021,36 @@ packages: nanopop@2.4.2: resolution: {integrity: sha512-NzOgmMQ+elxxHeIha+OG/Pv3Oc3p4RU2aBhwWwAqDpXrdTbtRylbRLQztLy8dMMwfl6pclznBdfUhccEn9ZIzw==} + napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + node-abi@3.65.0: + resolution: {integrity: sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==} + engines: {node: '>=10'} + + node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + + node-addon-api@7.1.0: + resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} + engines: {node: ^16 || ^18 || >= 20} + node-cleanup@2.1.2: resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} @@ -6409,6 +7058,9 @@ packages: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} + node-emoji@1.11.0: + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + node-fetch-native@1.6.4: resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} @@ -6425,12 +7077,27 @@ packages: resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-gyp@8.4.1: + resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} + engines: {node: '>= 10.12.0'} + hasBin: true + node-html-parser@5.4.2: resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==} node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + nodemon@3.1.4: + resolution: {integrity: sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==} + engines: {node: '>=10'} + hasBin: true + + nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + nopt@7.2.1: resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -6468,6 +7135,11 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + nprogress@0.2.0: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} @@ -6502,8 +7174,8 @@ packages: ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} - on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} once@1.4.0: @@ -6529,6 +7201,10 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -6611,9 +7287,18 @@ packages: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + parse5-htmlparser2-tree-adapter@7.0.0: resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} @@ -6624,6 +7309,21 @@ packages: pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + passport-jwt@4.0.1: + resolution: {integrity: sha512-UCKMDYhNuGOBE9/9Ycuoyh7vP6jpeTp/+sfMJl7nLff/t6dps+iaeE0hhNkKN8/HZHcJ7lCdOyDxHdDoxoSvdQ==} + + passport-local@1.0.0: + resolution: {integrity: sha512-9wCE6qKznvf9mQYYbgJ3sVOHmCWoUNMVFoZzNoznmISbhnNNPhN9xfY3sLmScHMetEJeoY7CXwfhCe7argfQow==} + engines: {node: '>= 0.4.0'} + + passport-strategy@1.0.0: + resolution: {integrity: sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==} + engines: {node: '>= 0.4.0'} + + passport@0.7.0: + resolution: {integrity: sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==} + engines: {node: '>= 0.4.0'} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -6654,8 +7354,11 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-to-regexp@6.2.2: - resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + + path-to-regexp@3.2.0: + resolution: {integrity: sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==} path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -6678,6 +7381,9 @@ packages: pause-stream@0.0.11: resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + pause@0.0.1: + resolution: {integrity: sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==} + perfect-debounce@1.0.0: resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} @@ -6688,6 +7394,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@3.0.1: + resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==} + engines: {node: '>=10'} + pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} @@ -7157,6 +7867,11 @@ packages: preact@10.22.0: resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==} + prebuild-install@7.1.2: + resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} + engines: {node: '>=10'} + hasBin: true + preferred-pm@3.1.3: resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} engines: {node: '>=10'} @@ -7243,6 +7958,9 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -7262,6 +7980,10 @@ packages: proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -7276,11 +7998,17 @@ packages: psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + pstree.remy@1.1.8: + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} + publint@0.2.8: resolution: {integrity: sha512-C5MjGJ7gpanqaDpgBN+6QhjvXcoj0/YpbucoW29oO5729CGTMzfr3wZTIYcpzB1xl9ZfEqj4KL86P2Z50pt/JA==} engines: {node: '>=16'} hasBin: true + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -7294,6 +8022,10 @@ packages: engines: {node: '>=10.13.0'} hasBin: true + qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} @@ -7315,6 +8047,14 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + 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'} + rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -7337,14 +8077,28 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + refa@0.12.1: resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + reflect-metadata@0.2.2: + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + regenerate-unicode-properties@10.1.1: resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} @@ -7451,6 +8205,10 @@ packages: resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} engines: {node: '>=14.16'} + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + restore-cursor@4.0.0: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7527,9 +8285,20 @@ packages: resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} engines: {node: '>=18'} + run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + + run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} @@ -7538,6 +8307,9 @@ packages: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -7599,9 +8371,17 @@ packages: engines: {node: '>=10'} hasBin: true + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -7613,6 +8393,13 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + shallow-equal@1.2.1: resolution: {integrity: sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==} @@ -7635,6 +8422,11 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + shiki@1.7.0: resolution: {integrity: sha512-H5pMn4JA7ayx8H0qOz1k2qANq6mZVCMl1gKLK6kWIrv1s2Ial4EmD4s4jE8QB5Dw03d/oCQUxc24sotuyR5byA==} @@ -7656,6 +8448,16 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + + 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'} @@ -7701,6 +8503,10 @@ packages: resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==} engines: {node: '>= 6'} + socks-proxy-agent@6.2.1: + resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} + engines: {node: '>= 10'} + socks@2.8.3: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} @@ -7763,6 +8569,9 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + sqlite3@5.1.7: + resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} + ssri@8.0.1: resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} engines: {node: '>= 8'} @@ -7770,9 +8579,9 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} @@ -7780,6 +8589,10 @@ packages: stream-combiner@0.0.4: resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -7811,6 +8624,12 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + stringify-object@3.3.0: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} engines: {node: '>=4'} @@ -7963,6 +8782,10 @@ packages: engines: {node: '>=14.0.0'} hasBin: true + 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==} @@ -8002,6 +8825,13 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -8087,10 +8917,18 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + totalist@3.0.1: 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'} @@ -8105,6 +8943,10 @@ packages: resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} engines: {node: '>=18'} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -8128,6 +8970,14 @@ packages: '@swc/wasm': optional: true + tsconfig-paths-webpack-plugin@4.1.0: + resolution: {integrity: sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==} + engines: {node: '>=10.13.0'} + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + tslib@2.3.0: resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} @@ -8139,6 +8989,9 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + turbo-darwin-64@2.0.6: resolution: {integrity: sha512-XpgBwWj3Ggmz/gQVqXdMKXHC1iFPMDiuwugLwSzE7Ih0O13JuNtYZKhQnopvbDQnFQCeRq2Vsm5OTWabg/oB/g==} cpu: [x64] @@ -8189,6 +9042,10 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + 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'} @@ -8205,6 +9062,10 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} @@ -8224,19 +9085,89 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + typeorm@0.3.20: + resolution: {integrity: sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q==} + engines: {node: '>=16.13.0'} + hasBin: true + peerDependencies: + '@google-cloud/spanner': ^5.18.0 + '@sap/hana-client': ^2.12.25 + better-sqlite3: ^7.1.2 || ^8.0.0 || ^9.0.0 + hdb-pool: ^0.1.6 + ioredis: ^5.0.4 + mongodb: ^5.8.0 + mssql: ^9.1.1 || ^10.0.1 + mysql2: ^2.2.5 || ^3.0.1 + oracledb: ^6.3.0 + pg: ^8.5.1 + pg-native: ^3.0.0 + pg-query-stream: ^4.0.0 + redis: ^3.1.1 || ^4.0.0 + sql.js: ^1.4.0 + sqlite3: ^5.0.3 + ts-node: ^10.7.0 + typeorm-aurora-data-api-driver: ^2.0.0 + peerDependenciesMeta: + '@google-cloud/spanner': + optional: true + '@sap/hana-client': + optional: true + better-sqlite3: + optional: true + hdb-pool: + optional: true + ioredis: + optional: true + mongodb: + optional: true + mssql: + optional: true + mysql2: + optional: true + oracledb: + optional: true + pg: + optional: true + pg-native: + optional: true + pg-query-stream: + optional: true + redis: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + ts-node: + optional: true + typeorm-aurora-data-api-driver: + optional: true + + typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} hasBin: true - typescript@5.5.2: - resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} + typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} engines: {node: '>=14.17'} hasBin: true ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + uid@2.0.2: + resolution: {integrity: sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==} + engines: {node: '>=8'} + unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -8255,6 +9186,9 @@ packages: uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + undefsafe@2.0.5: + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -8375,6 +9309,10 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -8385,13 +9323,17 @@ packages: resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} engines: {node: '>= 0.10'} + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + vite-hot-client@0.2.3: resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 - vite-node@2.0.0-beta.10: - resolution: {integrity: sha512-+QvNhWLzDnK58qUHUloUZsk5ECy32+fMwSv3boeXXPFVlBpJDonw7dOeEgXAPa3+vXTTFszUCJnPrZwWBBuxIQ==} + vite-node@2.0.0-beta.12: + resolution: {integrity: sha512-aS07DFW00yJNteJ44bPOSz/Zs25ppIqMElzcydBQv7nKiImnb8N6Rrlg9GQYLJByHLbdJAdxXvDsdruwkPA+kw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -8430,14 +9372,6 @@ packages: peerDependencies: vite: '*' - vite-plugin-mock@3.0.2: - resolution: {integrity: sha512-bD//HvkTygGmk+LsIAdf0jGNlCv4iWv0kZlH9UEgWT6QYoUwfjQAE4SKxHRw2tfLgVhbPQVv/+X3YlNWvueGUA==} - engines: {node: '>=16.0.0'} - peerDependencies: - esbuild: '>=0.17' - mockjs: '>=1.1.0' - vite: '>=4.0.0' - vite-plugin-pwa@0.20.0: resolution: {integrity: sha512-/kDZyqF8KqoXRpMUQtR5Atri/7BWayW8Gp7Kz/4bfstsV6zSFTxjREbXZYL7zSuRL40HGA+o2hvUAFRmC+bL7g==} engines: {node: '>=16.0.0'} @@ -8501,15 +9435,15 @@ packages: postcss: optional: true - vitest@2.0.0-beta.10: - resolution: {integrity: sha512-Mv8WjiuhQGC1QRySkVnVc0XS2jfwv3vwu6uSt2LZexldWYi13S4W83yH621VDEmrH1hJ+oOT0/eGBIYRaggGRg==} + vitest@2.0.0-beta.12: + resolution: {integrity: sha512-nqputSJprBdVHgQDg7xUVQigEdC8JOva889jbP0LoHQNA8kN+YzAEdAnYqyUk7ZRMlbtCHO16Ys/cfTBIqDm9A==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.0.0-beta.10 - '@vitest/ui': 2.0.0-beta.10 + '@vitest/browser': 2.0.0-beta.12 + '@vitest/ui': 2.0.0-beta.12 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -8616,6 +9550,9 @@ packages: resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} engines: {node: '>=10.13.0'} + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + web-streams-polyfill@3.3.3: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} @@ -8630,6 +9567,10 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} + 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==} engines: {node: '>=10.13.0'} @@ -8702,6 +9643,9 @@ packages: engines: {node: '>=8'} 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'} @@ -8812,6 +9756,10 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} @@ -9003,17 +9951,49 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + '@angular-devkit/core@17.1.2(chokidar@3.6.0)': + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + jsonc-parser: 3.2.0 + picomatch: 3.0.1 + rxjs: 7.8.1 + source-map: 0.7.4 + optionalDependencies: + chokidar: 3.6.0 + + '@angular-devkit/schematics-cli@17.1.2(chokidar@3.6.0)': + dependencies: + '@angular-devkit/core': 17.1.2(chokidar@3.6.0) + '@angular-devkit/schematics': 17.1.2(chokidar@3.6.0) + ansi-colors: 4.1.3 + inquirer: 9.2.12 + symbol-observable: 4.0.0 + yargs-parser: 21.1.1 + transitivePeerDependencies: + - chokidar + + '@angular-devkit/schematics@17.1.2(chokidar@3.6.0)': + dependencies: + '@angular-devkit/core': 17.1.2(chokidar@3.6.0) + jsonc-parser: 3.2.0 + magic-string: 0.30.5 + ora: 5.4.1 + rxjs: 7.8.1 + transitivePeerDependencies: + - chokidar + '@ant-design/colors@7.0.2': dependencies: '@ctrl/tinycolor': 4.1.0 '@ant-design/icons-svg@4.4.2': {} - '@ant-design/icons-vue@7.0.1(vue@3.4.31(typescript@5.5.2))': + '@ant-design/icons-vue@7.0.1(vue@3.4.31(typescript@5.5.3))': dependencies: '@ant-design/colors': 7.0.2 '@ant-design/icons-svg': 4.4.2 - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) '@antfu/ni@0.21.12': {} @@ -9114,7 +10094,7 @@ snapshots: '@babel/traverse': 7.24.7 '@babel/types': 7.24.7 convert-source-map: 2.0.0 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -9174,7 +10154,7 @@ snapshots: '@babel/core': 7.24.7 '@babel/helper-compilation-targets': 7.24.7 '@babel/helper-plugin-utils': 7.24.7 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -9902,7 +10882,7 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.7 '@babel/parser': 7.24.7 '@babel/types': 7.24.7 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -10084,11 +11064,14 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 - '@commitlint/cli@19.3.0(@types/node@20.14.9)(typescript@5.5.2)': + '@colors/colors@1.5.0': + optional: true + + '@commitlint/cli@19.3.0(@types/node@20.14.9)(typescript@5.5.3)': dependencies: '@commitlint/format': 19.3.0 '@commitlint/lint': 19.2.2 - '@commitlint/load': 19.2.0(@types/node@20.14.9)(typescript@5.5.2) + '@commitlint/load': 19.2.0(@types/node@20.14.9)(typescript@5.5.3) '@commitlint/read': 19.2.1 '@commitlint/types': 19.0.3 execa: 8.0.1 @@ -10135,15 +11118,15 @@ snapshots: '@commitlint/rules': 19.0.3 '@commitlint/types': 19.0.3 - '@commitlint/load@19.2.0(@types/node@20.14.9)(typescript@5.5.2)': + '@commitlint/load@19.2.0(@types/node@20.14.9)(typescript@5.5.3)': dependencies: '@commitlint/config-validator': 19.0.3 '@commitlint/execute-rule': 19.0.0 '@commitlint/resolve-extends': 19.1.0 '@commitlint/types': 19.0.3 chalk: 5.3.0 - cosmiconfig: 9.0.0(typescript@5.5.2) - cosmiconfig-typescript-loader: 5.0.0(@types/node@20.14.9)(cosmiconfig@9.0.0(typescript@5.5.2))(typescript@5.5.2) + cosmiconfig: 9.0.0(typescript@5.5.3) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.14.9)(cosmiconfig@9.0.0(typescript@5.5.3))(typescript@5.5.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -10383,7 +11366,6 @@ snapshots: '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - optional: true '@csstools/cascade-layer-name-parser@1.0.12(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)': dependencies: @@ -10884,7 +11866,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -10898,7 +11880,7 @@ snapshots: '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) espree: 10.1.0 globals: 14.0.0 ignore: 5.3.1 @@ -10924,21 +11906,27 @@ snapshots: '@floating-ui/utils@0.2.2': {} - '@floating-ui/vue@1.0.6(vue@3.4.31(typescript@5.5.2))': + '@floating-ui/vue@1.0.6(vue@3.4.31(typescript@5.5.3))': dependencies: '@floating-ui/dom': 1.6.5 '@floating-ui/utils': 0.2.2 - vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.2)) + vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.3)) transitivePeerDependencies: - '@vue/composition-api' - vue '@gar/promisify@1.1.3': {} + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -10958,10 +11946,10 @@ snapshots: '@iconify/types@2.0.0': {} - '@iconify/vue@4.1.2(vue@3.4.31(typescript@5.5.2))': + '@iconify/vue@4.1.2(vue@3.4.31(typescript@5.5.3))': dependencies: '@iconify/types': 2.0.0 - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) '@internationalized/date@3.5.4': dependencies: @@ -10971,7 +11959,7 @@ snapshots: dependencies: '@swc/helpers': 0.5.11 - '@intlify/bundle-utils@8.0.0(vue-i18n@9.13.1(vue@3.4.31(typescript@5.5.2)))': + '@intlify/bundle-utils@8.0.0(vue-i18n@9.13.1(vue@3.4.31(typescript@5.5.3)))': dependencies: '@intlify/message-compiler': 9.13.1 '@intlify/shared': 9.13.1 @@ -10983,7 +11971,7 @@ snapshots: source-map-js: 1.2.0 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 9.13.1(vue@3.4.31(typescript@5.5.2)) + vue-i18n: 9.13.1(vue@3.4.31(typescript@5.5.3)) '@intlify/core-base@9.13.1': dependencies: @@ -10997,13 +11985,13 @@ snapshots: '@intlify/shared@9.13.1': {} - '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.18.0)(vue-i18n@9.13.1(vue@3.4.31(typescript@5.5.2)))': + '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.18.0)(vue-i18n@9.13.1(vue@3.4.31(typescript@5.5.3)))': dependencies: - '@intlify/bundle-utils': 8.0.0(vue-i18n@9.13.1(vue@3.4.31(typescript@5.5.2))) + '@intlify/bundle-utils': 8.0.0(vue-i18n@9.13.1(vue@3.4.31(typescript@5.5.3))) '@intlify/shared': 9.13.1 '@rollup/pluginutils': 5.1.0(rollup@4.18.0) '@vue/compiler-sfc': 3.4.29 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) fast-glob: 3.3.2 js-yaml: 4.1.0 json5: 2.2.3 @@ -11012,7 +12000,7 @@ snapshots: source-map-js: 1.2.0 unplugin: 1.10.1 optionalDependencies: - vue-i18n: 9.13.1(vue@3.4.31(typescript@5.5.2)) + vue-i18n: 9.13.1(vue@3.4.31(typescript@5.5.3)) transitivePeerDependencies: - rollup - supports-color @@ -11056,7 +12044,6 @@ snapshots: dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - optional: true '@jsdevtools/ez-spawn@3.0.4': dependencies: @@ -11082,8 +12069,14 @@ snapshots: '@jspm/import-map@1.0.8': {} + '@ljharb/through@2.3.13': + dependencies: + call-bind: 1.0.7 + '@ls-lint/ls-lint@2.2.3': {} + '@lukeed/csprng@1.1.0': {} + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.24.7 @@ -11153,6 +12146,124 @@ snapshots: '@microsoft/tsdoc@0.14.2': {} + '@nestjs/cli@10.3.2(esbuild@0.20.2)': + dependencies: + '@angular-devkit/core': 17.1.2(chokidar@3.6.0) + '@angular-devkit/schematics': 17.1.2(chokidar@3.6.0) + '@angular-devkit/schematics-cli': 17.1.2(chokidar@3.6.0) + '@nestjs/schematics': 10.1.1(chokidar@3.6.0)(typescript@5.3.3) + chalk: 4.1.2 + chokidar: 3.6.0 + cli-table3: 0.6.3 + commander: 4.1.1 + fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.3.3)(webpack@5.90.1(esbuild@0.20.2)) + glob: 10.3.10 + inquirer: 8.2.6 + node-emoji: 1.11.0 + ora: 5.4.1 + rimraf: 4.4.1 + shelljs: 0.8.5 + source-map-support: 0.5.21 + tree-kill: 1.2.2 + tsconfig-paths: 4.2.0 + tsconfig-paths-webpack-plugin: 4.1.0 + typescript: 5.3.3 + webpack: 5.90.1(esbuild@0.20.2) + webpack-node-externals: 3.0.0 + transitivePeerDependencies: + - esbuild + - uglify-js + - webpack-cli + + '@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)': + dependencies: + iterare: 1.2.1 + reflect-metadata: 0.2.2 + rxjs: 7.8.1 + tslib: 2.6.3 + uid: 2.0.2 + optionalDependencies: + class-transformer: 0.5.1 + class-validator: 0.14.1 + + '@nestjs/config@3.2.3(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(rxjs@7.8.1)': + dependencies: + '@nestjs/common': 10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + dotenv: 16.4.5 + dotenv-expand: 10.0.0 + lodash: 4.17.21 + rxjs: 7.8.1 + + '@nestjs/core@10.3.10(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.3.10)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)': + dependencies: + '@nestjs/common': 10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nuxtjs/opencollective': 0.3.2(encoding@0.1.13) + fast-safe-stringify: 2.1.1 + iterare: 1.2.1 + path-to-regexp: 3.2.0 + reflect-metadata: 0.2.2 + rxjs: 7.8.1 + tslib: 2.6.3 + uid: 2.0.2 + optionalDependencies: + '@nestjs/platform-express': 10.3.10(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.3.10) + transitivePeerDependencies: + - encoding + + '@nestjs/jwt@10.2.0(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))': + dependencies: + '@nestjs/common': 10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@types/jsonwebtoken': 9.0.5 + jsonwebtoken: 9.0.2 + + '@nestjs/passport@10.0.3(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(passport@0.7.0)': + dependencies: + '@nestjs/common': 10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + passport: 0.7.0 + + '@nestjs/platform-express@10.3.10(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.3.10)': + dependencies: + '@nestjs/common': 10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.3.10(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.3.10)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) + body-parser: 1.20.2 + cors: 2.8.5 + express: 4.19.2 + multer: 1.4.4-lts.1 + tslib: 2.6.3 + transitivePeerDependencies: + - supports-color + + '@nestjs/schematics@10.1.1(chokidar@3.6.0)(typescript@5.3.3)': + dependencies: + '@angular-devkit/core': 17.1.2(chokidar@3.6.0) + '@angular-devkit/schematics': 17.1.2(chokidar@3.6.0) + comment-json: 4.2.3 + jsonc-parser: 3.2.1 + pluralize: 8.0.0 + typescript: 5.3.3 + transitivePeerDependencies: + - chokidar + + '@nestjs/schematics@10.1.1(chokidar@3.6.0)(typescript@5.5.3)': + dependencies: + '@angular-devkit/core': 17.1.2(chokidar@3.6.0) + '@angular-devkit/schematics': 17.1.2(chokidar@3.6.0) + comment-json: 4.2.3 + jsonc-parser: 3.2.1 + pluralize: 8.0.0 + typescript: 5.5.3 + transitivePeerDependencies: + - chokidar + + '@nestjs/typeorm@10.0.2(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.3.10(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.3.10)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)(rxjs@7.8.1)(typeorm@0.3.20(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)))': + dependencies: + '@nestjs/common': 10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.3.10(@nestjs/common@10.3.10(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.3.10)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) + reflect-metadata: 0.2.2 + rxjs: 7.8.1 + typeorm: 0.3.20(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)) + uuid: 9.0.1 + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -11175,6 +12286,14 @@ snapshots: mkdirp: 1.0.4 rimraf: 3.0.2 + '@nuxtjs/opencollective@0.3.2(encoding@0.1.13)': + dependencies: + chalk: 4.1.2 + consola: 2.15.3 + node-fetch: 2.7.0(encoding@0.1.13) + transitivePeerDependencies: + - encoding + '@one-ini/wasm@0.1.1': {} '@pkgjs/parseargs@0.11.0': @@ -11196,9 +12315,9 @@ snapshots: '@polka/url@1.0.0-next.25': {} - '@radix-icons/vue@1.0.0(vue@3.4.31(typescript@5.5.2))': + '@radix-icons/vue@1.0.0(vue@3.4.31(typescript@5.5.3))': dependencies: - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) '@rollup/plugin-alias@5.1.0(rollup@3.29.4)': dependencies: @@ -11399,6 +12518,14 @@ snapshots: dependencies: shiki: 1.7.0 + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + '@simonwep/pickr@1.8.2': dependencies: core-js: 3.37.1 @@ -11410,7 +12537,9 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} - '@stylistic/stylelint-plugin@2.1.2(stylelint@16.6.1(typescript@5.5.2))': + '@sqltools/formatter@1.2.5': {} + + '@stylistic/stylelint-plugin@2.1.2(stylelint@16.6.1(typescript@5.5.3))': dependencies: '@csstools/css-parser-algorithms': 2.6.3(@csstools/css-tokenizer@2.3.1) '@csstools/css-tokenizer': 2.3.1 @@ -11419,7 +12548,7 @@ snapshots: postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 style-search: 0.1.0 - stylelint: 16.6.1(typescript@5.5.2) + stylelint: 16.6.1(typescript@5.5.3) '@surma/rollup-plugin-off-main-thread@2.2.3': dependencies: @@ -11436,46 +12565,42 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tailwindcss/forms@0.5.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)))': + '@tailwindcss/forms@0.5.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)))': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)) '@tailwindcss/nesting@0.0.0-insiders.565cd3e(postcss@8.4.39)': dependencies: postcss: 8.4.39 postcss-nested: 5.0.6(postcss@8.4.39) - '@tailwindcss/typography@0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)))': + '@tailwindcss/typography@0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)))': dependencies: lodash.castarray: 4.4.0 lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)) '@tanstack/virtual-core@3.5.1': {} - '@tanstack/vue-virtual@3.5.1(vue@3.4.31(typescript@5.5.2))': + '@tanstack/vue-virtual@3.5.1(vue@3.4.31(typescript@5.5.3))': dependencies: '@tanstack/virtual-core': 3.5.1 - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) '@tootallnate/once@1.1.2': {} '@trysound/sax@0.2.0': {} - '@tsconfig/node10@1.0.11': - optional: true + '@tsconfig/node10@1.0.11': {} - '@tsconfig/node12@1.0.11': - optional: true + '@tsconfig/node12@1.0.11': {} - '@tsconfig/node14@1.0.3': - optional: true + '@tsconfig/node14@1.0.3': {} - '@tsconfig/node16@1.0.4': - optional: true + '@tsconfig/node16@1.0.4': {} '@types/argparse@1.0.38': {} @@ -11506,6 +12631,15 @@ snapshots: '@types/bintrees@1.0.6': {} + '@types/body-parser@1.19.5': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.14.9 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 20.14.9 + '@types/conventional-commits-parser@5.0.0': dependencies: '@types/node': 20.14.9 @@ -11514,7 +12648,6 @@ snapshots: dependencies: '@types/eslint': 8.56.10 '@types/estree': 1.0.5 - optional: true '@types/eslint@8.56.10': dependencies: @@ -11525,6 +12658,20 @@ snapshots: '@types/estree@1.0.5': {} + '@types/express-serve-static-core@4.19.5': + dependencies: + '@types/node': 20.14.9 + '@types/qs': 6.9.15 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express@4.17.21': + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.19.5 + '@types/qs': 6.9.15 + '@types/serve-static': 1.15.7 + '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 @@ -11534,6 +12681,10 @@ snapshots: '@types/http-cache-semantics@4.0.4': {} + '@types/http-errors@2.0.4': {} + + '@types/js-yaml@4.0.9': {} + '@types/jsdom@21.1.7': dependencies: '@types/node': 20.14.9 @@ -11546,6 +12697,10 @@ snapshots: dependencies: '@types/node': 20.14.9 + '@types/jsonwebtoken@9.0.5': + dependencies: + '@types/node': 20.14.9 + '@types/linkify-it@5.0.0': {} '@types/markdown-it@14.1.1': @@ -11555,6 +12710,8 @@ snapshots: '@types/mdurl@2.0.0': {} + '@types/mime@1.3.5': {} + '@types/minimatch@3.0.5': {} '@types/minimist@1.2.5': {} @@ -11585,46 +12742,63 @@ snapshots: dependencies: '@types/node': 20.14.9 + '@types/qs@6.9.15': {} + + '@types/range-parser@1.2.7': {} + '@types/resolve@1.20.2': {} '@types/semver@7.5.8': {} + '@types/send@0.17.4': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.14.9 + + '@types/serve-static@1.15.7': + dependencies: + '@types/http-errors': 2.0.4 + '@types/node': 20.14.9 + '@types/send': 0.17.4 + '@types/tough-cookie@4.0.5': {} '@types/trusted-types@2.0.7': {} + '@types/validator@13.12.0': {} + '@types/web-bluetooth@0.0.20': {} '@types/which@3.0.4': {} - '@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/type-utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/visitor-keys': 7.14.1 + '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/type-utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 7.15.0 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.2) + ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) - '@typescript-eslint/visitor-keys': 7.14.1 - debug: 4.3.5 + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 7.15.0 + debug: 4.3.5(supports-color@5.5.0) eslint: 8.57.0 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -11633,74 +12807,74 @@ snapshots: '@typescript-eslint/types': 7.13.1 '@typescript-eslint/visitor-keys': 7.13.1 - '@typescript-eslint/scope-manager@7.14.1': + '@typescript-eslint/scope-manager@7.15.0': dependencies: - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/visitor-keys': 7.14.1 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/visitor-keys': 7.15.0 - '@typescript-eslint/type-utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/type-utils@7.15.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) - '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) - debug: 4.3.5 + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) + '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + debug: 4.3.5(supports-color@5.5.0) eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.5.2) + ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color '@typescript-eslint/types@7.13.1': {} - '@typescript-eslint/types@7.14.1': {} + '@typescript-eslint/types@7.15.0': {} - '@typescript-eslint/typescript-estree@7.13.1(typescript@5.5.2)': + '@typescript-eslint/typescript-estree@7.13.1(typescript@5.5.3)': dependencies: '@typescript-eslint/types': 7.13.1 '@typescript-eslint/visitor-keys': 7.13.1 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.5.2) + ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.14.1(typescript@5.5.2)': + '@typescript-eslint/typescript-estree@7.15.0(typescript@5.5.3)': dependencies: - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/visitor-keys': 7.14.1 - debug: 4.3.5 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/visitor-keys': 7.15.0 + debug: 4.3.5(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.5.2) + ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.13.1(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/utils@7.13.1(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@typescript-eslint/scope-manager': 7.13.1 '@typescript-eslint/types': 7.13.1 - '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.5.2) + '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.5.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/utils@7.15.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color @@ -11711,51 +12885,51 @@ snapshots: '@typescript-eslint/types': 7.13.1 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.14.1': + '@typescript-eslint/visitor-keys@7.15.0': dependencies: - '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/types': 7.15.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-vue-jsx@4.0.0(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2))': + '@vitejs/plugin-vue-jsx@4.0.0(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.3))': dependencies: '@babel/core': 7.24.7 '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.7) vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.0.5(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2))': + '@vitejs/plugin-vue@5.0.5(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.3))': dependencies: vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) - '@vitest/expect@2.0.0-beta.10': + '@vitest/expect@2.0.0-beta.12': dependencies: - '@vitest/spy': 2.0.0-beta.10 - '@vitest/utils': 2.0.0-beta.10 + '@vitest/spy': 2.0.0-beta.12 + '@vitest/utils': 2.0.0-beta.12 chai: 5.1.1 - '@vitest/runner@2.0.0-beta.10': + '@vitest/runner@2.0.0-beta.12': dependencies: - '@vitest/utils': 2.0.0-beta.10 + '@vitest/utils': 2.0.0-beta.12 p-limit: 5.0.0 pathe: 1.1.2 - '@vitest/snapshot@2.0.0-beta.10': + '@vitest/snapshot@2.0.0-beta.12': dependencies: magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 - '@vitest/spy@2.0.0-beta.10': + '@vitest/spy@2.0.0-beta.12': dependencies: tinyspy: 3.0.0 - '@vitest/utils@2.0.0-beta.10': + '@vitest/utils@2.0.0-beta.12': dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -11878,13 +13052,13 @@ snapshots: '@vue/devtools-api@6.6.3': {} - '@vue/devtools-api@7.3.0(vue@3.4.31(typescript@5.5.2))': + '@vue/devtools-api@7.3.0(vue@3.4.31(typescript@5.5.3))': dependencies: - '@vue/devtools-kit': 7.3.0(vue@3.4.31(typescript@5.5.2)) + '@vue/devtools-kit': 7.3.0(vue@3.4.31(typescript@5.5.3)) transitivePeerDependencies: - vue - '@vue/devtools-core@7.3.5(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2))': + '@vue/devtools-core@7.3.5(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.3))': dependencies: '@vue/devtools-kit': 7.3.5 '@vue/devtools-shared': 7.3.5 @@ -11892,11 +13066,11 @@ snapshots: nanoid: 3.3.7 pathe: 1.1.2 vite-hot-client: 0.2.3(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)) - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) transitivePeerDependencies: - vite - '@vue/devtools-kit@7.3.0(vue@3.4.31(typescript@5.5.2))': + '@vue/devtools-kit@7.3.0(vue@3.4.31(typescript@5.5.3))': dependencies: '@vue/devtools-shared': 7.3.0 birpc: 0.2.17 @@ -11905,7 +13079,7 @@ snapshots: perfect-debounce: 1.0.0 speakingurl: 14.0.1 superjson: 2.2.1 - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) '@vue/devtools-kit@7.3.5': dependencies: @@ -11925,7 +13099,7 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/language-core@1.8.27(typescript@5.5.2)': + '@vue/language-core@1.8.27(typescript@5.5.3)': dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 @@ -11937,9 +13111,9 @@ snapshots: path-browserify: 1.0.1 vue-template-compiler: 2.7.16 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 - '@vue/language-core@2.0.24(typescript@5.5.2)': + '@vue/language-core@2.0.24(typescript@5.5.3)': dependencies: '@volar/language-core': 2.4.0-alpha.5 '@vue/compiler-dom': 3.4.31 @@ -11950,7 +13124,7 @@ snapshots: path-browserify: 1.0.1 vue-template-compiler: 2.7.16 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 '@vue/reactivity@3.4.31': dependencies: @@ -11968,11 +13142,11 @@ snapshots: '@vue/shared': 3.4.31 csstype: 3.1.3 - '@vue/server-renderer@3.4.31(vue@3.4.31(typescript@5.5.2))': + '@vue/server-renderer@3.4.31(vue@3.4.31(typescript@5.5.3))': dependencies: '@vue/compiler-ssr': 3.4.31 '@vue/shared': 3.4.31 - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) '@vue/shared@3.4.29': {} @@ -11983,21 +13157,21 @@ snapshots: js-beautify: 1.15.1 vue-component-type-helpers: 2.0.21 - '@vueuse/core@10.11.0(vue@3.4.31(typescript@5.5.2))': + '@vueuse/core@10.11.0(vue@3.4.31(typescript@5.5.3))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.0 - '@vueuse/shared': 10.11.0(vue@3.4.31(typescript@5.5.2)) - vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.2)) + '@vueuse/shared': 10.11.0(vue@3.4.31(typescript@5.5.3)) + vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.3)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.11.0(async-validator@4.2.5)(axios@1.7.2)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.3)(vue@3.4.31(typescript@5.5.2))': + '@vueuse/integrations@10.11.0(async-validator@4.2.5)(axios@1.7.2)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.3)(vue@3.4.31(typescript@5.5.3))': dependencies: - '@vueuse/core': 10.11.0(vue@3.4.31(typescript@5.5.2)) - '@vueuse/shared': 10.11.0(vue@3.4.31(typescript@5.5.2)) - vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.2)) + '@vueuse/core': 10.11.0(vue@3.4.31(typescript@5.5.3)) + '@vueuse/shared': 10.11.0(vue@3.4.31(typescript@5.5.3)) + vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.3)) optionalDependencies: async-validator: 4.2.5 axios: 1.7.2 @@ -12010,9 +13184,9 @@ snapshots: '@vueuse/metadata@10.11.0': {} - '@vueuse/shared@10.11.0(vue@3.4.31(typescript@5.5.2))': + '@vueuse/shared@10.11.0(vue@3.4.31(typescript@5.5.3))': dependencies: - vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.2)) + vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -12021,26 +13195,20 @@ snapshots: dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - optional: true - '@webassemblyjs/floating-point-hex-parser@1.11.6': - optional: true + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} - '@webassemblyjs/helper-api-error@1.11.6': - optional: true + '@webassemblyjs/helper-api-error@1.11.6': {} - '@webassemblyjs/helper-buffer@1.12.1': - optional: true + '@webassemblyjs/helper-buffer@1.12.1': {} '@webassemblyjs/helper-numbers@1.11.6': dependencies: '@webassemblyjs/floating-point-hex-parser': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 - optional: true - '@webassemblyjs/helper-wasm-bytecode@1.11.6': - optional: true + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} '@webassemblyjs/helper-wasm-section@1.12.1': dependencies: @@ -12048,20 +13216,16 @@ snapshots: '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/wasm-gen': 1.12.1 - optional: true '@webassemblyjs/ieee754@1.11.6': dependencies: '@xtuc/ieee754': 1.2.0 - optional: true '@webassemblyjs/leb128@1.11.6': dependencies: '@xtuc/long': 4.2.2 - optional: true - '@webassemblyjs/utf8@1.11.6': - optional: true + '@webassemblyjs/utf8@1.11.6': {} '@webassemblyjs/wasm-edit@1.12.1': dependencies: @@ -12073,7 +13237,6 @@ snapshots: '@webassemblyjs/wasm-opt': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 '@webassemblyjs/wast-printer': 1.12.1 - optional: true '@webassemblyjs/wasm-gen@1.12.1': dependencies: @@ -12082,7 +13245,6 @@ snapshots: '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - optional: true '@webassemblyjs/wasm-opt@1.12.1': dependencies: @@ -12090,7 +13252,6 @@ snapshots: '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/wasm-gen': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - optional: true '@webassemblyjs/wasm-parser@1.12.1': dependencies: @@ -12100,35 +13261,38 @@ snapshots: '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - optional: true '@webassemblyjs/wast-printer@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - optional: true - '@xtuc/ieee754@1.2.0': - optional: true + '@xtuc/ieee754@1.2.0': {} - '@xtuc/long@4.2.2': - optional: true + '@xtuc/long@4.2.2': {} JSONStream@1.3.5: dependencies: jsonparse: 1.3.1 through: 2.3.8 + abbrev@1.1.1: + optional: true + abbrev@2.0.0: {} abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + acorn-import-assertions@1.9.0(acorn@8.12.0): dependencies: acorn: 8.12.0 - optional: true acorn-jsx@5.3.2(acorn@8.12.0): dependencies: @@ -12137,19 +13301,18 @@ snapshots: acorn-walk@8.3.3: dependencies: acorn: 8.12.0 - optional: true acorn@8.12.0: {} agent-base@6.0.2: dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color agent-base@7.1.1: dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -12162,10 +13325,13 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 + ajv-formats@2.1.1(ajv@8.12.0): + optionalDependencies: + ajv: 8.12.0 + ajv-keywords@3.5.2(ajv@6.12.6): dependencies: ajv: 6.12.6 - optional: true ajv@6.12.6: dependencies: @@ -12174,6 +13340,13 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ajv@8.12.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + ajv@8.16.0: dependencies: fast-deep-equal: 3.1.3 @@ -12205,6 +13378,10 @@ snapshots: ansi-colors@4.1.3: {} + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + ansi-escapes@6.2.1: {} ansi-regex@5.0.1: {} @@ -12223,10 +13400,10 @@ snapshots: ansi-styles@6.2.1: {} - ant-design-vue@4.2.3(vue@3.4.31(typescript@5.5.2)): + ant-design-vue@4.2.3(vue@3.4.31(typescript@5.5.3)): dependencies: '@ant-design/colors': 7.0.2 - '@ant-design/icons-vue': 7.0.1(vue@3.4.31(typescript@5.5.2)) + '@ant-design/icons-vue': 7.0.1(vue@3.4.31(typescript@5.5.3)) '@babel/runtime': 7.24.7 '@ctrl/tinycolor': 4.1.0 '@emotion/hash': 0.9.1 @@ -12245,8 +13422,8 @@ snapshots: shallow-equal: 1.2.1 stylis: 4.3.2 throttle-debounce: 5.0.0 - vue: 3.4.31(typescript@5.5.2) - vue-types: 3.0.2(vue@3.4.31(typescript@5.5.2)) + vue: 3.4.31(typescript@5.5.3) + vue-types: 3.0.2(vue@3.4.31(typescript@5.5.3)) warning: 4.0.3 any-promise@1.3.0: {} @@ -12256,11 +13433,23 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 + app-root-path@3.1.0: {} + + append-field@1.0.0: {} + + aproba@2.0.0: + optional: true + are-docs-informative@0.0.2: {} - arg@4.1.3: + are-we-there-yet@3.0.1: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 optional: true + arg@4.1.3: {} + arg@5.0.2: {} argparse@1.0.10: @@ -12280,6 +13469,8 @@ snapshots: array-differ@3.0.0: {} + array-flatten@1.1.1: {} + array-ify@1.0.0: {} array-timsort@1.0.3: {} @@ -12374,16 +13565,47 @@ snapshots: balanced-match@2.0.0: {} + base64-js@1.5.1: {} + + bcryptjs@2.4.3: {} + better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 binary-extensions@2.3.0: {} + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + bintrees@1.0.2: {} birpc@0.2.17: {} + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + body-parser@1.20.2: + 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.11.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + boolbase@1.0.0: {} boxen@7.1.1: @@ -12417,24 +13639,37 @@ snapshots: node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) + buffer-equal-constant-time@1.0.1: {} + buffer-from@1.1.2: {} + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + builtin-modules@3.3.0: {} bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 - bundle-require@4.2.1(esbuild@0.21.5): - dependencies: - esbuild: 0.21.5 - load-tsconfig: 0.2.5 - bundle-require@5.0.0(esbuild@0.20.2): dependencies: esbuild: 0.20.2 load-tsconfig: 0.2.5 + busboy@1.6.0: + dependencies: + streamsearch: 1.1.0 + + bytes@3.1.2: {} + cac@6.7.14: {} cacache@15.3.0: @@ -12568,10 +13803,11 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chownr@1.1.4: {} + chownr@2.0.0: {} - chrome-trace-event@1.0.4: - optional: true + chrome-trace-event@1.0.4: {} ci-info@3.9.0: {} @@ -12587,7 +13823,7 @@ snapshots: listr2: 8.2.1 minimatch: 9.0.4 node-cleanup: 2.1.2 - typescript: 5.5.2 + typescript: 5.5.3 update-notifier: 7.0.0 zx: 7.2.3 @@ -12595,6 +13831,14 @@ snapshots: dependencies: consola: 3.2.3 + class-transformer@0.5.1: {} + + class-validator@0.14.1: + dependencies: + '@types/validator': 13.12.0 + libphonenumber-js: 1.11.4 + validator: 13.12.0 + class-variance-authority@0.7.0: dependencies: clsx: 2.1.1 @@ -12616,19 +13860,44 @@ snapshots: cli-boxes@3.0.0: {} + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + cli-cursor@4.0.0: dependencies: restore-cursor: 4.0.0 + cli-highlight@2.1.11: + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.0 + cli-progress@3.12.0: dependencies: string-width: 4.2.3 + cli-spinners@2.9.2: {} + + cli-table3@0.6.3: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 string-width: 7.1.0 + cli-width@3.0.0: {} + + cli-width@4.1.0: {} + cliui@6.0.0: dependencies: string-width: 4.2.3 @@ -12647,6 +13916,8 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + clone@1.0.4: {} + clsx@2.1.1: {} color-convert@1.9.3: @@ -12661,6 +13932,9 @@ snapshots: color-name@1.1.4: {} + color-support@1.1.3: + optional: true + colord@2.9.3: {} colorette@2.0.20: {} @@ -12709,6 +13983,13 @@ snapshots: concat-map@0.0.1: {} + concat-stream@1.6.2: + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + typedarray: 0.0.6 + confbox@0.1.7: {} config-chain@1.1.13: @@ -12726,19 +14007,19 @@ snapshots: connect-history-api-fallback@1.6.0: {} - connect@3.7.0: - dependencies: - debug: 2.6.9 - finalhandler: 1.1.2 - parseurl: 1.3.3 - utils-merge: 1.0.1 - transitivePeerDependencies: - - supports-color - consola@2.15.3: {} consola@3.2.3: {} + console-control-strings@1.1.0: + optional: true + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + conventional-changelog-angular@7.0.0: dependencies: compare-func: 2.0.0 @@ -12758,6 +14039,10 @@ snapshots: cookie-es@1.1.0: {} + cookie-signature@1.0.6: {} + + cookie@0.6.0: {} + copy-anything@3.0.5: dependencies: is-what: 4.1.16 @@ -12770,12 +14055,17 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@5.0.0(@types/node@20.14.9)(cosmiconfig@9.0.0(typescript@5.5.2))(typescript@5.5.2): + cors@2.8.5: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + + cosmiconfig-typescript-loader@5.0.0(@types/node@20.14.9)(cosmiconfig@9.0.0(typescript@5.5.3))(typescript@5.5.3): dependencies: '@types/node': 20.14.9 - cosmiconfig: 9.0.0(typescript@5.5.2) + cosmiconfig: 9.0.0(typescript@5.5.3) jiti: 1.21.6 - typescript: 5.5.2 + typescript: 5.5.3 cosmiconfig@7.1.0: dependencies: @@ -12785,17 +14075,25 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - cosmiconfig@9.0.0(typescript@5.5.2): + cosmiconfig@8.3.6(typescript@5.3.3): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.3.3 + + cosmiconfig@9.0.0(typescript@5.5.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 - create-require@1.1.1: - optional: true + create-require@1.1.1: {} cross-env@7.0.3: dependencies: @@ -13060,9 +14358,11 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.5: + debug@4.3.5(supports-color@5.5.0): dependencies: ms: 2.1.2 + optionalDependencies: + supports-color: 5.5.0 decamelize@1.2.0: {} @@ -13087,6 +14387,10 @@ snapshots: bundle-name: 4.1.0 default-browser-id: 5.0.0 + defaults@1.0.4: + dependencies: + clone: 1.0.4 + defer-to-connect@2.0.1: {} define-data-property@1.1.4: @@ -13109,6 +14413,9 @@ snapshots: delayed-stream@1.0.0: {} + delegates@1.0.0: + optional: true + depcheck@1.4.7: dependencies: '@babel/parser': 7.24.7 @@ -13117,7 +14424,7 @@ snapshots: callsite: 1.0.0 camelcase: 6.3.0 cosmiconfig: 7.1.0 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) deps-regex: 0.2.0 findup-sync: 5.0.0 ignore: 5.3.1 @@ -13137,22 +14444,27 @@ snapshots: transitivePeerDependencies: - supports-color + depd@2.0.0: {} + deps-regex@0.2.0: {} destr@2.0.3: {} + destroy@1.2.0: {} + detect-file@1.0.0: {} detect-indent@6.1.0: {} detect-indent@7.0.1: {} + detect-libc@2.0.3: {} + didyoumean@1.2.2: {} diff-sequences@29.6.3: {} - diff@4.0.2: - optional: true + diff@4.0.2: {} dijkstrajs@1.0.3: {} @@ -13217,6 +14529,8 @@ snapshots: dependencies: is-obj: 2.0.0 + dotenv-expand@10.0.0: {} + dotenv-expand@8.0.3: {} dotenv@16.4.5: {} @@ -13227,6 +14541,10 @@ snapshots: eastasianwidth@0.2.0: {} + ecdsa-sig-formatter@1.0.11: + dependencies: + safe-buffer: 5.2.1 + echarts@5.5.1: dependencies: tslib: 2.3.0 @@ -13262,6 +14580,10 @@ snapshots: iconv-lite: 0.6.3 optional: true + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + enhanced-resolve@5.17.0: dependencies: graceful-fs: 4.2.11 @@ -13449,6 +14771,8 @@ snapshots: escape-string-regexp@4.0.0: {} + escape-string-regexp@5.0.0: {} + escodegen@2.1.0: dependencies: esprima: 4.0.1 @@ -13474,11 +14798,11 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: @@ -13502,13 +14826,13 @@ snapshots: eslint: 8.57.0 ignore: 5.3.1 - eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0): + eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0): dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) doctrine: 3.0.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) get-tsconfig: 4.7.5 is-glob: 4.0.3 minimatch: 3.1.2 @@ -13524,7 +14848,7 @@ snapshots: '@es-joy/jsdoccomment': 0.43.1 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) escape-string-regexp: 4.0.0 eslint: 8.57.0 esquery: 1.5.0 @@ -13560,9 +14884,9 @@ snapshots: eslint-plugin-no-only-tests@3.1.0: {} - eslint-plugin-perfectionist@2.11.0(eslint@8.57.0)(typescript@5.5.2)(vue-eslint-parser@9.4.3(eslint@8.57.0)): + eslint-plugin-perfectionist@2.11.0(eslint@8.57.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@8.57.0)): dependencies: - '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 minimatch: 9.0.4 natural-compare-lite: 1.4.0 @@ -13615,20 +14939,20 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-unused-imports@4.0.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0): + eslint-plugin-unused-imports@4.0.0(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0): dependencies: eslint: 8.57.0 eslint-rule-composer: 0.3.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) - eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)(vitest@2.0.0-beta.10(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)(terser@5.31.1)): + eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)(vitest@2.0.0-beta.12(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)(terser@5.31.1)): dependencies: - '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) - vitest: 2.0.0-beta.10(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)(terser@5.31.1) + '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) + vitest: 2.0.0-beta.12(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)(terser@5.31.1) transitivePeerDependencies: - supports-color - typescript @@ -13653,7 +14977,6 @@ snapshots: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - optional: true eslint-scope@7.2.2: dependencies: @@ -13677,7 +15000,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -13729,8 +15052,7 @@ snapshots: dependencies: estraverse: 5.3.0 - estraverse@4.3.0: - optional: true + estraverse@4.3.0: {} estraverse@5.3.0: {} @@ -13744,6 +15066,8 @@ snapshots: esutils@2.0.3: {} + etag@1.8.1: {} + event-stream@3.3.4: dependencies: duplexer: 0.1.2 @@ -13758,8 +15082,7 @@ snapshots: eventemitter3@5.0.1: {} - events@3.3.0: - optional: true + events@3.3.0: {} execa@8.0.1: dependencies: @@ -13773,10 +15096,48 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + expand-template@2.0.3: {} + expand-tilde@2.0.2: dependencies: homedir-polyfill: 1.0.3 + express@4.19.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.2 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.6.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + extendable-error@0.1.7: {} external-editor@3.1.0: @@ -13807,6 +15168,8 @@ snapshots: dependencies: ofetch: 1.3.4 + fast-safe-stringify@2.1.1: {} + fast-string-compare@3.0.0: {} fastest-levenshtein@1.0.16: {} @@ -13820,6 +15183,15 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 + figures@3.2.0: + dependencies: + escape-string-regexp: 1.0.5 + + figures@5.0.0: + dependencies: + escape-string-regexp: 5.0.0 + is-unicode-supported: 1.3.0 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -13832,6 +15204,8 @@ snapshots: dependencies: flat-cache: 5.0.0 + file-uri-to-path@1.0.0: {} + filelist@1.0.4: dependencies: minimatch: 5.1.6 @@ -13840,14 +15214,14 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@1.1.2: + finalhandler@1.2.0: dependencies: debug: 2.6.9 encodeurl: 1.0.2 escape-html: 1.0.3 - on-finished: 2.3.0 + on-finished: 2.4.1 parseurl: 1.3.3 - statuses: 1.5.0 + statuses: 2.0.1 unpipe: 1.0.0 transitivePeerDependencies: - supports-color @@ -13915,6 +15289,23 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.3.3)(webpack@5.90.1(esbuild@0.20.2)): + dependencies: + '@babel/code-frame': 7.24.7 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 8.3.6(typescript@5.3.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.6.2 + tapable: 2.2.1 + typescript: 5.3.3 + webpack: 5.90.1(esbuild@0.20.2) + form-data-encoder@2.1.4: {} form-data@4.0.0: @@ -13927,10 +15318,16 @@ snapshots: dependencies: fetch-blob: 3.2.0 + forwarded@0.2.0: {} + fraction.js@4.3.7: {} + fresh@0.5.2: {} + from@0.1.7: {} + fs-constants@1.0.0: {} + fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 @@ -13966,6 +15363,8 @@ snapshots: dependencies: minipass: 3.3.6 + fs-monkey@1.0.6: {} + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -13984,6 +15383,18 @@ snapshots: fx@34.0.0: {} + gauge@4.0.4: + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + optional: true + gensequence@7.0.0: {} gensync@1.0.0-beta.2: {} @@ -14028,6 +15439,8 @@ snapshots: meow: 12.1.1 split2: 4.2.0 + github-from-package@0.0.0: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -14036,8 +15449,15 @@ snapshots: dependencies: is-glob: 4.0.3 - glob-to-regexp@0.4.1: - optional: true + glob-to-regexp@0.4.1: {} + + glob@10.3.10: + dependencies: + foreground-child: 3.2.1 + jackspeak: 2.3.6 + minimatch: 9.0.4 + minipass: 7.1.2 + path-scurry: 1.11.1 glob@10.4.1: dependencies: @@ -14211,12 +15631,17 @@ snapshots: dependencies: has-symbols: 1.0.3 + has-unicode@2.0.1: + optional: true + hasown@2.0.2: dependencies: function-bind: 1.1.2 he@1.2.0: {} + highlight.js@10.7.3: {} + homedir-polyfill@1.0.3: dependencies: parse-passwd: 1.0.0 @@ -14260,18 +15685,26 @@ snapshots: http-cache-semantics@4.1.1: {} + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + http-proxy-agent@4.0.1: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -14283,14 +15716,14 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color https-proxy-agent@7.0.4: dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -14314,6 +15747,10 @@ snapshots: idb@7.1.1: {} + ieee754@1.2.1: {} + + ignore-by-default@1.0.1: {} + ignore-walk@5.0.1: dependencies: minimatch: 5.1.6 @@ -14334,7 +15771,7 @@ snapshots: importx@0.3.10: dependencies: bundle-require: 5.0.0(esbuild@0.20.2) - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) esbuild: 0.20.2 jiti: 1.21.6 pathe: 1.1.2 @@ -14362,17 +15799,57 @@ snapshots: ini@4.1.1: {} + inquirer@8.2.6: + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 6.2.0 + + inquirer@9.2.12: + dependencies: + '@ljharb/through': 2.3.13 + ansi-escapes: 4.3.2 + chalk: 5.3.0 + cli-cursor: 3.1.0 + cli-width: 4.1.0 + external-editor: 3.1.0 + figures: 5.0.0 + lodash: 4.17.21 + 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 + internal-slot@1.0.7: dependencies: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.0.6 + interpret@1.4.0: {} + ip-address@9.0.5: dependencies: jsbn: 1.1.0 sprintf-js: 1.1.3 + ipaddr.js@1.9.1: {} + iron-webcrypto@1.2.1: {} is-array-buffer@3.0.4: @@ -14448,6 +15925,8 @@ snapshots: global-dirs: 3.0.1 is-path-inside: 3.0.3 + is-interactive@1.0.0: {} + is-lambda@1.0.1: {} is-module@1.0.0: {} @@ -14515,6 +15994,10 @@ snapshots: is-typedarray@1.0.0: {} + is-unicode-supported@0.1.0: {} + + is-unicode-supported@1.3.0: {} + is-weakref@1.0.2: dependencies: call-bind: 1.0.7 @@ -14531,10 +16014,20 @@ snapshots: dependencies: is-inside-container: 1.0.0 + isarray@1.0.0: {} + isarray@2.0.5: {} isexe@2.0.0: {} + iterare@1.2.1: {} + + jackspeak@2.3.6: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + jackspeak@3.4.0: dependencies: '@isaacs/cliui': 8.0.2 @@ -14553,12 +16046,19 @@ snapshots: '@types/node': 20.14.9 merge-stream: 2.0.0 supports-color: 8.1.1 - optional: true jiti@1.21.6: {} jju@1.4.0: {} + joi@17.13.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 + js-beautify@1.15.1: dependencies: config-chain: 1.1.13 @@ -14641,6 +16141,10 @@ snapshots: espree: 9.6.1 semver: 7.6.2 + jsonc-parser@3.2.0: {} + + jsonc-parser@3.2.1: {} + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 @@ -14655,6 +16159,30 @@ snapshots: jsonpointer@5.0.1: {} + jsonwebtoken@9.0.2: + dependencies: + jws: 3.2.2 + lodash.includes: 4.3.0 + lodash.isboolean: 3.0.3 + lodash.isinteger: 4.0.4 + lodash.isnumber: 3.0.3 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.once: 4.1.1 + ms: 2.1.3 + semver: 7.6.2 + + jwa@1.4.1: + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + + jws@3.2.2: + dependencies: + jwa: 1.4.1 + safe-buffer: 5.2.1 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -14683,6 +16211,8 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + libphonenumber-js@1.11.4: {} + lilconfig@2.1.0: {} lilconfig@3.1.2: {} @@ -14693,7 +16223,7 @@ snapshots: dependencies: chalk: 5.3.0 commander: 12.1.0 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) execa: 8.0.1 lilconfig: 3.1.2 listr2: 8.2.1 @@ -14722,8 +16252,7 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 - loader-runner@4.3.0: - optional: true + loader-runner@4.3.0: {} locate-path@5.0.0: dependencies: @@ -14747,10 +16276,20 @@ snapshots: lodash.get@4.4.2: {} + lodash.includes@4.3.0: {} + + lodash.isboolean@3.0.3: {} + lodash.isequal@4.5.0: {} + lodash.isinteger@4.0.4: {} + + lodash.isnumber@3.0.3: {} + lodash.isplainobject@4.0.6: {} + lodash.isstring@4.0.1: {} + lodash.kebabcase@4.1.1: {} lodash.memoize@4.1.2: {} @@ -14759,6 +16298,8 @@ snapshots: lodash.mergewith@4.6.2: {} + lodash.once@4.1.1: {} + lodash.snakecase@4.1.1: {} lodash.sortby@4.7.0: {} @@ -14773,6 +16314,11 @@ snapshots: lodash@4.17.21: {} + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + log-update@6.0.0: dependencies: ansi-escapes: 6.2.1 @@ -14818,8 +16364,11 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - make-error@1.3.6: - optional: true + magic-string@0.30.5: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + make-error@1.3.6: {} make-fetch-happen@8.0.14: dependencies: @@ -14842,6 +16391,29 @@ snapshots: - bluebird - supports-color + make-fetch-happen@9.1.0: + dependencies: + agentkeepalive: 4.5.0 + cacache: 15.3.0 + http-cache-semantics: 4.1.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 1.4.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + socks-proxy-agent: 6.2.1 + ssri: 8.0.1 + transitivePeerDependencies: + - bluebird + - supports-color + optional: true + map-stream@0.1.0: {} mark.js@8.11.1: {} @@ -14852,14 +16424,24 @@ snapshots: mdn-data@2.0.30: {} + media-typer@0.3.0: {} + + memfs@3.5.3: + dependencies: + fs-monkey: 1.0.6 + meow@12.1.1: {} meow@13.2.0: {} + merge-descriptors@1.0.1: {} + merge-stream@2.0.0: {} merge2@1.4.1: {} + methods@1.1.2: {} + micromatch@4.0.7: dependencies: braces: 3.0.3 @@ -14871,6 +16453,8 @@ snapshots: dependencies: mime-db: 1.52.0 + mime@1.6.0: {} + mime@3.0.0: {} mimic-fn@2.1.0: {} @@ -14958,9 +16542,17 @@ snapshots: mitt@3.0.1: {} + mkdirp-classic@0.5.3: {} + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + mkdirp@1.0.4: {} - mkdist@1.5.1(sass@1.77.6)(typescript@5.5.2)(vue-tsc@2.0.24(typescript@5.5.2)): + mkdirp@2.1.6: {} + + mkdist@1.5.1(sass@1.77.6)(typescript@5.5.3)(vue-tsc@2.0.24(typescript@5.5.3)): dependencies: autoprefixer: 10.4.19(postcss@8.4.39) citty: 0.1.6 @@ -14979,8 +16571,8 @@ snapshots: semver: 7.6.2 optionalDependencies: sass: 1.77.6 - typescript: 5.5.2 - vue-tsc: 2.0.24(typescript@5.5.2) + typescript: 5.5.3 + vue-tsc: 2.0.24(typescript@5.5.3) mlly@1.7.1: dependencies: @@ -14989,10 +16581,6 @@ snapshots: pkg-types: 1.1.2 ufo: 1.5.3 - mockjs@1.1.0: - dependencies: - commander: 12.1.0 - modern-normalize@2.0.0: {} mri@1.2.0: {} @@ -15009,6 +16597,16 @@ snapshots: muggle-string@0.4.1: {} + multer@1.4.4-lts.1: + dependencies: + append-field: 1.0.0 + busboy: 1.6.0 + concat-stream: 1.6.2 + mkdirp: 0.5.6 + object-assign: 4.1.1 + type-is: 1.6.18 + xtend: 4.0.2 + multimatch@5.0.0: dependencies: '@types/minimatch': 3.0.5 @@ -15017,6 +16615,10 @@ snapshots: arrify: 2.0.1 minimatch: 3.1.2 + mute-stream@0.0.8: {} + + mute-stream@1.0.0: {} + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -15029,22 +16631,37 @@ snapshots: nanopop@2.4.2: {} + napi-build-utils@1.0.2: {} + natural-compare-lite@1.4.0: {} natural-compare@1.4.0: {} - neo-async@2.6.2: - optional: true + negotiator@0.6.3: {} + + neo-async@2.6.2: {} no-case@3.0.4: dependencies: lower-case: 2.0.2 tslib: 2.6.3 + node-abi@3.65.0: + dependencies: + semver: 7.6.2 + + node-abort-controller@3.1.1: {} + + node-addon-api@7.1.0: {} + node-cleanup@2.1.2: {} node-domexception@1.0.0: {} + node-emoji@1.11.0: + dependencies: + lodash: 4.17.21 + node-fetch-native@1.6.4: {} node-fetch@2.7.0(encoding@0.1.13): @@ -15059,6 +16676,23 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 + node-gyp@8.4.1: + dependencies: + env-paths: 2.2.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 9.1.0 + nopt: 5.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.6.2 + tar: 6.2.1 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + optional: true + node-html-parser@5.4.2: dependencies: css-select: 4.3.0 @@ -15066,6 +16700,24 @@ snapshots: node-releases@2.0.14: {} + nodemon@3.1.4: + dependencies: + chokidar: 3.6.0 + debug: 4.3.5(supports-color@5.5.0) + ignore-by-default: 1.0.1 + minimatch: 3.1.2 + pstree.remy: 1.1.8 + semver: 7.6.2 + simple-update-notifier: 2.0.0 + supports-color: 5.5.0 + touch: 3.1.1 + undefsafe: 2.0.5 + + nopt@5.0.0: + dependencies: + abbrev: 1.1.1 + optional: true + nopt@7.2.1: dependencies: abbrev: 2.0.0 @@ -15100,6 +16752,14 @@ snapshots: dependencies: path-key: 4.0.0 + npmlog@6.0.2: + dependencies: + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 + optional: true + nprogress@0.2.0: {} nth-check@2.1.1: @@ -15131,7 +16791,7 @@ snapshots: ohash@1.1.3: {} - on-finished@2.3.0: + on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -15169,6 +16829,18 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + os-tmpdir@1.0.2: {} outdent@0.5.0: {} @@ -15249,11 +16921,19 @@ snapshots: parse-passwd@1.0.0: {} + parse5-htmlparser2-tree-adapter@6.0.1: + dependencies: + parse5: 6.0.1 + parse5-htmlparser2-tree-adapter@7.0.0: dependencies: domhandler: 5.0.3 parse5: 7.1.2 + parse5@5.1.1: {} + + parse5@6.0.1: {} + parse5@7.1.2: dependencies: entities: 4.5.0 @@ -15265,6 +16945,23 @@ snapshots: no-case: 3.0.4 tslib: 2.6.3 + passport-jwt@4.0.1: + dependencies: + jsonwebtoken: 9.0.2 + passport-strategy: 1.0.0 + + passport-local@1.0.0: + dependencies: + passport-strategy: 1.0.0 + + passport-strategy@1.0.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: {} path-exists@4.0.0: {} @@ -15284,7 +16981,9 @@ snapshots: lru-cache: 10.2.2 minipass: 7.1.2 - path-to-regexp@6.2.2: {} + path-to-regexp@0.1.7: {} + + path-to-regexp@3.2.0: {} path-type@4.0.0: {} @@ -15300,29 +16999,33 @@ snapshots: dependencies: through: 2.3.8 + pause@0.0.1: {} + perfect-debounce@1.0.0: {} picocolors@1.0.1: {} picomatch@2.3.1: {} + picomatch@3.0.1: {} + pidtree@0.6.0: {} pify@2.3.0: {} pify@4.0.1: {} - pinia-plugin-persistedstate@3.2.1(pinia@2.1.7(typescript@5.5.2)(vue@3.4.31(typescript@5.5.2))): + pinia-plugin-persistedstate@3.2.1(pinia@2.1.7(typescript@5.5.3)(vue@3.4.31(typescript@5.5.3))): dependencies: - pinia: 2.1.7(typescript@5.5.2)(vue@3.4.31(typescript@5.5.2)) + pinia: 2.1.7(typescript@5.5.3)(vue@3.4.31(typescript@5.5.3)) - pinia@2.1.7(typescript@5.5.2)(vue@3.4.31(typescript@5.5.2)): + pinia@2.1.7(typescript@5.5.3)(vue@3.4.31(typescript@5.5.3)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.4.31(typescript@5.5.2) - vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.2)) + vue: 3.4.31(typescript@5.5.3) + vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.3)) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 pirates@4.0.6: {} @@ -15514,13 +17217,13 @@ snapshots: '@csstools/utilities': 1.0.0(postcss@8.4.39) postcss: 8.4.39 - postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)): + postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)): dependencies: lilconfig: 3.1.2 yaml: 2.4.5 optionalDependencies: postcss: 8.4.39 - ts-node: 10.9.2(@types/node@20.14.9)(typescript@5.5.2) + ts-node: 10.9.2(@types/node@20.14.9)(typescript@5.5.3) postcss-logical@7.0.1(postcss@8.4.39): dependencies: @@ -15792,6 +17495,21 @@ snapshots: preact@10.22.0: {} + prebuild-install@7.1.2: + dependencies: + detect-libc: 2.0.3 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.65.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + preferred-pm@3.1.3: dependencies: find-up: 5.0.0 @@ -15823,6 +17541,8 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + process-nextick-args@2.0.1: {} + promise-inflight@1.0.1: {} promise-retry@2.0.1: @@ -15837,6 +17557,11 @@ snapshots: proto-list@1.2.4: {} + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + proxy-from-env@1.1.0: {} ps-tree@1.2.0: @@ -15847,12 +17572,19 @@ snapshots: psl@1.9.0: {} + pstree.remy@1.1.8: {} + publint@0.2.8: dependencies: npm-packlist: 5.1.3 picocolors: 1.0.1 sade: 1.8.1 + pump@3.0.0: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + punycode@2.3.1: {} pupa@3.1.0: @@ -15866,26 +17598,30 @@ snapshots: pngjs: 5.0.0 yargs: 15.4.1 + qs@6.11.0: + dependencies: + side-channel: 1.0.6 + querystringify@2.2.0: {} queue-microtask@1.2.3: {} quick-lru@5.1.1: {} - radix-vue@1.8.5(vue@3.4.31(typescript@5.5.2)): + radix-vue@1.8.5(vue@3.4.31(typescript@5.5.3)): dependencies: '@floating-ui/dom': 1.6.5 - '@floating-ui/vue': 1.0.6(vue@3.4.31(typescript@5.5.2)) + '@floating-ui/vue': 1.0.6(vue@3.4.31(typescript@5.5.3)) '@internationalized/date': 3.5.4 '@internationalized/number': 3.5.3 - '@tanstack/vue-virtual': 3.5.1(vue@3.4.31(typescript@5.5.2)) - '@vueuse/core': 10.11.0(vue@3.4.31(typescript@5.5.2)) - '@vueuse/shared': 10.11.0(vue@3.4.31(typescript@5.5.2)) + '@tanstack/vue-virtual': 3.5.1(vue@3.4.31(typescript@5.5.3)) + '@vueuse/core': 10.11.0(vue@3.4.31(typescript@5.5.3)) + '@vueuse/shared': 10.11.0(vue@3.4.31(typescript@5.5.3)) aria-hidden: 1.2.4 defu: 6.1.4 fast-deep-equal: 3.1.3 nanoid: 5.0.7 - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) transitivePeerDependencies: - '@vue/composition-api' @@ -15895,6 +17631,15 @@ snapshots: dependencies: safe-buffer: 5.2.1 + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + rc@1.2.8: dependencies: deep-extend: 0.6.0 @@ -15928,14 +17673,36 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + readdirp@3.6.0: dependencies: picomatch: 2.3.1 + rechoir@0.6.2: + dependencies: + resolve: 1.22.8 + refa@0.12.1: dependencies: '@eslint-community/regexpp': 4.10.1 + reflect-metadata@0.2.2: {} + regenerate-unicode-properties@10.1.1: dependencies: regenerate: 1.4.2 @@ -16033,6 +17800,11 @@ snapshots: dependencies: lowercase-keys: 3.0.0 + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + restore-cursor@4.0.0: dependencies: onetime: 5.1.2 @@ -16056,11 +17828,11 @@ snapshots: dependencies: glob: 10.4.1 - rollup-plugin-dts@6.1.1(rollup@3.29.4)(typescript@5.5.2): + rollup-plugin-dts@6.1.1(rollup@3.29.4)(typescript@5.5.3): dependencies: magic-string: 0.30.10 rollup: 3.29.4 - typescript: 5.5.2 + typescript: 5.5.3 optionalDependencies: '@babel/code-frame': 7.24.7 @@ -16111,10 +17883,18 @@ snapshots: run-applescript@7.0.0: {} + run-async@2.4.1: {} + + run-async@3.0.0: {} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 + rxjs@7.8.1: + dependencies: + tslib: 2.6.3 + sade@1.8.1: dependencies: mri: 1.2.0 @@ -16126,6 +17906,8 @@ snapshots: has-symbols: 1.0.3 isarray: 2.0.5 + safe-buffer@5.1.2: {} + safe-buffer@5.2.1: {} safe-regex-test@1.0.3: @@ -16151,7 +17933,6 @@ snapshots: '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - optional: true scroll-into-view-if-needed@2.2.31: dependencies: @@ -16183,10 +17964,37 @@ snapshots: semver@7.6.2: {} + send@0.18.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 + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 + serve-static@1.15.0: + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + set-blocking@2.0.0: {} set-function-length@1.2.2: @@ -16205,6 +18013,13 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + setprototypeof@1.2.0: {} + + sha.js@2.4.11: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + shallow-equal@1.2.1: {} shebang-command@1.2.0: @@ -16221,6 +18036,12 @@ snapshots: shell-quote@1.8.1: {} + shelljs@0.8.5: + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + shiki@1.7.0: dependencies: '@shikijs/core': 1.7.0 @@ -16243,6 +18064,18 @@ snapshots: signal-exit@4.1.0: {} + simple-concat@1.0.1: {} + + simple-get@4.0.1: + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + + simple-update-notifier@2.0.0: + dependencies: + semver: 7.6.2 + sirv@2.0.4: dependencies: '@polka/url': 1.0.0-next.25 @@ -16282,11 +18115,20 @@ snapshots: socks-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) socks: 2.8.3 transitivePeerDependencies: - supports-color + socks-proxy-agent@6.2.1: + dependencies: + agent-base: 6.0.2 + debug: 4.3.5(supports-color@5.5.0) + socks: 2.8.3 + transitivePeerDependencies: + - supports-color + optional: true + socks@2.8.3: dependencies: ip-address: 9.0.5 @@ -16345,13 +18187,25 @@ snapshots: sprintf-js@1.1.3: {} + sqlite3@5.1.7: + dependencies: + bindings: 1.5.0 + node-addon-api: 7.1.0 + prebuild-install: 7.1.2 + tar: 6.2.1 + optionalDependencies: + node-gyp: 8.4.1 + transitivePeerDependencies: + - bluebird + - supports-color + ssri@8.0.1: dependencies: minipass: 3.3.6 stackback@0.0.2: {} - statuses@1.5.0: {} + statuses@2.0.1: {} std-env@3.7.0: {} @@ -16359,6 +18213,8 @@ snapshots: dependencies: duplexer: 0.1.2 + streamsearch@1.1.0: {} + string-argv@0.3.2: {} string-width@4.2.3: @@ -16413,6 +18269,14 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + stringify-object@3.3.0: dependencies: get-own-enumerable-property-symbols: 3.0.2 @@ -16449,64 +18313,64 @@ snapshots: postcss: 8.4.39 postcss-selector-parser: 6.1.0 - stylelint-config-html@1.1.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.5.2)): + stylelint-config-html@1.1.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.5.3)): dependencies: postcss-html: 1.7.0 - stylelint: 16.6.1(typescript@5.5.2) + stylelint: 16.6.1(typescript@5.5.3) - stylelint-config-recess-order@5.0.1(stylelint@16.6.1(typescript@5.5.2)): + stylelint-config-recess-order@5.0.1(stylelint@16.6.1(typescript@5.5.3)): dependencies: - stylelint: 16.6.1(typescript@5.5.2) - stylelint-order: 6.0.4(stylelint@16.6.1(typescript@5.5.2)) + stylelint: 16.6.1(typescript@5.5.3) + stylelint-order: 6.0.4(stylelint@16.6.1(typescript@5.5.3)) - stylelint-config-recommended-scss@14.0.0(postcss@8.4.39)(stylelint@16.6.1(typescript@5.5.2)): + stylelint-config-recommended-scss@14.0.0(postcss@8.4.39)(stylelint@16.6.1(typescript@5.5.3)): dependencies: postcss-scss: 4.0.9(postcss@8.4.39) - stylelint: 16.6.1(typescript@5.5.2) - stylelint-config-recommended: 14.0.1(stylelint@16.6.1(typescript@5.5.2)) - stylelint-scss: 6.3.2(stylelint@16.6.1(typescript@5.5.2)) + stylelint: 16.6.1(typescript@5.5.3) + stylelint-config-recommended: 14.0.1(stylelint@16.6.1(typescript@5.5.3)) + stylelint-scss: 6.3.2(stylelint@16.6.1(typescript@5.5.3)) optionalDependencies: postcss: 8.4.39 - stylelint-config-recommended-vue@1.5.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.5.2)): + stylelint-config-recommended-vue@1.5.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.5.3)): dependencies: postcss-html: 1.7.0 semver: 7.6.2 - stylelint: 16.6.1(typescript@5.5.2) - stylelint-config-html: 1.1.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.5.2)) - stylelint-config-recommended: 14.0.1(stylelint@16.6.1(typescript@5.5.2)) + stylelint: 16.6.1(typescript@5.5.3) + stylelint-config-html: 1.1.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.5.3)) + stylelint-config-recommended: 14.0.1(stylelint@16.6.1(typescript@5.5.3)) - stylelint-config-recommended@14.0.1(stylelint@16.6.1(typescript@5.5.2)): + stylelint-config-recommended@14.0.1(stylelint@16.6.1(typescript@5.5.3)): dependencies: - stylelint: 16.6.1(typescript@5.5.2) + stylelint: 16.6.1(typescript@5.5.3) - stylelint-config-standard@36.0.1(stylelint@16.6.1(typescript@5.5.2)): + stylelint-config-standard@36.0.1(stylelint@16.6.1(typescript@5.5.3)): dependencies: - stylelint: 16.6.1(typescript@5.5.2) - stylelint-config-recommended: 14.0.1(stylelint@16.6.1(typescript@5.5.2)) + stylelint: 16.6.1(typescript@5.5.3) + stylelint-config-recommended: 14.0.1(stylelint@16.6.1(typescript@5.5.3)) - stylelint-order@6.0.4(stylelint@16.6.1(typescript@5.5.2)): + stylelint-order@6.0.4(stylelint@16.6.1(typescript@5.5.3)): dependencies: postcss: 8.4.39 postcss-sorting: 8.0.2(postcss@8.4.39) - stylelint: 16.6.1(typescript@5.5.2) + stylelint: 16.6.1(typescript@5.5.3) - stylelint-prettier@5.0.0(prettier@3.3.2)(stylelint@16.6.1(typescript@5.5.2)): + stylelint-prettier@5.0.0(prettier@3.3.2)(stylelint@16.6.1(typescript@5.5.3)): dependencies: prettier: 3.3.2 prettier-linter-helpers: 1.0.0 - stylelint: 16.6.1(typescript@5.5.2) + stylelint: 16.6.1(typescript@5.5.3) - stylelint-scss@6.3.2(stylelint@16.6.1(typescript@5.5.2)): + stylelint-scss@6.3.2(stylelint@16.6.1(typescript@5.5.3)): dependencies: known-css-properties: 0.31.0 postcss-media-query-parser: 0.2.3 postcss-resolve-nested-selector: 0.1.1 postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 - stylelint: 16.6.1(typescript@5.5.2) + stylelint: 16.6.1(typescript@5.5.3) - stylelint@16.6.1(typescript@5.5.2): + stylelint@16.6.1(typescript@5.5.3): dependencies: '@csstools/css-parser-algorithms': 2.6.3(@csstools/css-tokenizer@2.3.1) '@csstools/css-tokenizer': 2.3.1 @@ -16515,10 +18379,10 @@ snapshots: '@dual-bundle/import-meta-resolve': 4.1.0 balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 9.0.0(typescript@5.5.2) + cosmiconfig: 9.0.0(typescript@5.5.3) css-functions-list: 3.2.2 css-tree: 2.3.1 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) fast-glob: 3.3.2 fastest-levenshtein: 1.0.16 file-entry-cache: 9.0.0 @@ -16602,6 +18466,8 @@ snapshots: csso: 5.0.5 picocolors: 1.0.1 + symbol-observable@4.0.0: {} + symbol-tree@3.2.4: {} synckit@0.6.2: @@ -16632,11 +18498,11 @@ snapshots: dependencies: '@babel/runtime': 7.24.7 - tailwindcss-animate@1.0.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3))): dependencies: - tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)) - tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)): + tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -16655,7 +18521,7 @@ snapshots: postcss: 8.4.39 postcss-import: 15.1.0(postcss@8.4.39) postcss-js: 4.0.1(postcss@8.4.39) - postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)) postcss-nested: 6.0.1(postcss@8.4.39) postcss-selector-parser: 6.1.0 resolve: 1.22.8 @@ -16665,6 +18531,21 @@ snapshots: tapable@2.2.1: {} + tar-fs@2.1.1: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + + tar-stream@2.2.0: + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + tar@6.2.1: dependencies: chownr: 2.0.0 @@ -16702,6 +18583,17 @@ snapshots: term-size@2.2.1: {} + terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.90.1(esbuild@0.20.2)): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.31.1 + webpack: 5.90.1(esbuild@0.20.2) + optionalDependencies: + esbuild: 0.20.2 + terser-webpack-plugin@5.3.10(esbuild@0.21.5)(webpack@5.90.1(esbuild@0.21.5)): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -16753,8 +18645,12 @@ snapshots: dependencies: is-number: 7.0.0 + toidentifier@1.0.1: {} + totalist@3.0.1: {} + touch@3.1.1: {} + tough-cookie@4.1.4: dependencies: psl: 1.9.0 @@ -16772,13 +18668,15 @@ snapshots: dependencies: punycode: 2.3.1 - ts-api-utils@1.3.0(typescript@5.5.2): + tree-kill@1.2.2: {} + + ts-api-utils@1.3.0(typescript@5.5.3): dependencies: - typescript: 5.5.2 + typescript: 5.5.3 ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2): + ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -16792,10 +18690,21 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.5.2 + typescript: 5.5.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - optional: true + + tsconfig-paths-webpack-plugin@4.1.0: + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.17.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.3.0: {} @@ -16808,6 +18717,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + turbo-darwin-64@2.0.6: optional: true @@ -16845,6 +18758,8 @@ snapshots: type-fest@0.20.2: {} + type-fest@0.21.3: {} + type-fest@0.6.0: {} type-fest@0.8.1: {} @@ -16853,6 +18768,11 @@ snapshots: type-fest@2.19.0: {} + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 @@ -16889,12 +18809,43 @@ snapshots: dependencies: is-typedarray: 1.0.0 + typedarray@0.0.6: {} + + typeorm@0.3.20(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.3)): + dependencies: + '@sqltools/formatter': 1.2.5 + app-root-path: 3.1.0 + buffer: 6.0.3 + chalk: 4.1.2 + cli-highlight: 2.1.11 + dayjs: 1.11.11 + debug: 4.3.5(supports-color@5.5.0) + dotenv: 16.4.5 + glob: 10.4.1 + mkdirp: 2.1.6 + reflect-metadata: 0.2.2 + sha.js: 2.4.11 + tslib: 2.6.3 + uuid: 9.0.1 + yargs: 17.7.2 + optionalDependencies: + sqlite3: 5.1.7 + ts-node: 10.9.2(@types/node@20.14.9)(typescript@5.5.3) + transitivePeerDependencies: + - supports-color + + typescript@5.3.3: {} + typescript@5.4.2: {} - typescript@5.5.2: {} + typescript@5.5.3: {} ufo@1.5.3: {} + uid@2.0.2: + dependencies: + '@lukeed/csprng': 1.1.0 + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.7 @@ -16902,7 +18853,7 @@ snapshots: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - unbuild@2.0.0(sass@1.77.6)(typescript@5.5.2)(vue-tsc@2.0.24(typescript@5.5.2)): + unbuild@2.0.0(sass@1.77.6)(typescript@5.5.3)(vue-tsc@2.0.24(typescript@5.5.3)): dependencies: '@rollup/plugin-alias': 5.1.0(rollup@3.29.4) '@rollup/plugin-commonjs': 25.0.8(rollup@3.29.4) @@ -16919,17 +18870,17 @@ snapshots: hookable: 5.5.3 jiti: 1.21.6 magic-string: 0.30.10 - mkdist: 1.5.1(sass@1.77.6)(typescript@5.5.2)(vue-tsc@2.0.24(typescript@5.5.2)) + mkdist: 1.5.1(sass@1.77.6)(typescript@5.5.3)(vue-tsc@2.0.24(typescript@5.5.3)) mlly: 1.7.1 pathe: 1.1.2 pkg-types: 1.1.2 pretty-bytes: 6.1.1 rollup: 3.29.4 - rollup-plugin-dts: 6.1.1(rollup@3.29.4)(typescript@5.5.2) + rollup-plugin-dts: 6.1.1(rollup@3.29.4)(typescript@5.5.3) scule: 1.3.0 untyped: 1.4.2 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - sass - supports-color @@ -16945,6 +18896,8 @@ snapshots: uncrypto@0.1.3: {} + undefsafe@2.0.5: {} + undici-types@5.26.5: {} unenv@1.9.0: @@ -16992,7 +18945,7 @@ snapshots: unpipe@1.0.0: {} - unplugin-turbo-console@1.8.9(esbuild@0.21.5)(rollup@4.18.0)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2))(webpack@5.90.1(esbuild@0.21.5)): + unplugin-turbo-console@1.8.9(esbuild@0.21.5)(rollup@4.18.0)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.3))(webpack@5.90.1(esbuild@0.21.5)): dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.18.0) ast-kit: 0.12.2 @@ -17006,7 +18959,7 @@ snapshots: esbuild: 0.21.5 rollup: 4.18.0 vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) webpack: 5.90.1(esbuild@0.21.5) transitivePeerDependencies: - uWebSockets.js @@ -17066,8 +19019,9 @@ snapshots: utils-merge@1.0.1: {} - v8-compile-cache-lib@3.0.1: - optional: true + uuid@9.0.1: {} + + v8-compile-cache-lib@3.0.1: {} validate-npm-package-license@3.0.4: dependencies: @@ -17076,14 +19030,16 @@ snapshots: validator@13.12.0: {} + vary@1.1.2: {} + vite-hot-client@0.2.3(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)): dependencies: vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) - vite-node@2.0.0-beta.10(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1): + vite-node@2.0.0-beta.12(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1): dependencies: cac: 6.7.14 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) pathe: 1.1.2 picocolors: 1.0.1 vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) @@ -17100,22 +19056,22 @@ snapshots: vite-plugin-compression@0.5.1(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)): dependencies: chalk: 4.1.2 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) fs-extra: 10.1.0 vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) transitivePeerDependencies: - supports-color - vite-plugin-dts@3.9.1(@types/node@20.14.9)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)): + vite-plugin-dts@3.9.1(@types/node@20.14.9)(rollup@4.18.0)(typescript@5.5.3)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)): dependencies: '@microsoft/api-extractor': 7.43.0(@types/node@20.14.9) '@rollup/pluginutils': 5.1.0(rollup@4.18.0) - '@vue/language-core': 1.8.27(typescript@5.5.2) - debug: 4.3.5 + '@vue/language-core': 1.8.27(typescript@5.5.3) + debug: 4.3.5(supports-color@5.5.0) kolorist: 1.8.0 magic-string: 0.30.10 - typescript: 5.5.2 - vue-tsc: 1.8.27(typescript@5.5.2) + typescript: 5.5.3 + vue-tsc: 1.8.27(typescript@5.5.3) optionalDependencies: vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) transitivePeerDependencies: @@ -17143,7 +19099,7 @@ snapshots: dependencies: '@antfu/utils': 0.7.8 '@rollup/pluginutils': 5.1.0(rollup@4.18.0) - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) error-stack-parser-es: 0.1.4 fs-extra: 11.2.0 open: 10.1.0 @@ -17162,24 +19118,9 @@ snapshots: picocolors: 1.0.1 vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) - vite-plugin-mock@3.0.2(esbuild@0.21.5)(mockjs@1.1.0)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1)): - dependencies: - bundle-require: 4.2.1(esbuild@0.21.5) - chokidar: 3.6.0 - connect: 3.7.0 - debug: 4.3.5 - esbuild: 0.21.5 - fast-glob: 3.3.2 - mockjs: 1.1.0 - path-to-regexp: 6.2.2 - picocolors: 1.0.1 - vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) - transitivePeerDependencies: - - supports-color - vite-plugin-pwa@0.20.0(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0): dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) fast-glob: 3.3.2 pretty-bytes: 6.1.1 vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) @@ -17188,9 +19129,9 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-vue-devtools@7.3.5(rollup@4.18.0)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2)): + vite-plugin-vue-devtools@7.3.5(rollup@4.18.0)(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.3)): dependencies: - '@vue/devtools-core': 7.3.5(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2)) + '@vue/devtools-core': 7.3.5(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.3)) '@vue/devtools-kit': 7.3.5 '@vue/devtools-shared': 7.3.5 execa: 8.0.1 @@ -17230,24 +19171,24 @@ snapshots: sass: 1.77.6 terser: 5.31.1 - vitepress@1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.9)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.39)(qrcode@1.5.3)(sass@1.77.6)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.5.2): + vitepress@1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.9)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.39)(qrcode@1.5.3)(sass@1.77.6)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.5.3): dependencies: '@docsearch/css': 3.6.0 '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0) '@shikijs/core': 1.7.0 '@shikijs/transformers': 1.7.0 '@types/markdown-it': 14.1.1 - '@vitejs/plugin-vue': 5.0.5(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2)) - '@vue/devtools-api': 7.3.0(vue@3.4.31(typescript@5.5.2)) + '@vitejs/plugin-vue': 5.0.5(vite@5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.3)) + '@vue/devtools-api': 7.3.0(vue@3.4.31(typescript@5.5.3)) '@vue/shared': 3.4.31 - '@vueuse/core': 10.11.0(vue@3.4.31(typescript@5.5.2)) - '@vueuse/integrations': 10.11.0(async-validator@4.2.5)(axios@1.7.2)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.3)(vue@3.4.31(typescript@5.5.2)) + '@vueuse/core': 10.11.0(vue@3.4.31(typescript@5.5.3)) + '@vueuse/integrations': 10.11.0(async-validator@4.2.5)(axios@1.7.2)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.3)(vue@3.4.31(typescript@5.5.3)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 shiki: 1.7.0 vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) optionalDependencies: postcss: 8.4.39 transitivePeerDependencies: @@ -17277,16 +19218,16 @@ snapshots: - typescript - universal-cookie - vitest@2.0.0-beta.10(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)(terser@5.31.1): + vitest@2.0.0-beta.12(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)(terser@5.31.1): dependencies: '@ampproject/remapping': 2.3.0 - '@vitest/expect': 2.0.0-beta.10 - '@vitest/runner': 2.0.0-beta.10 - '@vitest/snapshot': 2.0.0-beta.10 - '@vitest/spy': 2.0.0-beta.10 - '@vitest/utils': 2.0.0-beta.10 + '@vitest/expect': 2.0.0-beta.12 + '@vitest/runner': 2.0.0-beta.12 + '@vitest/snapshot': 2.0.0-beta.12 + '@vitest/spy': 2.0.0-beta.12 + '@vitest/utils': 2.0.0-beta.12 chai: 5.1.1 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) execa: 8.0.1 magic-string: 0.30.10 pathe: 1.1.2 @@ -17295,7 +19236,7 @@ snapshots: tinybench: 2.8.0 tinypool: 1.0.0 vite: 5.3.2(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) - vite-node: 2.0.0-beta.10(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) + vite-node: 2.0.0-beta.12(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.1) why-is-node-running: 2.2.2 optionalDependencies: '@types/node': 20.14.9 @@ -17315,13 +19256,13 @@ snapshots: vue-component-type-helpers@2.0.21: {} - vue-demi@0.14.8(vue@3.4.31(typescript@5.5.2)): + vue-demi@0.14.8(vue@3.4.31(typescript@5.5.3)): dependencies: - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) vue-eslint-parser@9.4.3(eslint@8.57.0): dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) eslint: 8.57.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -17332,22 +19273,22 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@9.13.1(vue@3.4.31(typescript@5.5.2)): + vue-i18n@9.13.1(vue@3.4.31(typescript@5.5.3)): dependencies: '@intlify/core-base': 9.13.1 '@intlify/shared': 9.13.1 '@vue/devtools-api': 6.6.3 - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) - vue-request@2.0.4(vue@3.4.31(typescript@5.5.2)): + vue-request@2.0.4(vue@3.4.31(typescript@5.5.3)): dependencies: - vue: 3.4.31(typescript@5.5.2) - vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.2)) + vue: 3.4.31(typescript@5.5.3) + vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.3)) - vue-router@4.4.0(vue@3.4.31(typescript@5.5.2)): + vue-router@4.4.0(vue@3.4.31(typescript@5.5.3)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) vue-sonner@1.1.3: {} @@ -17356,34 +19297,34 @@ snapshots: de-indent: 1.0.2 he: 1.2.0 - vue-tsc@1.8.27(typescript@5.5.2): + vue-tsc@1.8.27(typescript@5.5.3): dependencies: '@volar/typescript': 1.11.1 - '@vue/language-core': 1.8.27(typescript@5.5.2) + '@vue/language-core': 1.8.27(typescript@5.5.3) semver: 7.6.2 - typescript: 5.5.2 + typescript: 5.5.3 - vue-tsc@2.0.24(typescript@5.5.2): + vue-tsc@2.0.24(typescript@5.5.3): dependencies: '@volar/typescript': 2.4.0-alpha.5 - '@vue/language-core': 2.0.24(typescript@5.5.2) + '@vue/language-core': 2.0.24(typescript@5.5.3) semver: 7.6.2 - typescript: 5.5.2 + typescript: 5.5.3 - vue-types@3.0.2(vue@3.4.31(typescript@5.5.2)): + vue-types@3.0.2(vue@3.4.31(typescript@5.5.3)): dependencies: is-plain-object: 3.0.1 - vue: 3.4.31(typescript@5.5.2) + vue: 3.4.31(typescript@5.5.3) - vue@3.4.31(typescript@5.5.2): + vue@3.4.31(typescript@5.5.3): dependencies: '@vue/compiler-dom': 3.4.31 '@vue/compiler-sfc': 3.4.31 '@vue/runtime-dom': 3.4.31 - '@vue/server-renderer': 3.4.31(vue@3.4.31(typescript@5.5.2)) + '@vue/server-renderer': 3.4.31(vue@3.4.31(typescript@5.5.3)) '@vue/shared': 3.4.31 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 w3c-xmlserializer@5.0.0: dependencies: @@ -17397,7 +19338,10 @@ snapshots: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - optional: true + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 web-streams-polyfill@3.3.3: {} @@ -17407,10 +19351,43 @@ snapshots: webidl-conversions@7.0.0: {} + webpack-node-externals@3.0.0: {} + webpack-sources@3.2.3: {} webpack-virtual-modules@0.6.2: {} + webpack@5.90.1(esbuild@0.20.2): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.12.0 + acorn-import-assertions: 1.9.0(acorn@8.12.0) + browserslist: 4.23.1 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.0 + es-module-lexer: 1.5.3 + 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.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.90.1(esbuild@0.20.2)) + watchpack: 2.4.1 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + webpack@5.90.1(esbuild@0.21.5): dependencies: '@types/eslint-scope': 3.7.7 @@ -17507,6 +19484,11 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 + wide-align@1.1.5: + dependencies: + string-width: 4.2.3 + optional: true + widest-line@4.0.1: dependencies: string-width: 5.1.2 @@ -17674,6 +19656,8 @@ snapshots: xmlchars@2.2.0: {} + xtend@4.0.2: {} + y18n@4.0.3: {} y18n@5.0.8: {} @@ -17737,8 +19721,7 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yn@3.1.1: - optional: true + yn@3.1.1: {} yocto-queue@0.1.0: {} diff --git a/vben-admin.code-workspace b/vben-admin.code-workspace index 510785cd..b9c4d4df 100644 --- a/vben-admin.code-workspace +++ b/vben-admin.code-workspace @@ -1,5 +1,9 @@ { "folders": [ + { + "name": "@vben/backend-mock", + "path": "apps/backend-mock", + }, { "name": "@vben/antd-view", "path": "apps/web-antd",