diff --git a/.gitignore b/.gitignore
index 658131b69..5a0a7a7c4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,8 @@ dist-ssr
dist.zip
dist.tar
dist.war
+.nitro
+.output
*-dist.zip
*-dist.tar
*-dist.war
diff --git a/.prettierignore b/.prettierignore
index 72b58afa1..d0b0ca133 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -6,6 +6,8 @@ node_modules
.nvmrc
coverage
CODEOWNERS
+.nitro
+.output
**/*.svg
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 5d2fed45b..4776e894b 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -191,5 +191,6 @@
"tailwind.config.mjs": "postcss.*"
},
"commentTranslate.hover.enabled": true,
- "i18n-ally.keystyle": "nested"
+ "i18n-ally.keystyle": "nested",
+ "commentTranslate.multiLineMerge": true
}
diff --git a/apps/backend-mock/.env b/apps/backend-mock/.env
new file mode 100644
index 000000000..9f0c6237f
--- /dev/null
+++ b/apps/backend-mock/.env
@@ -0,0 +1 @@
+PORT=5320
diff --git a/apps/backend-mock/README.md b/apps/backend-mock/README.md
index e5892b660..d303352e7 100644
--- a/apps/backend-mock/README.md
+++ b/apps/backend-mock/README.md
@@ -10,9 +10,6 @@ Vben Admin 数据 mock 服务,没有对接任何的数据库,所有数据都
# development
$ pnpm run start
-# watch mode
-$ pnpm run start:dev
-
# production mode
-$ pnpm run start:prod
+$ pnpm run build
```
diff --git a/apps/backend-mock/api/auth/codes.ts b/apps/backend-mock/api/auth/codes.ts
new file mode 100644
index 000000000..7e5b597f4
--- /dev/null
+++ b/apps/backend-mock/api/auth/codes.ts
@@ -0,0 +1,15 @@
+export default eventHandler((event) => {
+ const token = getHeader(event, 'Authorization');
+
+ if (!token) {
+ setResponseStatus(event, 401);
+ return useResponseError('UnauthorizedException', 'Unauthorized Exception');
+ }
+
+ const username = Buffer.from(token, 'base64').toString('utf8');
+
+ const codes =
+ MOCK_CODES.find((item) => item.username === username)?.codes ?? [];
+
+ return useResponseSuccess(codes);
+});
diff --git a/apps/backend-mock/api/auth/login.post.ts b/apps/backend-mock/api/auth/login.post.ts
new file mode 100644
index 000000000..2344742ca
--- /dev/null
+++ b/apps/backend-mock/api/auth/login.post.ts
@@ -0,0 +1,20 @@
+export default defineEventHandler(async (event) => {
+ const { password, username } = await readBody(event);
+
+ const findUser = MOCK_USERS.find(
+ (item) => item.username === username && item.password === password,
+ );
+
+ if (!findUser) {
+ setResponseStatus(event, 403);
+ return useResponseError('UnauthorizedException', '用户名或密码错误');
+ }
+
+ const accessToken = Buffer.from(username).toString('base64');
+
+ return useResponseSuccess({
+ accessToken,
+ // TODO: refresh token
+ refreshToken: accessToken,
+ });
+});
diff --git a/apps/backend-mock/api/menu/all.ts b/apps/backend-mock/api/menu/all.ts
new file mode 100644
index 000000000..424d657a5
--- /dev/null
+++ b/apps/backend-mock/api/menu/all.ts
@@ -0,0 +1,14 @@
+export default eventHandler((event) => {
+ const token = getHeader(event, 'Authorization');
+
+ if (!token) {
+ setResponseStatus(event, 401);
+ return useResponseError('UnauthorizedException', 'Unauthorized Exception');
+ }
+
+ const username = Buffer.from(token, 'base64').toString('utf8');
+
+ const menus =
+ MOCK_MENUS.find((item) => item.username === username)?.menus ?? [];
+ return useResponseSuccess(menus);
+});
diff --git a/apps/backend-mock/api/status.ts b/apps/backend-mock/api/status.ts
new file mode 100644
index 000000000..41773e1d5
--- /dev/null
+++ b/apps/backend-mock/api/status.ts
@@ -0,0 +1,5 @@
+export default eventHandler((event) => {
+ const { status } = getQuery(event);
+ setResponseStatus(event, Number(status));
+ return useResponseError(`${status}`);
+});
diff --git a/apps/backend-mock/api/test.get.ts b/apps/backend-mock/api/test.get.ts
new file mode 100644
index 000000000..ca4a500be
--- /dev/null
+++ b/apps/backend-mock/api/test.get.ts
@@ -0,0 +1 @@
+export default defineEventHandler(() => 'Test get handler');
diff --git a/apps/backend-mock/api/test.post.ts b/apps/backend-mock/api/test.post.ts
new file mode 100644
index 000000000..698cf211e
--- /dev/null
+++ b/apps/backend-mock/api/test.post.ts
@@ -0,0 +1 @@
+export default defineEventHandler(() => 'Test post handler');
diff --git a/apps/backend-mock/api/user/info.ts b/apps/backend-mock/api/user/info.ts
new file mode 100644
index 000000000..81a141b12
--- /dev/null
+++ b/apps/backend-mock/api/user/info.ts
@@ -0,0 +1,14 @@
+export default eventHandler((event) => {
+ const token = getHeader(event, 'Authorization');
+ if (!token) {
+ setResponseStatus(event, 401);
+ return useResponseError('UnauthorizedException', 'Unauthorized Exception');
+ }
+
+ const username = Buffer.from(token, 'base64').toString('utf8');
+
+ const user = MOCK_USERS.find((item) => item.username === username);
+
+ const { password: _pwd, ...userInfo } = user;
+ return useResponseSuccess(userInfo);
+});
diff --git a/apps/backend-mock/ecosystem.config.cjs b/apps/backend-mock/ecosystem.config.cjs
deleted file mode 100644
index 1bebc0ff2..000000000
--- a/apps/backend-mock/ecosystem.config.cjs
+++ /dev/null
@@ -1,23 +0,0 @@
-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/error.ts b/apps/backend-mock/error.ts
new file mode 100644
index 000000000..5d3d247ad
--- /dev/null
+++ b/apps/backend-mock/error.ts
@@ -0,0 +1,7 @@
+import type { NitroErrorHandler } from 'nitropack';
+
+const errorHandler: NitroErrorHandler = function (error, event) {
+ event.res.end(`[error handler] ${error.stack}`);
+};
+
+export default errorHandler;
diff --git a/apps/backend-mock/http/auth.http b/apps/backend-mock/http/auth.http
deleted file mode 100644
index 608f522ca..000000000
--- a/apps/backend-mock/http/auth.http
+++ /dev/null
@@ -1,20 +0,0 @@
-@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
deleted file mode 100644
index ecaad12c0..000000000
--- a/apps/backend-mock/http/health.http
+++ /dev/null
@@ -1,3 +0,0 @@
-@port = 5320
-GET http://localhost:{{port}}/api HTTP/1.1
-content-type: application/json
diff --git a/apps/backend-mock/http/menu.http b/apps/backend-mock/http/menu.http
deleted file mode 100644
index f2d7df4de..000000000
--- a/apps/backend-mock/http/menu.http
+++ /dev/null
@@ -1,6 +0,0 @@
-@port = 5320
-@type = application/json
-@token = Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MCwicm9sZXMiOlsiYWRtaW4iXSwidXNlcm5hbWUiOiJ2YmVuIiwiaWF0IjoxNzE5ODkwMTEwLCJleHAiOjE3MTk5NzY1MTB9.eyAFsQ2Jk_mAQGvrEL1jF9O6YmLZ_PSYj5aokL6fCuU
-GET http://localhost:{{port}}/api/menu/getAll HTTP/1.1
-content-type: {{ type }}
-Authorization: {{ token }}
diff --git a/apps/backend-mock/nest-cli.json b/apps/backend-mock/nest-cli.json
deleted file mode 100644
index 456b62002..000000000
--- a/apps/backend-mock/nest-cli.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "$schema": "https://json.schemastore.org/nest-cli",
- "collection": "@nestjs/schematics",
- "sourceRoot": "src",
- "compilerOptions": {
- "assets": ["**/*.yml", "**/*.json"],
- "watchAssets": true,
- "deleteOutDir": true
- }
-}
diff --git a/apps/backend-mock/nitro.config.ts b/apps/backend-mock/nitro.config.ts
new file mode 100644
index 000000000..76b12dc18
--- /dev/null
+++ b/apps/backend-mock/nitro.config.ts
@@ -0,0 +1,6 @@
+import errorHandler from './error';
+
+export default defineNitroConfig({
+ devErrorHandler: errorHandler,
+ errorHandler: '~/error',
+});
diff --git a/apps/backend-mock/package.json b/apps/backend-mock/package.json
index c03917617..6744e0161 100644
--- a/apps/backend-mock/package.json
+++ b/apps/backend-mock/package.json
@@ -6,41 +6,10 @@
"license": "MIT",
"author": "",
"scripts": {
- "build": "nest build",
- "dev": "pnpm run start:dev",
- "start": "cross-env NODE_ENV=development node dist/main",
- "start:dev": "cross-env NODE_ENV=development DEBUG=true nest start --watch",
- "start:prod": "nest build && cross-env NODE_ENV=production node dist/main"
+ "start": "nitro dev",
+ "build": "nitro build"
},
"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",
- "@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",
- "mockjs": "^1.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"
- },
- "devDependencies": {
- "@nestjs/cli": "^10.4.2",
- "@nestjs/schematics": "^10.1.2",
- "@types/express": "^4.17.21",
- "@types/mockjs": "^1.0.10",
- "@types/node": "^20.14.11",
- "nodemon": "^3.1.4",
- "ts-node": "^10.9.2",
- "typescript": "^5.5.3"
+ "nitropack": "latest"
}
}
diff --git a/apps/backend-mock/routes/[...].ts b/apps/backend-mock/routes/[...].ts
new file mode 100644
index 000000000..70c5f7c74
--- /dev/null
+++ b/apps/backend-mock/routes/[...].ts
@@ -0,0 +1,12 @@
+export default defineEventHandler(() => {
+ return `
+
Hello Vben Admin
+Mock service is starting
+
+`;
+});
diff --git a/apps/backend-mock/src/app.module.ts b/apps/backend-mock/src/app.module.ts
deleted file mode 100644
index 44bc129dd..000000000
--- a/apps/backend-mock/src/app.module.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import configuration from '@/config/index';
-import { Module } from '@nestjs/common';
-import { ConfigModule } from '@nestjs/config';
-import Joi from 'joi';
-
-import { AuthModule } from './modules/auth/auth.module';
-import { HealthModule } from './modules/health/health.module';
-import { MenuModule } from './modules/menu/menu.module';
-import { MockModule } from './modules/mock/mock.module';
-import { UsersModule } from './modules/users/users.module';
-
-@Module({
- imports: [
- 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,
- MenuModule,
- MockModule,
- ],
-})
-export class AppModule {}
diff --git a/apps/backend-mock/src/config/dev.yml b/apps/backend-mock/src/config/dev.yml
deleted file mode 100644
index f50410d80..000000000
--- a/apps/backend-mock/src/config/dev.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-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
deleted file mode 100644
index 1b1df1873..000000000
--- a/apps/backend-mock/src/config/index.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-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
deleted file mode 100644
index c66b9ed9d..000000000
--- a/apps/backend-mock/src/config/prod.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-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
deleted file mode 100644
index b7e8b7187..000000000
--- a/apps/backend-mock/src/core/decorator/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './public';
diff --git a/apps/backend-mock/src/core/decorator/public.ts b/apps/backend-mock/src/core/decorator/public.ts
deleted file mode 100644
index b3845e122..000000000
--- a/apps/backend-mock/src/core/decorator/public.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-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
deleted file mode 100644
index 5d106da99..000000000
--- a/apps/backend-mock/src/core/filter/http-exception.filter.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-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
deleted file mode 100644
index 18204b07a..000000000
--- a/apps/backend-mock/src/core/filter/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 759d2eb02..000000000
--- a/apps/backend-mock/src/core/guard/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-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
deleted file mode 100644
index 4a4facf13..000000000
--- a/apps/backend-mock/src/core/guard/jwt-auth.guard.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-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
deleted file mode 100644
index ccf962b67..000000000
--- a/apps/backend-mock/src/core/guard/local-auth.guard.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-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
deleted file mode 100644
index 0546468e2..000000000
--- a/apps/backend-mock/src/core/interceptor/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 9aba1eec6..000000000
--- a/apps/backend-mock/src/core/interceptor/transform.interceptor.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-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
deleted file mode 100644
index 609a4dcd6..000000000
--- a/apps/backend-mock/src/core/pipe/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 15c20a02e..000000000
--- a/apps/backend-mock/src/core/pipe/params.pipe.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-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
deleted file mode 100644
index cfe5e48a7..000000000
--- a/apps/backend-mock/src/main.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-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
deleted file mode 100644
index ff907cb06..000000000
--- a/apps/backend-mock/src/models/dto/auth.dto.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-class RefreshTokenDto {
- refreshToken: string;
-}
-
-export { RefreshTokenDto };
diff --git a/apps/backend-mock/src/models/dto/user.dto.ts b/apps/backend-mock/src/models/dto/user.dto.ts
deleted file mode 100644
index e5f5c60ac..000000000
--- a/apps/backend-mock/src/models/dto/user.dto.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-class CreateUserDto {
- id: number;
- password: string;
- realName: string;
- roles: string[];
- username: string;
-}
-
-export { CreateUserDto };
diff --git a/apps/backend-mock/src/models/entity/user.entity.ts b/apps/backend-mock/src/models/entity/user.entity.ts
deleted file mode 100644
index b4bd8fd52..000000000
--- a/apps/backend-mock/src/models/entity/user.entity.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-class UserEntity {
- id: number;
- /**
- * 密码
- */
- password: string;
- /**
- * 真实姓名
- */
- realName: string;
- /**
- * 角色
- */
- roles: string[];
- /**
- * 用户名
- */
- 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
deleted file mode 100644
index b61d3a20a..000000000
--- a/apps/backend-mock/src/modules/auth/auth.controller.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-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('getAccessCodes')
- @HttpCode(HttpStatus.OK)
- async getAccessCodes(@Request() req: Request) {
- return await this.authService.getAccessCodes(req.user.username);
- }
-
- /**
- * 获取用户信息
- * @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
deleted file mode 100644
index ba8e876f4..000000000
--- a/apps/backend-mock/src/modules/auth/auth.module.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-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
deleted file mode 100644
index dc89f6091..000000000
--- a/apps/backend-mock/src/modules/auth/auth.service.ts
+++ /dev/null
@@ -1,94 +0,0 @@
-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 getAccessCodes(username: string): Promise {
- const user = await this.usersService.findOne(username);
-
- const mockCodes = [
- // super
- {
- codes: ['AC_100100', 'AC_100110', 'AC_100120', 'AC_100010'],
- userId: 0,
- },
- {
- // admin
- codes: ['AC_100010', 'AC_100020', 'AC_100030'],
- userId: 1,
- },
- {
- // user
- codes: ['AC_1000001', 'AC_1000002'],
- userId: 2,
- },
- ];
-
- return mockCodes.find((item) => item.userId === user.id)?.codes ?? [];
- }
-
- 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
deleted file mode 100644
index 97199cb9a..000000000
--- a/apps/backend-mock/src/modules/auth/jwt.strategy.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-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
deleted file mode 100644
index 40b92e1b2..000000000
--- a/apps/backend-mock/src/modules/auth/local.strategy.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-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
deleted file mode 100644
index f4eacd66c..000000000
--- a/apps/backend-mock/src/modules/auth/refresh-token.strategy.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-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/health/health.controller.ts b/apps/backend-mock/src/modules/health/health.controller.ts
deleted file mode 100644
index 169f46582..000000000
--- a/apps/backend-mock/src/modules/health/health.controller.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-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
deleted file mode 100644
index 90d1fe0ac..000000000
--- a/apps/backend-mock/src/modules/health/health.module.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { Module } from '@nestjs/common';
-
-import { HealthController } from './health.controller';
-
-@Module({
- controllers: [HealthController],
-})
-export class HealthModule {}
diff --git a/apps/backend-mock/src/modules/menu/menu.controller.ts b/apps/backend-mock/src/modules/menu/menu.controller.ts
deleted file mode 100644
index d25523321..000000000
--- a/apps/backend-mock/src/modules/menu/menu.controller.ts
+++ /dev/null
@@ -1,157 +0,0 @@
-import { sleep } from '@/utils';
-import { Controller, Get, HttpCode, HttpStatus, Request } from '@nestjs/common';
-
-@Controller('menu')
-export class MenuController {
- /**
- * 获取用户所有菜单
- */
- @Get('getAll')
- @HttpCode(HttpStatus.OK)
- async getAll(@Request() req: Request) {
- // 模拟请求延迟
- await sleep(500);
- // 请求用户的id
- const userId = req.user.id;
-
- // TODO: 改为表方式获取
- const dashboardMenus = [
- {
- component: 'BasicLayout',
- meta: {
- order: -1,
- title: 'page.dashboard.title',
- },
- name: 'Dashboard',
- path: '/',
- redirect: '/analytics',
- children: [
- {
- name: 'Analytics',
- path: '/analytics',
- component: '/dashboard/analytics/index',
- meta: {
- affixTab: true,
- title: 'page.dashboard.analytics',
- },
- },
- {
- name: 'Workspace',
- path: '/workspace',
- component: '/dashboard/workspace/index',
- meta: {
- title: 'page.dashboard.workspace',
- },
- },
- ],
- },
- ];
-
- const createDemosMenus = (role: 'admin' | 'super' | 'user') => {
- const roleWithMenus = {
- admin: {
- component: '/demos/access/admin-visible',
- meta: {
- icon: 'mdi:button-cursor',
- title: 'page.demos.access.adminVisible',
- },
- name: 'AccessAdminVisible',
- path: 'admin-visible',
- },
- super: {
- component: '/demos/access/super-visible',
- meta: {
- icon: 'mdi:button-cursor',
- title: 'page.demos.access.superVisible',
- },
- name: 'AccessSuperVisible',
- path: 'super-visible',
- },
- user: {
- component: '/demos/access/user-visible',
- meta: {
- icon: 'mdi:button-cursor',
- title: 'page.demos.access.userVisible',
- },
- name: 'AccessUserVisible',
- path: 'user-visible',
- },
- };
-
- return [
- {
- component: 'BasicLayout',
- meta: {
- icon: 'ic:baseline-view-in-ar',
- keepAlive: true,
- order: 1000,
- title: 'page.demos.title',
- },
- name: 'Demos',
- path: '/demos',
- redirect: '/access',
- children: [
- {
- name: 'Access',
- path: '/access',
- meta: {
- icon: 'mdi:cloud-key-outline',
- title: 'page.demos.access.backendPermissions',
- },
- redirect: '/access/page-control',
- children: [
- {
- name: 'AccessPageControl',
- path: 'page-control',
- component: '/demos/access/index',
- meta: {
- icon: 'mdi:page-previous-outline',
- title: 'page.demos.access.pageAccess',
- },
- },
- {
- name: 'AccessButtonControl',
- path: 'button-control',
- component: '/demos/access/button-control',
- meta: {
- icon: 'mdi:button-cursor',
- title: 'page.demos.access.buttonControl',
- },
- },
- {
- name: 'AccessMenuVisible403',
- path: 'menu-visible-403',
- component: '/demos/access/menu-visible-403',
- meta: {
- authority: ['no-body'],
- icon: 'mdi:button-cursor',
- menuVisibleWithForbidden: true,
- title: 'page.demos.access.menuVisible403',
- },
- },
- roleWithMenus[role],
- ],
- },
- ],
- },
- ];
- };
-
- const MOCK_MENUS = [
- {
- menus: [...dashboardMenus, ...createDemosMenus('super')],
- userId: 0,
- },
- {
- menus: [...dashboardMenus, ...createDemosMenus('admin')],
- userId: 1,
- },
- {
- menus: [...dashboardMenus, ...createDemosMenus('user')],
- userId: 2,
- },
- ];
-
- return MOCK_MENUS.find((item) => item.userId === userId)?.menus ?? [];
- }
-}
diff --git a/apps/backend-mock/src/modules/menu/menu.module.ts b/apps/backend-mock/src/modules/menu/menu.module.ts
deleted file mode 100644
index 36c3331ba..000000000
--- a/apps/backend-mock/src/modules/menu/menu.module.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Module } from '@nestjs/common';
-
-import { MenuController } from './menu.controller';
-import { MenuService } from './menu.service';
-
-@Module({
- controllers: [MenuController],
- providers: [MenuService],
-})
-export class MenuModule {}
diff --git a/apps/backend-mock/src/modules/menu/menu.service.ts b/apps/backend-mock/src/modules/menu/menu.service.ts
deleted file mode 100644
index fa43f7e3f..000000000
--- a/apps/backend-mock/src/modules/menu/menu.service.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import { Injectable } from '@nestjs/common';
-
-@Injectable()
-export class MenuService {}
diff --git a/apps/backend-mock/src/modules/mock/mock-db.json b/apps/backend-mock/src/modules/mock/mock-db.json
deleted file mode 100644
index 0967ef424..000000000
--- a/apps/backend-mock/src/modules/mock/mock-db.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/apps/backend-mock/src/modules/mock/mock.controller.ts b/apps/backend-mock/src/modules/mock/mock.controller.ts
deleted file mode 100644
index 96ff812af..000000000
--- a/apps/backend-mock/src/modules/mock/mock.controller.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import type { Response } from 'express';
-
-import { Controller, Get, Query, Res } from '@nestjs/common';
-
-@Controller('mock')
-export class MockController {
- /**
- * 用于模拟任意的状态码
- * @param res
- */
- @Get('status')
- async mockAnyStatus(
- @Res() res: Response,
- @Query() { status }: { status: string },
- ) {
- res.status(Number.parseInt(status, 10)).send({
- code: 1,
- data: null,
- error: null,
- message: `code is ${status}`,
- });
- }
-}
diff --git a/apps/backend-mock/src/modules/mock/mock.interface.ts b/apps/backend-mock/src/modules/mock/mock.interface.ts
deleted file mode 100644
index eeab57167..000000000
--- a/apps/backend-mock/src/modules/mock/mock.interface.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-interface User {
- id: number;
- password: string;
- realName: string;
- roles: string[];
- username: string;
-}
-
-interface MockDatabaseData {
- users: User[];
-}
-
-export type { MockDatabaseData, User };
diff --git a/apps/backend-mock/src/modules/mock/mock.module.ts b/apps/backend-mock/src/modules/mock/mock.module.ts
deleted file mode 100644
index 50151b141..000000000
--- a/apps/backend-mock/src/modules/mock/mock.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Module } from '@nestjs/common';
-
-import { MockController } from './mock.controller';
-import { MockService } from './mock.service';
-
-@Module({
- controllers: [MockController],
- exports: [MockService],
- providers: [MockService],
-})
-export class MockModule {}
diff --git a/apps/backend-mock/src/modules/mock/mock.service.ts b/apps/backend-mock/src/modules/mock/mock.service.ts
deleted file mode 100644
index ec800f74d..000000000
--- a/apps/backend-mock/src/modules/mock/mock.service.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import type { MockDatabaseData } from './mock.interface';
-
-import fs from 'node:fs';
-import path from 'node:path';
-
-import { Injectable, type OnModuleInit } from '@nestjs/common';
-import bcrypt from 'bcryptjs';
-
-@Injectable()
-export class MockService implements OnModuleInit {
- private data: MockDatabaseData;
- private readonly filePath: string;
-
- constructor() {
- this.filePath = path.join(__dirname, '.', 'mock-db.json');
- this.loadData();
- }
-
- private loadData() {
- const fileData = fs.readFileSync(this.filePath, 'utf8');
- this.data = JSON.parse(fileData);
- }
-
- private saveData() {
- fs.writeFileSync(this.filePath, JSON.stringify(this.data, null, 2));
- }
-
- addItem(collection: string, item: any) {
- this.data[collection].push(item);
- this.saveData();
- return item;
- }
-
- clearCollection(collection: string) {
- this.data[collection] = [];
- this.saveData();
- return this.data[collection];
- }
-
- findAll(collection: string) {
- return this.data[collection];
- }
-
- findOneById(collection: string, id: number) {
- return this.data[collection].find((item) => item.id === id);
- }
-
- async onModuleInit() {
- // 清空表,并初始化两条数据
- await this.clearCollection('users');
-
- // 密码哈希
- const hashPassword = await bcrypt.hash('123456', 10);
-
- await this.addItem('users', {
- id: 0,
- password: hashPassword,
- realName: 'Vben',
- roles: ['super'],
- username: 'vben',
- });
-
- await this.addItem('users', {
- id: 1,
- password: hashPassword,
- realName: 'Admin',
- roles: ['admin'],
- username: 'admin',
- });
- await this.addItem('users', {
- id: 2,
- password: hashPassword,
- realName: 'Jack',
- roles: ['user'],
- username: 'jack',
- });
- const count = await this.findAll('users').length;
- console.log('Database has been initialized with seed data, count:', count);
- }
-}
diff --git a/apps/backend-mock/src/modules/users/users.module.ts b/apps/backend-mock/src/modules/users/users.module.ts
deleted file mode 100644
index cc1c80894..000000000
--- a/apps/backend-mock/src/modules/users/users.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Module } from '@nestjs/common';
-
-import { MockModule } from '../mock/mock.module';
-import { UsersService } from './users.service';
-
-@Module({
- exports: [UsersService],
- imports: [MockModule],
- 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
deleted file mode 100644
index 08f8ebff3..000000000
--- a/apps/backend-mock/src/modules/users/users.service.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { UserEntity } from '@/models/entity/user.entity';
-import { Injectable } from '@nestjs/common';
-
-import { MockService } from '../mock/mock.service';
-
-@Injectable()
-export class UsersService {
- constructor(private mockService: MockService) {}
-
- /**
- * Find user by username
- * @param username
- */
- async findOne(username: string): Promise {
- const allUsers = await this.mockService.findAll('users');
- return allUsers.find((user) => user.username === username);
- }
-}
diff --git a/apps/backend-mock/src/types/config.ts b/apps/backend-mock/src/types/config.ts
deleted file mode 100644
index caf1943a6..000000000
--- a/apps/backend-mock/src/types/config.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-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
deleted file mode 100644
index a8ce7b50e..000000000
--- a/apps/backend-mock/src/types/express.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-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
deleted file mode 100644
index 108b3cefa..000000000
--- a/apps/backend-mock/src/types/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from './config';
-export * from './jwt';
diff --git a/apps/backend-mock/src/types/jwt.ts b/apps/backend-mock/src/types/jwt.ts
deleted file mode 100644
index 272b873ef..000000000
--- a/apps/backend-mock/src/types/jwt.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-interface JwtPayload {
- id: number;
- roles: string[];
- username: string;
-}
-
-export { JwtPayload };
diff --git a/apps/backend-mock/src/utils/index.ts b/apps/backend-mock/src/utils/index.ts
deleted file mode 100644
index af68a8960..000000000
--- a/apps/backend-mock/src/utils/index.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-function sleep(ms: number) {
- return new Promise((resolve) => setTimeout(resolve, ms));
-}
-
-export { sleep };
diff --git a/apps/backend-mock/tsconfig.json b/apps/backend-mock/tsconfig.json
index 655a58544..43008af1c 100644
--- a/apps/backend-mock/tsconfig.json
+++ b/apps/backend-mock/tsconfig.json
@@ -1,25 +1,3 @@
{
- "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
- }
+ "extends": "./.nitro/types/tsconfig.json"
}
diff --git a/apps/backend-mock/utils/mock-data.ts b/apps/backend-mock/utils/mock-data.ts
new file mode 100644
index 000000000..d4ecdc053
--- /dev/null
+++ b/apps/backend-mock/utils/mock-data.ts
@@ -0,0 +1,178 @@
+export const MOCK_USERS = [
+ {
+ id: 0,
+ password: '123456',
+ realName: 'Vben',
+ roles: ['super'],
+ username: 'vben',
+ },
+ {
+ id: 1,
+ password: '123456',
+ realName: 'Admin',
+ roles: ['admin'],
+ username: 'admin',
+ },
+ {
+ id: 2,
+ password: '123456',
+ realName: 'Jack',
+ roles: ['user'],
+ username: 'jack',
+ },
+];
+
+export const MOCK_CODES = [
+ // super
+ {
+ codes: ['AC_100100', 'AC_100110', 'AC_100120', 'AC_100010'],
+ username: 'vben',
+ },
+ {
+ // admin
+ codes: ['AC_100010', 'AC_100020', 'AC_100030'],
+ username: 'admin',
+ },
+ {
+ // user
+ codes: ['AC_1000001', 'AC_1000002'],
+ username: 'jack',
+ },
+];
+
+const dashboardMenus = [
+ {
+ component: 'BasicLayout',
+ meta: {
+ order: -1,
+ title: 'page.dashboard.title',
+ },
+ name: 'Dashboard',
+ path: '/',
+ redirect: '/analytics',
+ children: [
+ {
+ name: 'Analytics',
+ path: '/analytics',
+ component: '/dashboard/analytics/index',
+ meta: {
+ affixTab: true,
+ title: 'page.dashboard.analytics',
+ },
+ },
+ {
+ name: 'Workspace',
+ path: '/workspace',
+ component: '/dashboard/workspace/index',
+ meta: {
+ title: 'page.dashboard.workspace',
+ },
+ },
+ ],
+ },
+];
+
+const createDemosMenus = (role: 'admin' | 'super' | 'user') => {
+ const roleWithMenus = {
+ admin: {
+ component: '/demos/access/admin-visible',
+ meta: {
+ icon: 'mdi:button-cursor',
+ title: 'page.demos.access.adminVisible',
+ },
+ name: 'AccessAdminVisible',
+ path: 'admin-visible',
+ },
+ super: {
+ component: '/demos/access/super-visible',
+ meta: {
+ icon: 'mdi:button-cursor',
+ title: 'page.demos.access.superVisible',
+ },
+ name: 'AccessSuperVisible',
+ path: 'super-visible',
+ },
+ user: {
+ component: '/demos/access/user-visible',
+ meta: {
+ icon: 'mdi:button-cursor',
+ title: 'page.demos.access.userVisible',
+ },
+ name: 'AccessUserVisible',
+ path: 'user-visible',
+ },
+ };
+
+ return [
+ {
+ component: 'BasicLayout',
+ meta: {
+ icon: 'ic:baseline-view-in-ar',
+ keepAlive: true,
+ order: 1000,
+ title: 'page.demos.title',
+ },
+ name: 'Demos',
+ path: '/demos',
+ redirect: '/access',
+ children: [
+ {
+ name: 'Access',
+ path: 'access',
+ meta: {
+ icon: 'mdi:cloud-key-outline',
+ title: 'page.demos.access.backendPermissions',
+ },
+ redirect: '/demos/access/page-control',
+ children: [
+ {
+ name: 'AccessPageControl',
+ path: 'page-control',
+ component: '/demos/access/index',
+ meta: {
+ icon: 'mdi:page-previous-outline',
+ title: 'page.demos.access.pageAccess',
+ },
+ },
+ {
+ name: 'AccessButtonControl',
+ path: 'button-control',
+ component: '/demos/access/button-control',
+ meta: {
+ icon: 'mdi:button-cursor',
+ title: 'page.demos.access.buttonControl',
+ },
+ },
+ {
+ name: 'AccessMenuVisible403',
+ path: 'menu-visible-403',
+ component: '/demos/access/menu-visible-403',
+ meta: {
+ authority: ['no-body'],
+ icon: 'mdi:button-cursor',
+ menuVisibleWithForbidden: true,
+ title: 'page.demos.access.menuVisible403',
+ },
+ },
+ roleWithMenus[role],
+ ],
+ },
+ ],
+ },
+ ];
+};
+
+export const MOCK_MENUS = [
+ {
+ menus: [...dashboardMenus, ...createDemosMenus('super')],
+ username: 'vben',
+ },
+ {
+ menus: [...dashboardMenus, ...createDemosMenus('admin')],
+ username: 'admin',
+ },
+ {
+ menus: [...dashboardMenus, ...createDemosMenus('user')],
+ username: 'user',
+ },
+];
diff --git a/apps/backend-mock/utils/response.ts b/apps/backend-mock/utils/response.ts
new file mode 100644
index 000000000..83f11d2a2
--- /dev/null
+++ b/apps/backend-mock/utils/response.ts
@@ -0,0 +1,17 @@
+export function useResponseSuccess(data: T) {
+ return {
+ code: 0,
+ data,
+ error: null,
+ message: 'ok',
+ };
+}
+
+export function useResponseError(message: string, error: any = null) {
+ return {
+ code: -1,
+ data: null,
+ error,
+ message,
+ };
+}
diff --git a/apps/web-antd/.env.development b/apps/web-antd/.env.development
index f2f935bd6..447b41c4f 100644
--- a/apps/web-antd/.env.development
+++ b/apps/web-antd/.env.development
@@ -1,3 +1,5 @@
VITE_PUBLIC_PATH = /
VITE_GLOB_API_URL=/api
+
+VITE_NITRO_MOCK = true
diff --git a/apps/web-antd/package.json b/apps/web-antd/package.json
index c9342d9aa..047eca825 100644
--- a/apps/web-antd/package.json
+++ b/apps/web-antd/package.json
@@ -16,9 +16,9 @@
},
"type": "module",
"scripts": {
- "build": "pnpm vite build",
+ "build": "pnpm vite build --mode production",
"build:analyze": "pnpm vite build --mode analyze",
- "dev": "pnpm vite",
+ "dev": "pnpm vite --mode development",
"preview": "vite preview",
"typecheck": "vue-tsc --noEmit --skipLibCheck"
},
diff --git a/apps/web-antd/src/apis/core/auth.ts b/apps/web-antd/src/apis/core/auth.ts
new file mode 100644
index 000000000..c389f4234
--- /dev/null
+++ b/apps/web-antd/src/apis/core/auth.ts
@@ -0,0 +1,17 @@
+import type { UserApi } from '../types';
+
+import { requestClient } from '#/forward';
+
+/**
+ * 登录
+ */
+export async function login(data: UserApi.LoginParams) {
+ return requestClient.post('/auth/login', data);
+}
+
+/**
+ * 获取用户权限码
+ */
+export async function getAccessCodes() {
+ return requestClient.get('/auth/codes');
+}
diff --git a/apps/web-antd/src/apis/modules/index.ts b/apps/web-antd/src/apis/core/index.ts
similarity index 66%
rename from apps/web-antd/src/apis/modules/index.ts
rename to apps/web-antd/src/apis/core/index.ts
index 9acc852b6..28a5aef47 100644
--- a/apps/web-antd/src/apis/modules/index.ts
+++ b/apps/web-antd/src/apis/core/index.ts
@@ -1,3 +1,3 @@
+export * from './auth';
export * from './menu';
-export * from './mock';
export * from './user';
diff --git a/apps/web-antd/src/apis/modules/menu.ts b/apps/web-antd/src/apis/core/menu.ts
similarity index 76%
rename from apps/web-antd/src/apis/modules/menu.ts
rename to apps/web-antd/src/apis/core/menu.ts
index b6aa03238..432b228da 100644
--- a/apps/web-antd/src/apis/modules/menu.ts
+++ b/apps/web-antd/src/apis/core/menu.ts
@@ -5,8 +5,6 @@ import { requestClient } from '#/forward';
/**
* 获取用户所有菜单
*/
-async function getAllMenus() {
- return requestClient.get('/menu/getAll');
+export async function getAllMenus() {
+ return requestClient.get('/menu/all');
}
-
-export { getAllMenus };
diff --git a/apps/web-antd/src/apis/core/user.ts b/apps/web-antd/src/apis/core/user.ts
new file mode 100644
index 000000000..4fc6f12c1
--- /dev/null
+++ b/apps/web-antd/src/apis/core/user.ts
@@ -0,0 +1,10 @@
+import type { UserInfo } from '@vben/types';
+
+import { requestClient } from '#/forward';
+
+/**
+ * 获取用户信息
+ */
+export async function getUserInfo() {
+ return requestClient.get('/user/info');
+}
diff --git a/apps/web-antd/src/apis/demos/index.ts b/apps/web-antd/src/apis/demos/index.ts
new file mode 100644
index 000000000..420cc02aa
--- /dev/null
+++ b/apps/web-antd/src/apis/demos/index.ts
@@ -0,0 +1 @@
+export * from './status';
diff --git a/apps/web-antd/src/apis/modules/mock.ts b/apps/web-antd/src/apis/demos/status.ts
similarity index 69%
rename from apps/web-antd/src/apis/modules/mock.ts
rename to apps/web-antd/src/apis/demos/status.ts
index 03db1ccb8..00ef6e987 100644
--- a/apps/web-antd/src/apis/modules/mock.ts
+++ b/apps/web-antd/src/apis/demos/status.ts
@@ -4,7 +4,7 @@ import { requestClient } from '#/forward';
* 模拟任意状态码
*/
async function getMockStatus(status: string) {
- return requestClient.get('/mock/status', { params: { status } });
+ return requestClient.get('/status', { params: { status } });
}
export { getMockStatus };
diff --git a/apps/web-antd/src/apis/index.ts b/apps/web-antd/src/apis/index.ts
index 26086dcf3..911672b77 100644
--- a/apps/web-antd/src/apis/index.ts
+++ b/apps/web-antd/src/apis/index.ts
@@ -1,2 +1,3 @@
-export * from './modules';
+export * from './core';
+export * from './demos';
export type * from './types';
diff --git a/apps/web-antd/src/apis/modules/user.ts b/apps/web-antd/src/apis/modules/user.ts
deleted file mode 100644
index 07635b74e..000000000
--- a/apps/web-antd/src/apis/modules/user.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import type { UserInfo } from '@vben/types';
-
-import type { UserApi } from '../types';
-
-import { requestClient } from '#/forward';
-
-/**
- * 登录
- */
-async function userLogin(data: UserApi.LoginParams) {
- return requestClient.post('/auth/login', data);
-}
-
-/**
- * 获取用户信息
- */
-async function getUserInfo() {
- return requestClient.get('/auth/getUserInfo');
-}
-
-/**
- * 获取用户权限码
- */
-async function getAccessCodes() {
- return requestClient.get('/auth/getAccessCodes');
-}
-
-export { getAccessCodes, getUserInfo, userLogin };
diff --git a/apps/web-antd/src/forward/request.ts b/apps/web-antd/src/forward/request.ts
index bc9f5648a..e115ca336 100644
--- a/apps/web-antd/src/forward/request.ts
+++ b/apps/web-antd/src/forward/request.ts
@@ -25,8 +25,8 @@ function createRequestClient() {
tokenHandler: () => {
const accessStore = useAccessStore();
return {
- refreshToken: `Bearer ${accessStore.refreshToken}`,
- token: `Bearer ${accessStore.accessToken}`,
+ refreshToken: `${accessStore.refreshToken}`,
+ token: `${accessStore.accessToken}`,
};
},
unAuthorizedHandler: async () => {
diff --git a/apps/web-antd/src/locales/langs/en-US.json b/apps/web-antd/src/locales/langs/en-US.json
index 8be104a88..dec360db0 100644
--- a/apps/web-antd/src/locales/langs/en-US.json
+++ b/apps/web-antd/src/locales/langs/en-US.json
@@ -38,11 +38,14 @@
"title": "Features",
"hideChildrenInMenu": "Hide Menu Children",
"loginExpired": "Login Expired",
- "breadcrumbNavigation": "Breadcrumb Navigation",
- "breadcrumbLateral": "Lateral Mode",
- "breadcrumbLateralDetail": "Lateral Mode Detail",
- "breadcrumbLevel": "Level Mode",
- "breadcrumbLevelDetail": "Level Mode Detail"
+ "tabs": "Tabs"
+ },
+ "breadcrumb": {
+ "navigation": "Breadcrumb Navigation",
+ "lateral": "Lateral Mode",
+ "lateralDetail": "Lateral Mode Detail",
+ "level": "Level Mode",
+ "levelDetail": "Level Mode Detail"
}
}
}
diff --git a/apps/web-antd/src/locales/langs/zh-CN.json b/apps/web-antd/src/locales/langs/zh-CN.json
index 376292d08..515e45bb1 100644
--- a/apps/web-antd/src/locales/langs/zh-CN.json
+++ b/apps/web-antd/src/locales/langs/zh-CN.json
@@ -40,11 +40,14 @@
"title": "功能",
"hideChildrenInMenu": "隐藏子菜单",
"loginExpired": "登录过期",
- "breadcrumbNavigation": "面包屑导航",
- "breadcrumbLateral": "平级模式",
- "breadcrumbLevel": "层级模式",
- "breadcrumbLevelDetail": "层级模式详情",
- "breadcrumbLateralDetail": "平级模式详情"
+ "tabs": "标签页"
+ },
+ "breadcrumb": {
+ "navigation": "面包屑导航",
+ "lateral": "平级模式",
+ "level": "层级模式",
+ "levelDetail": "层级模式详情",
+ "lateralDetail": "平级模式详情"
}
}
}
diff --git a/apps/web-antd/src/router/routes/modules/demos.ts b/apps/web-antd/src/router/routes/modules/demos.ts
index e8bb77365..39d3e0e3a 100644
--- a/apps/web-antd/src/router/routes/modules/demos.ts
+++ b/apps/web-antd/src/router/routes/modules/demos.ts
@@ -16,6 +16,7 @@ const routes: RouteRecordRaw[] = [
path: '/demos',
redirect: '/demos/access',
children: [
+ // 权限控制
{
meta: {
icon: 'mdi:shield-key-outline',
@@ -87,6 +88,7 @@ const routes: RouteRecordRaw[] = [
},
],
},
+ // 功能
{
meta: {
icon: 'mdi:feature-highlight',
@@ -94,8 +96,17 @@ const routes: RouteRecordRaw[] = [
},
name: 'Features',
path: 'features',
- redirect: '/demos/features/hide-menu-children',
+ redirect: '/demos/features/tabs',
children: [
+ {
+ name: 'FeatureTabsDemo',
+ path: 'tabs',
+ component: () => import('#/views/demos/features/tabs/index.vue'),
+ meta: {
+ icon: 'lucide:app-window',
+ title: $t('page.demos.features.tabs'),
+ },
+ },
{
name: 'HideChildrenInMenuParent',
path: 'hide-children-in-menu',
@@ -127,62 +138,61 @@ const routes: RouteRecordRaw[] = [
title: $t('page.demos.features.loginExpired'),
},
},
+ ],
+ },
+ // 面包屑导航
+ {
+ name: 'BreadcrumbDemos',
+ path: 'breadcrumb',
+ meta: {
+ icon: 'lucide:navigation',
+ title: $t('page.demos.breadcrumb.navigation'),
+ },
+ redirect: '/demos/breadcrumb/lateral',
+ children: [
{
- name: 'BreadcrumbDemos',
- path: 'breadcrumb',
+ name: 'BreadcrumbLateral',
+ path: 'lateral',
+ component: () => import('#/views/demos/breadcrumb/lateral.vue'),
meta: {
icon: 'lucide:navigation',
- title: $t('page.demos.features.breadcrumbNavigation'),
+ title: $t('page.demos.breadcrumb.lateral'),
},
+ },
+ {
+ name: 'BreadcrumbLateralDetail',
+ path: 'lateral-detail',
+ component: () =>
+ import('#/views/demos/breadcrumb/lateral-detail.vue'),
+ meta: {
+ activePath: '/demos/breadcrumb/lateral',
+ hideInMenu: true,
+ title: $t('page.demos.breadcrumb.lateralDetail'),
+ },
+ },
+ {
+ name: 'BreadcrumbLevel',
+ path: 'level',
+ meta: {
+ icon: 'lucide:navigation',
+ title: $t('page.demos.breadcrumb.level'),
+ },
+ redirect: '/demos/breadcrumb/level/detail',
children: [
{
- name: 'BreadcrumbLateral',
- path: 'lateral',
+ name: 'BreadcrumbLevelDetail',
+ path: 'detail',
component: () =>
- import('#/views/demos/features/breadcrumb/lateral.vue'),
+ import('#/views/demos/breadcrumb/level-detail.vue'),
meta: {
- icon: 'lucide:navigation',
- title: $t('page.demos.features.breadcrumbLateral'),
+ title: $t('page.demos.breadcrumb.levelDetail'),
},
},
- {
- name: 'BreadcrumbLateralDetail',
- path: 'lateral-detail',
- component: () =>
- import(
- '#/views/demos/features/breadcrumb/lateral-detail.vue'
- ),
- meta: {
- activePath: '/demos/features/breadcrumb/lateral',
- hideInMenu: true,
- title: $t('page.demos.features.breadcrumbLateralDetail'),
- },
- },
- {
- name: 'BreadcrumbLevel',
- path: 'level',
- meta: {
- icon: 'lucide:navigation',
- title: $t('page.demos.features.breadcrumbLevel'),
- },
- children: [
- {
- name: 'BreadcrumbLevelDetail',
- path: 'detail',
- component: () =>
- import(
- '#/views/demos/features/breadcrumb/level-detail.vue'
- ),
- meta: {
- title: $t('page.demos.features.breadcrumbLevelDetail'),
- },
- },
- ],
- },
],
},
],
},
+ // 缺省页
{
meta: {
icon: 'mdi:lightbulb-error-outline',
@@ -231,6 +241,7 @@ const routes: RouteRecordRaw[] = [
},
],
},
+ // 菜单徽标
{
meta: {
badgeType: 'dot',
@@ -275,6 +286,7 @@ const routes: RouteRecordRaw[] = [
},
],
},
+ // 外部链接
{
meta: {
icon: 'ic:round-settings-input-composite',
@@ -350,6 +362,7 @@ const routes: RouteRecordRaw[] = [
},
],
},
+ // 嵌套菜单
{
meta: {
icon: 'ic:round-menu',
diff --git a/apps/web-antd/src/router/routes/modules/vben.ts b/apps/web-antd/src/router/routes/modules/vben.ts
index 802824cc1..4df1475e5 100644
--- a/apps/web-antd/src/router/routes/modules/vben.ts
+++ b/apps/web-antd/src/router/routes/modules/vben.ts
@@ -10,11 +10,12 @@ const routes: RouteRecordRaw[] = [
component: BasicLayout,
meta: {
badgeType: 'dot',
+ badgeVariants: 'destructive',
icon: VBEN_LOGO_URL,
order: 9999,
- title: 'Vben',
+ title: $t('page.vben.title'),
},
- name: 'AboutLayout',
+ name: 'VbenProject',
path: '/vben-admin',
redirect: '/vben-admin/about',
children: [
@@ -24,6 +25,7 @@ const routes: RouteRecordRaw[] = [
component: () => import('#/views/_core/vben/about/index.vue'),
meta: {
badgeType: 'dot',
+ badgeVariants: 'destructive',
icon: 'lucide:copyright',
title: $t('page.vben.about'),
},
diff --git a/apps/web-antd/src/store/modules/access.ts b/apps/web-antd/src/store/modules/access.ts
index c09b78ae4..13ced8c33 100644
--- a/apps/web-antd/src/store/modules/access.ts
+++ b/apps/web-antd/src/store/modules/access.ts
@@ -11,7 +11,7 @@ import { useCoreAccessStore } from '@vben-core/stores';
import { notification } from 'ant-design-vue';
import { defineStore } from 'pinia';
-import { getAccessCodes, getUserInfo, userLogin } from '#/apis';
+import { getAccessCodes, getUserInfo, login } from '#/apis';
import { $t } from '#/locales';
export const useAccessStore = defineStore('access', () => {
@@ -53,7 +53,7 @@ export const useAccessStore = defineStore('access', () => {
let userInfo: UserInfo | null = null;
try {
loading.value = true;
- const { accessToken, refreshToken } = await userLogin(params);
+ const { accessToken, refreshToken } = await login(params);
// 如果成功获取到 accessToken
// If accessToken is successfully obtained
diff --git a/apps/web-antd/src/views/demos/access/button-control.vue b/apps/web-antd/src/views/demos/access/button-control.vue
index ba605333b..cae47d487 100644
--- a/apps/web-antd/src/views/demos/access/button-control.vue
+++ b/apps/web-antd/src/views/demos/access/button-control.vue
@@ -57,9 +57,9 @@ async function changeAccount(role: string) {
切换不同的账号,观察按钮变化。
-
+
- 当前角色:
+ 当前角色:
{{ accessStore.userRoles?.[0] }}
@@ -81,45 +81,42 @@ async function changeAccount(role: string) {
-
-
组件形式控制 - 权限码方式
-
+
+
组件形式控制 - 权限码方式
+
-
+
-
+
-
+
-
-
组件形式控制 - 用户角色方式
-
+
+
组件形式控制 - 用户角色方式
+
-
+
-
+
-
+
-
-
函数形式控制
+
+
函数形式控制
diff --git a/apps/web-antd/src/views/demos/access/index.vue b/apps/web-antd/src/views/demos/access/index.vue
index 5e3ad64d3..93705f926 100644
--- a/apps/web-antd/src/views/demos/access/index.vue
+++ b/apps/web-antd/src/views/demos/access/index.vue
@@ -67,8 +67,8 @@ async function handleToggleAccessMode() {
-
-
当前权限模式:
+
+ 当前权限模式:
{{
accessMode === 'frontend' ? '前端权限控制' : '后端权限控制'
}}
@@ -76,9 +76,9 @@ async function handleToggleAccessMode() {
切换为{{ accessMode === 'frontend' ? '后端' : '前端' }}权限模式
-
+
-
当前账号:
+
当前账号:
{{ accessStore.userRoles?.[0] }}
diff --git a/apps/web-antd/src/views/demos/features/breadcrumb/lateral-detail.vue b/apps/web-antd/src/views/demos/breadcrumb/lateral-detail.vue
similarity index 100%
rename from apps/web-antd/src/views/demos/features/breadcrumb/lateral-detail.vue
rename to apps/web-antd/src/views/demos/breadcrumb/lateral-detail.vue
diff --git a/apps/web-antd/src/views/demos/features/breadcrumb/lateral.vue b/apps/web-antd/src/views/demos/breadcrumb/lateral.vue
similarity index 100%
rename from apps/web-antd/src/views/demos/features/breadcrumb/lateral.vue
rename to apps/web-antd/src/views/demos/breadcrumb/lateral.vue
diff --git a/apps/web-antd/src/views/demos/features/breadcrumb/level-detail.vue b/apps/web-antd/src/views/demos/breadcrumb/level-detail.vue
similarity index 100%
rename from apps/web-antd/src/views/demos/features/breadcrumb/level-detail.vue
rename to apps/web-antd/src/views/demos/breadcrumb/level-detail.vue
diff --git a/apps/web-antd/src/views/demos/features/login-expired/index.vue b/apps/web-antd/src/views/demos/features/login-expired/index.vue
index 6ac0b777f..73f2bb9a1 100644
--- a/apps/web-antd/src/views/demos/features/login-expired/index.vue
+++ b/apps/web-antd/src/views/demos/features/login-expired/index.vue
@@ -23,17 +23,21 @@ async function handleClick(type: LoginExpiredModeType) {
登录过期演示
- 401状态码转到登录页,登录成功后跳转回原页面。
+ 接口请求遇到401状态码时,需要重新登录。有两种方式:
+
1.转到登录页,登录成功后跳转回原页面
+
+ 2.弹出重新登录弹窗,登录后关闭弹窗,不进行任何页面跳转(刷新后调整登录页面)
+
-
-
跳转登录页面方式
+
-
diff --git a/apps/web-antd/src/views/demos/features/tabs/index.vue b/apps/web-antd/src/views/demos/features/tabs/index.vue
new file mode 100644
index 000000000..74393f1ed
--- /dev/null
+++ b/apps/web-antd/src/views/demos/features/tabs/index.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
打开/关闭标签页
+
+ 如果标签页存在,直接跳转切换。如果标签页不存在,则打开新的标签页。
+
+
+
+
+
+
+
+
+
标签页操作
+
用于动态控制标签页的各种操作
+
+
+
+
+
+
+
+
+
+
+
+
动态标题
+
+ 该操作不会影响页面标题,仅修改Tab标题
+
+
+
+
+
diff --git a/internal/lint-configs/commitlint-config/package.json b/internal/lint-configs/commitlint-config/package.json
index a6716adc9..1a1de0d05 100644
--- a/internal/lint-configs/commitlint-config/package.json
+++ b/internal/lint-configs/commitlint-config/package.json
@@ -32,7 +32,7 @@
"@commitlint/config-conventional": "^19.2.2",
"@vben/node-utils": "workspace:*",
"commitlint-plugin-function-rules": "^4.0.0",
- "cz-git": "^1.9.3",
- "czg": "^1.9.3"
+ "cz-git": "^1.9.4",
+ "czg": "^1.9.4"
}
}
diff --git a/internal/lint-configs/eslint-config/src/configs/ignores.ts b/internal/lint-configs/eslint-config/src/configs/ignores.ts
index f7041f215..95ac1aefb 100644
--- a/internal/lint-configs/eslint-config/src/configs/ignores.ts
+++ b/internal/lint-configs/eslint-config/src/configs/ignores.ts
@@ -9,6 +9,8 @@ export async function ignores(): Promise
{
'**/dist-*',
'**/*-dist',
'**/.husky',
+ '**/.nitro',
+ '**/.output',
'**/Dockerfile',
'**/package-lock.json',
'**/yarn.lock',
diff --git a/internal/lint-configs/eslint-config/src/custom-config.ts b/internal/lint-configs/eslint-config/src/custom-config.ts
index 8abe50f85..0ebff774f 100644
--- a/internal/lint-configs/eslint-config/src/custom-config.ts
+++ b/internal/lint-configs/eslint-config/src/custom-config.ts
@@ -121,10 +121,17 @@ const customConfig: Linter.FlatConfig[] = [
files: ['apps/backend-mock/**/**'],
rules: {
'@typescript-eslint/no-extraneous-class': 'off',
+ 'n/prefer-global/buffer': 'off',
'no-console': 'off',
'unicorn/prefer-module': 'off',
},
},
+ {
+ files: ['internal/**/**'],
+ rules: {
+ 'no-console': 'off',
+ },
+ },
];
export { customConfig };
diff --git a/internal/vite-config/package.json b/internal/vite-config/package.json
index f2b672a7d..f53430cb2 100644
--- a/internal/vite-config/package.json
+++ b/internal/vite-config/package.json
@@ -31,6 +31,7 @@
"@jspm/generator": "^2.1.2",
"cheerio": "1.0.0-rc.12",
"html-minifier-terser": "^7.2.0",
+ "nitropack": "^2.9.7",
"resolve.exports": "^2.0.2",
"vite-plugin-lib-inject-css": "^2.1.1",
"vite-plugin-pwa": "^0.20.0",
diff --git a/internal/vite-config/src/config/application.ts b/internal/vite-config/src/config/application.ts
index 38537a10a..e058ddf0c 100644
--- a/internal/vite-config/src/config/application.ts
+++ b/internal/vite-config/src/config/application.ts
@@ -33,6 +33,12 @@ function defineApplicationConfig(userConfigPromise: DefineApplicationOptions) {
isBuild,
license: true,
mode,
+ nitroMock: !isBuild,
+ nitroMockOptions: {},
+ print: !isBuild,
+ printInfoMap: {
+ 'Vben Admin Docs': 'https://docs.vben.pro',
+ },
pwa: true,
...application,
});
diff --git a/internal/vite-config/src/plugins/extra-app-config.ts b/internal/vite-config/src/plugins/extra-app-config.ts
index f835ce193..813819bbd 100644
--- a/internal/vite-config/src/plugins/extra-app-config.ts
+++ b/internal/vite-config/src/plugins/extra-app-config.ts
@@ -47,10 +47,8 @@ async function viteExtraAppConfigPlugin({
type: 'asset',
});
- // eslint-disable-next-line no-console
console.log(colors.cyan(`✨configuration file is build successfully!`));
} catch (error) {
- // eslint-disable-next-line no-console
console.log(
colors.red(
`configuration file configuration file failed to package:\n${error}`,
diff --git a/internal/vite-config/src/plugins/importmap.ts b/internal/vite-config/src/plugins/importmap.ts
index 2fbf9d42a..600993d93 100644
--- a/internal/vite-config/src/plugins/importmap.ts
+++ b/internal/vite-config/src/plugins/importmap.ts
@@ -70,7 +70,6 @@ async function viteImportMapPlugin(
if (options?.debug) {
(async () => {
for await (const { message, type } of generator.logStream()) {
- // eslint-disable-next-line no-console
console.log(`${type}: ${message}`);
}
})();
diff --git a/internal/vite-config/src/plugins/index.ts b/internal/vite-config/src/plugins/index.ts
index 5ba23b89e..e50f0e70a 100644
--- a/internal/vite-config/src/plugins/index.ts
+++ b/internal/vite-config/src/plugins/index.ts
@@ -23,6 +23,8 @@ import { viteImportMapPlugin } from './importmap';
import { viteInjectAppLoadingPlugin } from './inject-app-loading';
import { viteMetadataPlugin } from './inject-metadata';
import { viteLicensePlugin } from './license';
+import { viteNitroMockPlugin } from './nitor-mock';
+import { vitePrintPlugin } from './print';
/**
* 获取条件成立的 vite 插件
@@ -99,6 +101,10 @@ async function loadApplicationPlugins(
importmapOptions,
injectAppLoading,
license,
+ nitroMock,
+ nitroMockOptions,
+ print,
+ printInfoMap,
pwa,
pwaOptions,
...commonOptions
@@ -120,6 +126,18 @@ async function loadApplicationPlugins(
];
},
},
+ {
+ condition: print,
+ plugins: async () => {
+ return [await vitePrintPlugin({ infoMap: printInfoMap })];
+ },
+ },
+ {
+ condition: nitroMock,
+ plugins: async () => {
+ return [await viteNitroMockPlugin(nitroMockOptions)];
+ },
+ },
{
condition: injectAppLoading,
plugins: async () => [await viteInjectAppLoadingPlugin(!!isBuild, env)],
diff --git a/internal/vite-config/src/plugins/inject-metadata.ts b/internal/vite-config/src/plugins/inject-metadata.ts
index a88999704..a234b0704 100644
--- a/internal/vite-config/src/plugins/inject-metadata.ts
+++ b/internal/vite-config/src/plugins/inject-metadata.ts
@@ -15,6 +15,7 @@ function resolvePackageVersion(
async function resolveMonorepoDependencies() {
const { packages } = await getPackages();
+
const resultDevDependencies: Record = {};
const resultDependencies: Record = {};
const pkgsMeta: Record = {};
diff --git a/internal/vite-config/src/plugins/nitor-mock.ts b/internal/vite-config/src/plugins/nitor-mock.ts
new file mode 100644
index 000000000..0236fae66
--- /dev/null
+++ b/internal/vite-config/src/plugins/nitor-mock.ts
@@ -0,0 +1,89 @@
+import type { PluginOption } from 'vite';
+
+import type { NitroMockPluginOptions } from '../typing';
+
+import { colors, consola, getPackage } from '@vben/node-utils';
+
+import { build, createDevServer, createNitro, prepare } from 'nitropack';
+
+const hmrKeyRe = /^runtimeConfig\.|routeRules\./;
+
+export const viteNitroMockPlugin = ({
+ mockServerPackage = '@vben/backend-mock',
+ port = 5320,
+ verbose = true,
+}: NitroMockPluginOptions = {}): PluginOption => {
+ return {
+ async configureServer(server) {
+ const pkg = await getPackage(mockServerPackage);
+ if (!pkg) {
+ consola.error(`Package ${mockServerPackage} not found.`);
+ return;
+ }
+
+ runNitroServer(pkg.dir, port, verbose);
+
+ const _printUrls = server.printUrls;
+ server.printUrls = () => {
+ _printUrls();
+
+ consola.log(
+ ` ${colors.green('➜')} ${colors.bold('Nitro Mock Server')}: ${colors.cyan(`http://localhost:${port}/api`)}`,
+ );
+ };
+ },
+ enforce: 'pre',
+ name: 'vite:mock-server',
+ };
+};
+
+async function runNitroServer(rootDir: string, port: number, verbose: boolean) {
+ let nitro: any;
+ const reload = async () => {
+ if (nitro) {
+ consola.info('Restarting dev server...');
+ if ('unwatch' in nitro.options._c12) {
+ await nitro.options._c12.unwatch();
+ }
+ await nitro.close();
+ }
+ nitro = await createNitro(
+ {
+ dev: true,
+ preset: 'nitro-dev',
+ rootDir,
+ },
+ {
+ c12: {
+ async onUpdate({ getDiff, newConfig }) {
+ const diff = getDiff();
+ if (diff.length === 0) {
+ return;
+ }
+ verbose &&
+ consola.info(
+ `Nitro config updated:\n${diff
+ .map((entry) => ` ${entry.toString()}`)
+ .join('\n')}`,
+ );
+ await (diff.every((e) => hmrKeyRe.test(e.key))
+ ? nitro.updateConfig(newConfig.config)
+ : reload());
+ },
+ },
+ watch: true,
+ },
+ );
+ nitro.hooks.hookOnce('restart', reload);
+ const server = createDevServer(nitro);
+ await server.listen(port, { showURL: false });
+ await prepare(nitro);
+ await build(nitro);
+
+ if (verbose) {
+ console.log('');
+ consola.success(colors.bold(colors.green('Nitro Mock Server started.')));
+ }
+ };
+ await reload();
+}
diff --git a/internal/vite-config/src/plugins/print.ts b/internal/vite-config/src/plugins/print.ts
new file mode 100644
index 000000000..0146b8a2a
--- /dev/null
+++ b/internal/vite-config/src/plugins/print.ts
@@ -0,0 +1,28 @@
+import type { PluginOption } from 'vite';
+
+import type { PrintPluginOptions } from '../typing';
+
+import { colors } from '@vben/node-utils';
+
+export const vitePrintPlugin = (
+ options: PrintPluginOptions = {},
+): PluginOption => {
+ const { infoMap = {} } = options;
+
+ return {
+ configureServer(server) {
+ const _printUrls = server.printUrls;
+ server.printUrls = () => {
+ _printUrls();
+
+ for (const [key, value] of Object.entries(infoMap)) {
+ console.log(
+ ` ${colors.green('➜')} ${colors.bold(key)}: ${colors.cyan(value)}`,
+ );
+ }
+ };
+ },
+ enforce: 'pre',
+ name: 'vite:print-info',
+ };
+};
diff --git a/internal/vite-config/src/typing.ts b/internal/vite-config/src/typing.ts
index 5b5d6f883..a3332f7c4 100644
--- a/internal/vite-config/src/typing.ts
+++ b/internal/vite-config/src/typing.ts
@@ -9,6 +9,29 @@ interface IImportMap {
[scope: string]: Record;
};
}
+interface PrintPluginOptions {
+ /**
+ * 打印的数据
+ */
+ infoMap?: Record;
+}
+
+interface NitroMockPluginOptions {
+ /**
+ * mock server 包名
+ */
+ mockServerPackage?: string;
+
+ /**
+ * mock 服务端口
+ */
+ port?: number;
+
+ /**
+ * mock 日志是否打印
+ */
+ verbose?: boolean;
+}
/**
* importmap 插件配置
@@ -71,6 +94,14 @@ interface ApplicationPluginOptions extends CommonPluginOptions {
injectGlobalScss?: boolean;
/** 是否注入版权信息 */
license?: boolean;
+ /** 是否开启nitro mock */
+ nitroMock?: boolean;
+ /** nitro mock 插件配置 */
+ nitroMockOptions?: NitroMockPluginOptions;
+ /** dev是否开启mock服务 */
+ print?: boolean;
+ /** 打印插件配置 */
+ printInfoMap?: PrintPluginOptions['infoMap'];
/** 是否开启pwa */
pwa?: boolean;
/** pwa 插件配置 */
@@ -111,4 +142,6 @@ export type {
IImportMap,
ImportmapPluginOptions,
LibraryPluginOptions,
+ NitroMockPluginOptions,
+ PrintPluginOptions,
};
diff --git a/internal/vite-config/src/utils/env.ts b/internal/vite-config/src/utils/env.ts
index 41b1a0ac9..9cc378439 100644
--- a/internal/vite-config/src/utils/env.ts
+++ b/internal/vite-config/src/utils/env.ts
@@ -13,6 +13,7 @@ function getConfFiles() {
const script = process.env.npm_lifecycle_script as string;
const reg = /--mode ([\d_a-z]+)/;
const result = reg.exec(script);
+
if (result) {
const mode = result[1];
return ['.env', `.env.${mode}`];
@@ -64,10 +65,12 @@ async function loadAndConvertEnv(
const compressTypes = compress
.split(',')
.filter((item) => item === 'brotli' || item === 'gzip');
+
return {
appTitle: envConfig?.VITE_GLOB_APP_TITLE ?? 'Vben Admin',
compress: !!compress,
compressTypes: compressTypes as ('brotli' | 'gzip')[],
+ nitroMock: !!envConfig.VITE_NITRO_MOCK,
port: Number(envConfig.VITE_PORT) || 5173,
pwa: !!pwa,
visualizer: !!visualizer,
diff --git a/package.json b/package.json
index c56113eb6..f68c08f1b 100644
--- a/package.json
+++ b/package.json
@@ -35,7 +35,8 @@
"check:type": "turbo run typecheck",
"clean": "vsh clean",
"commit": "czg",
- "dev": "cross-env TURBO_UI=1 turbo run dev",
+ "dev": "cross-env turbo run dev",
+ "dev:ui": "cross-env TURBO_UI=1 turbo run dev",
"docs:dev": "pnpm -F @vben/website run docs:dev",
"format": "vsh lint --format",
"lint": "vsh lint",
diff --git a/packages/@core/forward/preferences/src/preferences.ts b/packages/@core/forward/preferences/src/preferences.ts
index f2f4d6686..b160527ab 100644
--- a/packages/@core/forward/preferences/src/preferences.ts
+++ b/packages/@core/forward/preferences/src/preferences.ts
@@ -4,7 +4,7 @@ import type { Preferences } from './types';
import { markRaw, reactive, readonly, watch } from 'vue';
-import { StorageManager, merge } from '@vben-core/toolkit';
+import { StorageManager, isMacOs, merge } from '@vben-core/toolkit';
import {
breakpointsTailwind,
@@ -46,7 +46,7 @@ class PreferenceManager {
this.savePreferences = useDebounceFn(
(preference: Preferences) => this._savePreferences(preference),
- 200,
+ 100,
);
}
@@ -81,6 +81,11 @@ class PreferenceManager {
}
}
+ private initPlatform() {
+ const dom = document.documentElement;
+ dom.dataset.platform = isMacOs() ? 'macOs' : 'window';
+ }
+
/**
* 从缓存中加载偏好设置。如果缓存中没有找到对应的偏好设置,则返回默认偏好设置。
*/
@@ -187,6 +192,8 @@ class PreferenceManager {
this.updatePreferences(mergedPreference);
this.setupWatcher();
+
+ this.initPlatform();
// 标记为已初始化
this.isInitialized = true;
}
diff --git a/packages/@core/forward/stores/src/modules/tabbar.ts b/packages/@core/forward/stores/src/modules/tabbar.ts
index a42390d87..45199bea7 100644
--- a/packages/@core/forward/stores/src/modules/tabbar.ts
+++ b/packages/@core/forward/stores/src/modules/tabbar.ts
@@ -3,7 +3,7 @@ import type { RouteRecordNormalized, Router } from 'vue-router';
import { toRaw } from 'vue';
-import { startProgress, stopProgress } from '@vben-core/toolkit';
+import { openWindow, startProgress, stopProgress } from '@vben-core/toolkit';
import { acceptHMRUpdate, defineStore } from 'pinia';
@@ -226,6 +226,18 @@ const useCoreTabbarStore = defineStore('core-tabbar', {
await this.closeTab(this.tabs[index], router);
},
+ /**
+ * @zh_CN 新窗口打开标签页
+ * @param tab
+ */
+ async openTabInNewWindow(tab: TabDefinition) {
+ const { hash, origin } = location;
+ const path = tab.fullPath;
+ const fullPath = path.startsWith('/') ? path : `/${path}`;
+ const url = `${origin}${hash ? '/#' : ''}${fullPath}`;
+ openWindow(url, { target: '_blank' });
+ },
+
/**
* @zh_CN 固定标签页
* @param tab
@@ -257,6 +269,23 @@ const useCoreTabbarStore = defineStore('core-tabbar', {
this.renderRouteView = true;
stopProgress();
},
+
+ /**
+ * @zh_CN 重置标签页标题
+ */
+ async resetTabTitle(tab: TabDefinition) {
+ if (!tab?.meta?.newTabTitle) {
+ return;
+ }
+ const findTab = this.tabs.find(
+ (item) => getTabPath(item) === getTabPath(tab),
+ );
+ if (findTab) {
+ findTab.meta.newTabTitle = undefined;
+ await this.updateCacheTab();
+ }
+ },
+
/**
* 设置固定标签页
* @param tabs
@@ -267,6 +296,21 @@ const useCoreTabbarStore = defineStore('core-tabbar', {
this.addTab(routeToTab(tab));
}
},
+
+ /**
+ * @zh_CN 设置标签页标题
+ * @param tab
+ * @param title
+ */
+ async setTabTitle(tab: TabDefinition, title: string) {
+ const findTab = this.tabs.find(
+ (item) => getTabPath(item) === getTabPath(tab),
+ );
+ if (findTab) {
+ findTab.meta.newTabTitle = title;
+ await this.updateCacheTab();
+ }
+ },
/**
* @zh_CN 设置标签页顺序
* @param oldIndex
@@ -278,6 +322,15 @@ const useCoreTabbarStore = defineStore('core-tabbar', {
this.tabs.splice(newIndex, 0, currentTab);
this.dragEndIndex = this.dragEndIndex + 1;
},
+ /**
+ * @zh_CN 切换固定标签页
+ * @param tab
+ */
+ async toggleTabPin(tab: TabDefinition) {
+ const affixTab = tab?.meta?.affixTab ?? false;
+ await (affixTab ? this.unpinTab(tab) : this.pinTab(tab));
+ },
+
/**
* @zh_CN 取消固定标签页
* @param tab
diff --git a/packages/@core/hooks/package.json b/packages/@core/hooks/package.json
index 603e89017..d7c38dca5 100644
--- a/packages/@core/hooks/package.json
+++ b/packages/@core/hooks/package.json
@@ -37,11 +37,14 @@
},
"dependencies": {
"@vben-core/constants": "workspace:*",
+ "@vben-core/preferences": "workspace:*",
+ "@vben-core/stores": "workspace:*",
"@vben-core/toolkit": "workspace:*",
"@vueuse/core": "^10.11.0",
"radix-vue": "^1.9.1",
"sortablejs": "^1.15.2",
- "vue": "^3.4.32"
+ "vue": "^3.4.32",
+ "vue-router": "^4.4.0"
},
"devDependencies": {
"@types/sortablejs": "^1.15.8"
diff --git a/packages/@core/hooks/src/index.ts b/packages/@core/hooks/src/index.ts
index f2abfedff..519c82c3b 100644
--- a/packages/@core/hooks/src/index.ts
+++ b/packages/@core/hooks/src/index.ts
@@ -1,6 +1,9 @@
export * from './use-content-height';
+export * from './use-content-maximize';
export * from './use-namespace';
+export * from './use-refresh';
export * from './use-sortable';
+export * from './use-tabs';
export {
useEmitAsProps,
useForwardExpose,
diff --git a/packages/@core/hooks/src/use-content-maximize.ts b/packages/@core/hooks/src/use-content-maximize.ts
new file mode 100644
index 000000000..07dfe2fd8
--- /dev/null
+++ b/packages/@core/hooks/src/use-content-maximize.ts
@@ -0,0 +1,24 @@
+import { updatePreferences, usePreferences } from '@vben-core/preferences';
+/**
+ * 主体区域最大化
+ */
+export function useContentMaximize() {
+ const { contentIsMaximize } = usePreferences();
+
+ function toggleMaximize() {
+ const isMaximize = contentIsMaximize.value;
+
+ updatePreferences({
+ header: {
+ hidden: !isMaximize,
+ },
+ sidebar: {
+ hidden: !isMaximize,
+ },
+ });
+ }
+ return {
+ contentIsMaximize,
+ toggleMaximize,
+ };
+}
diff --git a/packages/@core/hooks/src/use-refresh.ts b/packages/@core/hooks/src/use-refresh.ts
new file mode 100644
index 000000000..804a156e0
--- /dev/null
+++ b/packages/@core/hooks/src/use-refresh.ts
@@ -0,0 +1,16 @@
+import { useRouter } from 'vue-router';
+
+import { useCoreTabbarStore } from '@vben-core/stores';
+
+export function useRefresh() {
+ const router = useRouter();
+ const coreTabbarStore = useCoreTabbarStore();
+
+ function refresh() {
+ coreTabbarStore.refresh(router);
+ }
+
+ return {
+ refresh,
+ };
+}
diff --git a/packages/@core/hooks/src/use-tabs.ts b/packages/@core/hooks/src/use-tabs.ts
new file mode 100644
index 000000000..830a0664b
--- /dev/null
+++ b/packages/@core/hooks/src/use-tabs.ts
@@ -0,0 +1,111 @@
+import { type RouteLocationNormalized, useRoute, useRouter } from 'vue-router';
+
+import { useCoreTabbarStore } from '@vben-core/stores';
+
+export function useTabs() {
+ const router = useRouter();
+ const route = useRoute();
+ const coreTabbarStore = useCoreTabbarStore();
+
+ async function closeLeftTabs(tab?: RouteLocationNormalized) {
+ await coreTabbarStore.closeLeftTabs(tab || route);
+ }
+
+ async function closeAllTabs() {
+ await coreTabbarStore.closeAllTabs(router);
+ }
+
+ async function closeRightTabs(tab?: RouteLocationNormalized) {
+ await coreTabbarStore.closeRightTabs(tab || route);
+ }
+
+ async function closeOtherTabs(tab?: RouteLocationNormalized) {
+ await coreTabbarStore.closeOtherTabs(tab || route);
+ }
+
+ async function closeCurrentTab(tab?: RouteLocationNormalized) {
+ await coreTabbarStore.closeTab(tab || route, router);
+ }
+
+ async function pinTab(tab?: RouteLocationNormalized) {
+ await coreTabbarStore.pinTab(tab || route);
+ }
+
+ async function unpinTab(tab?: RouteLocationNormalized) {
+ await coreTabbarStore.unpinTab(tab || route);
+ }
+
+ async function toggleTabPin(tab?: RouteLocationNormalized) {
+ await coreTabbarStore.toggleTabPin(tab || route);
+ }
+
+ async function refreshTab() {
+ await coreTabbarStore.refresh(router);
+ }
+
+ async function openTabInNewWindow(tab?: RouteLocationNormalized) {
+ coreTabbarStore.openTabInNewWindow(tab || route);
+ }
+
+ async function closeTabByKey(key: string) {
+ await coreTabbarStore.closeTabByKey(key, router);
+ }
+
+ async function setTabTitle(title: string) {
+ await coreTabbarStore.setTabTitle(route, title);
+ }
+
+ async function resetTabTitle() {
+ await coreTabbarStore.resetTabTitle(route);
+ }
+
+ /**
+ * 获取操作是否禁用
+ * @param tab
+ */
+ function getTabDisableState(tab: RouteLocationNormalized = route) {
+ const tabs = coreTabbarStore.getTabs;
+ const affixTabs = coreTabbarStore.affixTabs;
+ const index = tabs.findIndex((item) => item.path === tab.path);
+
+ const disabled = tabs.length <= 1;
+
+ const { meta } = tab;
+ const affixTab = meta?.affixTab ?? false;
+ const isCurrentTab = route.path === tab.path;
+
+ // 当前处于最左侧或者减去固定标签页的数量等于0
+ const disabledCloseLeft =
+ index === 0 || index - affixTabs.length <= 0 || !isCurrentTab;
+
+ const disabledCloseRight = !isCurrentTab || index === tabs.length - 1;
+
+ const disabledCloseOther =
+ disabled || !isCurrentTab || tabs.length - affixTabs.length <= 1;
+ return {
+ disabledCloseAll: disabled,
+ disabledCloseCurrent: !!affixTab || disabled,
+ disabledCloseLeft,
+ disabledCloseOther,
+ disabledCloseRight,
+ disabledRefresh: !isCurrentTab,
+ };
+ }
+
+ return {
+ closeAllTabs,
+ closeCurrentTab,
+ closeLeftTabs,
+ closeOtherTabs,
+ closeRightTabs,
+ closeTabByKey,
+ getTabDisableState,
+ openTabInNewWindow,
+ pinTab,
+ refreshTab,
+ resetTabTitle,
+ setTabTitle,
+ toggleTabPin,
+ unpinTab,
+ };
+}
diff --git a/packages/@core/locales/src/langs/en-US.json b/packages/@core/locales/src/langs/en-US.json
index 4d3dc6116..ea4308307 100644
--- a/packages/@core/locales/src/langs/en-US.json
+++ b/packages/@core/locales/src/langs/en-US.json
@@ -13,6 +13,7 @@
"workspace": "Workspace"
},
"vben": {
+ "title": "Project",
"about": "About",
"document": "Document"
}
diff --git a/packages/@core/locales/src/langs/zh-CN.json b/packages/@core/locales/src/langs/zh-CN.json
index bd5c58c7e..8d335c2d3 100644
--- a/packages/@core/locales/src/langs/zh-CN.json
+++ b/packages/@core/locales/src/langs/zh-CN.json
@@ -13,6 +13,7 @@
"workspace": "工作台"
},
"vben": {
+ "title": "项目",
"about": "关于",
"document": "文档"
}
@@ -123,7 +124,7 @@
"sendCode": "获取验证码",
"sendText": "{0}秒后重新获取",
"thirdPartyLogin": "其他登录方式",
- "loginAgainTitle": "请重新登录",
+ "loginAgainTitle": "重新登录",
"loginAgainSubTitle": "您的登录状态已过期,请重新登录以继续。",
"layout": {
"center": "居中",
diff --git a/packages/@core/shared/design/src/css/global.css b/packages/@core/shared/design/src/css/global.css
index 3a060f796..c6d95c98d 100644
--- a/packages/@core/shared/design/src/css/global.css
+++ b/packages/@core/shared/design/src/css/global.css
@@ -83,19 +83,20 @@
@apply m-0 appearance-none;
}
- /* 考虑只在mac下打开 */
+ /* 只有非mac下才进行调整,mac下使用默认滚动条 */
+ html:not([data-platform='macOs']) {
+ *::-webkit-scrollbar {
+ @apply h-[1px] w-[10px];
+ }
- /* *::-webkit-scrollbar {
- @apply h-[1px] w-[10px];
+ *::-webkit-scrollbar-thumb {
+ @apply bg-border rounded-sm border-none;
+ }
+
+ *::-webkit-scrollbar-track {
+ @apply rounded-sm border-none bg-transparent shadow-none;
+ }
}
-
- *::-webkit-scrollbar-thumb {
- @apply bg-border rounded-sm border-none;
- }
-
- *::-webkit-scrollbar-track {
- @apply rounded-sm border-none bg-transparent shadow-none;
- } */
}
@layer components {
diff --git a/packages/@core/ui-kit/shadcn-ui/src/components/scrollbar/scrollbar.vue b/packages/@core/ui-kit/shadcn-ui/src/components/scrollbar/scrollbar.vue
index 6805835c8..ba2f4eb97 100644
--- a/packages/@core/ui-kit/shadcn-ui/src/components/scrollbar/scrollbar.vue
+++ b/packages/@core/ui-kit/shadcn-ui/src/components/scrollbar/scrollbar.vue
@@ -54,7 +54,7 @@ function handleScroll(event: Event) {
v-if="shadow"
:class="{
'opacity-100': !isAtTop && !isAtBottom,
- 'border-border border-t': shadowBorder && !isAtTop && !isAtBottom,
+ 'border-border border-b': shadowBorder && !isAtTop && !isAtBottom,
}"
class="scrollbar-bottom-shadow pointer-events-none absolute bottom-0 z-10 h-12 w-full opacity-0 transition-opacity duration-300 ease-in-out will-change-[opacity]"
>
diff --git a/packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue b/packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue
index 4f89d15aa..73a3f459a 100644
--- a/packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue
+++ b/packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue
@@ -71,7 +71,7 @@ function scrollIntoView() {
-
+
-
+
+
+
diff --git a/packages/effects/access/src/access-control.vue b/packages/effects/access/src/access-control.vue
index 516a68cfb..7205546b6 100644
--- a/packages/effects/access/src/access-control.vue
+++ b/packages/effects/access/src/access-control.vue
@@ -11,7 +11,7 @@ interface Props {
* Specified codes is visible
* @default []
*/
- permissions?: string[];
+ codes?: string[];
/**
* 通过什么方式来控制组件,如果是 role,则传入角色,如果是 code,则传入权限码
@@ -25,21 +25,19 @@ defineOptions({
});
const props = withDefaults(defineProps(), {
- permissions: () => [],
+ codes: () => [],
type: 'role',
});
const { hasAccessByCodes, hasAccessByRoles } = useAccess();
const hasAuth = computed(() => {
- const { permissions, type } = props;
- return type === 'role'
- ? hasAccessByRoles(permissions)
- : hasAccessByCodes(permissions);
+ const { codes, type } = props;
+ return type === 'role' ? hasAccessByRoles(codes) : hasAccessByCodes(codes);
});
-
+
diff --git a/packages/effects/layouts/src/basic/content/content.vue b/packages/effects/layouts/src/basic/content/content.vue
index 48f952387..5fa5a4f6e 100644
--- a/packages/effects/layouts/src/basic/content/content.vue
+++ b/packages/effects/layouts/src/basic/content/content.vue
@@ -20,7 +20,7 @@ const { getCachedTabs, getExcludeCachedTabs, renderRouteView } =
storeToRefs(tabbarStore);
// 页面切换动画
-function getTransitionName(route: RouteLocationNormalizedLoaded) {
+function getTransitionName(_route: RouteLocationNormalizedLoaded) {
// 如果偏好设置未设置,则不使用动画
const { tabbar, transition } = preferences;
const transitionName = transition.name;
@@ -38,9 +38,10 @@ function getTransitionName(route: RouteLocationNormalizedLoaded) {
// return;
// }
// 已经打开且已经加载过的页面不使用动画
- const inTabs = getCachedTabs.value.includes(route.name as string);
+ // const inTabs = getCachedTabs.value.includes(route.name as string);
- return inTabs && route.meta.loaded ? undefined : transitionName;
+ // return inTabs && route.meta.loaded ? undefined : transitionName;
+ return transitionName;
}
diff --git a/packages/effects/layouts/src/basic/tabbar/index.ts b/packages/effects/layouts/src/basic/tabbar/index.ts
index 5e8aa80df..5cc247900 100644
--- a/packages/effects/layouts/src/basic/tabbar/index.ts
+++ b/packages/effects/layouts/src/basic/tabbar/index.ts
@@ -1,2 +1,2 @@
export { default as LayoutTabbar } from './tabbar.vue';
-export * from './use-tabs';
+export * from './use-tabbar';
diff --git a/packages/effects/layouts/src/basic/tabbar/tabbar.vue b/packages/effects/layouts/src/basic/tabbar/tabbar.vue
index 94eb346bc..0eee3f5bb 100644
--- a/packages/effects/layouts/src/basic/tabbar/tabbar.vue
+++ b/packages/effects/layouts/src/basic/tabbar/tabbar.vue
@@ -2,11 +2,12 @@
import { computed } from 'vue';
import { useRoute } from 'vue-router';
+import { useContentMaximize, useTabs } from '@vben-core/hooks';
import { preferences } from '@vben-core/preferences';
import { useCoreTabbarStore } from '@vben-core/stores';
import { TabsToolMore, TabsToolScreen, TabsView } from '@vben-core/tabs-ui';
-import { updateContentScreen, useTabs } from './use-tabs';
+import { useTabbar } from './use-tabbar';
defineOptions({
name: 'LayoutTabbar',
@@ -14,9 +15,10 @@ defineOptions({
defineProps<{ showIcon?: boolean; theme?: string }>();
-const coreTabbarStore = useCoreTabbarStore();
-
const route = useRoute();
+const coreTabbarStore = useCoreTabbarStore();
+const { toggleMaximize } = useContentMaximize();
+const { unpinTab } = useTabs();
const {
createContextMenus,
@@ -24,8 +26,7 @@ const {
currentTabs,
handleClick,
handleClose,
- handleUnpinTab,
-} = useTabs();
+} = useTabbar();
const menus = computed(() => {
return createContextMenus(route);
@@ -48,15 +49,15 @@ if (!preferences.tabbar.persist) {
:tabs="currentTabs"
@close="handleClose"
@sort-tabs="coreTabbarStore.sortTabs"
- @unpin="handleUnpinTab"
+ @unpin="unpinTab"
@update:active="handleClick"
/>
diff --git a/packages/effects/layouts/src/basic/tabbar/use-tabs.ts b/packages/effects/layouts/src/basic/tabbar/use-tabbar.ts
similarity index 63%
rename from packages/effects/layouts/src/basic/tabbar/use-tabs.ts
rename to packages/effects/layouts/src/basic/tabbar/use-tabbar.ts
index ab60dafae..6fba77364 100644
--- a/packages/effects/layouts/src/basic/tabbar/use-tabs.ts
+++ b/packages/effects/layouts/src/basic/tabbar/use-tabbar.ts
@@ -8,6 +8,7 @@ import type {
import { computed, ref, watch } from 'vue';
import { useRoute, useRouter } from 'vue-router';
+import { useContentMaximize, useTabs } from '@vben-core/hooks';
import {
ArrowLeftToLine,
ArrowRightLeft,
@@ -22,33 +23,32 @@ import {
X,
} from '@vben-core/icons';
import { $t, useI18n } from '@vben-core/locales';
-import { updatePreferences, usePreferences } from '@vben-core/preferences';
import {
storeToRefs,
useCoreAccessStore,
useCoreTabbarStore,
} from '@vben-core/stores';
-import { filterTree, openWindow } from '@vben-core/toolkit';
+import { filterTree } from '@vben-core/toolkit';
-function updateContentScreen(screen: boolean) {
- updatePreferences({
- header: {
- hidden: !!screen,
- },
- sidebar: {
- hidden: !!screen,
- },
- });
-}
-
-function useTabs() {
+export function useTabbar() {
const router = useRouter();
const route = useRoute();
const accessStore = useCoreAccessStore();
- const { contentIsMaximize } = usePreferences();
const coreTabbarStore = useCoreTabbarStore();
const { accessMenus } = storeToRefs(accessStore);
-
+ const { contentIsMaximize, toggleMaximize } = useContentMaximize();
+ const {
+ closeAllTabs,
+ closeCurrentTab,
+ closeLeftTabs,
+ closeOtherTabs,
+ closeRightTabs,
+ closeTabByKey,
+ getTabDisableState,
+ openTabInNewWindow,
+ refreshTab,
+ toggleTabPin,
+ } = useTabs();
const currentActive = computed(() => {
return route.path;
});
@@ -76,7 +76,7 @@ function useTabs() {
// 关闭tab
const handleClose = async (key: string) => {
- await coreTabbarStore.closeTabByKey(key, router);
+ await closeTabByKey(key);
};
function wrapperTabLocale(tab: RouteLocationNormalizedGeneric) {
@@ -106,30 +106,22 @@ function useTabs() {
);
const createContextMenus = (tab: TabDefinition) => {
- const tabs = coreTabbarStore.getTabs;
- const affixTabs = coreTabbarStore.affixTabs;
- const index = tabs.findIndex((item) => item.path === tab.path);
+ const {
+ disabledCloseAll,
+ disabledCloseCurrent,
+ disabledCloseLeft,
+ disabledCloseOther,
+ disabledCloseRight,
+ disabledRefresh,
+ } = getTabDisableState(tab);
- const disabled = tabs.length <= 1;
-
- const { meta } = tab;
- const affixTab = meta?.affixTab ?? false;
- const isCurrentTab = route.path === tab.path;
-
- // 当前处于最左侧或者减去固定标签页的数量等于0
- const closeLeftDisabled =
- index === 0 || index - affixTabs.length <= 0 || !isCurrentTab;
-
- const closeRightDisabled = !isCurrentTab || index === tabs.length - 1;
-
- const closeOtherDisabled =
- disabled || !isCurrentTab || tabs.length - affixTabs.length <= 1;
+ const affixTab = tab?.meta?.affixTab ?? false;
const menus: IContextMenuItem[] = [
{
- disabled: !!affixTab || disabled,
+ disabled: disabledCloseCurrent,
handler: async () => {
- await coreTabbarStore.closeTab(tab, router);
+ await closeCurrentTab(tab);
},
icon: X,
key: 'close',
@@ -137,9 +129,7 @@ function useTabs() {
},
{
handler: async () => {
- await (affixTab
- ? coreTabbarStore.unpinTab(tab)
- : coreTabbarStore.pinTab(tab));
+ await toggleTabPin(tab);
},
icon: affixTab ? MdiPinOff : MdiPin,
key: 'affix',
@@ -152,7 +142,7 @@ function useTabs() {
if (!contentIsMaximize.value) {
await router.push(tab.fullPath);
}
- updateContentScreen(!contentIsMaximize.value);
+ toggleMaximize();
},
icon: contentIsMaximize.value ? Minimize2 : Fullscreen,
key: contentIsMaximize.value ? 'restore-maximize' : 'maximize',
@@ -161,22 +151,15 @@ function useTabs() {
: $t('preferences.tabbar.contextMenu.maximize'),
},
{
- disabled: !isCurrentTab,
- handler: async () => {
- await coreTabbarStore.refresh(router);
- },
+ disabled: disabledRefresh,
+ handler: refreshTab,
icon: RotateCw,
key: 'reload',
text: $t('preferences.tabbar.contextMenu.reload'),
},
-
{
handler: async () => {
- const { hash, origin } = location;
- const path = tab.fullPath;
- const fullPath = path.startsWith('/') ? path : `/${path}`;
- const url = `${origin}${hash ? '/#' : ''}${fullPath}`;
- openWindow(url, { target: '_blank' });
+ await openTabInNewWindow(tab);
},
icon: ExternalLink,
key: 'open-in-new-window',
@@ -185,18 +168,18 @@ function useTabs() {
},
{
- disabled: closeLeftDisabled,
+ disabled: disabledCloseLeft,
handler: async () => {
- await coreTabbarStore.closeLeftTabs(tab);
+ await closeLeftTabs(tab);
},
icon: ArrowLeftToLine,
key: 'close-left',
text: $t('preferences.tabbar.contextMenu.closeLeft'),
},
{
- disabled: closeRightDisabled,
+ disabled: disabledCloseRight,
handler: async () => {
- await coreTabbarStore.closeRightTabs(tab);
+ await closeRightTabs(tab);
},
icon: ArrowRightToLine,
key: 'close-right',
@@ -204,19 +187,17 @@ function useTabs() {
text: $t('preferences.tabbar.contextMenu.closeRight'),
},
{
- disabled: closeOtherDisabled,
+ disabled: disabledCloseOther,
handler: async () => {
- await coreTabbarStore.closeOtherTabs(tab);
+ await closeOtherTabs(tab);
},
icon: FoldHorizontal,
key: 'close-other',
text: $t('preferences.tabbar.contextMenu.closeOther'),
},
{
- disabled,
- handler: async () => {
- await coreTabbarStore.closeAllTabs(router);
- },
+ disabled: disabledCloseAll,
+ handler: closeAllTabs,
icon: ArrowRightLeft,
key: 'close-all',
text: $t('preferences.tabbar.contextMenu.closeAll'),
@@ -225,21 +206,11 @@ function useTabs() {
return menus;
};
- /**
- * 取消固定标签页
- */
- const handleUnpinTab = async (tab: TabDefinition) => {
- await coreTabbarStore.unpinTab(tab);
- };
-
return {
createContextMenus,
currentActive,
currentTabs,
handleClick,
handleClose,
- handleUnpinTab,
};
}
-
-export { updateContentScreen, useTabs };
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 09006fc27..d65f4de36 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -99,88 +99,9 @@ importers:
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)
- '@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
- mockjs:
- specifier: ^1.1.0
- version: 1.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
- devDependencies:
- '@nestjs/cli':
- specifier: ^10.4.2
- version: 10.4.2
- '@nestjs/schematics':
- specifier: ^10.1.2
- version: 10.1.2(chokidar@3.6.0)(typescript@5.5.3)
- '@types/express':
- specifier: ^4.17.21
- version: 4.17.21
- '@types/mockjs':
- specifier: ^1.0.10
- version: 1.0.10
- '@types/node':
- specifier: ^20.14.11
- version: 20.14.11
- nodemon:
- specifier: ^3.1.4
- version: 3.1.4
- ts-node:
- specifier: ^10.9.2
- version: 10.9.2(@types/node@20.14.11)(typescript@5.5.3)
- typescript:
- specifier: ^5.5.3
- version: 5.5.3
+ nitropack:
+ specifier: latest
+ version: 2.9.7(encoding@0.1.13)
apps/web-antd:
dependencies:
@@ -263,11 +184,11 @@ importers:
specifier: ^4.0.0
version: 4.0.0(@commitlint/lint@19.2.2)
cz-git:
- specifier: ^1.9.3
- version: 1.9.3
+ specifier: ^1.9.4
+ version: 1.9.4
czg:
- specifier: ^1.9.3
- version: 1.9.3
+ specifier: ^1.9.4
+ version: 1.9.4
internal/lint-configs/eslint-config:
dependencies:
@@ -511,6 +432,9 @@ importers:
html-minifier-terser:
specifier: ^7.2.0
version: 7.2.0
+ nitropack:
+ specifier: ^2.9.7
+ version: 2.9.7(encoding@0.1.13)
resolve.exports:
specifier: ^2.0.2
version: 2.0.2
@@ -636,6 +560,12 @@ importers:
'@vben-core/constants':
specifier: workspace:*
version: link:../shared/constants
+ '@vben-core/preferences':
+ specifier: workspace:*
+ version: link:../forward/preferences
+ '@vben-core/stores':
+ specifier: workspace:*
+ version: link:../forward/stores
'@vben-core/toolkit':
specifier: workspace:*
version: link:../shared/toolkit
@@ -651,6 +581,9 @@ importers:
vue:
specifier: ^3.4.32
version: 3.4.32(typescript@5.5.3)
+ vue-router:
+ specifier: ^4.4.0
+ version: 4.4.0(vue@3.4.32(typescript@5.5.3))
devDependencies:
'@types/sortablejs':
specifier: ^1.15.8
@@ -1088,24 +1021,6 @@ packages:
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
- '@angular-devkit/core@17.3.8':
- resolution: {integrity: sha512-Q8q0voCGudbdCgJ7lXdnyaxKHbNQBARH68zPQV72WT8NWy+Gw/tys870i6L58NWbBaCJEUcIj/kb6KoakSRu+Q==}
- 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.3.8':
- resolution: {integrity: sha512-TjmiwWJarX7oqvNiRAroQ5/LeKUatxBOCNEuKXO/PV8e7pn/Hr/BqfFm+UcYrQoFdZplmtNAfqmbqgVziKvCpA==}
- 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.3.8':
- resolution: {integrity: sha512-QRVEYpIfgkprNHc916JlPuNbLzOgrm9DZalHasnLUz4P6g7pR21olb8YCyM2OTJjombNhya9ZpckcADU5Qyvlg==}
- 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@6.0.0':
resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==}
@@ -1905,9 +1820,9 @@ 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'}
+ '@cloudflare/kv-asset-handler@0.3.4':
+ resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==}
+ engines: {node: '>=16.13'}
'@commitlint/cli@19.3.0':
resolution: {integrity: sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==}
@@ -2467,6 +2382,12 @@ packages:
cpu: [ppc64]
os: [aix]
+ '@esbuild/aix-ppc64@0.20.2':
+ resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+
'@esbuild/aix-ppc64@0.21.5':
resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
engines: {node: '>=12'}
@@ -2485,6 +2406,12 @@ packages:
cpu: [arm64]
os: [android]
+ '@esbuild/android-arm64@0.20.2':
+ resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
'@esbuild/android-arm64@0.21.5':
resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
engines: {node: '>=12'}
@@ -2503,6 +2430,12 @@ packages:
cpu: [arm]
os: [android]
+ '@esbuild/android-arm@0.20.2':
+ resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
'@esbuild/android-arm@0.21.5':
resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
engines: {node: '>=12'}
@@ -2521,6 +2454,12 @@ packages:
cpu: [x64]
os: [android]
+ '@esbuild/android-x64@0.20.2':
+ resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
'@esbuild/android-x64@0.21.5':
resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
engines: {node: '>=12'}
@@ -2539,6 +2478,12 @@ packages:
cpu: [arm64]
os: [darwin]
+ '@esbuild/darwin-arm64@0.20.2':
+ resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
'@esbuild/darwin-arm64@0.21.5':
resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
engines: {node: '>=12'}
@@ -2557,6 +2502,12 @@ packages:
cpu: [x64]
os: [darwin]
+ '@esbuild/darwin-x64@0.20.2':
+ resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
'@esbuild/darwin-x64@0.21.5':
resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
engines: {node: '>=12'}
@@ -2575,6 +2526,12 @@ packages:
cpu: [arm64]
os: [freebsd]
+ '@esbuild/freebsd-arm64@0.20.2':
+ resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
'@esbuild/freebsd-arm64@0.21.5':
resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
engines: {node: '>=12'}
@@ -2593,6 +2550,12 @@ packages:
cpu: [x64]
os: [freebsd]
+ '@esbuild/freebsd-x64@0.20.2':
+ resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
'@esbuild/freebsd-x64@0.21.5':
resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
engines: {node: '>=12'}
@@ -2611,6 +2574,12 @@ packages:
cpu: [arm64]
os: [linux]
+ '@esbuild/linux-arm64@0.20.2':
+ resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
'@esbuild/linux-arm64@0.21.5':
resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
engines: {node: '>=12'}
@@ -2629,6 +2598,12 @@ packages:
cpu: [arm]
os: [linux]
+ '@esbuild/linux-arm@0.20.2':
+ resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
'@esbuild/linux-arm@0.21.5':
resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
engines: {node: '>=12'}
@@ -2647,6 +2622,12 @@ packages:
cpu: [ia32]
os: [linux]
+ '@esbuild/linux-ia32@0.20.2':
+ resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
'@esbuild/linux-ia32@0.21.5':
resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
engines: {node: '>=12'}
@@ -2665,6 +2646,12 @@ packages:
cpu: [loong64]
os: [linux]
+ '@esbuild/linux-loong64@0.20.2':
+ resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
'@esbuild/linux-loong64@0.21.5':
resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
engines: {node: '>=12'}
@@ -2683,6 +2670,12 @@ packages:
cpu: [mips64el]
os: [linux]
+ '@esbuild/linux-mips64el@0.20.2':
+ resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
'@esbuild/linux-mips64el@0.21.5':
resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
engines: {node: '>=12'}
@@ -2701,6 +2694,12 @@ packages:
cpu: [ppc64]
os: [linux]
+ '@esbuild/linux-ppc64@0.20.2':
+ resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
'@esbuild/linux-ppc64@0.21.5':
resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
engines: {node: '>=12'}
@@ -2719,6 +2718,12 @@ packages:
cpu: [riscv64]
os: [linux]
+ '@esbuild/linux-riscv64@0.20.2':
+ resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
'@esbuild/linux-riscv64@0.21.5':
resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
engines: {node: '>=12'}
@@ -2737,6 +2742,12 @@ packages:
cpu: [s390x]
os: [linux]
+ '@esbuild/linux-s390x@0.20.2':
+ resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
'@esbuild/linux-s390x@0.21.5':
resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
engines: {node: '>=12'}
@@ -2755,6 +2766,12 @@ packages:
cpu: [x64]
os: [linux]
+ '@esbuild/linux-x64@0.20.2':
+ resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
'@esbuild/linux-x64@0.21.5':
resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
engines: {node: '>=12'}
@@ -2773,6 +2790,12 @@ packages:
cpu: [x64]
os: [netbsd]
+ '@esbuild/netbsd-x64@0.20.2':
+ resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
'@esbuild/netbsd-x64@0.21.5':
resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
engines: {node: '>=12'}
@@ -2797,6 +2820,12 @@ packages:
cpu: [x64]
os: [openbsd]
+ '@esbuild/openbsd-x64@0.20.2':
+ resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
'@esbuild/openbsd-x64@0.21.5':
resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
engines: {node: '>=12'}
@@ -2815,6 +2844,12 @@ packages:
cpu: [x64]
os: [sunos]
+ '@esbuild/sunos-x64@0.20.2':
+ resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
'@esbuild/sunos-x64@0.21.5':
resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
engines: {node: '>=12'}
@@ -2833,6 +2868,12 @@ packages:
cpu: [arm64]
os: [win32]
+ '@esbuild/win32-arm64@0.20.2':
+ resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
'@esbuild/win32-arm64@0.21.5':
resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
engines: {node: '>=12'}
@@ -2851,6 +2892,12 @@ packages:
cpu: [ia32]
os: [win32]
+ '@esbuild/win32-ia32@0.20.2':
+ resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
'@esbuild/win32-ia32@0.21.5':
resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
engines: {node: '>=12'}
@@ -2869,6 +2916,12 @@ packages:
cpu: [x64]
os: [win32]
+ '@esbuild/win32-x64@0.20.2':
+ resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
'@esbuild/win32-x64@0.21.5':
resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
engines: {node: '>=12'}
@@ -2907,6 +2960,10 @@ packages:
resolution: {integrity: sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@fastify/busboy@2.1.1':
+ resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
+ engines: {node: '>=14'}
+
'@floating-ui/core@1.6.4':
resolution: {integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==}
@@ -2922,12 +2979,6 @@ 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'}
@@ -3000,6 +3051,9 @@ packages:
vue-i18n-bridge:
optional: true
+ '@ioredis/commands@1.2.0':
+ resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==}
+
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@@ -3034,19 +3088,11 @@ packages:
'@jspm/import-map@1.1.0':
resolution: {integrity: sha512-vmk583YnMi4fmqeXbWIBiyzFu+vqVZ5VCoaa6H4xeSQy5E6JAWtmcq72OAMFTeSTqw7xxHQIJFq2OlHKdUWitQ==}
- '@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==}
@@ -3065,6 +3111,10 @@ packages:
resolution: {integrity: sha512-lpqC/HVb/fWljyphkEdifkr7vSfxHURnwLwKbJma7KvAkX2dl6xTsKLxwt4EpfxxuHhX7gaFOCCcs9Gqj//lEA==}
engines: {node: '>=14.18.0'}
+ '@mapbox/node-pre-gyp@1.0.11':
+ resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
+ hasBin: true
+
'@microsoft/api-extractor-model@7.28.13':
resolution: {integrity: sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw==}
@@ -3078,76 +3128,17 @@ packages:
'@microsoft/tsdoc@0.14.2':
resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==}
- '@nestjs/cli@10.4.2':
- resolution: {integrity: sha512-fQexIfLHfp6GUgX+CO4fOg+AEwV5ox/LHotQhyZi9wXUQDyIqS0NTTbumr//62EcX35qV4nU0359nYnuEdzG+A==}
- engines: {node: '>= 16.14'}
- hasBin: true
- peerDependencies:
- '@swc/cli': ^0.1.62 || ^0.3.0 || ^0.4.0
- '@swc/core': ^1.3.62
- peerDependenciesMeta:
- '@swc/cli':
- optional: true
- '@swc/core':
- optional: true
+ '@netlify/functions@2.8.1':
+ resolution: {integrity: sha512-+6wtYdoz0yE06dSa9XkP47tw5zm6g13QMeCwM3MmHx1vn8hzwFa51JtmfraprdkL7amvb7gaNM+OOhQU1h6T8A==}
+ engines: {node: '>=14.0.0'}
- '@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
+ '@netlify/node-cookies@0.1.0':
+ resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==}
+ engines: {node: ^14.16.0 || >=16.0.0}
- '@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.2':
- resolution: {integrity: sha512-S0bMtZM5U4mAiqkhRyZkXgjmOHBS5P/lp/vEydgMR4F7csOShc3jFeKVs1Eghd9xCFezGKy3SHy7hFT6dpPhWQ==}
- peerDependencies:
- typescript: '>=4.8.2'
+ '@netlify/serverless-functions-api@1.19.1':
+ resolution: {integrity: sha512-2KYkyluThg1AKfd0JWI7FzpS4A/fzVVGYIf6AM4ydWyNj8eI/86GQVLeRgDoH7CNOxt243R5tutWlmHpVq0/Ew==}
+ engines: {node: '>=18.0.0'}
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -3169,14 +3160,91 @@ 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==}
+ '@parcel/watcher-android-arm64@2.4.1':
+ resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ '@parcel/watcher-darwin-arm64@2.4.1':
+ resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@parcel/watcher-darwin-x64@2.4.1':
+ resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@parcel/watcher-freebsd-x64@2.4.1':
+ resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@parcel/watcher-linux-arm-glibc@2.4.1':
+ resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ '@parcel/watcher-linux-arm64-glibc@2.4.1':
+ resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@parcel/watcher-linux-arm64-musl@2.4.1':
+ resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@parcel/watcher-linux-x64-glibc@2.4.1':
+ resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ '@parcel/watcher-linux-x64-musl@2.4.1':
+ resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ '@parcel/watcher-wasm@2.4.1':
+ resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==}
+ engines: {node: '>= 10.0.0'}
+ bundledDependencies:
+ - napi-wasm
+
+ '@parcel/watcher-win32-arm64@2.4.1':
+ resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@parcel/watcher-win32-ia32@2.4.1':
+ resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@parcel/watcher-win32-x64@2.4.1':
+ resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ '@parcel/watcher@2.4.1':
+ resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==}
+ engines: {node: '>= 10.0.0'}
+
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -3234,6 +3302,15 @@ packages:
rollup:
optional: true
+ '@rollup/plugin-inject@5.0.5':
+ resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
'@rollup/plugin-json@6.1.0':
resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
engines: {node: '>=14.0.0'}
@@ -3402,18 +3479,13 @@ packages:
'@shikijs/transformers@1.10.3':
resolution: {integrity: sha512-MNjsyye2WHVdxfZUSr5frS97sLGe6G1T+1P41QjyBFJehZphMcr4aBlRLmq6OSPBslYe9byQPVvt/LJCOfxw8Q==}
- '@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==}
+ '@sindresorhus/merge-streams@2.3.0':
+ resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
+ engines: {node: '>=18'}
+
'@stylistic/stylelint-plugin@2.1.2':
resolution: {integrity: sha512-JsSqu0Y3vsX+PBl+DwULxC0cIv9C1yIcq1MXkx7pBOGtTqU26a75I8MPYMiEYvrsXgsKLi65xVgy1iLVSZquJA==}
engines: {node: ^18.12 || >=20.9}
@@ -3475,18 +3547,9 @@ 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==}
- '@types/eslint-scope@3.7.7':
- resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
-
'@types/eslint@8.56.10':
resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
@@ -3496,12 +3559,6 @@ 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==}
@@ -3511,11 +3568,8 @@ packages:
'@types/html-minifier-terser@7.0.2':
resolution: {integrity: sha512-mm2HqV22l8lFQh4r2oSsOEVea+m0qqxEmwpc9kC1p/XzmjLWrReR9D/GRs8Pex2NX/imyEH9c5IU/7tMBQCHOA==}
- '@types/http-errors@2.0.4':
- resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
-
- '@types/js-yaml@4.0.9':
- resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
+ '@types/http-proxy@1.17.14':
+ resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==}
'@types/jsdom@21.1.7':
resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==}
@@ -3526,9 +3580,6 @@ 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==}
@@ -3544,18 +3595,12 @@ 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==}
'@types/minimist@1.2.5':
resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
- '@types/mockjs@1.0.10':
- resolution: {integrity: sha512-SXgrhajHG7boLv6oU93CcmdDm0HYRiceuz6b+7z+/2lCJPTWDv0V5YiwFHT2ejE4bQqgSXQiVPQYPWv7LGsK1g==}
-
'@types/node@12.20.55':
resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
@@ -3583,24 +3628,12 @@ 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/sortablejs@1.15.8':
resolution: {integrity: sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==}
@@ -3613,9 +3646,6 @@ packages:
'@types/unist@3.0.2':
resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
- '@types/validator@13.12.0':
- resolution: {integrity: sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==}
-
'@types/web-bluetooth@0.0.20':
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
@@ -3683,6 +3713,11 @@ packages:
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ '@vercel/nft@0.26.5':
+ resolution: {integrity: sha512-NHxohEqad6Ra/r4lGknO52uc/GrWILXAMs1BB4401GTqww0fw1bAqzpG1XHuDO+dprg4GvsD9ZLLSsdo78p9hQ==}
+ engines: {node: '>=16'}
+ hasBin: true
+
'@vitejs/plugin-vue-jsx@4.0.0':
resolution: {integrity: sha512-A+6wL2AdQhDsLsDnY+2v4rRDI1HLJGIMc97a8FURO9tqKsH5QvjWrzsa5DH3NlZsM742W2wODl2fF+bfcTWtXw==}
engines: {node: ^18.0.0 || >=20.0.0}
@@ -3879,68 +3914,20 @@ packages:
'@vueuse/shared@10.11.0':
resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==}
- '@webassemblyjs/ast@1.12.1':
- resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
-
- '@webassemblyjs/floating-point-hex-parser@1.11.6':
- resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
-
- '@webassemblyjs/helper-api-error@1.11.6':
- resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
-
- '@webassemblyjs/helper-buffer@1.12.1':
- resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==}
-
- '@webassemblyjs/helper-numbers@1.11.6':
- resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
-
- '@webassemblyjs/helper-wasm-bytecode@1.11.6':
- resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
-
- '@webassemblyjs/helper-wasm-section@1.12.1':
- resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==}
-
- '@webassemblyjs/ieee754@1.11.6':
- resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
-
- '@webassemblyjs/leb128@1.11.6':
- resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
-
- '@webassemblyjs/utf8@1.11.6':
- resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
-
- '@webassemblyjs/wasm-edit@1.12.1':
- resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==}
-
- '@webassemblyjs/wasm-gen@1.12.1':
- resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==}
-
- '@webassemblyjs/wasm-opt@1.12.1':
- resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==}
-
- '@webassemblyjs/wasm-parser@1.12.1':
- resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==}
-
- '@webassemblyjs/wast-printer@1.12.1':
- resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==}
-
- '@xtuc/ieee754@1.2.0':
- resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
-
- '@xtuc/long@4.2.2':
- resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
-
JSONStream@1.3.5:
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}
- accepts@1.3.8:
- resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
- engines: {node: '>= 0.6'}
+ abort-controller@3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
acorn-import-attributes@1.9.5:
resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
@@ -3977,25 +3964,9 @@ 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:
- ajv: ^6.9.1
-
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
- ajv@8.12.0:
- resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
-
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
@@ -4009,10 +3980,6 @@ 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'}
@@ -4050,13 +4017,26 @@ packages:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
- append-field@1.0.0:
- resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==}
+ aproba@2.0.0:
+ resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
+
+ archiver-utils@5.0.2:
+ resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==}
+ engines: {node: '>= 14'}
+
+ archiver@7.0.1:
+ resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==}
+ engines: {node: '>= 14'}
are-docs-informative@0.0.2:
resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
engines: {node: '>=14'}
+ are-we-there-yet@2.0.0:
+ resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
+ engines: {node: '>=10'}
+ deprecated: This package is no longer supported.
+
arg@4.1.3:
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
@@ -4081,9 +4061,6 @@ 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==}
@@ -4113,6 +4090,9 @@ packages:
resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
engines: {node: '>=8'}
+ async-sema@3.1.1:
+ resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
+
async-validator@4.2.5:
resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
@@ -4145,6 +4125,9 @@ packages:
axios@1.7.2:
resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==}
+ b4a@1.6.6:
+ resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==}
+
babel-plugin-polyfill-corejs2@0.4.11:
resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
peerDependencies:
@@ -4166,12 +4149,12 @@ packages:
balanced-match@2.0.0:
resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==}
+ bare-events@2.4.2:
+ resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==}
+
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'}
@@ -4180,19 +4163,15 @@ 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==}
@@ -4215,14 +4194,15 @@ 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-crc32@1.0.0:
+ resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==}
+ engines: {node: '>=8.0.0'}
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==}
@@ -4232,13 +4212,13 @@ packages:
resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
engines: {node: '>=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'}
+ c12@1.11.1:
+ resolution: {integrity: sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg==}
+ peerDependencies:
+ magicast: ^0.3.4
+ peerDependenciesMeta:
+ magicast:
+ optional: true
cac@6.7.14:
resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
@@ -4326,10 +4306,6 @@ packages:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
- chrome-trace-event@1.0.4:
- resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
- engines: {node: '>=6.0'}
-
ci-info@3.9.0:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
@@ -4345,12 +4321,6 @@ 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==}
@@ -4374,33 +4344,17 @@ 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-spinners@2.9.2:
- resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
- engines: {node: '>=6'}
-
- cli-table3@0.6.5:
- resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==}
- 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'}
+ clipboardy@4.0.0:
+ resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==}
+ engines: {node: '>=18'}
cliui@6.0.0:
resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
@@ -4412,14 +4366,14 @@ 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'}
+ cluster-key-slot@1.1.2:
+ resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==}
+ engines: {node: '>=0.10.0'}
+
color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -4433,6 +4387,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==}
@@ -4470,10 +4428,6 @@ packages:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
engines: {node: ^12.20.0 || >=14}
- comment-json@4.2.3:
- resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==}
- engines: {node: '>= 6'}
-
comment-json@4.2.4:
resolution: {integrity: sha512-E5AjpSW+O+N5T2GsOQMHLLsJvrYw6G/AFt9GvU6NguEAfzKShh7hRiLtVo6S9KbRpFMGqE5ojo0/hE+sdteWvQ==}
engines: {node: '>= 6'}
@@ -4498,6 +4452,10 @@ packages:
compare-func@2.0.0:
resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
+ compress-commons@6.0.2:
+ resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==}
+ engines: {node: '>= 14'}
+
compute-scroll-into-view@1.0.20:
resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==}
@@ -4507,10 +4465,6 @@ 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==}
@@ -4532,13 +4486,8 @@ packages:
resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
engines: {node: ^14.18.0 || >=16.10.0}
- 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'}
+ console-control-strings@1.1.0:
+ resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
conventional-changelog-angular@7.0.0:
resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
@@ -4556,12 +4505,8 @@ packages:
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- cookie-signature@1.0.6:
- resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
-
- cookie@0.6.0:
- resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
- engines: {node: '>= 0.6'}
+ cookie-es@1.2.1:
+ resolution: {integrity: sha512-ilTPDuxhZX44BSzzRB58gvSY2UevZKQM9fjisn7Z+NJ92CtSU6kO1+22ZN/agbEJANFjK85EiJJbi/gQv18OXA==}
copy-anything@3.0.5:
resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
@@ -4576,10 +4521,6 @@ 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'}
@@ -4592,15 +4533,6 @@ 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'}
@@ -4610,9 +4542,22 @@ packages:
typescript:
optional: true
+ crc-32@1.2.2:
+ resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
+ engines: {node: '>=0.8'}
+ hasBin: true
+
+ crc32-stream@6.0.0:
+ resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==}
+ engines: {node: '>= 14'}
+
create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
+ croner@8.1.0:
+ resolution: {integrity: sha512-sz990XOUPR8dG/r5BRKMBd15MYDDUu8oeSaxFD5DqvNgHSZw8Psd1s689/IGET7ezxRMiNlCIyGeY1Gvxp/MLg==}
+ engines: {node: '>=18.0'}
+
cross-env@7.0.3:
resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
@@ -4625,6 +4570,14 @@ packages:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
+ crossws@0.2.4:
+ resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==}
+ peerDependencies:
+ uWebSockets.js: '*'
+ peerDependenciesMeta:
+ uWebSockets.js:
+ optional: true
+
crypto-random-string@2.0.0:
resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
engines: {node: '>=8'}
@@ -4755,12 +4708,12 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
- cz-git@1.9.3:
- resolution: {integrity: sha512-v7+vYOparImLLo6J5tAsi/cz+EAK7FI/TDnemi11xgEax4k+ZVqxsmkiEc68n+MJLp1l5THhB2KTDhjpW+ellg==}
+ cz-git@1.9.4:
+ resolution: {integrity: sha512-VntWcIEFfW8+7RgwYaRn1r10NhUkl8/8ZdJQRupEdqE7QXBCSjNP8hKSk9zhSLzYAsdXfGEAwiAYJM1T2Qsh8w==}
engines: {node: '>=v12.20.0'}
- czg@1.9.3:
- resolution: {integrity: sha512-2RDFcHpVrG0eWGPodkcDQ9QdaF8xVf54PMP0GdXyiz3sCKvxsHvQ/AEvz9TPndZONCajHgU7uN64MQdrHLDSYA==}
+ czg@1.9.4:
+ resolution: {integrity: sha512-x9V/FXA3XUmK6PMvP2WC3WPTA4xAUCcjFcL6HxJSLUAn4gKshMHWLkIfWSCsEqmenn5IIX0/L7NuBJ7/luDqCA==}
engines: {node: '>=v12.20.0'}
hasBin: true
@@ -4794,6 +4747,20 @@ packages:
dayjs@1.11.12:
resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==}
+ db0@0.1.4:
+ resolution: {integrity: sha512-Ft6eCwONYxlwLjBXSJxw0t0RYtA5gW9mq8JfBXn9TtC0nDPlqePAhpv9v4g9aONBi6JI1OXHTKKkUYGd+BOrCA==}
+ peerDependencies:
+ '@libsql/client': ^0.5.2
+ better-sqlite3: ^9.4.3
+ drizzle-orm: ^0.29.4
+ peerDependenciesMeta:
+ '@libsql/client':
+ optional: true
+ better-sqlite3:
+ optional: true
+ drizzle-orm:
+ optional: true
+
de-indent@1.0.2:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
@@ -4852,9 +4819,6 @@ packages:
resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
engines: {node: '>=18'}
- defaults@1.0.4:
- resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
-
define-data-property@1.1.4:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
@@ -4878,6 +4842,13 @@ packages:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
+ delegates@1.0.0:
+ resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
+
+ denque@2.1.0:
+ resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==}
+ engines: {node: '>=0.10'}
+
depcheck@1.4.7:
resolution: {integrity: sha512-1lklS/bV5chOxwNKA/2XUUk/hPORp8zihZsXflr8x0kLwmcZ9Y9BsS6Hs3ssvA+2wUVbG0U2Ciqvm1SokNjPkA==}
engines: {node: '>=10'}
@@ -4890,6 +4861,9 @@ packages:
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}
@@ -4902,6 +4876,15 @@ packages:
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
engines: {node: '>=8'}
+ detect-libc@1.0.3:
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+
+ detect-libc@2.0.3:
+ resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
+ engines: {node: '>=8'}
+
didyoumean@1.2.2:
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
@@ -4963,9 +4946,9 @@ packages:
resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
engines: {node: '>=10'}
- dotenv-expand@10.0.0:
- resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==}
- engines: {node: '>=12'}
+ dot-prop@8.0.2:
+ resolution: {integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==}
+ engines: {node: '>=16'}
dotenv-expand@8.0.3:
resolution: {integrity: sha512-SErOMvge0ZUyWd5B0NXMQlDkN+8r+HhVUsxgOO7IoPDOdDRD2JjExpN6y3KnFR66jsJMwSn1pqIivhU5rcJiNg==}
@@ -4989,9 +4972,6 @@ 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==}
@@ -5094,6 +5074,11 @@ packages:
engines: {node: '>=12'}
hasBin: true
+ esbuild@0.20.2:
+ resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
+ engines: {node: '>=12'}
+ hasBin: true
+
esbuild@0.21.5:
resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
engines: {node: '>=12'}
@@ -5123,6 +5108,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'}
@@ -5296,10 +5285,6 @@ packages:
resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==}
engines: {node: '>=4.0.0'}
- eslint-scope@5.1.1:
- resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
- engines: {node: '>=8.0.0'}
-
eslint-scope@7.2.2:
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -5338,10 +5323,6 @@ packages:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'}
- estraverse@4.3.0:
- resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
- engines: {node: '>=4.0'}
-
estraverse@5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
@@ -5366,6 +5347,10 @@ packages:
event-stream@3.3.4:
resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==}
+ event-target-shim@5.0.1:
+ resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+ engines: {node: '>=6'}
+
eventemitter3@5.0.1:
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
@@ -5381,10 +5366,6 @@ packages:
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==}
@@ -5402,6 +5383,9 @@ packages:
resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==}
engines: {node: '>=6.0.0'}
+ fast-fifo@1.3.2:
+ resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
+
fast-glob@3.3.2:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
@@ -5412,9 +5396,6 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- 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}
@@ -5433,10 +5414,6 @@ 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'}
-
file-entry-cache@6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
@@ -5449,6 +5426,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==}
@@ -5456,10 +5436,6 @@ packages:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
- finalhandler@1.2.0:
- resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
- engines: {node: '>= 0.8'}
-
find-up-simple@1.0.0:
resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
engines: {node: '>=18'}
@@ -5517,13 +5493,6 @@ 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@4.0.0:
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
engines: {node: '>= 6'}
@@ -5532,10 +5501,6 @@ 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==}
@@ -5570,9 +5535,6 @@ 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==}
@@ -5595,6 +5557,11 @@ packages:
resolution: {integrity: sha512-O07q+Lknrom5RUX/u53tjo2KTTLUnL0K703JbqMYb19ORijfJNvijzFqqYXEjdk25T9R14S6t6wHD8fCWXCM0g==}
hasBin: true
+ gauge@3.0.2:
+ resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
+ engines: {node: '>=10'}
+ deprecated: This package is no longer supported.
+
gensequence@7.0.0:
resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==}
engines: {node: '>=18'}
@@ -5621,6 +5588,9 @@ packages:
get-own-enumerable-property-symbols@3.0.2:
resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
+ get-port-please@3.1.2:
+ resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==}
+
get-stdin@9.0.0:
resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==}
engines: {node: '>=12'}
@@ -5636,6 +5606,10 @@ packages:
get-tsconfig@4.7.5:
resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==}
+ giget@1.2.3:
+ resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==}
+ hasBin: true
+
git-raw-commits@4.0.0:
resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==}
engines: {node: '>=16'}
@@ -5649,14 +5623,6 @@ packages:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
- glob-to-regexp@0.4.1:
- resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
-
- glob@10.4.2:
- resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==}
- engines: {node: '>=16 || 14 >=14.18'}
- hasBin: true
-
glob@10.4.5:
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
hasBin: true
@@ -5723,6 +5689,10 @@ packages:
resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ globby@14.0.2:
+ resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==}
+ engines: {node: '>=18'}
+
globjoin@0.1.4:
resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==}
@@ -5742,6 +5712,13 @@ packages:
graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ gzip-size@7.0.0:
+ resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ h3@1.12.0:
+ resolution: {integrity: sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==}
+
has-bigints@1.0.2:
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
@@ -5772,6 +5749,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'}
@@ -5826,6 +5806,10 @@ packages:
resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
engines: {node: '>= 14'}
+ http-shutdown@1.2.2:
+ resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+
https-proxy-agent@5.0.1:
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
engines: {node: '>= 6'}
@@ -5834,6 +5818,9 @@ packages:
resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==}
engines: {node: '>= 14'}
+ httpxy@0.1.5:
+ resolution: {integrity: sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==}
+
human-id@1.0.2:
resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==}
@@ -5863,9 +5850,6 @@ packages:
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}
@@ -5913,25 +5897,20 @@ 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.15:
- resolution: {integrity: sha512-vI2w4zl/mDluHt9YEQ/543VTCwPKWiHzKtm9dM2V0NdFcqEexDAjUHzO1oA60HRNaVifGXXM1tRRNluLVHa0Kg==}
- engines: {node: '>=18'}
-
internal-slot@1.0.7:
resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
engines: {node: '>= 0.4'}
+ ioredis@5.4.1:
+ resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==}
+ engines: {node: '>=12.22.0'}
+
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==}
is-array-buffer@3.0.4:
resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
@@ -6023,10 +6002,6 @@ packages:
resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==}
engines: {node: '>=18'}
- 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==}
@@ -6122,10 +6097,6 @@ 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-weakref@1.0.2:
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
@@ -6145,6 +6116,10 @@ packages:
resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
engines: {node: '>=16'}
+ is64bit@2.0.0:
+ resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==}
+ engines: {node: '>=18'}
+
isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
@@ -6154,10 +6129,6 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- iterare@1.2.1:
- resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==}
- engines: {node: '>=6'}
-
jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
@@ -6170,10 +6141,6 @@ packages:
engines: {node: '>=10'}
hasBin: true
- jest-worker@27.5.1:
- resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
- engines: {node: '>= 10.13.0'}
-
jiti@1.21.6:
resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
hasBin: true
@@ -6181,9 +6148,6 @@ 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'}
@@ -6264,12 +6228,6 @@ packages:
resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- jsonc-parser@3.2.1:
- resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
-
- jsonc-parser@3.3.1:
- resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
-
jsonfile@4.0.0:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
@@ -6284,16 +6242,6 @@ 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==}
@@ -6301,6 +6249,13 @@ packages:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'}
+ klona@2.0.6:
+ resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
+ engines: {node: '>= 8'}
+
+ knitwork@1.1.0:
+ resolution: {integrity: sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==}
+
known-css-properties@0.34.0:
resolution: {integrity: sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==}
@@ -6315,6 +6270,10 @@ packages:
resolution: {integrity: sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==}
engines: {node: '>=18'}
+ lazystream@1.0.1:
+ resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==}
+ engines: {node: '>= 0.6.3'}
+
leven@3.1.0:
resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
engines: {node: '>=6'}
@@ -6323,9 +6282,6 @@ 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'}
@@ -6342,6 +6298,10 @@ packages:
engines: {node: '>=18.12.0'}
hasBin: true
+ listhen@1.7.2:
+ resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==}
+ hasBin: true
+
listr2@8.2.3:
resolution: {integrity: sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==}
engines: {node: '>=18.0.0'}
@@ -6350,9 +6310,9 @@ packages:
resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==}
engines: {node: '>=6'}
- loader-runner@4.3.0:
- resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
- engines: {node: '>=6.11.5'}
+ local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ engines: {node: '>=14'}
locate-path@5.0.0:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
@@ -6381,30 +6341,21 @@ packages:
lodash.debounce@4.0.8:
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ lodash.defaults@4.2.0:
+ resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==}
+
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.isarguments@3.1.0:
+ resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==}
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==}
@@ -6417,9 +6368,6 @@ 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==}
@@ -6441,10 +6389,6 @@ 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'}
@@ -6487,9 +6431,9 @@ packages:
magic-string@0.30.10:
resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
- magic-string@0.30.8:
- resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
- engines: {node: '>=12'}
+ make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
make-error@1.3.6:
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
@@ -6513,14 +6457,6 @@ 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'}
@@ -6529,9 +6465,6 @@ 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==}
@@ -6539,10 +6472,6 @@ 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'}
@@ -6560,6 +6489,16 @@ packages:
engines: {node: '>=4'}
hasBin: true
+ mime@3.0.0:
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+
+ mime@4.0.4:
+ resolution: {integrity: sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==}
+ engines: {node: '>=16'}
+ hasBin: true
+
mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
@@ -6647,10 +6586,6 @@ packages:
mitt@3.0.1:
resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
- 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'}
@@ -6674,10 +6609,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
-
mri@1.2.0:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'}
@@ -6701,21 +6632,10 @@ 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==}
@@ -6738,18 +6658,21 @@ packages:
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==}
+ nitropack@2.9.7:
+ resolution: {integrity: sha512-aKXvtNrWkOCMsQbsk4A0qQdBjrJ1ZcvwlTQevI/LAgLWLYc5L7Q/YiYxGLal4ITyNSlzir1Cm1D2ZxnYhmpMEw==}
+ engines: {node: ^16.11.0 || >=17.0.0}
+ hasBin: true
+ peerDependencies:
+ xml2js: ^0.6.2
+ peerDependenciesMeta:
+ xml2js:
+ optional: true
no-case@3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
- node-abort-controller@3.1.1:
- resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==}
+ node-addon-api@7.1.1:
+ resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
node-cleanup@2.1.2:
resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==}
@@ -6758,8 +6681,8 @@ 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==}
node-fetch@2.7.0:
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
@@ -6774,15 +6697,23 @@ packages:
resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ node-forge@1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+
+ node-gyp-build@4.8.1:
+ resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==}
+ hasBin: true
+
node-html-parser@5.4.2:
resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==}
node-releases@2.0.17:
resolution: {integrity: sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==}
- nodemon@3.1.4:
- resolution: {integrity: sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==}
- engines: {node: '>=10'}
+ nopt@5.0.0:
+ resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
+ engines: {node: '>=6'}
hasBin: true
nopt@7.2.1:
@@ -6818,6 +6749,10 @@ packages:
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ npmlog@5.0.1:
+ resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
+ deprecated: This package is no longer supported.
+
nprogress@0.2.0:
resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==}
@@ -6827,6 +6762,11 @@ packages:
nwsapi@2.2.12:
resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==}
+ nypm@0.3.9:
+ resolution: {integrity: sha512-BI2SdqqTHg2d4wJh8P9A1W+bslg33vOE9IZDY6eR2QC+Pu1iNBVZUqczrd43rJb+fMzHU7ltAYKsEFY/kHMFcw==}
+ engines: {node: ^14.16.0 || >=16.10.0}
+ hasBin: true
+
object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
@@ -6847,6 +6787,12 @@ packages:
resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
engines: {node: '>= 0.4'}
+ ofetch@1.3.4:
+ resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
+
+ ohash@1.1.3:
+ resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==}
+
on-finished@2.4.1:
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
engines: {node: '>= 0.8'}
@@ -6870,14 +6816,14 @@ packages:
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
engines: {node: '>=12'}
+ openapi-typescript@6.7.6:
+ resolution: {integrity: sha512-c/hfooPx+RBIOPM09GSxABOZhYPblDoyaGhqBkD/59vtpN21jEuWKDlM0KYTvqJVlSYjKs0tBcIdeXKChlSPtw==}
+ hasBin: true
+
optionator@0.9.4:
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'}
@@ -6968,21 +6914,6 @@ 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==}
@@ -7017,16 +6948,14 @@ packages:
resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
engines: {node: 20 || >=22}
- 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==}
engines: {node: '>=8'}
+ path-type@5.0.0:
+ resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
+ engines: {node: '>=12'}
+
pathe@0.2.0:
resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==}
@@ -7040,9 +6969,6 @@ 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==}
@@ -7053,10 +6979,6 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
- picomatch@4.0.1:
- resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==}
- engines: {node: '>=12'}
-
pidtree@0.6.0:
resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
engines: {node: '>=0.10'}
@@ -7611,6 +7533,10 @@ packages:
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+
promise-inflight@1.0.1:
resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==}
peerDependencies:
@@ -7626,10 +7552,6 @@ 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==}
@@ -7644,9 +7566,6 @@ 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.9:
resolution: {integrity: sha512-nITKS1NSwD68PQlts0ntryhxrWObep6P0CCycwi1lgXI+K7uKyacMYRRCQi7hTae8imkI3FCi0FlgnwLxjM8yA==}
engines: {node: '>=16'}
@@ -7665,21 +7584,23 @@ 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==}
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ queue-tick@1.0.1:
+ resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
+
radix-vue@1.9.1:
resolution: {integrity: sha512-fObA+9l2ixNWBXRMj5mBZfmVv2znqIUph+0uo7QA/s7pDYSST2vGvxCbrg/xQGxWRwaQ8ejgo1wg2MzhHcbjLw==}
peerDependencies:
vue: ^3.4.32
+ radix3@1.1.2:
+ resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
+
randombytes@2.1.0:
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
@@ -7687,9 +7608,8 @@ packages:
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'}
+ rc9@2.1.2:
+ resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
rc@1.2.8:
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
@@ -7717,17 +7637,29 @@ packages:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
+ readable-stream@4.5.2:
+ resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ readdir-glob@1.1.3:
+ resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==}
+
readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
+ redis-errors@1.2.0:
+ resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==}
+ engines: {node: '>=4'}
+
+ redis-parser@3.0.0:
+ resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==}
+ engines: {node: '>=4'}
+
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'}
@@ -7827,10 +7759,6 @@ packages:
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
- 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}
@@ -7902,20 +7830,9 @@ 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'}
@@ -7946,10 +7863,6 @@ packages:
resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
engines: {node: '>=v12.22.7'}
- schema-utils@3.3.0:
- resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
- engines: {node: '>= 10.13.0'}
-
scroll-into-view-if-needed@2.2.31:
resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==}
@@ -7995,6 +7908,9 @@ packages:
serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+ serve-placeholder@2.0.2:
+ resolution: {integrity: sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==}
+
serve-static@1.15.0:
resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
engines: {node: '>= 0.8.0'}
@@ -8053,10 +7969,6 @@ packages:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
- 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'}
@@ -8069,6 +7981,10 @@ packages:
resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
engines: {node: '>=12'}
+ slash@5.1.0:
+ resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
+ engines: {node: '>=14.16'}
+
slashes@3.0.12:
resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==}
@@ -8167,6 +8083,9 @@ packages:
stackback@0.0.2:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ standard-as-callback@2.1.0:
+ resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==}
+
statuses@2.0.1:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
@@ -8177,9 +8096,8 @@ 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'}
+ streamx@2.18.0:
+ resolution: {integrity: sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==}
string-argv@0.3.2:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
@@ -8254,6 +8172,9 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
+ strip-literal@2.1.0:
+ resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
+
style-search@0.1.0:
resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==}
@@ -8351,6 +8272,10 @@ packages:
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
engines: {node: '>=10'}
+ supports-color@9.4.0:
+ resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==}
+ engines: {node: '>=12'}
+
supports-hyperlinks@3.0.0:
resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==}
engines: {node: '>=14.18'}
@@ -8370,10 +8295,6 @@ 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==}
@@ -8385,6 +8306,10 @@ packages:
resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==}
engines: {node: ^14.18.0 || >=16.0.0}
+ system-architecture@0.1.0:
+ resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==}
+ engines: {node: '>=18'}
+
tabbable@6.2.0:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
@@ -8409,6 +8334,9 @@ packages:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
+ tar-stream@3.1.7:
+ resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
+
tar@6.2.1:
resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
engines: {node: '>=10'}
@@ -8425,27 +8353,14 @@ packages:
resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
engines: {node: '>=8'}
- terser-webpack-plugin@5.3.10:
- resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- '@swc/core': '*'
- esbuild: '*'
- uglify-js: '*'
- webpack: ^5.1.0
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- esbuild:
- optional: true
- uglify-js:
- optional: true
-
terser@5.31.3:
resolution: {integrity: sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==}
engines: {node: '>=10'}
hasBin: true
+ text-decoder@1.1.1:
+ resolution: {integrity: sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==}
+
text-extensions@2.4.0:
resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==}
engines: {node: '>=8'}
@@ -8505,10 +8420,6 @@ packages:
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
engines: {node: '>=6'}
- touch@3.1.1:
- resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==}
- hasBin: true
-
tough-cookie@4.1.4:
resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
engines: {node: '>=6'}
@@ -8523,10 +8434,6 @@ 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'}
@@ -8550,14 +8457,6 @@ 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==}
@@ -8610,10 +8509,6 @@ 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'}
@@ -8630,9 +8525,9 @@ 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'}
+ type-fest@3.13.1:
+ resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
+ engines: {node: '>=14.16'}
typed-array-buffer@1.0.2:
resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
@@ -8653,14 +8548,6 @@ 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==}
-
- 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'}
@@ -8674,10 +8561,6 @@ packages:
ufo@1.5.4:
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
- uid@2.0.2:
- resolution: {integrity: sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==}
- engines: {node: '>=8'}
-
unbox-primitive@1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
@@ -8690,12 +8573,22 @@ packages:
typescript:
optional: true
- undefsafe@2.0.5:
- resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
+ uncrypto@0.1.3:
+ resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
+
+ unctx@2.3.1:
+ resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==}
undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ undici@5.28.4:
+ resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==}
+ engines: {node: '>=14.0'}
+
+ unenv@1.10.0:
+ resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==}
+
unicode-canonical-property-names-ecmascript@2.0.0:
resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
engines: {node: '>=4'}
@@ -8716,6 +8609,9 @@ packages:
resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
engines: {node: '>=18'}
+ unimport@3.9.0:
+ resolution: {integrity: sha512-H2ftTISja1BonUVdOKRos6HC6dqYDR40dQTZY3zIDJ/5/z4ihncuL0LqLvtxYqUDMib41eAtunQUhXIWTCZ8rA==}
+
unique-filename@1.1.1:
resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==}
@@ -8742,18 +8638,65 @@ packages:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
- unpipe@1.0.0:
- resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
- engines: {node: '>= 0.8'}
-
unplugin@1.11.0:
resolution: {integrity: sha512-3r7VWZ/webh0SGgJScpWl2/MRCZK5d3ZYFcNaeci/GQ7Teop7zf0Nl2pUuz7G21BwPd9pcUPOC5KmJ2L3WgC5g==}
engines: {node: '>=14.0.0'}
+ unstorage@1.10.2:
+ resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==}
+ peerDependencies:
+ '@azure/app-configuration': ^1.5.0
+ '@azure/cosmos': ^4.0.0
+ '@azure/data-tables': ^13.2.2
+ '@azure/identity': ^4.0.1
+ '@azure/keyvault-secrets': ^4.8.0
+ '@azure/storage-blob': ^12.17.0
+ '@capacitor/preferences': ^5.0.7
+ '@netlify/blobs': ^6.5.0 || ^7.0.0
+ '@planetscale/database': ^1.16.0
+ '@upstash/redis': ^1.28.4
+ '@vercel/kv': ^1.0.1
+ idb-keyval: ^6.2.1
+ ioredis: ^5.3.2
+ peerDependenciesMeta:
+ '@azure/app-configuration':
+ optional: true
+ '@azure/cosmos':
+ optional: true
+ '@azure/data-tables':
+ optional: true
+ '@azure/identity':
+ optional: true
+ '@azure/keyvault-secrets':
+ optional: true
+ '@azure/storage-blob':
+ optional: true
+ '@capacitor/preferences':
+ optional: true
+ '@netlify/blobs':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@upstash/redis':
+ optional: true
+ '@vercel/kv':
+ optional: true
+ idb-keyval:
+ optional: true
+ ioredis:
+ optional: true
+
+ untun@0.1.3:
+ resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==}
+ hasBin: true
+
untyped@1.4.2:
resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==}
hasBin: true
+ unwasm@0.3.9:
+ resolution: {integrity: sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==}
+
upath@1.2.0:
resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==}
engines: {node: '>=4'}
@@ -8768,19 +8711,21 @@ packages:
resolution: {integrity: sha512-8SV3rIqVY6EFC1WxH6L0j55s0MO79MFBS1pivmInRJg3pCEDgWHBj1Q6XByTtCLOZIFA0f6zoG9ZWf2Ks9lvTA==}
engines: {node: '>=18'}
+ uqr@0.1.2:
+ resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==}
+
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
url-parse@1.5.10:
resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+ urlpattern-polyfill@8.0.2:
+ resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==}
+
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- utils-merge@1.0.1:
- resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
- engines: {node: '>= 0.4.0'}
-
v8-compile-cache-lib@3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
@@ -8791,10 +8736,6 @@ 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:
@@ -9011,13 +8952,6 @@ packages:
warning@4.0.3:
resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}
- watchpack@2.4.1:
- 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'}
@@ -9032,10 +8966,6 @@ 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'}
@@ -9043,16 +8973,6 @@ packages:
webpack-virtual-modules@0.6.2:
resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
- webpack@5.92.1:
- resolution: {integrity: sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==}
- engines: {node: '>=10.13.0'}
- hasBin: true
- peerDependencies:
- webpack-cli: '*'
- peerDependenciesMeta:
- webpack-cli:
- optional: true
-
webpod@0.0.2:
resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==}
hasBin: true
@@ -9108,6 +9028,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'}
@@ -9218,10 +9141,6 @@ 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==}
@@ -9292,6 +9211,10 @@ packages:
engines: {node: '>=8.0.0'}
hasBin: true
+ zip-stream@6.0.1:
+ resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==}
+ engines: {node: '>= 14'}
+
zrender@5.6.0:
resolution: {integrity: sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==}
@@ -9413,38 +9336,6 @@ snapshots:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
- '@angular-devkit/core@17.3.8(chokidar@3.6.0)':
- dependencies:
- ajv: 8.12.0
- ajv-formats: 2.1.1(ajv@8.12.0)
- jsonc-parser: 3.2.1
- picomatch: 4.0.1
- rxjs: 7.8.1
- source-map: 0.7.4
- optionalDependencies:
- chokidar: 3.6.0
-
- '@angular-devkit/schematics-cli@17.3.8(chokidar@3.6.0)':
- dependencies:
- '@angular-devkit/core': 17.3.8(chokidar@3.6.0)
- '@angular-devkit/schematics': 17.3.8(chokidar@3.6.0)
- ansi-colors: 4.1.3
- inquirer: 9.2.15
- symbol-observable: 4.0.0
- yargs-parser: 21.1.1
- transitivePeerDependencies:
- - chokidar
-
- '@angular-devkit/schematics@17.3.8(chokidar@3.6.0)':
- dependencies:
- '@angular-devkit/core': 17.3.8(chokidar@3.6.0)
- jsonc-parser: 3.2.1
- magic-string: 0.30.8
- ora: 5.4.1
- rxjs: 7.8.1
- transitivePeerDependencies:
- - chokidar
-
'@ant-design/colors@6.0.0':
dependencies:
'@ctrl/tinycolor': 4.1.0
@@ -9552,7 +9443,7 @@ snapshots:
'@babel/traverse': 7.24.8
'@babel/types': 7.24.9
convert-source-map: 2.0.0
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -9612,7 +9503,7 @@ snapshots:
'@babel/core': 7.24.9
'@babel/helper-compilation-targets': 7.24.8
'@babel/helper-plugin-utils': 7.24.8
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
lodash.debounce: 4.0.8
resolve: 1.22.8
transitivePeerDependencies:
@@ -10340,7 +10231,7 @@ snapshots:
'@babel/helper-split-export-declaration': 7.24.7
'@babel/parser': 7.24.8
'@babel/types': 7.24.9
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -10522,8 +10413,9 @@ snapshots:
human-id: 1.0.2
prettier: 2.8.8
- '@colors/colors@1.5.0':
- optional: true
+ '@cloudflare/kv-asset-handler@0.3.4':
+ dependencies:
+ mime: 3.0.0
'@commitlint/cli@19.3.0(@types/node@20.14.11)(typescript@5.5.3)':
dependencies:
@@ -10824,6 +10716,7 @@ snapshots:
'@cspotcode/source-map-support@0.8.1':
dependencies:
'@jridgewell/trace-mapping': 0.3.9
+ optional: true
'@csstools/cascade-layer-name-parser@1.0.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)':
dependencies:
@@ -11113,6 +11006,9 @@ snapshots:
'@esbuild/aix-ppc64@0.19.12':
optional: true
+ '@esbuild/aix-ppc64@0.20.2':
+ optional: true
+
'@esbuild/aix-ppc64@0.21.5':
optional: true
@@ -11122,6 +11018,9 @@ snapshots:
'@esbuild/android-arm64@0.19.12':
optional: true
+ '@esbuild/android-arm64@0.20.2':
+ optional: true
+
'@esbuild/android-arm64@0.21.5':
optional: true
@@ -11131,6 +11030,9 @@ snapshots:
'@esbuild/android-arm@0.19.12':
optional: true
+ '@esbuild/android-arm@0.20.2':
+ optional: true
+
'@esbuild/android-arm@0.21.5':
optional: true
@@ -11140,6 +11042,9 @@ snapshots:
'@esbuild/android-x64@0.19.12':
optional: true
+ '@esbuild/android-x64@0.20.2':
+ optional: true
+
'@esbuild/android-x64@0.21.5':
optional: true
@@ -11149,6 +11054,9 @@ snapshots:
'@esbuild/darwin-arm64@0.19.12':
optional: true
+ '@esbuild/darwin-arm64@0.20.2':
+ optional: true
+
'@esbuild/darwin-arm64@0.21.5':
optional: true
@@ -11158,6 +11066,9 @@ snapshots:
'@esbuild/darwin-x64@0.19.12':
optional: true
+ '@esbuild/darwin-x64@0.20.2':
+ optional: true
+
'@esbuild/darwin-x64@0.21.5':
optional: true
@@ -11167,6 +11078,9 @@ snapshots:
'@esbuild/freebsd-arm64@0.19.12':
optional: true
+ '@esbuild/freebsd-arm64@0.20.2':
+ optional: true
+
'@esbuild/freebsd-arm64@0.21.5':
optional: true
@@ -11176,6 +11090,9 @@ snapshots:
'@esbuild/freebsd-x64@0.19.12':
optional: true
+ '@esbuild/freebsd-x64@0.20.2':
+ optional: true
+
'@esbuild/freebsd-x64@0.21.5':
optional: true
@@ -11185,6 +11102,9 @@ snapshots:
'@esbuild/linux-arm64@0.19.12':
optional: true
+ '@esbuild/linux-arm64@0.20.2':
+ optional: true
+
'@esbuild/linux-arm64@0.21.5':
optional: true
@@ -11194,6 +11114,9 @@ snapshots:
'@esbuild/linux-arm@0.19.12':
optional: true
+ '@esbuild/linux-arm@0.20.2':
+ optional: true
+
'@esbuild/linux-arm@0.21.5':
optional: true
@@ -11203,6 +11126,9 @@ snapshots:
'@esbuild/linux-ia32@0.19.12':
optional: true
+ '@esbuild/linux-ia32@0.20.2':
+ optional: true
+
'@esbuild/linux-ia32@0.21.5':
optional: true
@@ -11212,6 +11138,9 @@ snapshots:
'@esbuild/linux-loong64@0.19.12':
optional: true
+ '@esbuild/linux-loong64@0.20.2':
+ optional: true
+
'@esbuild/linux-loong64@0.21.5':
optional: true
@@ -11221,6 +11150,9 @@ snapshots:
'@esbuild/linux-mips64el@0.19.12':
optional: true
+ '@esbuild/linux-mips64el@0.20.2':
+ optional: true
+
'@esbuild/linux-mips64el@0.21.5':
optional: true
@@ -11230,6 +11162,9 @@ snapshots:
'@esbuild/linux-ppc64@0.19.12':
optional: true
+ '@esbuild/linux-ppc64@0.20.2':
+ optional: true
+
'@esbuild/linux-ppc64@0.21.5':
optional: true
@@ -11239,6 +11174,9 @@ snapshots:
'@esbuild/linux-riscv64@0.19.12':
optional: true
+ '@esbuild/linux-riscv64@0.20.2':
+ optional: true
+
'@esbuild/linux-riscv64@0.21.5':
optional: true
@@ -11248,6 +11186,9 @@ snapshots:
'@esbuild/linux-s390x@0.19.12':
optional: true
+ '@esbuild/linux-s390x@0.20.2':
+ optional: true
+
'@esbuild/linux-s390x@0.21.5':
optional: true
@@ -11257,6 +11198,9 @@ snapshots:
'@esbuild/linux-x64@0.19.12':
optional: true
+ '@esbuild/linux-x64@0.20.2':
+ optional: true
+
'@esbuild/linux-x64@0.21.5':
optional: true
@@ -11266,6 +11210,9 @@ snapshots:
'@esbuild/netbsd-x64@0.19.12':
optional: true
+ '@esbuild/netbsd-x64@0.20.2':
+ optional: true
+
'@esbuild/netbsd-x64@0.21.5':
optional: true
@@ -11278,6 +11225,9 @@ snapshots:
'@esbuild/openbsd-x64@0.19.12':
optional: true
+ '@esbuild/openbsd-x64@0.20.2':
+ optional: true
+
'@esbuild/openbsd-x64@0.21.5':
optional: true
@@ -11287,6 +11237,9 @@ snapshots:
'@esbuild/sunos-x64@0.19.12':
optional: true
+ '@esbuild/sunos-x64@0.20.2':
+ optional: true
+
'@esbuild/sunos-x64@0.21.5':
optional: true
@@ -11296,6 +11249,9 @@ snapshots:
'@esbuild/win32-arm64@0.19.12':
optional: true
+ '@esbuild/win32-arm64@0.20.2':
+ optional: true
+
'@esbuild/win32-arm64@0.21.5':
optional: true
@@ -11305,6 +11261,9 @@ snapshots:
'@esbuild/win32-ia32@0.19.12':
optional: true
+ '@esbuild/win32-ia32@0.20.2':
+ optional: true
+
'@esbuild/win32-ia32@0.21.5':
optional: true
@@ -11314,6 +11273,9 @@ snapshots:
'@esbuild/win32-x64@0.19.12':
optional: true
+ '@esbuild/win32-x64@0.20.2':
+ optional: true
+
'@esbuild/win32-x64@0.21.5':
optional: true
@@ -11330,7 +11292,7 @@ snapshots:
'@eslint/eslintrc@2.1.4':
dependencies:
ajv: 6.12.6
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
espree: 9.6.1
globals: 13.24.0
ignore: 5.3.1
@@ -11344,7 +11306,7 @@ snapshots:
'@eslint/eslintrc@3.1.0':
dependencies:
ajv: 6.12.6
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
espree: 10.1.0
globals: 14.0.0
ignore: 5.3.1
@@ -11359,6 +11321,8 @@ snapshots:
'@eslint/js@9.7.0': {}
+ '@fastify/busboy@2.1.1': {}
+
'@floating-ui/core@1.6.4':
dependencies:
'@floating-ui/utils': 0.2.4
@@ -11381,16 +11345,10 @@ snapshots:
'@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(supports-color@5.5.0)
+ debug: 4.3.5
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@@ -11455,7 +11413,7 @@ snapshots:
'@intlify/shared': 9.13.1
'@rollup/pluginutils': 5.1.0(rollup@4.18.1)
'@vue/compiler-sfc': 3.4.31
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
fast-glob: 3.3.2
js-yaml: 4.1.0
json5: 2.2.3
@@ -11469,6 +11427,8 @@ snapshots:
- rollup
- supports-color
+ '@ioredis/commands@1.2.0': {}
+
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@@ -11504,6 +11464,7 @@ snapshots:
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
+ optional: true
'@jspm/generator@2.1.2':
dependencies:
@@ -11520,14 +11481,8 @@ snapshots:
'@jspm/import-map@1.1.0': {}
- '@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.8
@@ -11562,6 +11517,21 @@ snapshots:
jju: 1.4.0
read-yaml-file: 1.1.0
+ '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)':
+ dependencies:
+ detect-libc: 2.0.3
+ https-proxy-agent: 5.0.1
+ make-dir: 3.1.0
+ node-fetch: 2.7.0(encoding@0.1.13)
+ nopt: 5.0.0
+ npmlog: 5.0.1
+ rimraf: 3.0.2
+ semver: 7.6.3
+ tar: 6.2.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
'@microsoft/api-extractor-model@7.28.13(@types/node@20.14.11)':
dependencies:
'@microsoft/tsdoc': 0.14.2
@@ -11597,111 +11567,16 @@ snapshots:
'@microsoft/tsdoc@0.14.2': {}
- '@nestjs/cli@10.4.2':
+ '@netlify/functions@2.8.1':
dependencies:
- '@angular-devkit/core': 17.3.8(chokidar@3.6.0)
- '@angular-devkit/schematics': 17.3.8(chokidar@3.6.0)
- '@angular-devkit/schematics-cli': 17.3.8(chokidar@3.6.0)
- '@nestjs/schematics': 10.1.2(chokidar@3.6.0)(typescript@5.3.3)
- chalk: 4.1.2
- chokidar: 3.6.0
- cli-table3: 0.6.5
- commander: 4.1.1
- fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.3.3)(webpack@5.92.1)
- glob: 10.4.2
- inquirer: 8.2.6
- node-emoji: 1.11.0
- ora: 5.4.1
- tree-kill: 1.2.2
- tsconfig-paths: 4.2.0
- tsconfig-paths-webpack-plugin: 4.1.0
- typescript: 5.3.3
- webpack: 5.92.1
- webpack-node-externals: 3.0.0
- transitivePeerDependencies:
- - esbuild
- - uglify-js
- - webpack-cli
+ '@netlify/serverless-functions-api': 1.19.1
- '@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
+ '@netlify/node-cookies@0.1.0': {}
- '@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)':
+ '@netlify/serverless-functions-api@1.19.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.2(chokidar@3.6.0)(typescript@5.3.3)':
- dependencies:
- '@angular-devkit/core': 17.3.8(chokidar@3.6.0)
- '@angular-devkit/schematics': 17.3.8(chokidar@3.6.0)
- comment-json: 4.2.3
- jsonc-parser: 3.3.1
- pluralize: 8.0.0
- typescript: 5.3.3
- transitivePeerDependencies:
- - chokidar
-
- '@nestjs/schematics@10.1.2(chokidar@3.6.0)(typescript@5.5.3)':
- dependencies:
- '@angular-devkit/core': 17.3.8(chokidar@3.6.0)
- '@angular-devkit/schematics': 17.3.8(chokidar@3.6.0)
- comment-json: 4.2.3
- jsonc-parser: 3.3.1
- pluralize: 8.0.0
- typescript: 5.5.3
- transitivePeerDependencies:
- - chokidar
+ '@netlify/node-cookies': 0.1.0
+ urlpattern-polyfill: 8.0.2
'@nodelib/fs.scandir@2.1.5':
dependencies:
@@ -11725,16 +11600,69 @@ 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': {}
+ '@parcel/watcher-android-arm64@2.4.1':
+ optional: true
+
+ '@parcel/watcher-darwin-arm64@2.4.1':
+ optional: true
+
+ '@parcel/watcher-darwin-x64@2.4.1':
+ optional: true
+
+ '@parcel/watcher-freebsd-x64@2.4.1':
+ optional: true
+
+ '@parcel/watcher-linux-arm-glibc@2.4.1':
+ optional: true
+
+ '@parcel/watcher-linux-arm64-glibc@2.4.1':
+ optional: true
+
+ '@parcel/watcher-linux-arm64-musl@2.4.1':
+ optional: true
+
+ '@parcel/watcher-linux-x64-glibc@2.4.1':
+ optional: true
+
+ '@parcel/watcher-linux-x64-musl@2.4.1':
+ optional: true
+
+ '@parcel/watcher-wasm@2.4.1':
+ dependencies:
+ is-glob: 4.0.3
+ micromatch: 4.0.7
+
+ '@parcel/watcher-win32-arm64@2.4.1':
+ optional: true
+
+ '@parcel/watcher-win32-ia32@2.4.1':
+ optional: true
+
+ '@parcel/watcher-win32-x64@2.4.1':
+ optional: true
+
+ '@parcel/watcher@2.4.1':
+ dependencies:
+ detect-libc: 1.0.3
+ is-glob: 4.0.3
+ micromatch: 4.0.7
+ node-addon-api: 7.1.1
+ optionalDependencies:
+ '@parcel/watcher-android-arm64': 2.4.1
+ '@parcel/watcher-darwin-arm64': 2.4.1
+ '@parcel/watcher-darwin-x64': 2.4.1
+ '@parcel/watcher-freebsd-x64': 2.4.1
+ '@parcel/watcher-linux-arm-glibc': 2.4.1
+ '@parcel/watcher-linux-arm64-glibc': 2.4.1
+ '@parcel/watcher-linux-arm64-musl': 2.4.1
+ '@parcel/watcher-linux-x64-glibc': 2.4.1
+ '@parcel/watcher-linux-x64-musl': 2.4.1
+ '@parcel/watcher-win32-arm64': 2.4.1
+ '@parcel/watcher-win32-ia32': 2.4.1
+ '@parcel/watcher-win32-x64': 2.4.1
+
'@pkgjs/parseargs@0.11.0':
optional: true
@@ -11764,6 +11692,12 @@ snapshots:
optionalDependencies:
rollup: 3.29.4
+ '@rollup/plugin-alias@5.1.0(rollup@4.18.1)':
+ dependencies:
+ slash: 4.0.0
+ optionalDependencies:
+ rollup: 4.18.1
+
'@rollup/plugin-babel@5.3.1(@babel/core@7.24.9)(rollup@2.79.1)':
dependencies:
'@babel/core': 7.24.9
@@ -11784,12 +11718,37 @@ snapshots:
optionalDependencies:
rollup: 3.29.4
+ '@rollup/plugin-commonjs@25.0.8(rollup@4.18.1)':
+ dependencies:
+ '@rollup/pluginutils': 5.1.0(rollup@4.18.1)
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ glob: 8.1.0
+ is-reference: 1.2.1
+ magic-string: 0.30.10
+ optionalDependencies:
+ rollup: 4.18.1
+
+ '@rollup/plugin-inject@5.0.5(rollup@4.18.1)':
+ dependencies:
+ '@rollup/pluginutils': 5.1.0(rollup@4.18.1)
+ estree-walker: 2.0.2
+ magic-string: 0.30.10
+ optionalDependencies:
+ rollup: 4.18.1
+
'@rollup/plugin-json@6.1.0(rollup@3.29.4)':
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@3.29.4)
optionalDependencies:
rollup: 3.29.4
+ '@rollup/plugin-json@6.1.0(rollup@4.18.1)':
+ dependencies:
+ '@rollup/pluginutils': 5.1.0(rollup@4.18.1)
+ optionalDependencies:
+ rollup: 4.18.1
+
'@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1)':
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@2.79.1)
@@ -11812,6 +11771,17 @@ snapshots:
optionalDependencies:
rollup: 3.29.4
+ '@rollup/plugin-node-resolve@15.2.3(rollup@4.18.1)':
+ dependencies:
+ '@rollup/pluginutils': 5.1.0(rollup@4.18.1)
+ '@types/resolve': 1.20.2
+ deepmerge: 4.3.1
+ is-builtin-module: 3.2.1
+ is-module: 1.0.0
+ resolve: 1.22.8
+ optionalDependencies:
+ rollup: 4.18.1
+
'@rollup/plugin-replace@2.4.2(rollup@2.79.1)':
dependencies:
'@rollup/pluginutils': 3.1.0(rollup@2.79.1)
@@ -11825,6 +11795,13 @@ snapshots:
optionalDependencies:
rollup: 3.29.4
+ '@rollup/plugin-replace@5.0.7(rollup@4.18.1)':
+ dependencies:
+ '@rollup/pluginutils': 5.1.0(rollup@4.18.1)
+ magic-string: 0.30.10
+ optionalDependencies:
+ rollup: 4.18.1
+
'@rollup/plugin-terser@0.4.4(rollup@2.79.1)':
dependencies:
serialize-javascript: 6.0.2
@@ -11833,6 +11810,14 @@ snapshots:
optionalDependencies:
rollup: 2.79.1
+ '@rollup/plugin-terser@0.4.4(rollup@4.18.1)':
+ dependencies:
+ serialize-javascript: 6.0.2
+ smob: 1.5.0
+ terser: 5.31.3
+ optionalDependencies:
+ rollup: 4.18.1
+
'@rollup/pluginutils@3.1.0(rollup@2.79.1)':
dependencies:
'@types/estree': 0.0.39
@@ -11957,19 +11942,13 @@ snapshots:
dependencies:
shiki: 1.10.3
- '@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
nanopop: 2.4.2
+ '@sindresorhus/merge-streams@2.3.0': {}
+
'@stylistic/stylelint-plugin@2.1.2(stylelint@16.7.0(typescript@5.5.3))':
dependencies:
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
@@ -12021,36 +12000,26 @@ snapshots:
'@trysound/sax@0.2.0': {}
- '@tsconfig/node10@1.0.11': {}
+ '@tsconfig/node10@1.0.11':
+ optional: true
- '@tsconfig/node12@1.0.11': {}
+ '@tsconfig/node12@1.0.11':
+ optional: true
- '@tsconfig/node14@1.0.3': {}
+ '@tsconfig/node14@1.0.3':
+ optional: true
- '@tsconfig/node16@1.0.4': {}
+ '@tsconfig/node16@1.0.4':
+ optional: true
'@types/argparse@1.0.38': {}
'@types/bintrees@1.0.6': {}
- '@types/body-parser@1.19.5':
- dependencies:
- '@types/connect': 3.4.38
- '@types/node': 20.14.11
-
- '@types/connect@3.4.38':
- dependencies:
- '@types/node': 20.14.11
-
'@types/conventional-commits-parser@5.0.0':
dependencies:
'@types/node': 20.14.11
- '@types/eslint-scope@3.7.7':
- dependencies:
- '@types/eslint': 8.56.10
- '@types/estree': 1.0.5
-
'@types/eslint@8.56.10':
dependencies:
'@types/estree': 1.0.5
@@ -12060,20 +12029,6 @@ snapshots:
'@types/estree@1.0.5': {}
- '@types/express-serve-static-core@4.19.5':
- dependencies:
- '@types/node': 20.14.11
- '@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
@@ -12085,9 +12040,9 @@ snapshots:
'@types/html-minifier-terser@7.0.2': {}
- '@types/http-errors@2.0.4': {}
-
- '@types/js-yaml@4.0.9': {}
+ '@types/http-proxy@1.17.14':
+ dependencies:
+ '@types/node': 20.14.11
'@types/jsdom@21.1.7':
dependencies:
@@ -12101,10 +12056,6 @@ snapshots:
dependencies:
'@types/node': 18.19.40
- '@types/jsonwebtoken@9.0.5':
- dependencies:
- '@types/node': 20.14.11
-
'@types/linkify-it@5.0.0': {}
'@types/lodash.clonedeep@4.5.9':
@@ -12120,14 +12071,10 @@ snapshots:
'@types/mdurl@2.0.0': {}
- '@types/mime@1.3.5': {}
-
'@types/minimatch@3.0.5': {}
'@types/minimist@1.2.5': {}
- '@types/mockjs@1.0.10': {}
-
'@types/node@12.20.55': {}
'@types/node@18.19.40':
@@ -12154,25 +12101,10 @@ snapshots:
dependencies:
'@types/node': 20.14.11
- '@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.11
-
- '@types/serve-static@1.15.7':
- dependencies:
- '@types/http-errors': 2.0.4
- '@types/node': 20.14.11
- '@types/send': 0.17.4
-
'@types/sortablejs@1.15.8': {}
'@types/tough-cookie@4.0.5': {}
@@ -12181,8 +12113,6 @@ snapshots:
'@types/unist@3.0.2': {}
- '@types/validator@13.12.0': {}
-
'@types/web-bluetooth@0.0.20': {}
'@types/which@3.0.4': {}
@@ -12211,7 +12141,7 @@ snapshots:
'@typescript-eslint/types': 7.16.1
'@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3)
'@typescript-eslint/visitor-keys': 7.16.1
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
eslint: 8.57.0
optionalDependencies:
typescript: 5.5.3
@@ -12227,7 +12157,7 @@ snapshots:
dependencies:
'@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3)
'@typescript-eslint/utils': 7.16.1(eslint@8.57.0)(typescript@5.5.3)
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.5.3)
optionalDependencies:
@@ -12241,7 +12171,7 @@ snapshots:
dependencies:
'@typescript-eslint/types': 7.16.1
'@typescript-eslint/visitor-keys': 7.16.1
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.5
@@ -12270,6 +12200,24 @@ snapshots:
'@ungap/structured-clone@1.2.0': {}
+ '@vercel/nft@0.26.5(encoding@0.1.13)':
+ dependencies:
+ '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13)
+ '@rollup/pluginutils': 4.2.1
+ acorn: 8.12.1
+ acorn-import-attributes: 1.9.5(acorn@8.12.1)
+ async-sema: 3.1.1
+ bindings: 1.5.0
+ estree-walker: 2.0.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ micromatch: 4.0.7
+ node-gyp-build: 4.8.1
+ resolve-from: 5.0.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
'@vitejs/plugin-vue-jsx@4.0.0(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3))(vue@3.4.32(typescript@5.5.3))':
dependencies:
'@babel/core': 7.24.9
@@ -12557,97 +12505,18 @@ snapshots:
- '@vue/composition-api'
- vue
- '@webassemblyjs/ast@1.12.1':
- dependencies:
- '@webassemblyjs/helper-numbers': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
-
- '@webassemblyjs/floating-point-hex-parser@1.11.6': {}
-
- '@webassemblyjs/helper-api-error@1.11.6': {}
-
- '@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
-
- '@webassemblyjs/helper-wasm-bytecode@1.11.6': {}
-
- '@webassemblyjs/helper-wasm-section@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@webassemblyjs/helper-buffer': 1.12.1
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/wasm-gen': 1.12.1
-
- '@webassemblyjs/ieee754@1.11.6':
- dependencies:
- '@xtuc/ieee754': 1.2.0
-
- '@webassemblyjs/leb128@1.11.6':
- dependencies:
- '@xtuc/long': 4.2.2
-
- '@webassemblyjs/utf8@1.11.6': {}
-
- '@webassemblyjs/wasm-edit@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@webassemblyjs/helper-buffer': 1.12.1
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/helper-wasm-section': 1.12.1
- '@webassemblyjs/wasm-gen': 1.12.1
- '@webassemblyjs/wasm-opt': 1.12.1
- '@webassemblyjs/wasm-parser': 1.12.1
- '@webassemblyjs/wast-printer': 1.12.1
-
- '@webassemblyjs/wasm-gen@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/ieee754': 1.11.6
- '@webassemblyjs/leb128': 1.11.6
- '@webassemblyjs/utf8': 1.11.6
-
- '@webassemblyjs/wasm-opt@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@webassemblyjs/helper-buffer': 1.12.1
- '@webassemblyjs/wasm-gen': 1.12.1
- '@webassemblyjs/wasm-parser': 1.12.1
-
- '@webassemblyjs/wasm-parser@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@webassemblyjs/helper-api-error': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/ieee754': 1.11.6
- '@webassemblyjs/leb128': 1.11.6
- '@webassemblyjs/utf8': 1.11.6
-
- '@webassemblyjs/wast-printer@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@xtuc/long': 4.2.2
-
- '@xtuc/ieee754@1.2.0': {}
-
- '@xtuc/long@4.2.2': {}
-
JSONStream@1.3.5:
dependencies:
jsonparse: 1.3.1
through: 2.3.8
+ abbrev@1.1.1: {}
+
abbrev@2.0.0: {}
- accepts@1.3.8:
+ abort-controller@3.0.0:
dependencies:
- mime-types: 2.1.35
- negotiator: 0.6.3
+ event-target-shim: 5.0.1
acorn-import-attributes@1.9.5(acorn@8.12.1):
dependencies:
@@ -12660,18 +12529,19 @@ snapshots:
acorn-walk@8.3.3:
dependencies:
acorn: 8.12.1
+ optional: true
acorn@8.12.1: {}
agent-base@6.0.2:
dependencies:
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
transitivePeerDependencies:
- supports-color
agent-base@7.1.1:
dependencies:
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
transitivePeerDependencies:
- supports-color
@@ -12684,14 +12554,6 @@ 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
-
ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
@@ -12699,13 +12561,6 @@ 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.17.1:
dependencies:
fast-deep-equal: 3.1.3
@@ -12737,10 +12592,6 @@ 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: {}
@@ -12790,11 +12641,37 @@ snapshots:
normalize-path: 3.0.0
picomatch: 2.3.1
- append-field@1.0.0: {}
+ aproba@2.0.0: {}
+
+ archiver-utils@5.0.2:
+ dependencies:
+ glob: 10.4.5
+ graceful-fs: 4.2.11
+ is-stream: 2.0.1
+ lazystream: 1.0.1
+ lodash: 4.17.21
+ normalize-path: 3.0.0
+ readable-stream: 4.5.2
+
+ archiver@7.0.1:
+ dependencies:
+ archiver-utils: 5.0.2
+ async: 3.2.5
+ buffer-crc32: 1.0.0
+ readable-stream: 4.5.2
+ readdir-glob: 1.1.3
+ tar-stream: 3.1.7
+ zip-stream: 6.0.1
are-docs-informative@0.0.2: {}
- arg@4.1.3: {}
+ are-we-there-yet@2.0.0:
+ dependencies:
+ delegates: 1.0.0
+ readable-stream: 3.6.2
+
+ arg@4.1.3:
+ optional: true
arg@5.0.2: {}
@@ -12815,8 +12692,6 @@ snapshots:
array-differ@3.0.0: {}
- array-flatten@1.1.1: {}
-
array-ify@1.0.0: {}
array-timsort@1.0.3: {}
@@ -12842,6 +12717,8 @@ snapshots:
astral-regex@2.0.0: {}
+ async-sema@3.1.1: {}
+
async-validator@4.2.5: {}
async@3.2.5: {}
@@ -12878,6 +12755,8 @@ snapshots:
transitivePeerDependencies:
- debug
+ b4a@1.6.6: {}
+
babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.9):
dependencies:
'@babel/compat-data': 7.24.9
@@ -12906,9 +12785,10 @@ snapshots:
balanced-match@2.0.0: {}
- base64-js@1.5.1: {}
+ bare-events@2.4.2:
+ optional: true
- bcryptjs@2.4.3: {}
+ base64-js@1.5.1: {}
better-path-resolve@1.0.0:
dependencies:
@@ -12916,33 +12796,14 @@ snapshots:
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:
@@ -12976,11 +12837,11 @@ snapshots:
node-releases: 2.0.17
update-browserslist-db: 1.1.0(browserslist@4.23.2)
- buffer-equal-constant-time@1.0.1: {}
+ buffer-crc32@1.0.0: {}
buffer-from@1.1.2: {}
- buffer@5.7.1:
+ buffer@6.0.3:
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
@@ -12991,11 +12852,20 @@ snapshots:
dependencies:
run-applescript: 7.0.0
- busboy@1.6.0:
+ c12@1.11.1:
dependencies:
- streamsearch: 1.1.0
-
- bytes@3.1.2: {}
+ chokidar: 3.6.0
+ confbox: 0.1.7
+ defu: 6.1.4
+ dotenv: 16.4.5
+ giget: 1.2.3
+ jiti: 1.21.6
+ mlly: 1.7.1
+ ohash: 1.1.3
+ pathe: 1.1.2
+ perfect-debounce: 1.0.0
+ pkg-types: 1.1.3
+ rc9: 2.1.2
cac@6.7.14: {}
@@ -13118,8 +12988,6 @@ snapshots:
chownr@2.0.0: {}
- chrome-trace-event@1.0.4: {}
-
ci-info@3.9.0: {}
ci-info@4.0.0: {}
@@ -13142,14 +13010,6 @@ 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
@@ -13171,30 +13031,20 @@ 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-spinners@2.9.2: {}
-
- cli-table3@0.6.5:
- 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.2.0
- cli-width@3.0.0: {}
-
- cli-width@4.1.0: {}
+ clipboardy@4.0.0:
+ dependencies:
+ execa: 8.0.1
+ is-wsl: 3.1.0
+ is64bit: 2.0.0
cliui@6.0.0:
dependencies:
@@ -13214,10 +13064,10 @@ snapshots:
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
- clone@1.0.4: {}
-
clsx@2.1.1: {}
+ cluster-key-slot@1.1.2: {}
+
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -13230,6 +13080,8 @@ snapshots:
color-name@1.1.4: {}
+ color-support@1.1.3: {}
+
colord@2.9.3: {}
colorette@2.0.20: {}
@@ -13253,14 +13105,6 @@ snapshots:
commander@9.5.0:
optional: true
- comment-json@4.2.3:
- dependencies:
- array-timsort: 1.0.3
- core-util-is: 1.0.3
- esprima: 4.0.1
- has-own-prop: 2.0.0
- repeat-string: 1.6.1
-
comment-json@4.2.4:
dependencies:
array-timsort: 1.0.3
@@ -13284,19 +13128,20 @@ snapshots:
array-ify: 1.0.0
dot-prop: 5.3.0
+ compress-commons@6.0.2:
+ dependencies:
+ crc-32: 1.2.2
+ crc32-stream: 6.0.0
+ is-stream: 2.0.1
+ normalize-path: 3.0.0
+ readable-stream: 4.5.2
+
compute-scroll-into-view@1.0.20: {}
computeds@0.0.1: {}
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:
@@ -13318,11 +13163,7 @@ snapshots:
consola@3.2.3: {}
- content-disposition@0.5.4:
- dependencies:
- safe-buffer: 5.2.1
-
- content-type@1.0.5: {}
+ console-control-strings@1.1.0: {}
conventional-changelog-angular@7.0.0:
dependencies:
@@ -13341,9 +13182,7 @@ snapshots:
convert-source-map@2.0.0: {}
- cookie-signature@1.0.6: {}
-
- cookie@0.6.0: {}
+ cookie-es@1.2.1: {}
copy-anything@3.0.5:
dependencies:
@@ -13357,11 +13196,6 @@ snapshots:
core-util-is@1.0.3: {}
- cors@2.8.5:
- dependencies:
- object-assign: 4.1.1
- vary: 1.1.2
-
cosmiconfig-typescript-loader@5.0.0(@types/node@20.14.11)(cosmiconfig@9.0.0(typescript@5.5.3))(typescript@5.5.3):
dependencies:
'@types/node': 20.14.11
@@ -13377,15 +13211,6 @@ snapshots:
path-type: 4.0.0
yaml: 1.10.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
@@ -13395,7 +13220,17 @@ snapshots:
optionalDependencies:
typescript: 5.5.3
- create-require@1.1.1: {}
+ crc-32@1.2.2: {}
+
+ crc32-stream@6.0.0:
+ dependencies:
+ crc-32: 1.2.2
+ readable-stream: 4.5.2
+
+ create-require@1.1.1:
+ optional: true
+
+ croner@8.1.0: {}
cross-env@7.0.3:
dependencies:
@@ -13413,6 +13248,8 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
+ crossws@0.2.4: {}
+
crypto-random-string@2.0.0: {}
crypto-random-string@4.0.0:
@@ -13616,9 +13453,9 @@ snapshots:
csstype@3.1.3: {}
- cz-git@1.9.3: {}
+ cz-git@1.9.4: {}
- czg@1.9.3: {}
+ czg@1.9.4: {}
dargs@8.1.0: {}
@@ -13651,6 +13488,8 @@ snapshots:
dayjs@1.11.12: {}
+ db0@0.1.4: {}
+
de-indent@1.0.2: {}
debug@2.6.9:
@@ -13661,11 +13500,9 @@ snapshots:
dependencies:
ms: 2.1.3
- debug@4.3.5(supports-color@5.5.0):
+ debug@4.3.5:
dependencies:
ms: 2.1.2
- optionalDependencies:
- supports-color: 5.5.0
decamelize@1.2.0: {}
@@ -13686,10 +13523,6 @@ snapshots:
bundle-name: 4.1.0
default-browser-id: 5.0.0
- defaults@1.0.4:
- dependencies:
- clone: 1.0.4
-
define-data-property@1.1.4:
dependencies:
es-define-property: 1.0.0
@@ -13710,6 +13543,10 @@ snapshots:
delayed-stream@1.0.0: {}
+ delegates@1.0.0: {}
+
+ denque@2.1.0: {}
+
depcheck@1.4.7:
dependencies:
'@babel/parser': 7.24.8
@@ -13718,7 +13555,7 @@ snapshots:
callsite: 1.0.0
camelcase: 6.3.0
cosmiconfig: 7.1.0
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
deps-regex: 0.2.0
findup-sync: 5.0.0
ignore: 5.3.1
@@ -13742,15 +13579,22 @@ snapshots:
deps-regex@0.2.0: {}
+ destr@2.0.3: {}
+
destroy@1.2.0: {}
detect-file@1.0.0: {}
detect-indent@6.1.0: {}
+ detect-libc@1.0.3: {}
+
+ detect-libc@2.0.3: {}
+
didyoumean@1.2.2: {}
- diff@4.0.2: {}
+ diff@4.0.2:
+ optional: true
dijkstrajs@1.0.3: {}
@@ -13815,7 +13659,9 @@ snapshots:
dependencies:
is-obj: 2.0.0
- dotenv-expand@10.0.0: {}
+ dot-prop@8.0.2:
+ dependencies:
+ type-fest: 3.13.1
dotenv-expand@8.0.3: {}
@@ -13829,10 +13675,6 @@ 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
@@ -13993,6 +13835,32 @@ snapshots:
'@esbuild/win32-ia32': 0.19.12
'@esbuild/win32-x64': 0.19.12
+ esbuild@0.20.2:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.20.2
+ '@esbuild/android-arm': 0.20.2
+ '@esbuild/android-arm64': 0.20.2
+ '@esbuild/android-x64': 0.20.2
+ '@esbuild/darwin-arm64': 0.20.2
+ '@esbuild/darwin-x64': 0.20.2
+ '@esbuild/freebsd-arm64': 0.20.2
+ '@esbuild/freebsd-x64': 0.20.2
+ '@esbuild/linux-arm': 0.20.2
+ '@esbuild/linux-arm64': 0.20.2
+ '@esbuild/linux-ia32': 0.20.2
+ '@esbuild/linux-loong64': 0.20.2
+ '@esbuild/linux-mips64el': 0.20.2
+ '@esbuild/linux-ppc64': 0.20.2
+ '@esbuild/linux-riscv64': 0.20.2
+ '@esbuild/linux-s390x': 0.20.2
+ '@esbuild/linux-x64': 0.20.2
+ '@esbuild/netbsd-x64': 0.20.2
+ '@esbuild/openbsd-x64': 0.20.2
+ '@esbuild/sunos-x64': 0.20.2
+ '@esbuild/win32-arm64': 0.20.2
+ '@esbuild/win32-ia32': 0.20.2
+ '@esbuild/win32-x64': 0.20.2
+
esbuild@0.21.5:
optionalDependencies:
'@esbuild/aix-ppc64': 0.21.5
@@ -14056,6 +13924,8 @@ snapshots:
escape-string-regexp@4.0.0: {}
+ escape-string-regexp@5.0.0: {}
+
escodegen@2.1.0:
dependencies:
esprima: 4.0.1
@@ -14116,7 +13986,7 @@ snapshots:
eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0):
dependencies:
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
doctrine: 3.0.0
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
@@ -14136,7 +14006,7 @@ snapshots:
'@es-joy/jsdoccomment': 0.46.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
escape-string-regexp: 4.0.0
eslint: 8.57.0
esquery: 1.6.0
@@ -14266,11 +14136,6 @@ snapshots:
eslint-rule-composer@0.3.0: {}
- eslint-scope@5.1.1:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 4.3.0
-
eslint-scope@7.2.2:
dependencies:
esrecurse: 4.3.0
@@ -14293,7 +14158,7 @@ snapshots:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
@@ -14345,8 +14210,6 @@ snapshots:
dependencies:
estraverse: 5.3.0
- estraverse@4.3.0: {}
-
estraverse@5.3.0: {}
estree-walker@1.0.1: {}
@@ -14371,6 +14234,8 @@ snapshots:
stream-combiner: 0.0.4
through: 2.3.8
+ event-target-shim@5.0.1: {}
+
eventemitter3@5.0.1: {}
events@3.3.0: {}
@@ -14391,42 +14256,6 @@ snapshots:
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:
@@ -14441,6 +14270,8 @@ snapshots:
fast-equals@5.0.1: {}
+ fast-fifo@1.3.2: {}
+
fast-glob@3.3.2:
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -14453,8 +14284,6 @@ snapshots:
fast-levenshtein@2.0.6: {}
- fast-safe-stringify@2.1.1: {}
-
fast-string-compare@3.0.0: {}
fast-uri@3.0.1: {}
@@ -14470,10 +14299,6 @@ snapshots:
node-domexception: 1.0.0
web-streams-polyfill: 3.3.3
- figures@3.2.0:
- dependencies:
- escape-string-regexp: 1.0.5
-
file-entry-cache@6.0.1:
dependencies:
flat-cache: 3.2.0
@@ -14486,6 +14311,8 @@ snapshots:
dependencies:
flat-cache: 5.0.0
+ file-uri-to-path@1.0.0: {}
+
filelist@1.0.4:
dependencies:
minimatch: 5.1.6
@@ -14494,18 +14321,6 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
- finalhandler@1.2.0:
- dependencies:
- debug: 2.6.9
- encodeurl: 1.0.2
- escape-html: 1.0.3
- on-finished: 2.4.1
- parseurl: 1.3.3
- statuses: 2.0.1
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
-
find-up-simple@1.0.0: {}
find-up@4.1.0:
@@ -14569,23 +14384,6 @@ 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.92.1):
- 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.3
- tapable: 2.2.1
- typescript: 5.3.3
- webpack: 5.92.1
-
form-data@4.0.0:
dependencies:
asynckit: 0.4.0
@@ -14596,8 +14394,6 @@ snapshots:
dependencies:
fetch-blob: 3.2.0
- forwarded@0.2.0: {}
-
fraction.js@4.3.7: {}
fresh@0.5.2: {}
@@ -14639,8 +14435,6 @@ snapshots:
dependencies:
minipass: 3.3.6
- fs-monkey@1.0.6: {}
-
fs.realpath@1.0.0: {}
fsevents@2.3.3:
@@ -14659,6 +14453,18 @@ snapshots:
fx@35.0.0: {}
+ gauge@3.0.2:
+ dependencies:
+ aproba: 2.0.0
+ color-support: 1.1.3
+ console-control-strings: 1.1.0
+ has-unicode: 2.0.1
+ object-assign: 4.1.1
+ signal-exit: 3.0.7
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wide-align: 1.1.5
+
gensequence@7.0.0: {}
gensync@1.0.0-beta.2: {}
@@ -14679,6 +14485,8 @@ snapshots:
get-own-enumerable-property-symbols@3.0.2: {}
+ get-port-please@3.1.2: {}
+
get-stdin@9.0.0: {}
get-stream@8.0.1: {}
@@ -14693,6 +14501,17 @@ snapshots:
dependencies:
resolve-pkg-maps: 1.0.0
+ giget@1.2.3:
+ dependencies:
+ citty: 0.1.6
+ consola: 3.2.3
+ defu: 6.1.4
+ node-fetch-native: 1.6.4
+ nypm: 0.3.9
+ ohash: 1.1.3
+ pathe: 1.1.2
+ tar: 6.2.1
+
git-raw-commits@4.0.0:
dependencies:
dargs: 8.1.0
@@ -14707,17 +14526,6 @@ snapshots:
dependencies:
is-glob: 4.0.3
- glob-to-regexp@0.4.1: {}
-
- glob@10.4.2:
- dependencies:
- foreground-child: 3.2.1
- jackspeak: 3.4.3
- minimatch: 9.0.5
- minipass: 7.1.2
- package-json-from-dist: 1.0.0
- path-scurry: 1.11.1
-
glob@10.4.5:
dependencies:
foreground-child: 3.2.1
@@ -14813,6 +14621,15 @@ snapshots:
merge2: 1.4.1
slash: 4.0.0
+ globby@14.0.2:
+ dependencies:
+ '@sindresorhus/merge-streams': 2.3.0
+ fast-glob: 3.3.2
+ ignore: 5.3.1
+ path-type: 5.0.0
+ slash: 5.1.0
+ unicorn-magic: 0.1.0
+
globjoin@0.1.4: {}
gopd@1.0.1:
@@ -14831,6 +14648,25 @@ snapshots:
graphemer@1.4.0: {}
+ gzip-size@7.0.0:
+ dependencies:
+ duplexer: 0.1.2
+
+ h3@1.12.0:
+ dependencies:
+ cookie-es: 1.2.1
+ crossws: 0.2.4
+ defu: 6.1.4
+ destr: 2.0.3
+ iron-webcrypto: 1.2.1
+ ohash: 1.1.3
+ radix3: 1.1.2
+ ufo: 1.5.4
+ uncrypto: 0.1.3
+ unenv: 1.10.0
+ transitivePeerDependencies:
+ - uWebSockets.js
+
has-bigints@1.0.2: {}
has-flag@3.0.0: {}
@@ -14851,6 +14687,8 @@ snapshots:
dependencies:
has-symbols: 1.0.3
+ has-unicode@2.0.1: {}
+
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
@@ -14912,31 +14750,35 @@ snapshots:
dependencies:
'@tootallnate/once': 1.1.2
agent-base: 6.0.2
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
transitivePeerDependencies:
- supports-color
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.1
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
transitivePeerDependencies:
- supports-color
+ http-shutdown@1.2.2: {}
+
https-proxy-agent@5.0.1:
dependencies:
agent-base: 6.0.2
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
transitivePeerDependencies:
- supports-color
https-proxy-agent@7.0.5:
dependencies:
agent-base: 7.1.1
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
transitivePeerDependencies:
- supports-color
+ httpxy@0.1.5: {}
+
human-id@1.0.2: {}
human-signals@5.0.0: {}
@@ -14959,8 +14801,6 @@ snapshots:
ieee754@1.2.1: {}
- ignore-by-default@1.0.1: {}
-
ignore-walk@5.0.1:
dependencies:
minimatch: 5.1.6
@@ -14995,54 +14835,32 @@ 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.15:
- 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: 3.2.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
+ ioredis@5.4.1:
+ dependencies:
+ '@ioredis/commands': 1.2.0
+ cluster-key-slot: 1.1.2
+ debug: 4.3.5
+ denque: 2.1.0
+ lodash.defaults: 4.2.0
+ lodash.isarguments: 3.1.0
+ redis-errors: 1.2.0
+ redis-parser: 3.0.0
+ standard-as-callback: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+
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:
dependencies:
@@ -15117,8 +14935,6 @@ snapshots:
global-directory: 4.0.1
is-path-inside: 4.0.0
- is-interactive@1.0.0: {}
-
is-lambda@1.0.1: {}
is-module@1.0.0: {}
@@ -15188,8 +15004,6 @@ snapshots:
is-typedarray@1.0.0: {}
- is-unicode-supported@0.1.0: {}
-
is-weakref@1.0.2:
dependencies:
call-bind: 1.0.7
@@ -15206,14 +15020,16 @@ snapshots:
dependencies:
is-inside-container: 1.0.0
+ is64bit@2.0.0:
+ dependencies:
+ system-architecture: 0.1.0
+
isarray@1.0.0: {}
isarray@2.0.5: {}
isexe@2.0.0: {}
- iterare@1.2.1: {}
-
jackspeak@3.4.3:
dependencies:
'@isaacs/cliui': 8.0.2
@@ -15233,24 +15049,10 @@ snapshots:
filelist: 1.0.4
minimatch: 3.1.2
- jest-worker@27.5.1:
- dependencies:
- '@types/node': 20.14.11
- merge-stream: 2.0.0
- supports-color: 8.1.1
-
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
@@ -15333,10 +15135,6 @@ snapshots:
espree: 9.6.1
semver: 7.6.3
- jsonc-parser@3.2.1: {}
-
- jsonc-parser@3.3.1: {}
-
jsonfile@4.0.0:
optionalDependencies:
graceful-fs: 4.2.11
@@ -15351,36 +15149,16 @@ 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.3
-
- 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
kind-of@6.0.3: {}
+ klona@2.0.6: {}
+
+ knitwork@1.1.0: {}
+
known-css-properties@0.34.0: {}
kolorist@1.8.0: {}
@@ -15391,6 +15169,10 @@ snapshots:
dependencies:
package-json: 10.0.1
+ lazystream@1.0.1:
+ dependencies:
+ readable-stream: 2.3.8
+
leven@3.1.0: {}
levn@0.4.1:
@@ -15398,8 +15180,6 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
- libphonenumber-js@1.11.4: {}
-
lilconfig@2.1.0: {}
lilconfig@3.1.2: {}
@@ -15410,7 +15190,7 @@ snapshots:
dependencies:
chalk: 5.3.0
commander: 12.1.0
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
execa: 8.0.1
lilconfig: 3.1.2
listr2: 8.2.3
@@ -15421,6 +15201,29 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ listhen@1.7.2:
+ dependencies:
+ '@parcel/watcher': 2.4.1
+ '@parcel/watcher-wasm': 2.4.1
+ citty: 0.1.6
+ clipboardy: 4.0.0
+ consola: 3.2.3
+ crossws: 0.2.4
+ defu: 6.1.4
+ get-port-please: 3.1.2
+ h3: 1.12.0
+ http-shutdown: 1.2.2
+ jiti: 1.21.6
+ mlly: 1.7.1
+ node-forge: 1.3.1
+ pathe: 1.1.2
+ std-env: 3.7.0
+ ufo: 1.5.4
+ untun: 0.1.3
+ uqr: 0.1.2
+ transitivePeerDependencies:
+ - uWebSockets.js
+
listr2@8.2.3:
dependencies:
cli-truncate: 4.0.0
@@ -15437,7 +15240,10 @@ snapshots:
pify: 4.0.1
strip-bom: 3.0.0
- loader-runner@4.3.0: {}
+ local-pkg@0.5.0:
+ dependencies:
+ mlly: 1.7.1
+ pkg-types: 1.1.3
locate-path@5.0.0:
dependencies:
@@ -15461,22 +15267,16 @@ snapshots:
lodash.debounce@4.0.8: {}
+ lodash.defaults@4.2.0: {}
+
lodash.get@4.4.2: {}
- lodash.includes@4.3.0: {}
-
- lodash.isboolean@3.0.3: {}
+ lodash.isarguments@3.1.0: {}
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: {}
@@ -15485,8 +15285,6 @@ snapshots:
lodash.mergewith@4.6.2: {}
- lodash.once@4.1.1: {}
-
lodash.snakecase@4.1.1: {}
lodash.sortby@4.7.0: {}
@@ -15501,11 +15299,6 @@ 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
@@ -15555,11 +15348,12 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
- magic-string@0.30.8:
+ make-dir@3.1.0:
dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
+ semver: 6.3.1
- make-error@1.3.6: {}
+ make-error@1.3.6:
+ optional: true
make-fetch-happen@8.0.14:
dependencies:
@@ -15592,24 +15386,14 @@ 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
@@ -15623,6 +15407,10 @@ snapshots:
mime@1.6.0: {}
+ mime@3.0.0: {}
+
+ mime@4.0.4: {}
+
mimic-fn@2.1.0: {}
mimic-fn@4.0.0: {}
@@ -15702,10 +15490,6 @@ snapshots:
mitt@3.0.1: {}
- mkdirp@0.5.6:
- dependencies:
- minimist: 1.2.8
-
mkdirp@1.0.4: {}
mkdist@1.5.4(sass@1.77.8)(typescript@5.5.3)(vue-tsc@2.0.26(typescript@5.5.3)):
@@ -15735,10 +15519,6 @@ snapshots:
pkg-types: 1.1.3
ufo: 1.5.4
- mockjs@1.1.0:
- dependencies:
- commander: 12.1.0
-
mri@1.2.0: {}
mrmime@2.0.0: {}
@@ -15753,16 +15533,6 @@ 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
@@ -15771,10 +15541,6 @@ 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
@@ -15791,24 +15557,107 @@ snapshots:
natural-compare@1.4.0: {}
- negotiator@0.6.3: {}
-
- neo-async@2.6.2: {}
+ nitropack@2.9.7(encoding@0.1.13):
+ dependencies:
+ '@cloudflare/kv-asset-handler': 0.3.4
+ '@netlify/functions': 2.8.1
+ '@rollup/plugin-alias': 5.1.0(rollup@4.18.1)
+ '@rollup/plugin-commonjs': 25.0.8(rollup@4.18.1)
+ '@rollup/plugin-inject': 5.0.5(rollup@4.18.1)
+ '@rollup/plugin-json': 6.1.0(rollup@4.18.1)
+ '@rollup/plugin-node-resolve': 15.2.3(rollup@4.18.1)
+ '@rollup/plugin-replace': 5.0.7(rollup@4.18.1)
+ '@rollup/plugin-terser': 0.4.4(rollup@4.18.1)
+ '@rollup/pluginutils': 5.1.0(rollup@4.18.1)
+ '@types/http-proxy': 1.17.14
+ '@vercel/nft': 0.26.5(encoding@0.1.13)
+ archiver: 7.0.1
+ c12: 1.11.1
+ chalk: 5.3.0
+ chokidar: 3.6.0
+ citty: 0.1.6
+ consola: 3.2.3
+ cookie-es: 1.2.1
+ croner: 8.1.0
+ crossws: 0.2.4
+ db0: 0.1.4
+ defu: 6.1.4
+ destr: 2.0.3
+ dot-prop: 8.0.2
+ esbuild: 0.20.2
+ escape-string-regexp: 5.0.0
+ etag: 1.8.1
+ fs-extra: 11.2.0
+ globby: 14.0.2
+ gzip-size: 7.0.0
+ h3: 1.12.0
+ hookable: 5.5.3
+ httpxy: 0.1.5
+ ioredis: 5.4.1
+ jiti: 1.21.6
+ klona: 2.0.6
+ knitwork: 1.1.0
+ listhen: 1.7.2
+ magic-string: 0.30.10
+ mime: 4.0.4
+ mlly: 1.7.1
+ mri: 1.2.0
+ node-fetch-native: 1.6.4
+ ofetch: 1.3.4
+ ohash: 1.1.3
+ openapi-typescript: 6.7.6
+ pathe: 1.1.2
+ perfect-debounce: 1.0.0
+ pkg-types: 1.1.3
+ pretty-bytes: 6.1.1
+ radix3: 1.1.2
+ rollup: 4.18.1
+ rollup-plugin-visualizer: 5.12.0(rollup@4.18.1)
+ scule: 1.3.0
+ semver: 7.6.3
+ serve-placeholder: 2.0.2
+ serve-static: 1.15.0
+ std-env: 3.7.0
+ ufo: 1.5.4
+ uncrypto: 0.1.3
+ unctx: 2.3.1
+ unenv: 1.10.0
+ unimport: 3.9.0(rollup@4.18.1)
+ unstorage: 1.10.2(ioredis@5.4.1)
+ unwasm: 0.3.9
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@libsql/client'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - better-sqlite3
+ - drizzle-orm
+ - encoding
+ - idb-keyval
+ - magicast
+ - supports-color
+ - uWebSockets.js
no-case@3.0.4:
dependencies:
lower-case: 2.0.2
tslib: 2.6.3
- node-abort-controller@3.1.1: {}
+ node-addon-api@7.1.1: {}
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):
dependencies:
@@ -15822,6 +15671,10 @@ snapshots:
fetch-blob: 3.2.0
formdata-polyfill: 4.0.10
+ node-forge@1.3.1: {}
+
+ node-gyp-build@4.8.1: {}
+
node-html-parser@5.4.2:
dependencies:
css-select: 4.3.0
@@ -15829,18 +15682,9 @@ snapshots:
node-releases@2.0.17: {}
- nodemon@3.1.4:
+ nopt@5.0.0:
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.3
- simple-update-notifier: 2.0.0
- supports-color: 5.5.0
- touch: 3.1.1
- undefsafe: 2.0.5
+ abbrev: 1.1.1
nopt@7.2.1:
dependencies:
@@ -15874,6 +15718,13 @@ snapshots:
dependencies:
path-key: 4.0.0
+ npmlog@5.0.1:
+ dependencies:
+ are-we-there-yet: 2.0.0
+ console-control-strings: 1.1.0
+ gauge: 3.0.2
+ set-blocking: 2.0.0
+
nprogress@0.2.0: {}
nth-check@2.1.1:
@@ -15882,6 +15733,15 @@ snapshots:
nwsapi@2.2.12: {}
+ nypm@0.3.9:
+ dependencies:
+ citty: 0.1.6
+ consola: 3.2.3
+ execa: 8.0.1
+ pathe: 1.1.2
+ pkg-types: 1.1.3
+ ufo: 1.5.4
+
object-assign@4.1.1: {}
object-hash@3.0.0: {}
@@ -15897,6 +15757,14 @@ snapshots:
has-symbols: 1.0.3
object-keys: 1.1.1
+ ofetch@1.3.4:
+ dependencies:
+ destr: 2.0.3
+ node-fetch-native: 1.6.4
+ ufo: 1.5.4
+
+ ohash@1.1.3: {}
+
on-finished@2.4.1:
dependencies:
ee-first: 1.1.1
@@ -15926,6 +15794,15 @@ snapshots:
is-docker: 2.2.1
is-wsl: 2.2.0
+ openapi-typescript@6.7.6:
+ dependencies:
+ ansi-colors: 4.1.3
+ fast-glob: 3.3.2
+ js-yaml: 4.1.0
+ supports-color: 9.4.0
+ undici: 5.28.4
+ yargs-parser: 21.1.1
+
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -15935,18 +15812,6 @@ 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: {}
@@ -16039,23 +15904,6 @@ 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: {}
@@ -16080,12 +15928,10 @@ snapshots:
lru-cache: 11.0.0
minipass: 7.1.2
- path-to-regexp@0.1.7: {}
-
- path-to-regexp@3.2.0: {}
-
path-type@4.0.0: {}
+ path-type@5.0.0: {}
+
pathe@0.2.0: {}
pathe@1.1.2: {}
@@ -16096,16 +15942,12 @@ snapshots:
dependencies:
through: 2.3.8
- pause@0.0.1: {}
-
perfect-debounce@1.0.0: {}
picocolors@1.0.1: {}
picomatch@2.3.1: {}
- picomatch@4.0.1: {}
-
pidtree@0.6.0: {}
pify@2.3.0: {}
@@ -16620,6 +16462,8 @@ snapshots:
process-nextick-args@2.0.1: {}
+ process@0.11.10: {}
+
promise-inflight@1.0.1: {}
promise-retry@2.0.1:
@@ -16629,11 +16473,6 @@ 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:
@@ -16644,8 +16483,6 @@ snapshots:
psl@1.9.0: {}
- pstree.remy@1.1.8: {}
-
publint@0.2.9:
dependencies:
npm-packlist: 5.1.3
@@ -16665,14 +16502,12 @@ 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: {}
+ queue-tick@1.0.1: {}
+
radix-vue@1.9.1(vue@3.4.32(typescript@5.5.3)):
dependencies:
'@floating-ui/dom': 1.6.7
@@ -16690,18 +16525,18 @@ snapshots:
transitivePeerDependencies:
- '@vue/composition-api'
+ radix3@1.1.2: {}
+
randombytes@2.1.0:
dependencies:
safe-buffer: 5.2.1
range-parser@1.2.1: {}
- raw-body@2.5.2:
+ rc9@2.1.2:
dependencies:
- bytes: 3.1.2
- http-errors: 2.0.0
- iconv-lite: 0.4.24
- unpipe: 1.0.0
+ defu: 6.1.4
+ destr: 2.0.3
rc@1.2.8:
dependencies:
@@ -16750,16 +16585,32 @@ snapshots:
string_decoder: 1.3.0
util-deprecate: 1.0.2
+ readable-stream@4.5.2:
+ dependencies:
+ abort-controller: 3.0.0
+ buffer: 6.0.3
+ events: 3.3.0
+ process: 0.11.10
+ string_decoder: 1.3.0
+
+ readdir-glob@1.1.3:
+ dependencies:
+ minimatch: 5.1.6
+
readdirp@3.6.0:
dependencies:
picomatch: 2.3.1
+ redis-errors@1.2.0: {}
+
+ redis-parser@3.0.0:
+ dependencies:
+ redis-errors: 1.2.0
+
refa@0.12.1:
dependencies:
'@eslint-community/regexpp': 4.11.0
- reflect-metadata@0.2.2: {}
-
regenerate-unicode-properties@10.1.1:
dependencies:
regenerate: 1.4.2
@@ -16851,11 +16702,6 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.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
@@ -16931,18 +16777,10 @@ 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
@@ -16976,12 +16814,6 @@ snapshots:
dependencies:
xmlchars: 2.2.0
- schema-utils@3.3.0:
- dependencies:
- '@types/json-schema': 7.0.15
- ajv: 6.12.6
- ajv-keywords: 3.5.2(ajv@6.12.6)
-
scroll-into-view-if-needed@2.2.31:
dependencies:
compute-scroll-into-view: 1.0.20
@@ -17034,6 +16866,10 @@ snapshots:
dependencies:
randombytes: 2.1.0
+ serve-placeholder@2.0.2:
+ dependencies:
+ defu: 6.1.4
+
serve-static@1.15.0:
dependencies:
encodeurl: 1.0.2
@@ -17100,10 +16936,6 @@ snapshots:
signal-exit@4.1.0: {}
- simple-update-notifier@2.0.0:
- dependencies:
- semver: 7.6.3
-
sirv@2.0.4:
dependencies:
'@polka/url': 1.0.0-next.25
@@ -17114,6 +16946,8 @@ snapshots:
slash@4.0.0: {}
+ slash@5.1.0: {}
+
slashes@3.0.12: {}
slice-ansi@4.0.0:
@@ -17139,7 +16973,7 @@ snapshots:
socks-proxy-agent@5.0.1:
dependencies:
agent-base: 6.0.2
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
socks: 2.8.3
transitivePeerDependencies:
- supports-color
@@ -17210,6 +17044,8 @@ snapshots:
stackback@0.0.2: {}
+ standard-as-callback@2.1.0: {}
+
statuses@2.0.1: {}
std-env@3.7.0: {}
@@ -17218,7 +17054,13 @@ snapshots:
dependencies:
duplexer: 0.1.2
- streamsearch@1.1.0: {}
+ streamx@2.18.0:
+ dependencies:
+ fast-fifo: 1.3.2
+ queue-tick: 1.0.1
+ text-decoder: 1.1.1
+ optionalDependencies:
+ bare-events: 2.4.2
string-argv@0.3.2: {}
@@ -17310,6 +17152,10 @@ snapshots:
strip-json-comments@3.1.1: {}
+ strip-literal@2.1.0:
+ dependencies:
+ js-tokens: 9.0.0
+
style-search@0.1.0: {}
stylehacks@7.0.2(postcss@8.4.39):
@@ -17387,7 +17233,7 @@ snapshots:
cosmiconfig: 9.0.0(typescript@5.5.3)
css-functions-list: 3.2.2
css-tree: 2.3.1
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
fast-glob: 3.3.2
fastest-levenshtein: 1.0.16
file-entry-cache: 9.0.0
@@ -17448,6 +17294,8 @@ snapshots:
dependencies:
has-flag: 4.0.0
+ supports-color@9.4.0: {}
+
supports-hyperlinks@3.0.0:
dependencies:
has-flag: 4.0.0
@@ -17471,8 +17319,6 @@ snapshots:
csso: 5.0.5
picocolors: 1.0.1
- symbol-observable@4.0.0: {}
-
symbol-tree@3.2.4: {}
synckit@0.6.2:
@@ -17484,6 +17330,8 @@ snapshots:
'@pkgr/core': 0.1.1
tslib: 2.6.3
+ system-architecture@0.1.0: {}
+
tabbable@6.2.0: {}
table@6.8.2:
@@ -17529,6 +17377,12 @@ snapshots:
tapable@2.2.1: {}
+ tar-stream@3.1.7:
+ dependencies:
+ b4a: 1.6.6
+ fast-fifo: 1.3.2
+ streamx: 2.18.0
+
tar@6.2.1:
dependencies:
chownr: 2.0.0
@@ -17549,15 +17403,6 @@ snapshots:
term-size@2.2.1: {}
- terser-webpack-plugin@5.3.10(webpack@5.92.1):
- 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.3
- webpack: 5.92.1
-
terser@5.31.3:
dependencies:
'@jridgewell/source-map': 0.3.6
@@ -17565,6 +17410,10 @@ snapshots:
commander: 2.20.3
source-map-support: 0.5.21
+ text-decoder@1.1.1:
+ dependencies:
+ b4a: 1.6.6
+
text-extensions@2.4.0: {}
text-table@0.2.0: {}
@@ -17605,8 +17454,6 @@ snapshots:
totalist@3.0.1: {}
- touch@3.1.1: {}
-
tough-cookie@4.1.4:
dependencies:
psl: 1.9.0
@@ -17624,8 +17471,6 @@ snapshots:
dependencies:
punycode: 2.3.1
- tree-kill@1.2.2: {}
-
ts-api-utils@1.3.0(typescript@5.5.3):
dependencies:
typescript: 5.5.3
@@ -17649,18 +17494,7 @@ snapshots:
typescript: 5.5.3
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
-
- 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
+ optional: true
tslib@2.3.0: {}
@@ -17701,8 +17535,6 @@ snapshots:
type-fest@0.20.2: {}
- type-fest@0.21.3: {}
-
type-fest@0.6.0: {}
type-fest@0.8.1: {}
@@ -17711,10 +17543,7 @@ snapshots:
type-fest@2.19.0: {}
- type-is@1.6.18:
- dependencies:
- media-typer: 0.3.0
- mime-types: 2.1.35
+ type-fest@3.13.1: {}
typed-array-buffer@1.0.2:
dependencies:
@@ -17752,20 +17581,12 @@ snapshots:
dependencies:
is-typedarray: 1.0.0
- typedarray@0.0.6: {}
-
- typescript@5.3.3: {}
-
typescript@5.4.2: {}
typescript@5.5.3: {}
ufo@1.5.4: {}
- uid@2.0.2:
- dependencies:
- '@lukeed/csprng': 1.1.0
-
unbox-primitive@1.0.2:
dependencies:
call-bind: 1.0.7
@@ -17806,10 +17627,29 @@ snapshots:
- supports-color
- vue-tsc
- undefsafe@2.0.5: {}
+ uncrypto@0.1.3: {}
+
+ unctx@2.3.1:
+ dependencies:
+ acorn: 8.12.1
+ estree-walker: 3.0.3
+ magic-string: 0.30.10
+ unplugin: 1.11.0
undici-types@5.26.5: {}
+ undici@5.28.4:
+ dependencies:
+ '@fastify/busboy': 2.1.1
+
+ unenv@1.10.0:
+ dependencies:
+ consola: 3.2.3
+ defu: 6.1.4
+ mime: 3.0.0
+ node-fetch-native: 1.6.4
+ pathe: 1.1.2
+
unicode-canonical-property-names-ecmascript@2.0.0: {}
unicode-match-property-ecmascript@2.0.0:
@@ -17823,6 +17663,24 @@ snapshots:
unicorn-magic@0.1.0: {}
+ unimport@3.9.0(rollup@4.18.1):
+ dependencies:
+ '@rollup/pluginutils': 5.1.0(rollup@4.18.1)
+ acorn: 8.12.1
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ fast-glob: 3.3.2
+ local-pkg: 0.5.0
+ magic-string: 0.30.10
+ mlly: 1.7.1
+ pathe: 1.1.2
+ pkg-types: 1.1.3
+ scule: 1.3.0
+ strip-literal: 2.1.0
+ unplugin: 1.11.0
+ transitivePeerDependencies:
+ - rollup
+
unique-filename@1.1.1:
dependencies:
unique-slug: 2.0.2
@@ -17845,8 +17703,6 @@ snapshots:
universalify@2.0.1: {}
- unpipe@1.0.0: {}
-
unplugin@1.11.0:
dependencies:
acorn: 8.12.1
@@ -17854,6 +17710,29 @@ snapshots:
webpack-sources: 3.2.3
webpack-virtual-modules: 0.6.2
+ unstorage@1.10.2(ioredis@5.4.1):
+ dependencies:
+ anymatch: 3.1.3
+ chokidar: 3.6.0
+ destr: 2.0.3
+ h3: 1.12.0
+ listhen: 1.7.2
+ lru-cache: 10.4.3
+ mri: 1.2.0
+ node-fetch-native: 1.6.4
+ ofetch: 1.3.4
+ ufo: 1.5.4
+ optionalDependencies:
+ ioredis: 5.4.1
+ transitivePeerDependencies:
+ - uWebSockets.js
+
+ untun@0.1.3:
+ dependencies:
+ citty: 0.1.6
+ consola: 3.2.3
+ pathe: 1.1.2
+
untyped@1.4.2:
dependencies:
'@babel/core': 7.24.9
@@ -17866,6 +17745,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ unwasm@0.3.9:
+ dependencies:
+ knitwork: 1.1.0
+ magic-string: 0.30.10
+ mlly: 1.7.1
+ pathe: 1.1.2
+ pkg-types: 1.1.3
+ unplugin: 1.11.0
+
upath@1.2.0: {}
update-browserslist-db@1.1.0(browserslist@4.23.2):
@@ -17889,6 +17777,8 @@ snapshots:
semver-diff: 4.0.0
xdg-basedir: 5.1.0
+ uqr@0.1.2: {}
+
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
@@ -17898,11 +17788,12 @@ snapshots:
querystringify: 2.2.0
requires-port: 1.0.0
+ urlpattern-polyfill@8.0.2: {}
+
util-deprecate@1.0.2: {}
- utils-merge@1.0.1: {}
-
- v8-compile-cache-lib@3.0.1: {}
+ v8-compile-cache-lib@3.0.1:
+ optional: true
validate-npm-package-license@3.0.4:
dependencies:
@@ -17911,8 +17802,6 @@ snapshots:
validator@13.12.0: {}
- vary@1.1.2: {}
-
vite-hot-client@0.2.3(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3)):
dependencies:
vite: 5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3)
@@ -17920,7 +17809,7 @@ snapshots:
vite-node@2.0.3(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3):
dependencies:
cac: 6.7.14
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
pathe: 1.1.2
tinyrainbow: 1.2.0
vite: 5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3)
@@ -17937,7 +17826,7 @@ snapshots:
vite-plugin-compression@0.5.1(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3)):
dependencies:
chalk: 4.1.2
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
fs-extra: 10.1.0
vite: 5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3)
transitivePeerDependencies:
@@ -17948,7 +17837,7 @@ snapshots:
'@microsoft/api-extractor': 7.43.0(@types/node@20.14.11)
'@rollup/pluginutils': 5.1.0(rollup@4.18.1)
'@vue/language-core': 1.8.27(typescript@5.5.3)
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
kolorist: 1.8.0
magic-string: 0.30.10
typescript: 5.5.3
@@ -17980,7 +17869,7 @@ snapshots:
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.18.1)
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
error-stack-parser-es: 0.1.4
fs-extra: 11.2.0
open: 10.1.0
@@ -18001,7 +17890,7 @@ snapshots:
vite-plugin-pwa@0.20.0(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3))(workbox-build@7.1.1)(workbox-window@7.1.0):
dependencies:
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
fast-glob: 3.3.2
pretty-bytes: 6.1.1
vite: 5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3)
@@ -18109,7 +17998,7 @@ snapshots:
'@vitest/spy': 2.0.3
'@vitest/utils': 2.0.3
chai: 5.1.1
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
execa: 8.0.1
magic-string: 0.30.10
pathe: 1.1.2
@@ -18144,7 +18033,7 @@ snapshots:
vue-eslint-parser@9.4.3(eslint@8.57.0):
dependencies:
- debug: 4.3.5(supports-color@5.5.0)
+ debug: 4.3.5
eslint: 8.57.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
@@ -18214,15 +18103,6 @@ snapshots:
dependencies:
loose-envify: 1.4.0
- watchpack@2.4.1:
- dependencies:
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
-
- wcwidth@1.0.1:
- dependencies:
- defaults: 1.0.4
-
web-streams-polyfill@3.3.3: {}
webidl-conversions@3.0.1: {}
@@ -18231,43 +18111,10 @@ 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.92.1:
- 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.1
- acorn-import-attributes: 1.9.5(acorn@8.12.1)
- browserslist: 4.23.2
- chrome-trace-event: 1.0.4
- enhanced-resolve: 5.17.0
- es-module-lexer: 1.5.4
- 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(webpack@5.92.1)
- watchpack: 2.4.1
- webpack-sources: 3.2.3
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - uglify-js
-
webpod@0.0.2: {}
whatwg-encoding@3.1.1:
@@ -18332,6 +18179,10 @@ snapshots:
siginfo: 2.0.0
stackback: 0.0.2
+ wide-align@1.1.5:
+ dependencies:
+ string-width: 4.2.3
+
widest-line@4.0.1:
dependencies:
string-width: 5.1.2
@@ -18499,8 +18350,6 @@ snapshots:
xmlchars@2.2.0: {}
- xtend@4.0.2: {}
-
y18n@4.0.3: {}
y18n@5.0.8: {}
@@ -18564,7 +18413,8 @@ snapshots:
y18n: 5.0.8
yargs-parser: 21.1.1
- yn@3.1.1: {}
+ yn@3.1.1:
+ optional: true
yocto-queue@0.1.0: {}
@@ -18578,6 +18428,12 @@ snapshots:
optionalDependencies:
commander: 9.5.0
+ zip-stream@6.0.1:
+ dependencies:
+ archiver-utils: 5.0.2
+ compress-commons: 6.0.2
+ readable-stream: 4.5.2
+
zrender@5.6.0:
dependencies:
tslib: 2.3.0