├── pnpm-workspace.yaml
├── favicon.ico
├── packages
├── client
│ ├── .vscode
│ │ └── extensions.json
│ ├── src
│ │ ├── assets
│ │ │ ├── css
│ │ │ │ └── main.less
│ │ │ ├── image
│ │ │ │ ├── afb.jpg
│ │ │ │ ├── weixin.png
│ │ │ │ └── favicon.ico
│ │ │ └── vue.svg
│ │ ├── App.vue
│ │ ├── modules
│ │ │ ├── detail
│ │ │ │ ├── index.vue
│ │ │ │ └── script.js
│ │ │ └── home
│ │ │ │ └── index.vue
│ │ ├── common
│ │ │ ├── urls
│ │ │ │ └── index.js
│ │ │ └── utils
│ │ │ │ └── axios_helper.ts
│ │ ├── main.js
│ │ ├── components
│ │ │ └── pageNotFound.vue
│ │ └── routers.js
│ ├── README.md
│ ├── .gitignore
│ ├── index.html
│ ├── package.json
│ └── vite.config.js
└── server
│ ├── middleware
│ └── index.js
│ ├── config
│ ├── enum.js
│ ├── index.js
│ └── result_code.js
│ ├── service
│ ├── test_service.js
│ └── road_service.js
│ ├── model
│ └── Road.js
│ ├── handler
│ ├── sys_login.js
│ ├── test_handler.js
│ └── road_handler.js
│ ├── mock
│ └── userinfo.json
│ ├── .gitignore
│ ├── nodemon.json
│ ├── package.json
│ ├── utils
│ ├── aes.js
│ └── rsa.js
│ ├── app.js
│ └── router
│ ├── road_router.js
│ └── index.js
├── .gitignore
├── package.json
├── .vscode
└── launch.json
├── start.js
├── README.md
└── pnpm-lock.yaml
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 |
3 | - 'packages/**'
4 |
--------------------------------------------------------------------------------
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uct8086/jsonVee/HEAD/favicon.ico
--------------------------------------------------------------------------------
/packages/client/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/server/middleware/index.js:
--------------------------------------------------------------------------------
1 | const fs = require("fs");
2 | module.exports = function () {
3 | // TODO
4 | };
--------------------------------------------------------------------------------
/packages/client/src/assets/css/main.less:
--------------------------------------------------------------------------------
1 | *{
2 | font-size: 14px;
3 | }
4 | img{
5 | width: 200px;
6 | height: 200px;
7 | }
--------------------------------------------------------------------------------
/packages/client/src/assets/image/afb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uct8086/jsonVee/HEAD/packages/client/src/assets/image/afb.jpg
--------------------------------------------------------------------------------
/packages/client/src/assets/image/weixin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uct8086/jsonVee/HEAD/packages/client/src/assets/image/weixin.png
--------------------------------------------------------------------------------
/packages/client/src/assets/image/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uct8086/jsonVee/HEAD/packages/client/src/assets/image/favicon.ico
--------------------------------------------------------------------------------
/packages/server/config/enum.js:
--------------------------------------------------------------------------------
1 | const testEnum = { // 枚举
2 | Unknow: 0,
3 | };
4 |
5 |
6 | module.exports = {
7 | testEnum,
8 | };
9 |
--------------------------------------------------------------------------------
/packages/client/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
8 |
10 |
--------------------------------------------------------------------------------
/packages/client/src/modules/detail/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
this is detail page
4 |
5 |
6 |
--------------------------------------------------------------------------------
/packages/client/src/common/urls/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * 请求地址
3 | */
4 | 'use strict';
5 | const URL = {
6 | getDetail: `/api/detail/getdetail`,
7 | };
8 |
9 | export default URL;
10 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 | dist
4 | public
5 | tmp
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
9 |
10 | # Editor directories and files
11 | .idea
12 | *.suo
13 | *.ntvs*
14 | *.njsproj
15 | *.sln
16 |
--------------------------------------------------------------------------------
/packages/server/service/test_service.js:
--------------------------------------------------------------------------------
1 | class TestService {
2 |
3 | static getDetail() {
4 | // let requestId = uuid();
5 | let data = require("../mock/userinfo.json");
6 | return data;
7 | }
8 |
9 | }
10 | module.exports = TestService;
11 |
--------------------------------------------------------------------------------
/packages/client/README.md:
--------------------------------------------------------------------------------
1 | ### 这是jsonVee的前端部分
2 |
3 | ### 安装依赖, 也可以在最外层一次性安装
4 |
5 | ```
6 | pnpm install
7 | ```
8 |
9 | ### 启动服务
10 |
11 | ```
12 | pnpm run dev
13 | ```
14 |
15 | ### 构建生产环境
16 |
17 | ```
18 | pnpm run build
19 | ```
20 | build 完的文件会放到项目最外层的public目录下, 然后被 server服务引用。
--------------------------------------------------------------------------------
/packages/server/config/index.js:
--------------------------------------------------------------------------------
1 | const config = {};
2 | config.bodyParserJsonOptions = {
3 | limit: '10mb'
4 | };
5 | config.bodyParserUrlencodedOptions = {
6 | extended: false,
7 | limit: '20mb'
8 | };
9 |
10 | config.db = {
11 | url: "mongodb://localhost:27017/jsonVee",
12 | }
13 |
14 | module.exports = exports = config;
--------------------------------------------------------------------------------
/packages/server/model/Road.js:
--------------------------------------------------------------------------------
1 | const mongoose = require('mongoose');
2 |
3 | const roadSchema = mongoose.Schema({
4 | title : { type:String, required : true },
5 | desc : String,
6 | created_at : { type : Date, default : Date.now },
7 | update_at : { type : Date, default : Date.now }
8 | })
9 |
10 | const Road = module.exports = mongoose.model('Road',roadSchema)
11 |
--------------------------------------------------------------------------------
/packages/server/handler/sys_login.js:
--------------------------------------------------------------------------------
1 | const ResultCode = require('../config/result_code');
2 |
3 | class SysLogin{
4 | /**
5 | * 退出登录
6 | */
7 | static logout(req, res) {
8 | // TODO
9 | };
10 |
11 | /**
12 | * 登录
13 | */
14 | static login(req, res) {
15 | // TODO
16 | };
17 | }
18 |
19 | module.exports = SysLogin;
20 |
--------------------------------------------------------------------------------
/packages/server/mock/userinfo.json:
--------------------------------------------------------------------------------
1 | {
2 | "code": 0,
3 | "msg": "success",
4 | "data": {
5 | "user": {
6 | "userId": 2,
7 | "name": "MJ的斯台普斯",
8 | "nickname": "MJ的斯台普斯",
9 | "isadmin": 0,
10 | "phoneNum": "17302659317",
11 | "openid": "oFa_U0s6Tg7b3Q_5k8-X0NxVNhIA"
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/packages/client/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/packages/server/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/packages/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | JsonVee项目框架
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jsonvee",
3 | "version": "3.0.0",
4 | "description": "jsonVee 全新升级项目",
5 | "keywords": [],
6 | "license": "ISC",
7 | "author": "",
8 | "main": "start.js",
9 | "scripts": {
10 | "start": "node start.js",
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | },
13 | "engines": {
14 | "node": ">=20.11.0",
15 | "npm": ">=10.1.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/packages/client/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue';
2 | import router from './routers';
3 | import './assets/css/main.less';
4 | import ElementPlus from 'element-plus';
5 | import 'element-plus/dist/index.css';
6 | import App from './App.vue'
7 |
8 | createApp(App).mount('#app')
9 |
10 | const myApp = createApp(App);
11 |
12 | myApp.use(router);
13 |
14 | myApp.use(ElementPlus);
15 |
16 | myApp.mount("#app-wrapper");
17 |
--------------------------------------------------------------------------------
/packages/server/handler/test_handler.js:
--------------------------------------------------------------------------------
1 |
2 | const testService = require('../service/test_service.js');
3 |
4 | class TestHandler {
5 | /**
6 | * 获取详细信息
7 | */
8 | static async getDetail(req, res) {
9 | try{
10 | let data = await testService.getDetail();
11 | res.json(data);
12 | } catch (e) {
13 | res.end("error ")
14 | }
15 |
16 | }
17 |
18 | }
19 | module.exports = TestHandler;
20 |
--------------------------------------------------------------------------------
/packages/server/nodemon.json:
--------------------------------------------------------------------------------
1 | {
2 | "restartable": "rs",
3 | "ignore": [
4 | ".git",
5 | "node_modules/",
6 | "doc/",
7 | "public/",
8 | "test/"
9 | ],
10 | "verbose": true,
11 | "execMap": {
12 | "js": "node"
13 | },
14 | "events": {
15 |
16 | },
17 | "watch": [
18 | "packages/server/"
19 | ],
20 | "env": {
21 | "NODE_ENV": "local"
22 | },
23 | "ext": "js json"
24 | }
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // 使用 IntelliSense 了解相关属性。
3 | // 悬停以查看现有属性的描述。
4 | // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.2.0",
6 | "configurations": [
7 | {
8 | "type": "node",
9 | "request": "launch",
10 | "name": "启动程序",
11 | "skipFiles": [
12 | "/**"
13 | ],
14 | "program": "${workspaceFolder}/packages/server/app.js"
15 | }
16 | ]
17 | }
--------------------------------------------------------------------------------
/packages/client/src/assets/vue.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/client/src/modules/detail/script.js:
--------------------------------------------------------------------------------
1 | // import HttpHelper from "common/utils/axios_helper";
2 | import { reactive, onMounted } from 'vue';
3 |
4 | export default {
5 | setup() {
6 | const data = reactive({
7 | id: "5d42ac3d9c149c38248c8199"
8 | });
9 | const selectById = async () => {
10 | // await HttpHelper.axiosGet("/detail/selectById", {id: data.id});
11 | };
12 |
13 | onMounted(() => {
14 | selectById();
15 | });
16 |
17 | return {
18 | data,
19 | selectById,
20 | };
21 | }
22 | };
--------------------------------------------------------------------------------
/packages/client/src/components/pageNotFound.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | 额,找不到喔,是不是地址输错了捏?
4 |
5 |
6 |
19 |
--------------------------------------------------------------------------------
/start.js:
--------------------------------------------------------------------------------
1 | const { spawn } = require('child_process');
2 |
3 | const repos = [
4 | {
5 | name: 'client',
6 | startArgs: ['run', 'dev']
7 | },
8 | {
9 | name: 'server',
10 | startArgs: ['run', 'server']
11 | }
12 | ];
13 |
14 |
15 | // 启动子仓库的函数
16 | function startRepo(proj) {
17 | const startCommand = 'npm';
18 | const startOptions = { cwd: `packages/${proj.name}`, stdio: 'inherit' };
19 | const child = spawn(startCommand, proj.startArgs, startOptions);
20 | child.on('error', (error) => {
21 | console.error(`Error starting ${proj.name}:${error.message}`);
22 | });
23 | }
24 |
25 | // 启动所有子仓库
26 | repos.forEach(startRepo);
27 |
--------------------------------------------------------------------------------
/packages/client/src/routers.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @description 客户端路由
3 | * @author uct8086
4 | */
5 | import homePanel from './modules/home/index.vue';
6 | import detailPanel from './modules/detail/index.vue';
7 | import pageNotFound from './components/pageNotFound.vue';
8 | // router.js
9 | import { createRouter, createWebHistory } from 'vue-router';
10 | const routes = [
11 | { path: `/`, component: homePanel },
12 | {
13 | path: `/detail`,
14 | component: detailPanel,
15 | },
16 | { path: '/:pathMatch(.*)*', component: pageNotFound }
17 | ];
18 |
19 | // 创建router实例
20 | const router = createRouter({
21 | history: createWebHistory(),
22 | routes,
23 | });
24 |
25 | export default router;
26 |
27 |
--------------------------------------------------------------------------------
/packages/client/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jsonvee-client",
3 | "version": "1.0.0",
4 | "private": true,
5 | "description": "jsonVee 的前端部分",
6 | "type": "module",
7 | "scripts": {
8 | "build": "vite build",
9 | "dev": "vite",
10 | "preview": "vite preview"
11 | },
12 | "dependencies": {
13 | "vue": "3.4.21"
14 | },
15 | "devDependencies": {
16 | "@vitejs/plugin-vue": "5.0.4",
17 | "axios": "1.12.0",
18 | "element-plus": "2.11.0",
19 | "less": "4.2.0",
20 | "less-loader": "12.2.0",
21 | "unplugin-element-plus": "0.8.0",
22 | "vite": "5.4.21",
23 | "vite-plugin-html": "3.2.2",
24 | "vue-router": "4.3.0"
25 | },
26 | "engines": {
27 | "node": ">=20.11.0",
28 | "npm": ">=10.1.0"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/packages/server/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jsonvee-server",
3 | "version": "1.0.0",
4 | "description": "jsonVee 服务端",
5 | "keywords": [],
6 | "license": "ISC",
7 | "author": "",
8 | "main": "app.js",
9 | "scripts": {
10 | "server": "nodemon app.js",
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | },
13 | "dependencies": {
14 | "body-parser": "2.2.1",
15 | "browserslist": "4.23.0",
16 | "compression": "1.7.4",
17 | "cookie-parser": "1.4.6",
18 | "crypto-js": "4.2.0",
19 | "ejs": "3.1.10",
20 | "express": "4.19.2",
21 | "express-session": "1.18.0",
22 | "express-validator": "7.0.1",
23 | "helmet": "7.1.0",
24 | "mongoose": "8.9.5",
25 | "serve-favicon": "2.5.0"
26 | },
27 | "devDependencies": {
28 | "nodemon": "3.1.10"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/packages/server/utils/aes.js:
--------------------------------------------------------------------------------
1 | const CryptoJS = require('crypto-js'); //引用AES源码js
2 |
3 | const key = CryptoJS.enc.Utf8.parse("1234567890123456"); //十六位十六进制数作为密钥
4 | const iv = CryptoJS.enc.Utf8.parse('6543210987654321'); //十六位十六进制数作为密钥偏移量
5 |
6 | //解密方法
7 | function Decrypt(word) {
8 | let decrypt = CryptoJS.AES.decrypt(word, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
9 | let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
10 | return decryptedStr.toString();
11 | }
12 |
13 | //加密方法
14 | function Encrypt(word) {
15 | let srcs = CryptoJS.enc.Utf8.parse(word);
16 | let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
17 | return encrypted.ciphertext.toString(CryptoJS.enc.Base64);
18 | }
19 |
20 | module.exports = {
21 | Decrypt,
22 | Encrypt
23 | };
--------------------------------------------------------------------------------
/packages/client/src/modules/home/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
12 |
13 |
欢迎支持:
14 |

15 |

16 |
17 |
18 |
34 |
35 |
--------------------------------------------------------------------------------
/packages/server/utils/rsa.js:
--------------------------------------------------------------------------------
1 | let fs = require('fs');
2 | const crypto = require('crypto');
3 |
4 | class RSAKey{
5 | //私钥解密方法
6 | static Decrypt(word) {
7 | try{
8 | console.log('come into fun decrypt.');
9 | let privateKey = fs.readFileSync(__dirname + `/../key/pkcs1_rsa_private_key.pem`).toString();
10 | let decodeData = crypto.privateDecrypt({ key: privateKey, padding: crypto.constants.RSA_PKCS1_PADDING }, Buffer.from(word, 'hex'));
11 | console.log('decodeData: ', decodeData.toString('binary'));
12 | return decodeData.toString('binary');
13 | } catch (e) {
14 | console.error(`Decrypt error is ${e && e.message || ''}`);
15 | return;
16 | }
17 | }
18 |
19 | //公钥加密方法
20 | static Encrypt(word) {
21 | let publicKey = fs.readFileSync(__dirname + `/../key/pkcs8_public_key.pem`).toString();
22 | let encodeData = crypto.publicEncrypt({ key: publicKey, padding: crypto.constants.RSA_PKCS1_PADDING }, Buffer.from(word, 'binary')).toString('hex');
23 | return `${encodeData}`;
24 | }
25 | }
26 |
27 | module.exports = RSAKey;
28 |
29 |
--------------------------------------------------------------------------------
/packages/server/service/road_service.js:
--------------------------------------------------------------------------------
1 | const Road = require('../model/Road');
2 | class RoadService {
3 |
4 | static async selectAll() {
5 | return await Road.find({}).sort({ update_at: -1 });
6 | }
7 |
8 | static async selectById(params) {
9 | return await Road.findById(params.id);
10 | }
11 |
12 | static async createOne(params) {
13 | return new Promise((resolve, reject) => {
14 | Road.create(params, (err, Road) => {
15 | if (err) {
16 | reject(err)
17 | } else {
18 | resolve(Road)
19 | }
20 | })
21 | })
22 | }
23 |
24 | static async updateOne(params) {
25 | return new Promise((resolve, reject) => {
26 | Road.findOneAndUpdate({ _id: params.id }
27 | , {
28 | $set: {
29 | title: params.title,
30 | desc: params.desc
31 | }
32 | }, {
33 | new: true
34 | })
35 | .then(Road => resolve(Road))
36 | .catch(err => reject(err))
37 | })
38 | }
39 |
40 | static async removeOne(params) {
41 | return new Promise((resolve, reject) => {
42 | Road.findOneAndRemove({
43 | _id: params.id
44 | })
45 | .then(Road => resolve(`${Road.title}删除成功`))
46 | .catch(err => reject(err))
47 | })
48 | }
49 |
50 | }
51 | module.exports = RoadService;
52 |
--------------------------------------------------------------------------------
/packages/server/handler/road_handler.js:
--------------------------------------------------------------------------------
1 |
2 | const roadService = require('../service/road_service');
3 |
4 | class RoadHandler {
5 |
6 | /**
7 | * 创建一条记录
8 | */
9 | static async createOne(req, res) {
10 | let params = req.body;
11 | let data = await roadService.createOne(params);
12 | console.log(data)
13 | return res.json({code: 0 , data: {id: data.id}});
14 | }
15 | /**
16 | * 查询所有
17 | */
18 | static async selectAll(req, res) {
19 | let data = await roadService.selectAll();
20 | console.log(data)
21 | return res.json({code: 0 , data});
22 | }
23 | /**
24 | * 根据ID查询
25 | */
26 | static async selectById(req, res) {
27 | let params = req.query;
28 | let data = await roadService.selectById(params);
29 | console.log(data)
30 | return res.json({code: 0 , data});
31 | }
32 |
33 | /**
34 | * 更新
35 | */
36 | static async updateOne(req, res) {
37 | let params = req.body;
38 | let data = await roadService.updateOne(params);
39 | console.log(data)
40 | return res.json({code: 0 , data});
41 | }
42 | /**
43 | * 删除
44 | */
45 | static async removeOne(req, res) {
46 | let params = req.query;
47 | let data = await roadService.removeOne(params);
48 | console.log(data)
49 | return res.json({code: 0 , data});
50 | }
51 |
52 | }
53 | module.exports = RoadHandler;
54 |
--------------------------------------------------------------------------------
/packages/server/config/result_code.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | //业务相关错误定义
3 | BUSINESS: {
4 | PARAMS: {
5 | errcode: 121001,
6 | errmsg: '请求参数出错'
7 | },
8 | AUTHERROR: {
9 | errcode: 123002,
10 | errmsg: '手机号已绑定其他微信'
11 | },
12 | NO_SYS_AUTH: {
13 | errcode: 123003,
14 | errmsg: '无系统权限'
15 | },
16 | MOBILE_VERIFY: {
17 | errcode: 123004,
18 | errmsg: '验证码错误'
19 | },
20 | },
21 | PermissionCode: {
22 | DENY: 124001,
23 | DENY_OTHER_DEVICE: 124002,
24 | DENY_HOSPITAL: 124003,
25 | PERMISSION_DENY:124317,
26 | },
27 | LoginStatusCode:{
28 | NOT_LOGIN:124060,//未登录
29 | LOGIN_ERROR:124061,//登录异常
30 | KICKED:101,//被踢了
31 | NO_PERMISSION:124062,//没有权限
32 | },
33 | /**
34 | * 数据库错误
35 | */
36 | DB: {
37 | NOT_FOUND: {
38 | errcode: 124004,
39 | errmsg: '没有找到数据'
40 | },
41 | CREATE_POOL_ERROR: {
42 | errcode: 124005,
43 | errmsg: '创建数据库连接池失败'
44 | },
45 | UPDATE_ERROR: {
46 | errcode: 124006,
47 | errmsg: '更新数据失败'
48 | }
49 | },
50 | SYSTEM: {
51 | DB_DATA_ERROR: {
52 | errcode: 126000,
53 | errmsg: '数据错误'
54 | },
55 | HTTP_ERROR: {
56 | errcode: 126001,
57 | errmsg: '网络请求失败'
58 | }
59 | },
60 |
61 | }
--------------------------------------------------------------------------------
/packages/server/app.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 | const path = require('path');
3 | const cookieParser = require('cookie-parser');
4 | const bodyParser = require('body-parser');
5 | const compress = require('compression');
6 | const favicon = require('serve-favicon');
7 | const mongoose = require('mongoose');
8 | const config = require('./config');
9 | const baseRouter = require('./router');
10 | const app = express();
11 |
12 | //建立连接, 需要时再打开
13 | // mongoose.connect(config.db.url);
14 | // mongoose.Promise = global.Promise;
15 |
16 | const helmet = require('helmet');//防注入中间件
17 |
18 | app.use(favicon(__dirname + '../../../favicon.ico'))
19 |
20 | app.disable('x-powered-by');
21 | if (!process.env.NODE_ENV) {
22 | process.env.NODE_ENV = 'local';
23 | }
24 |
25 | if(Object.is(process.env.NODE_ENV,'local')){
26 | app.engine('.html', require('ejs').__express);
27 | app.set('view engine', 'html');
28 | }
29 |
30 | app.use(helmet());
31 | app.use(compress());
32 | app.use(bodyParser.json(config.bodyParserJsonOptions));
33 | app.use(bodyParser.urlencoded(config.bodyParserUrlencodedOptions));
34 | app.use(cookieParser());
35 | baseRouter.interceptorHttp(app);
36 |
37 | app.use(express.static(path.join(__dirname, '../../public')));
38 |
39 | app.use(function (err, req, res, next) {
40 | res.status(err.status || 500);
41 | console.log(`path : ${req.path}`, err);
42 |
43 | res.json({
44 | code: -1001,
45 | msg: err.message
46 | });
47 |
48 | });
49 | app.set('host', process.env.IP || 'localhost');
50 | app.set('port', process.env.PORT || 8050);
51 | app.listen(app.get('port'), app.get('host'), function () {
52 | console.log('服务端启动成功,监听端口:' + app.get('port'));
53 | });
54 |
--------------------------------------------------------------------------------
/packages/server/router/road_router.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const RoadHandler = require('../handler/road_handler');
4 | const TestHandler = require('../handler/test_handler');
5 | const { check } = require('express-validator');
6 |
7 | module.exports = {
8 | routers: [
9 | {
10 | path: "/api/detail/getdetail",
11 | handler: TestHandler.getDetail,
12 | method: 'post',
13 | params: []
14 | },
15 | {
16 | path: "/api/detail/createOne",
17 | handler: RoadHandler.createOne,
18 | method: 'post',
19 | params: [
20 | check('title').not().isEmpty() ,
21 | check('desc').not().isEmpty(),
22 | ]
23 | },
24 | {
25 | path: '/api/detail/selectAll',
26 | handler: RoadHandler.selectAll,
27 | method: "get",
28 | params: []
29 | },
30 | {
31 | path: '/api/detail/selectById',
32 | handler: RoadHandler.selectById,
33 | method: "get",
34 | params: [
35 | check('id').not().isEmpty()
36 | ]
37 | },
38 | {
39 | path: '/api/detail/updateOne',
40 | handler: RoadHandler.updateOne,
41 | method: "post",
42 | params: [
43 | check('id').not().isEmpty(),
44 | check('title').not().isEmpty() ,
45 | check('desc').not().isEmpty(),
46 | ]
47 | },
48 | {
49 | path: '/api/detail/removeOne',
50 | handler: RoadHandler.removeOne,
51 | method: "get",
52 | params: [
53 | check('id').not().isEmpty(),
54 | ]
55 | },
56 |
57 | ]
58 | };
59 |
--------------------------------------------------------------------------------
/packages/client/vite.config.js:
--------------------------------------------------------------------------------
1 | import path from 'path';
2 | import { defineConfig } from 'vite'
3 | import vue from '@vitejs/plugin-vue'
4 | import ElementPlus from 'unplugin-element-plus/vite'
5 | import { createHtmlPlugin } from 'vite-plugin-html';
6 |
7 | const proxyPort = 8050;
8 |
9 | // https://vitejs.dev/config/
10 | export default defineConfig({
11 | resolve: {
12 | alias: {
13 | vue: 'vue/dist/vue.esm-bundler.js',
14 | },
15 | },
16 | plugins: [
17 | vue(),
18 | ElementPlus({
19 | // 如果你需要使用全局样式,则设置 importStyle: true
20 | importStyle: true,
21 | }),
22 | createHtmlPlugin({
23 | minify: true,
24 | pages: [
25 | {
26 | filename: 'index.html',
27 | template: 'index.html',
28 | injectOptions: {
29 | data: {
30 | title: 'jsonVee 项目模板',
31 | },
32 | },
33 | },
34 | ],
35 | }),
36 | {
37 | name: 'custom-success-message',
38 | apply: 'serve', // 仅在开发服务器启动时应用
39 | configureServer(server) {
40 | server.httpServer.on('listening', () => {
41 | console.log(`客户端启动成功,监听端口:${server.config.server.port}`);
42 | });
43 | },
44 | },
45 | ],
46 | css: {
47 | preprocessorOptions: {
48 | less: {
49 | // 允许在 Less 中使用 JavaScript 表达式(可选,根据需要开启)
50 | javascriptEnabled: true,
51 | },
52 | },
53 | },
54 | build: {
55 | outDir: '../../public', // 将构建输出目录设为 'dist/custom-build'
56 | rollupOptions: {
57 | input: {
58 | // 定义不同的入口
59 | main: './src/main.js',
60 | // 可以定义更多入口
61 | // sub: './src/sub.js',
62 | },
63 | },
64 | },
65 | //这个是新增的本地服务器与proxy代理设置
66 | server: {
67 | open: false,
68 | port: 8086,
69 | https: false,
70 | hotOnly: false,
71 | proxy: {
72 | "/api": {
73 | target: `http://localhost:${proxyPort}`,
74 | changeOrigin: true, //是否跨域
75 | // rewrite: (path) => path.replace(/^\/api/, '/api'),
76 | },
77 | },
78 | },
79 | })
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # jsonVee
2 |
3 | 一个高效的前后端集成框架,基于Vite、Vue、Webpack和Node.js。一键启动,开箱即用。
4 |
5 | An efficient front-end and back-end integration framework based on Vite, Vue, Webpack, and Node.js. One click start, ready to use out of the box.
6 |
7 | ## 更新
8 |
9 | - 2024-04-18 `重大更新`
10 |
11 | 1. 采用monoRepo框架来重构
12 | 2. 前端在 `packages/client` 中,并采用Vite重构,更快,依赖更简单
13 | 3. 服务端在 `packages/server` 中,升级了express,更高效,更易维护
14 |
15 | - 2022-05-27
16 |
17 | 1. 添加TypeScript支持,并新建typescript分支
18 |
19 | - 2022-04-06
20 |
21 | 1. 添加element-plus支持
22 | 2. 修复已知Bug
23 |
24 | - 2021-11-17
25 |
26 | 1. 升级Webpack,从Webpack4升级到最新的Webpack5
27 | 2. 调整打包逻辑,移除老代码
28 | 3. 更新依赖包,到最新版本
29 | 4. 切换到Vue3.0,欢迎大家尝鲜。
30 | ## 运行与调试
31 |
32 | 1. 安装依赖(也可以安装 lerna 来管理多个包,这里为了方便,直接安装所有包的依赖)
33 |
34 | ```bash
35 | # 在项目根目录运行
36 |
37 | pnpm install
38 | ```
39 | 2. 安装MongoDB
40 |
41 | - MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center/community
42 |
43 | 3. 基本运行项目
44 |
45 | 3.0 一次性启动前后端
46 | ```bash
47 | # 在项目根目录运行
48 |
49 | pnpm start
50 |
51 | ```
52 |
53 | 3.1 启动服务端
54 | ```bash
55 | cd packages/server
56 |
57 | npm run server
58 | ```
59 | 3.2 启动前端
60 | ```bash
61 | cd packages/client
62 |
63 | npm run start
64 | ```
65 | 4. 发布
66 | ```bash
67 | cd packages/client
68 |
69 | npm run build
70 | ```
71 | 此时会执行webpack的构建,目标文件会放到public目录
72 |
73 | ## 目录
74 |
75 | --- `/project`
76 | -------- `/packages` // monorepo包管理
77 | -------------- `/client `
78 | -------------------- `/assets ` // 资源文件目录,存放图片、样式、字体等
79 | -------------------- `/common ` // 公共脚本,存放一些工具函数,工具类
80 | -------------------- `/components ` // 存放抽象后的公司Vue组件
81 | -------------------- `/modules ` // 主要页面逻辑以模块的形式分开
82 | -------------------------------- `/home ` // 页面,一个页面一个目录
83 | -------------------------------- `/detail ` // 页面,一个页面一个目录
84 | -------------------- `/main.js ` // 项目中的主函数
85 | -------------------- `/routers.js ` // 项目路由
86 | -------------- `/server `
87 | -------------------- `/config ` // 服务端的一些配置文件
88 | -------------------- `/handler ` // 处理前端的请求
89 | -------------------- `/middleware ` // 中间件
90 | -------------------- `/mock ` // 本地Mock数据
91 | -------------------- `/router ` // 路由
92 | -------------------- `/service ` // 对Handler的进一步封装
93 |
94 |
95 | ## 关于
96 |
97 | [Vue 3.x 文档](https://v3.cn.vuejs.org/)
98 |
99 | [Node.js 文档](http://nodejs.cn/)
100 |
101 | [Express 框架学习](https://github.com/expressjs/express)
102 |
103 |
104 | ## 注意事项
105 |
106 | 因为是新的版本,所以要求Node.js更新到版本20及以上。可以用Nvm来进行Node.js多版本管理。
--------------------------------------------------------------------------------
/packages/client/src/common/utils/axios_helper.ts:
--------------------------------------------------------------------------------
1 | import axios, { AxiosRequestConfig } from 'axios';
2 | const createAxiosRequest = Symbol('createAxiosRequest');
3 | const axiosRequest = Symbol('axiosRequest');
4 |
5 | axios.interceptors.request.use(function (config) {//请求拦截
6 | if (window.ActiveXObject || 'ActiveXObject' in window) {//兼容IE下加哈西值,每次都重新請求
7 | let params = config.params || {};
8 | params.hash = Math.random();
9 | }
10 | return config;
11 | }, function (error) {
12 | return Promise.reject(error);
13 | });
14 |
15 | axios.interceptors.response.use(function (response) {//响应拦截
16 | /* //未登录就跳转到登录页面
17 | if( (Object.is(response.config.url,url.GET_USERINFO) || Object.is(response.config.url,url.GET_HEADER_DOM))
18 | && Object.is(response.data.code,constParams.PermissionCode.DENY) ){
19 | window.location.href = url.LOGOUT;
20 | } */
21 | return response;
22 | }, function (error) {
23 | return Promise.reject(error);
24 | });
25 |
26 | const defaultOpts = {
27 | headers: {
28 | 'X-Requested-With': 'XMLHttpRequest',
29 | 'content-type': 'application/json',
30 | },
31 | timeout: 60 * 1000,
32 | withCredentials: true,
33 | };
34 |
35 | export default class HttpHelper {
36 |
37 | static get(url: string, params = {}, timeout?: number, callback?: any) {
38 | return this[createAxiosRequest]({ method: 'get', url, params, timeout }, callback);
39 | }
40 |
41 |
42 | static post(url: string, data = {}, timeout?: number, callback?: any) {
43 | return this[createAxiosRequest]({ method: 'post', url, data, timeout }, callback);
44 | }
45 |
46 | static [createAxiosRequest](opts: AxiosRequestConfig, callback: any) {
47 | if (!opts.timeout || (typeof opts.timeout !== 'number')) {
48 | delete opts.timeout;
49 | }
50 | opts = Object.assign({}, defaultOpts, opts);
51 | if (typeof callback === 'function') {
52 | return this[axiosRequest](opts).then(callback());
53 | } else {
54 | return this[axiosRequest](opts);
55 | }
56 | }
57 |
58 | static [axiosRequest](opts: AxiosRequestConfig) {//私有方法
59 |
60 | return new Promise((resolve, reject) => {
61 |
62 | axios(opts).then(function (response) {
63 | if (response.data.code === 0) {
64 | return resolve(response.data.data);
65 | } else {
66 | return resolve('pageNotFound');
67 | }
68 | })
69 | .catch(function (error) {
70 | if (error.response) {//发出了请求并且服务响应了状态码
71 | // console.log(error.response.data);
72 | // console.log(error.response.status);
73 | // console.log(error.response.headers);
74 | return reject(`发出了请求并且服务响应了状态码 : ${error.response.status}`);
75 | } else if (error.request) {//发出了请求但是没有接收到响应
76 | // console.log(error.request);
77 | return reject(`发出了请求但是没有接收到响应 : ${error.request}`);
78 | } else {//在发送请求的时候出现了一些错误
79 | // console.log('Error', error.message);
80 | return reject(`其他异常:${error.message}`);
81 | }
82 | });
83 | });
84 | }
85 | }
--------------------------------------------------------------------------------
/packages/server/router/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * 路由封装,基于 express-validator 组件 https://github.com/ctavan/express-validator
3 | * 其中 express-validator 中封装了validator.js (https://github.com/chriso/validator.js)实现了里面的所有方法
4 | * 组件中一般使用 Check 来校验请求参数,如:
5 | *
6 | * check('page').isInt().not().isEmpty() ,
7 | *
8 | * 这一句校验了Page参数,是否是整形、非空(not()方法定义的是下一个调用的取反,也就是isEmpty()的取反,就是非空)
9 | *
10 | * 在Express的回调中用 validationResult 来捕获参数校验中出现的错误,如:
11 | *
12 | * const errors = validationResult(req);
13 | if (!errors.isEmpty()) {
14 | return res.status(422).json({ errors: `参数校验不通过:${JSON.stringify(errors.mapped())}` });
15 | }
16 | *
17 | * 通过validationResult(req)取到校验的结果,如果没有错,就是 errors.isEmpty() 为True
18 | *
19 | * sanitize也是用于校验请求参数,与Check不同的是,它是把相应的入参转换成合格的值,如:
20 | *
21 | * sanitize('keyword').escape()
22 | *
23 | * 这一句校验了关键字的入参,替换 <, >, &, ', " 和 / 为 HTML entities
24 | *
25 | * 除此之外,还可以自定义参数校验,如:
26 | *
27 | * check('email').custom(value => {
28 | return findUserByEmail(value).then(user => {
29 | throw new Error('this email is already in use');
30 | })
31 | }),
32 | *
33 | * 更多详细的Api请参阅上述Git地址。
34 | * 2024-04-18 更新
35 | *
36 | * **/
37 | 'use strict';
38 | const fs = require("fs");
39 | const path = require("path");
40 | const { validationResult } = require('express-validator');
41 |
42 |
43 | class BaseRouter{
44 |
45 | /**
46 | * 拦截请求添加参数校验
47 | * @param {*} app Express上下文
48 | */
49 | static interceptorHttp(app){
50 |
51 | const routers = BaseRouter._getRouters();
52 |
53 | routers.forEach((item,index)=>{
54 | BaseRouter._dispatchHttp(app,item);
55 | })
56 | }
57 |
58 | /**
59 | * 分发请求和参数校验规则
60 | * @param {*} app Express上下文
61 | * @param {*} config 路由详情
62 | */
63 | static _dispatchHttp(app,config){
64 | let method = config.method || "get";
65 | app[method](config.path, config.params, (req, res, next) => {
66 | //参数校验,如果有异常就抛出。
67 | const errors = validationResult(req);
68 | if (!errors.isEmpty()) {
69 | return res.status(422).json({ errors: `参数校验不通过:${JSON.stringify(errors.mapped())}` });
70 | }
71 | if (!config.handler || typeof config.handler !== "function") {
72 | throw new Error("path: " + config.path + " method: " + config.method || "GET " + " handler must be function");
73 | }
74 |
75 | /* for (const [key, value] of Object.entries(req.query)) {//解码参数
76 | if(typeof req.query[key] === 'string' ){
77 | req.query[key] = BaseRouter._doHtmlUnEncode(value);
78 | }
79 | } */
80 |
81 | config.handler(req, res, next);
82 |
83 | });
84 | }
85 |
86 | static _doHtmlUnEncode(sStr){
87 | if (sStr == '' || sStr == null || sStr == 'null') {
88 | return sStr;
89 | } else {
90 | sStr = sStr.toString();
91 | }
92 | sStr = sStr.replace(/&/g,"&");
93 | sStr = sStr.replace(/>/g,">");
94 | sStr = sStr.replace(/</g,"<");
95 | sStr = sStr.replace(/"/g,'"');
96 | sStr = sStr.replace(/'/g,"'");
97 | return sStr;
98 | }
99 |
100 | /**
101 | * 得到当前目录下的所有路由
102 | */
103 | static _getRouters(){
104 | let routers = [];
105 | const routerPath = "./";
106 | fs.readdirSync(path.join(__dirname, routerPath)).filter(file => file.indexOf(".") !== 0).forEach(file => {
107 | let router = require(path.join(__dirname, routerPath, file));
108 |
109 | if (router && router.routers && file !== 'index.js') {
110 | let env = process.env.NODE_ENV;
111 | if (env !== 'local') {
112 | if (file != 'local_router.js') {
113 | routers = routers.concat(router.routers);
114 | }
115 | } else {
116 | routers = routers.concat(router.routers);
117 | }
118 |
119 | }
120 |
121 | });
122 | return routers;
123 | }
124 |
125 |
126 | }
127 |
128 | module.exports = BaseRouter;
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .: {}
10 |
11 | packages/client:
12 | dependencies:
13 | vue:
14 | specifier: 3.4.21
15 | version: 3.4.21
16 | devDependencies:
17 | '@vitejs/plugin-vue':
18 | specifier: 5.0.4
19 | version: 5.0.4(vite@5.4.21(less@4.2.0)(terser@5.30.3))(vue@3.4.21)
20 | axios:
21 | specifier: 1.12.0
22 | version: 1.12.0
23 | element-plus:
24 | specifier: 2.11.0
25 | version: 2.11.0(vue@3.4.21)
26 | less:
27 | specifier: 4.2.0
28 | version: 4.2.0
29 | less-loader:
30 | specifier: 12.2.0
31 | version: 12.2.0(less@4.2.0)
32 | unplugin-element-plus:
33 | specifier: 0.8.0
34 | version: 0.8.0(rollup@4.52.5)
35 | vite:
36 | specifier: 5.4.21
37 | version: 5.4.21(less@4.2.0)(terser@5.30.3)
38 | vite-plugin-html:
39 | specifier: 3.2.2
40 | version: 3.2.2(vite@5.4.21(less@4.2.0)(terser@5.30.3))
41 | vue-router:
42 | specifier: 4.3.0
43 | version: 4.3.0(vue@3.4.21)
44 |
45 | packages/server:
46 | dependencies:
47 | body-parser:
48 | specifier: 2.2.1
49 | version: 2.2.1
50 | browserslist:
51 | specifier: 4.23.0
52 | version: 4.23.0
53 | compression:
54 | specifier: 1.7.4
55 | version: 1.7.4
56 | cookie-parser:
57 | specifier: 1.4.6
58 | version: 1.4.6
59 | crypto-js:
60 | specifier: 4.2.0
61 | version: 4.2.0
62 | ejs:
63 | specifier: 3.1.10
64 | version: 3.1.10
65 | express:
66 | specifier: 4.19.2
67 | version: 4.19.2
68 | express-session:
69 | specifier: 1.18.0
70 | version: 1.18.0
71 | express-validator:
72 | specifier: 7.0.1
73 | version: 7.0.1
74 | helmet:
75 | specifier: 7.1.0
76 | version: 7.1.0
77 | mongoose:
78 | specifier: 8.9.5
79 | version: 8.9.5
80 | serve-favicon:
81 | specifier: 2.5.0
82 | version: 2.5.0
83 | devDependencies:
84 | nodemon:
85 | specifier: 3.1.10
86 | version: 3.1.10
87 |
88 | packages:
89 |
90 | '@babel/helper-string-parser@7.24.1':
91 | resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
92 | engines: {node: '>=6.9.0'}
93 |
94 | '@babel/helper-validator-identifier@7.22.20':
95 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
96 | engines: {node: '>=6.9.0'}
97 |
98 | '@babel/parser@7.24.4':
99 | resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
100 | engines: {node: '>=6.0.0'}
101 | hasBin: true
102 |
103 | '@babel/types@7.24.0':
104 | resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
105 | engines: {node: '>=6.9.0'}
106 |
107 | '@ctrl/tinycolor@3.6.1':
108 | resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
109 | engines: {node: '>=10'}
110 |
111 | '@element-plus/icons-vue@2.3.1':
112 | resolution: {integrity: sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==}
113 | peerDependencies:
114 | vue: ^3.2.0
115 |
116 | '@esbuild/aix-ppc64@0.21.5':
117 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
118 | engines: {node: '>=12'}
119 | cpu: [ppc64]
120 | os: [aix]
121 |
122 | '@esbuild/android-arm64@0.21.5':
123 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
124 | engines: {node: '>=12'}
125 | cpu: [arm64]
126 | os: [android]
127 |
128 | '@esbuild/android-arm@0.21.5':
129 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
130 | engines: {node: '>=12'}
131 | cpu: [arm]
132 | os: [android]
133 |
134 | '@esbuild/android-x64@0.21.5':
135 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
136 | engines: {node: '>=12'}
137 | cpu: [x64]
138 | os: [android]
139 |
140 | '@esbuild/darwin-arm64@0.21.5':
141 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
142 | engines: {node: '>=12'}
143 | cpu: [arm64]
144 | os: [darwin]
145 |
146 | '@esbuild/darwin-x64@0.21.5':
147 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
148 | engines: {node: '>=12'}
149 | cpu: [x64]
150 | os: [darwin]
151 |
152 | '@esbuild/freebsd-arm64@0.21.5':
153 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
154 | engines: {node: '>=12'}
155 | cpu: [arm64]
156 | os: [freebsd]
157 |
158 | '@esbuild/freebsd-x64@0.21.5':
159 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
160 | engines: {node: '>=12'}
161 | cpu: [x64]
162 | os: [freebsd]
163 |
164 | '@esbuild/linux-arm64@0.21.5':
165 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
166 | engines: {node: '>=12'}
167 | cpu: [arm64]
168 | os: [linux]
169 |
170 | '@esbuild/linux-arm@0.21.5':
171 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
172 | engines: {node: '>=12'}
173 | cpu: [arm]
174 | os: [linux]
175 |
176 | '@esbuild/linux-ia32@0.21.5':
177 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
178 | engines: {node: '>=12'}
179 | cpu: [ia32]
180 | os: [linux]
181 |
182 | '@esbuild/linux-loong64@0.21.5':
183 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
184 | engines: {node: '>=12'}
185 | cpu: [loong64]
186 | os: [linux]
187 |
188 | '@esbuild/linux-mips64el@0.21.5':
189 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
190 | engines: {node: '>=12'}
191 | cpu: [mips64el]
192 | os: [linux]
193 |
194 | '@esbuild/linux-ppc64@0.21.5':
195 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
196 | engines: {node: '>=12'}
197 | cpu: [ppc64]
198 | os: [linux]
199 |
200 | '@esbuild/linux-riscv64@0.21.5':
201 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
202 | engines: {node: '>=12'}
203 | cpu: [riscv64]
204 | os: [linux]
205 |
206 | '@esbuild/linux-s390x@0.21.5':
207 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
208 | engines: {node: '>=12'}
209 | cpu: [s390x]
210 | os: [linux]
211 |
212 | '@esbuild/linux-x64@0.21.5':
213 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
214 | engines: {node: '>=12'}
215 | cpu: [x64]
216 | os: [linux]
217 |
218 | '@esbuild/netbsd-x64@0.21.5':
219 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
220 | engines: {node: '>=12'}
221 | cpu: [x64]
222 | os: [netbsd]
223 |
224 | '@esbuild/openbsd-x64@0.21.5':
225 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
226 | engines: {node: '>=12'}
227 | cpu: [x64]
228 | os: [openbsd]
229 |
230 | '@esbuild/sunos-x64@0.21.5':
231 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
232 | engines: {node: '>=12'}
233 | cpu: [x64]
234 | os: [sunos]
235 |
236 | '@esbuild/win32-arm64@0.21.5':
237 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
238 | engines: {node: '>=12'}
239 | cpu: [arm64]
240 | os: [win32]
241 |
242 | '@esbuild/win32-ia32@0.21.5':
243 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
244 | engines: {node: '>=12'}
245 | cpu: [ia32]
246 | os: [win32]
247 |
248 | '@esbuild/win32-x64@0.21.5':
249 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
250 | engines: {node: '>=12'}
251 | cpu: [x64]
252 | os: [win32]
253 |
254 | '@floating-ui/core@1.6.0':
255 | resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==}
256 |
257 | '@floating-ui/dom@1.6.3':
258 | resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==}
259 |
260 | '@floating-ui/utils@0.2.1':
261 | resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==}
262 |
263 | '@jridgewell/gen-mapping@0.3.5':
264 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
265 | engines: {node: '>=6.0.0'}
266 |
267 | '@jridgewell/resolve-uri@3.1.2':
268 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
269 | engines: {node: '>=6.0.0'}
270 |
271 | '@jridgewell/set-array@1.2.1':
272 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
273 | engines: {node: '>=6.0.0'}
274 |
275 | '@jridgewell/source-map@0.3.6':
276 | resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
277 |
278 | '@jridgewell/sourcemap-codec@1.4.15':
279 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
280 |
281 | '@jridgewell/trace-mapping@0.3.25':
282 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
283 |
284 | '@mongodb-js/saslprep@1.1.9':
285 | resolution: {integrity: sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==}
286 |
287 | '@nodelib/fs.scandir@2.1.5':
288 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
289 | engines: {node: '>= 8'}
290 |
291 | '@nodelib/fs.stat@2.0.5':
292 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
293 | engines: {node: '>= 8'}
294 |
295 | '@nodelib/fs.walk@1.2.8':
296 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
297 | engines: {node: '>= 8'}
298 |
299 | '@rollup/pluginutils@4.2.1':
300 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
301 | engines: {node: '>= 8.0.0'}
302 |
303 | '@rollup/pluginutils@5.1.0':
304 | resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
305 | engines: {node: '>=14.0.0'}
306 | peerDependencies:
307 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
308 | peerDependenciesMeta:
309 | rollup:
310 | optional: true
311 |
312 | '@rollup/rollup-android-arm-eabi@4.52.5':
313 | resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==}
314 | cpu: [arm]
315 | os: [android]
316 |
317 | '@rollup/rollup-android-arm64@4.52.5':
318 | resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==}
319 | cpu: [arm64]
320 | os: [android]
321 |
322 | '@rollup/rollup-darwin-arm64@4.52.5':
323 | resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==}
324 | cpu: [arm64]
325 | os: [darwin]
326 |
327 | '@rollup/rollup-darwin-x64@4.52.5':
328 | resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==}
329 | cpu: [x64]
330 | os: [darwin]
331 |
332 | '@rollup/rollup-freebsd-arm64@4.52.5':
333 | resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==}
334 | cpu: [arm64]
335 | os: [freebsd]
336 |
337 | '@rollup/rollup-freebsd-x64@4.52.5':
338 | resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==}
339 | cpu: [x64]
340 | os: [freebsd]
341 |
342 | '@rollup/rollup-linux-arm-gnueabihf@4.52.5':
343 | resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==}
344 | cpu: [arm]
345 | os: [linux]
346 |
347 | '@rollup/rollup-linux-arm-musleabihf@4.52.5':
348 | resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==}
349 | cpu: [arm]
350 | os: [linux]
351 |
352 | '@rollup/rollup-linux-arm64-gnu@4.52.5':
353 | resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==}
354 | cpu: [arm64]
355 | os: [linux]
356 |
357 | '@rollup/rollup-linux-arm64-musl@4.52.5':
358 | resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==}
359 | cpu: [arm64]
360 | os: [linux]
361 |
362 | '@rollup/rollup-linux-loong64-gnu@4.52.5':
363 | resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==}
364 | cpu: [loong64]
365 | os: [linux]
366 |
367 | '@rollup/rollup-linux-ppc64-gnu@4.52.5':
368 | resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==}
369 | cpu: [ppc64]
370 | os: [linux]
371 |
372 | '@rollup/rollup-linux-riscv64-gnu@4.52.5':
373 | resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==}
374 | cpu: [riscv64]
375 | os: [linux]
376 |
377 | '@rollup/rollup-linux-riscv64-musl@4.52.5':
378 | resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==}
379 | cpu: [riscv64]
380 | os: [linux]
381 |
382 | '@rollup/rollup-linux-s390x-gnu@4.52.5':
383 | resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==}
384 | cpu: [s390x]
385 | os: [linux]
386 |
387 | '@rollup/rollup-linux-x64-gnu@4.52.5':
388 | resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==}
389 | cpu: [x64]
390 | os: [linux]
391 |
392 | '@rollup/rollup-linux-x64-musl@4.52.5':
393 | resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==}
394 | cpu: [x64]
395 | os: [linux]
396 |
397 | '@rollup/rollup-openharmony-arm64@4.52.5':
398 | resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==}
399 | cpu: [arm64]
400 | os: [openharmony]
401 |
402 | '@rollup/rollup-win32-arm64-msvc@4.52.5':
403 | resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==}
404 | cpu: [arm64]
405 | os: [win32]
406 |
407 | '@rollup/rollup-win32-ia32-msvc@4.52.5':
408 | resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==}
409 | cpu: [ia32]
410 | os: [win32]
411 |
412 | '@rollup/rollup-win32-x64-gnu@4.52.5':
413 | resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==}
414 | cpu: [x64]
415 | os: [win32]
416 |
417 | '@rollup/rollup-win32-x64-msvc@4.52.5':
418 | resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==}
419 | cpu: [x64]
420 | os: [win32]
421 |
422 | '@sxzz/popperjs-es@2.11.7':
423 | resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
424 |
425 | '@types/estree@1.0.5':
426 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
427 |
428 | '@types/estree@1.0.8':
429 | resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
430 |
431 | '@types/lodash-es@4.17.12':
432 | resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
433 |
434 | '@types/lodash@4.17.0':
435 | resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==}
436 |
437 | '@types/web-bluetooth@0.0.16':
438 | resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
439 |
440 | '@types/webidl-conversions@7.0.3':
441 | resolution: {integrity: sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==}
442 |
443 | '@types/whatwg-url@11.0.3':
444 | resolution: {integrity: sha512-z1ELvMijRL1QmU7QuzDkeYXSF2+dXI0ITKoQsIoVKcNBOiK5RMmWy+pYYxJTHFt8vkpZe7UsvRErQwcxZkjoUw==}
445 |
446 | '@vitejs/plugin-vue@5.0.4':
447 | resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
448 | engines: {node: ^18.0.0 || >=20.0.0}
449 | peerDependencies:
450 | vite: ^5.0.0
451 | vue: ^3.2.25
452 |
453 | '@vue/compiler-core@3.4.21':
454 | resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==}
455 |
456 | '@vue/compiler-dom@3.4.21':
457 | resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
458 |
459 | '@vue/compiler-sfc@3.4.21':
460 | resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
461 |
462 | '@vue/compiler-ssr@3.4.21':
463 | resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
464 |
465 | '@vue/devtools-api@6.6.1':
466 | resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
467 |
468 | '@vue/reactivity@3.4.21':
469 | resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==}
470 |
471 | '@vue/runtime-core@3.4.21':
472 | resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==}
473 |
474 | '@vue/runtime-dom@3.4.21':
475 | resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==}
476 |
477 | '@vue/server-renderer@3.4.21':
478 | resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==}
479 | peerDependencies:
480 | vue: 3.4.21
481 |
482 | '@vue/shared@3.4.21':
483 | resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
484 |
485 | '@vueuse/core@9.13.0':
486 | resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
487 |
488 | '@vueuse/metadata@9.13.0':
489 | resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
490 |
491 | '@vueuse/shared@9.13.0':
492 | resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
493 |
494 | accepts@1.3.8:
495 | resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
496 | engines: {node: '>= 0.6'}
497 |
498 | acorn@8.11.3:
499 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
500 | engines: {node: '>=0.4.0'}
501 | hasBin: true
502 |
503 | ansi-styles@4.3.0:
504 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
505 | engines: {node: '>=8'}
506 |
507 | anymatch@3.1.3:
508 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
509 | engines: {node: '>= 8'}
510 |
511 | array-flatten@1.1.1:
512 | resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
513 |
514 | async-validator@4.2.5:
515 | resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
516 |
517 | async@3.2.5:
518 | resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
519 |
520 | asynckit@0.4.0:
521 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
522 |
523 | axios@1.12.0:
524 | resolution: {integrity: sha512-oXTDccv8PcfjZmPGlWsPSwtOJCZ/b6W5jAMCNcfwJbCzDckwG0jrYJFaWH1yvivfCXjVzV/SPDEhMB3Q+DSurg==}
525 |
526 | balanced-match@1.0.2:
527 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
528 |
529 | binary-extensions@2.3.0:
530 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
531 | engines: {node: '>=8'}
532 |
533 | body-parser@1.20.2:
534 | resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
535 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
536 |
537 | body-parser@2.2.1:
538 | resolution: {integrity: sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==}
539 | engines: {node: '>=18'}
540 |
541 | boolbase@1.0.0:
542 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
543 |
544 | brace-expansion@1.1.11:
545 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
546 |
547 | brace-expansion@2.0.1:
548 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
549 |
550 | braces@3.0.2:
551 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
552 | engines: {node: '>=8'}
553 |
554 | browserslist@4.23.0:
555 | resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
556 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
557 | hasBin: true
558 |
559 | bson@6.10.1:
560 | resolution: {integrity: sha512-P92xmHDQjSKPLHqFxefqMxASNq/aWJMEZugpCjf+AF/pgcUpMMQCg7t7+ewko0/u8AapvF3luf/FoehddEK+sA==}
561 | engines: {node: '>=16.20.1'}
562 | deprecated: a critical bug affecting only useBigInt64=true deserialization usage is fixed in bson@6.10.3
563 |
564 | buffer-from@1.1.2:
565 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
566 |
567 | bytes@3.0.0:
568 | resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
569 | engines: {node: '>= 0.8'}
570 |
571 | bytes@3.1.2:
572 | resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
573 | engines: {node: '>= 0.8'}
574 |
575 | call-bind-apply-helpers@1.0.2:
576 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
577 | engines: {node: '>= 0.4'}
578 |
579 | call-bind@1.0.7:
580 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
581 | engines: {node: '>= 0.4'}
582 |
583 | call-bound@1.0.4:
584 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
585 | engines: {node: '>= 0.4'}
586 |
587 | camel-case@4.1.2:
588 | resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
589 |
590 | caniuse-lite@1.0.30001603:
591 | resolution: {integrity: sha512-iL2iSS0eDILMb9n5yKQoTBim9jMZ0Yrk8g0N9K7UzYyWnfIKzXBZD5ngpM37ZcL/cv0Mli8XtVMRYMQAfFpi5Q==}
592 |
593 | chalk@4.1.2:
594 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
595 | engines: {node: '>=10'}
596 |
597 | chokidar@3.6.0:
598 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
599 | engines: {node: '>= 8.10.0'}
600 |
601 | clean-css@5.3.3:
602 | resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
603 | engines: {node: '>= 10.0'}
604 |
605 | color-convert@2.0.1:
606 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
607 | engines: {node: '>=7.0.0'}
608 |
609 | color-name@1.1.4:
610 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
611 |
612 | colorette@2.0.20:
613 | resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
614 |
615 | combined-stream@1.0.8:
616 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
617 | engines: {node: '>= 0.8'}
618 |
619 | commander@2.20.3:
620 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
621 |
622 | commander@8.3.0:
623 | resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
624 | engines: {node: '>= 12'}
625 |
626 | compressible@2.0.18:
627 | resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
628 | engines: {node: '>= 0.6'}
629 |
630 | compression@1.7.4:
631 | resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
632 | engines: {node: '>= 0.8.0'}
633 |
634 | concat-map@0.0.1:
635 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
636 |
637 | connect-history-api-fallback@1.6.0:
638 | resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==}
639 | engines: {node: '>=0.8'}
640 |
641 | consola@2.15.3:
642 | resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==}
643 |
644 | content-disposition@0.5.4:
645 | resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
646 | engines: {node: '>= 0.6'}
647 |
648 | content-type@1.0.5:
649 | resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
650 | engines: {node: '>= 0.6'}
651 |
652 | cookie-parser@1.4.6:
653 | resolution: {integrity: sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==}
654 | engines: {node: '>= 0.8.0'}
655 |
656 | cookie-signature@1.0.6:
657 | resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
658 |
659 | cookie-signature@1.0.7:
660 | resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==}
661 |
662 | cookie@0.4.1:
663 | resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==}
664 | engines: {node: '>= 0.6'}
665 |
666 | cookie@0.6.0:
667 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
668 | engines: {node: '>= 0.6'}
669 |
670 | copy-anything@2.0.6:
671 | resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==}
672 |
673 | crypto-js@4.2.0:
674 | resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==}
675 |
676 | css-select@4.3.0:
677 | resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
678 |
679 | css-what@6.1.0:
680 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
681 | engines: {node: '>= 6'}
682 |
683 | csstype@3.1.3:
684 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
685 |
686 | dayjs@1.11.18:
687 | resolution: {integrity: sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==}
688 |
689 | debug@2.6.9:
690 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
691 | peerDependencies:
692 | supports-color: '*'
693 | peerDependenciesMeta:
694 | supports-color:
695 | optional: true
696 |
697 | debug@4.3.4:
698 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
699 | engines: {node: '>=6.0'}
700 | peerDependencies:
701 | supports-color: '*'
702 | peerDependenciesMeta:
703 | supports-color:
704 | optional: true
705 |
706 | debug@4.4.3:
707 | resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
708 | engines: {node: '>=6.0'}
709 | peerDependencies:
710 | supports-color: '*'
711 | peerDependenciesMeta:
712 | supports-color:
713 | optional: true
714 |
715 | define-data-property@1.1.4:
716 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
717 | engines: {node: '>= 0.4'}
718 |
719 | delayed-stream@1.0.0:
720 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
721 | engines: {node: '>=0.4.0'}
722 |
723 | depd@2.0.0:
724 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
725 | engines: {node: '>= 0.8'}
726 |
727 | destroy@1.2.0:
728 | resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
729 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
730 |
731 | dom-serializer@1.4.1:
732 | resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
733 |
734 | domelementtype@2.3.0:
735 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
736 |
737 | domhandler@4.3.1:
738 | resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
739 | engines: {node: '>= 4'}
740 |
741 | domutils@2.8.0:
742 | resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
743 |
744 | dot-case@3.0.4:
745 | resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
746 |
747 | dotenv-expand@8.0.3:
748 | resolution: {integrity: sha512-SErOMvge0ZUyWd5B0NXMQlDkN+8r+HhVUsxgOO7IoPDOdDRD2JjExpN6y3KnFR66jsJMwSn1pqIivhU5rcJiNg==}
749 | engines: {node: '>=12'}
750 |
751 | dotenv@16.4.5:
752 | resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
753 | engines: {node: '>=12'}
754 |
755 | dunder-proto@1.0.1:
756 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
757 | engines: {node: '>= 0.4'}
758 |
759 | ee-first@1.1.1:
760 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
761 |
762 | ejs@3.1.10:
763 | resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
764 | engines: {node: '>=0.10.0'}
765 | hasBin: true
766 |
767 | electron-to-chromium@1.4.736:
768 | resolution: {integrity: sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q==}
769 |
770 | element-plus@2.11.0:
771 | resolution: {integrity: sha512-Kdr3knlpEpUTfEDbWIyh+/CvQbeNb+Kig971M+G/QinVcD2BfsUNWo5OCogaF0Nvy/BuBFdZ7KoS+PtpWBzidw==}
772 | peerDependencies:
773 | vue: ^3.2.0
774 |
775 | encodeurl@1.0.2:
776 | resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
777 | engines: {node: '>= 0.8'}
778 |
779 | entities@2.2.0:
780 | resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
781 |
782 | entities@4.5.0:
783 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
784 | engines: {node: '>=0.12'}
785 |
786 | errno@0.1.8:
787 | resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
788 | hasBin: true
789 |
790 | es-define-property@1.0.0:
791 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
792 | engines: {node: '>= 0.4'}
793 |
794 | es-define-property@1.0.1:
795 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
796 | engines: {node: '>= 0.4'}
797 |
798 | es-errors@1.3.0:
799 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
800 | engines: {node: '>= 0.4'}
801 |
802 | es-module-lexer@1.5.0:
803 | resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==}
804 |
805 | es-object-atoms@1.1.1:
806 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
807 | engines: {node: '>= 0.4'}
808 |
809 | es-set-tostringtag@2.1.0:
810 | resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
811 | engines: {node: '>= 0.4'}
812 |
813 | esbuild@0.21.5:
814 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
815 | engines: {node: '>=12'}
816 | hasBin: true
817 |
818 | escalade@3.1.2:
819 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
820 | engines: {node: '>=6'}
821 |
822 | escape-html@1.0.3:
823 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
824 |
825 | estree-walker@2.0.2:
826 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
827 |
828 | etag@1.8.1:
829 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
830 | engines: {node: '>= 0.6'}
831 |
832 | express-session@1.18.0:
833 | resolution: {integrity: sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ==}
834 | engines: {node: '>= 0.8.0'}
835 |
836 | express-validator@7.0.1:
837 | resolution: {integrity: sha512-oB+z9QOzQIE8FnlINqyIFA8eIckahC6qc8KtqLdLJcU3/phVyuhXH3bA4qzcrhme+1RYaCSwrq+TlZ/kAKIARA==}
838 | engines: {node: '>= 8.0.0'}
839 |
840 | express@4.19.2:
841 | resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
842 | engines: {node: '>= 0.10.0'}
843 |
844 | fast-glob@3.3.2:
845 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
846 | engines: {node: '>=8.6.0'}
847 |
848 | fastq@1.17.1:
849 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
850 |
851 | filelist@1.0.4:
852 | resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
853 |
854 | fill-range@7.0.1:
855 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
856 | engines: {node: '>=8'}
857 |
858 | finalhandler@1.2.0:
859 | resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
860 | engines: {node: '>= 0.8'}
861 |
862 | follow-redirects@1.15.9:
863 | resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
864 | engines: {node: '>=4.0'}
865 | peerDependencies:
866 | debug: '*'
867 | peerDependenciesMeta:
868 | debug:
869 | optional: true
870 |
871 | form-data@4.0.4:
872 | resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==}
873 | engines: {node: '>= 6'}
874 |
875 | forwarded@0.2.0:
876 | resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
877 | engines: {node: '>= 0.6'}
878 |
879 | fresh@0.5.2:
880 | resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
881 | engines: {node: '>= 0.6'}
882 |
883 | fs-extra@10.1.0:
884 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
885 | engines: {node: '>=12'}
886 |
887 | fsevents@2.3.3:
888 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
889 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
890 | os: [darwin]
891 |
892 | function-bind@1.1.2:
893 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
894 |
895 | get-intrinsic@1.2.4:
896 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
897 | engines: {node: '>= 0.4'}
898 |
899 | get-intrinsic@1.3.0:
900 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
901 | engines: {node: '>= 0.4'}
902 |
903 | get-proto@1.0.1:
904 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
905 | engines: {node: '>= 0.4'}
906 |
907 | glob-parent@5.1.2:
908 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
909 | engines: {node: '>= 6'}
910 |
911 | gopd@1.2.0:
912 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
913 | engines: {node: '>= 0.4'}
914 |
915 | graceful-fs@4.2.11:
916 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
917 |
918 | has-flag@3.0.0:
919 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
920 | engines: {node: '>=4'}
921 |
922 | has-flag@4.0.0:
923 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
924 | engines: {node: '>=8'}
925 |
926 | has-property-descriptors@1.0.2:
927 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
928 |
929 | has-proto@1.0.3:
930 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
931 | engines: {node: '>= 0.4'}
932 |
933 | has-symbols@1.0.3:
934 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
935 | engines: {node: '>= 0.4'}
936 |
937 | has-symbols@1.1.0:
938 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
939 | engines: {node: '>= 0.4'}
940 |
941 | has-tostringtag@1.0.2:
942 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
943 | engines: {node: '>= 0.4'}
944 |
945 | hasown@2.0.2:
946 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
947 | engines: {node: '>= 0.4'}
948 |
949 | he@1.2.0:
950 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
951 | hasBin: true
952 |
953 | helmet@7.1.0:
954 | resolution: {integrity: sha512-g+HZqgfbpXdCkme/Cd/mZkV0aV3BZZZSugecH03kl38m/Kmdx8jKjBikpDj2cr+Iynv4KpYEviojNdTJActJAg==}
955 | engines: {node: '>=16.0.0'}
956 |
957 | html-minifier-terser@6.1.0:
958 | resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
959 | engines: {node: '>=12'}
960 | hasBin: true
961 |
962 | http-errors@2.0.0:
963 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
964 | engines: {node: '>= 0.8'}
965 |
966 | http-errors@2.0.1:
967 | resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
968 | engines: {node: '>= 0.8'}
969 |
970 | iconv-lite@0.4.24:
971 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
972 | engines: {node: '>=0.10.0'}
973 |
974 | iconv-lite@0.6.3:
975 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
976 | engines: {node: '>=0.10.0'}
977 |
978 | iconv-lite@0.7.0:
979 | resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==}
980 | engines: {node: '>=0.10.0'}
981 |
982 | ignore-by-default@1.0.1:
983 | resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}
984 |
985 | image-size@0.5.5:
986 | resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
987 | engines: {node: '>=0.10.0'}
988 | hasBin: true
989 |
990 | inherits@2.0.4:
991 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
992 |
993 | ipaddr.js@1.9.1:
994 | resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
995 | engines: {node: '>= 0.10'}
996 |
997 | is-binary-path@2.1.0:
998 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
999 | engines: {node: '>=8'}
1000 |
1001 | is-extglob@2.1.1:
1002 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1003 | engines: {node: '>=0.10.0'}
1004 |
1005 | is-glob@4.0.3:
1006 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1007 | engines: {node: '>=0.10.0'}
1008 |
1009 | is-number@7.0.0:
1010 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1011 | engines: {node: '>=0.12.0'}
1012 |
1013 | is-what@3.14.1:
1014 | resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
1015 |
1016 | jake@10.8.7:
1017 | resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==}
1018 | engines: {node: '>=10'}
1019 | hasBin: true
1020 |
1021 | jsonfile@6.1.0:
1022 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
1023 |
1024 | kareem@2.6.3:
1025 | resolution: {integrity: sha512-C3iHfuGUXK2u8/ipq9LfjFfXFxAZMQJJq7vLS45r3D9Y2xQ/m4S8zaR4zMLFWh9AsNPXmcFfUDhTEO8UIC/V6Q==}
1026 | engines: {node: '>=12.0.0'}
1027 |
1028 | less-loader@12.2.0:
1029 | resolution: {integrity: sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==}
1030 | engines: {node: '>= 18.12.0'}
1031 | peerDependencies:
1032 | '@rspack/core': 0.x || 1.x
1033 | less: ^3.5.0 || ^4.0.0
1034 | webpack: ^5.0.0
1035 | peerDependenciesMeta:
1036 | '@rspack/core':
1037 | optional: true
1038 | webpack:
1039 | optional: true
1040 |
1041 | less@4.2.0:
1042 | resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==}
1043 | engines: {node: '>=6'}
1044 | hasBin: true
1045 |
1046 | lodash-es@4.17.21:
1047 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
1048 |
1049 | lodash-unified@1.0.3:
1050 | resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==}
1051 | peerDependencies:
1052 | '@types/lodash-es': '*'
1053 | lodash: '*'
1054 | lodash-es: '*'
1055 |
1056 | lodash@4.17.21:
1057 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1058 |
1059 | lower-case@2.0.2:
1060 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
1061 |
1062 | magic-string@0.30.9:
1063 | resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==}
1064 | engines: {node: '>=12'}
1065 |
1066 | make-dir@2.1.0:
1067 | resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
1068 | engines: {node: '>=6'}
1069 |
1070 | math-intrinsics@1.1.0:
1071 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
1072 | engines: {node: '>= 0.4'}
1073 |
1074 | media-typer@0.3.0:
1075 | resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
1076 | engines: {node: '>= 0.6'}
1077 |
1078 | media-typer@1.1.0:
1079 | resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==}
1080 | engines: {node: '>= 0.8'}
1081 |
1082 | memoize-one@6.0.0:
1083 | resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
1084 |
1085 | memory-pager@1.5.0:
1086 | resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==}
1087 |
1088 | merge-descriptors@1.0.1:
1089 | resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
1090 |
1091 | merge2@1.4.1:
1092 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1093 | engines: {node: '>= 8'}
1094 |
1095 | methods@1.1.2:
1096 | resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
1097 | engines: {node: '>= 0.6'}
1098 |
1099 | micromatch@4.0.5:
1100 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1101 | engines: {node: '>=8.6'}
1102 |
1103 | mime-db@1.52.0:
1104 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
1105 | engines: {node: '>= 0.6'}
1106 |
1107 | mime-db@1.54.0:
1108 | resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
1109 | engines: {node: '>= 0.6'}
1110 |
1111 | mime-types@2.1.35:
1112 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
1113 | engines: {node: '>= 0.6'}
1114 |
1115 | mime-types@3.0.2:
1116 | resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==}
1117 | engines: {node: '>=18'}
1118 |
1119 | mime@1.6.0:
1120 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
1121 | engines: {node: '>=4'}
1122 | hasBin: true
1123 |
1124 | minimatch@3.1.2:
1125 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1126 |
1127 | minimatch@5.1.6:
1128 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
1129 | engines: {node: '>=10'}
1130 |
1131 | mongodb-connection-string-url@3.0.0:
1132 | resolution: {integrity: sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==}
1133 |
1134 | mongodb@6.12.0:
1135 | resolution: {integrity: sha512-RM7AHlvYfS7jv7+BXund/kR64DryVI+cHbVAy9P61fnb1RcWZqOW1/Wj2YhqMCx+MuYhqTRGv7AwHBzmsCKBfA==}
1136 | engines: {node: '>=16.20.1'}
1137 | peerDependencies:
1138 | '@aws-sdk/credential-providers': ^3.188.0
1139 | '@mongodb-js/zstd': ^1.1.0 || ^2.0.0
1140 | gcp-metadata: ^5.2.0
1141 | kerberos: ^2.0.1
1142 | mongodb-client-encryption: '>=6.0.0 <7'
1143 | snappy: ^7.2.2
1144 | socks: ^2.7.1
1145 | peerDependenciesMeta:
1146 | '@aws-sdk/credential-providers':
1147 | optional: true
1148 | '@mongodb-js/zstd':
1149 | optional: true
1150 | gcp-metadata:
1151 | optional: true
1152 | kerberos:
1153 | optional: true
1154 | mongodb-client-encryption:
1155 | optional: true
1156 | snappy:
1157 | optional: true
1158 | socks:
1159 | optional: true
1160 |
1161 | mongoose@8.9.5:
1162 | resolution: {integrity: sha512-SPhOrgBm0nKV3b+IIHGqpUTOmgVL5Z3OO9AwkFEmvOZznXTvplbomstCnPOGAyungtRXE5pJTgKpKcZTdjeESg==}
1163 | engines: {node: '>=16.20.1'}
1164 |
1165 | mpath@0.9.0:
1166 | resolution: {integrity: sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==}
1167 | engines: {node: '>=4.0.0'}
1168 |
1169 | mquery@5.0.0:
1170 | resolution: {integrity: sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==}
1171 | engines: {node: '>=14.0.0'}
1172 |
1173 | ms@2.0.0:
1174 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
1175 |
1176 | ms@2.1.1:
1177 | resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==}
1178 |
1179 | ms@2.1.2:
1180 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1181 |
1182 | ms@2.1.3:
1183 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1184 |
1185 | nanoid@3.3.11:
1186 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
1187 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1188 | hasBin: true
1189 |
1190 | nanoid@3.3.7:
1191 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
1192 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1193 | hasBin: true
1194 |
1195 | needle@3.3.1:
1196 | resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==}
1197 | engines: {node: '>= 4.4.x'}
1198 | hasBin: true
1199 |
1200 | negotiator@0.6.3:
1201 | resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
1202 | engines: {node: '>= 0.6'}
1203 |
1204 | no-case@3.0.4:
1205 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
1206 |
1207 | node-html-parser@5.4.2:
1208 | resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==}
1209 |
1210 | node-releases@2.0.14:
1211 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
1212 |
1213 | nodemon@3.1.10:
1214 | resolution: {integrity: sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==}
1215 | engines: {node: '>=10'}
1216 | hasBin: true
1217 |
1218 | normalize-path@3.0.0:
1219 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1220 | engines: {node: '>=0.10.0'}
1221 |
1222 | normalize-wheel-es@1.2.0:
1223 | resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==}
1224 |
1225 | nth-check@2.1.1:
1226 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
1227 |
1228 | object-inspect@1.13.1:
1229 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
1230 |
1231 | object-inspect@1.13.4:
1232 | resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
1233 | engines: {node: '>= 0.4'}
1234 |
1235 | on-finished@2.4.1:
1236 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
1237 | engines: {node: '>= 0.8'}
1238 |
1239 | on-headers@1.0.2:
1240 | resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
1241 | engines: {node: '>= 0.8'}
1242 |
1243 | param-case@3.0.4:
1244 | resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
1245 |
1246 | parse-node-version@1.0.1:
1247 | resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==}
1248 | engines: {node: '>= 0.10'}
1249 |
1250 | parseurl@1.3.3:
1251 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
1252 | engines: {node: '>= 0.8'}
1253 |
1254 | pascal-case@3.1.2:
1255 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
1256 |
1257 | path-to-regexp@0.1.7:
1258 | resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
1259 |
1260 | pathe@0.2.0:
1261 | resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==}
1262 |
1263 | picocolors@1.0.0:
1264 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1265 |
1266 | picocolors@1.1.1:
1267 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1268 |
1269 | picomatch@2.3.1:
1270 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1271 | engines: {node: '>=8.6'}
1272 |
1273 | pify@4.0.1:
1274 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
1275 | engines: {node: '>=6'}
1276 |
1277 | postcss@8.4.38:
1278 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
1279 | engines: {node: ^10 || ^12 || >=14}
1280 |
1281 | postcss@8.5.6:
1282 | resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
1283 | engines: {node: ^10 || ^12 || >=14}
1284 |
1285 | proxy-addr@2.0.7:
1286 | resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
1287 | engines: {node: '>= 0.10'}
1288 |
1289 | proxy-from-env@1.1.0:
1290 | resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
1291 |
1292 | prr@1.0.1:
1293 | resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
1294 |
1295 | pstree.remy@1.1.8:
1296 | resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==}
1297 |
1298 | punycode@2.3.1:
1299 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1300 | engines: {node: '>=6'}
1301 |
1302 | qs@6.11.0:
1303 | resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
1304 | engines: {node: '>=0.6'}
1305 |
1306 | qs@6.14.0:
1307 | resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==}
1308 | engines: {node: '>=0.6'}
1309 |
1310 | queue-microtask@1.2.3:
1311 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1312 |
1313 | random-bytes@1.0.0:
1314 | resolution: {integrity: sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==}
1315 | engines: {node: '>= 0.8'}
1316 |
1317 | range-parser@1.2.1:
1318 | resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
1319 | engines: {node: '>= 0.6'}
1320 |
1321 | raw-body@2.5.2:
1322 | resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
1323 | engines: {node: '>= 0.8'}
1324 |
1325 | raw-body@3.0.2:
1326 | resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==}
1327 | engines: {node: '>= 0.10'}
1328 |
1329 | readdirp@3.6.0:
1330 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1331 | engines: {node: '>=8.10.0'}
1332 |
1333 | relateurl@0.2.7:
1334 | resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
1335 | engines: {node: '>= 0.10'}
1336 |
1337 | reusify@1.0.4:
1338 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1339 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1340 |
1341 | rollup@4.52.5:
1342 | resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==}
1343 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1344 | hasBin: true
1345 |
1346 | run-parallel@1.2.0:
1347 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1348 |
1349 | safe-buffer@5.1.1:
1350 | resolution: {integrity: sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==}
1351 |
1352 | safe-buffer@5.1.2:
1353 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
1354 |
1355 | safe-buffer@5.2.1:
1356 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
1357 |
1358 | safer-buffer@2.1.2:
1359 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
1360 |
1361 | sax@1.3.0:
1362 | resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
1363 |
1364 | semver@5.7.2:
1365 | resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
1366 | hasBin: true
1367 |
1368 | semver@7.7.3:
1369 | resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
1370 | engines: {node: '>=10'}
1371 | hasBin: true
1372 |
1373 | send@0.18.0:
1374 | resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
1375 | engines: {node: '>= 0.8.0'}
1376 |
1377 | serve-favicon@2.5.0:
1378 | resolution: {integrity: sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==}
1379 | engines: {node: '>= 0.8.0'}
1380 |
1381 | serve-static@1.15.0:
1382 | resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
1383 | engines: {node: '>= 0.8.0'}
1384 |
1385 | set-function-length@1.2.2:
1386 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
1387 | engines: {node: '>= 0.4'}
1388 |
1389 | setprototypeof@1.2.0:
1390 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
1391 |
1392 | side-channel-list@1.0.0:
1393 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
1394 | engines: {node: '>= 0.4'}
1395 |
1396 | side-channel-map@1.0.1:
1397 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
1398 | engines: {node: '>= 0.4'}
1399 |
1400 | side-channel-weakmap@1.0.2:
1401 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
1402 | engines: {node: '>= 0.4'}
1403 |
1404 | side-channel@1.0.6:
1405 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
1406 | engines: {node: '>= 0.4'}
1407 |
1408 | side-channel@1.1.0:
1409 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
1410 | engines: {node: '>= 0.4'}
1411 |
1412 | sift@17.1.3:
1413 | resolution: {integrity: sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==}
1414 |
1415 | simple-update-notifier@2.0.0:
1416 | resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==}
1417 | engines: {node: '>=10'}
1418 |
1419 | source-map-js@1.2.0:
1420 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
1421 | engines: {node: '>=0.10.0'}
1422 |
1423 | source-map-js@1.2.1:
1424 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1425 | engines: {node: '>=0.10.0'}
1426 |
1427 | source-map-support@0.5.21:
1428 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
1429 |
1430 | source-map@0.6.1:
1431 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1432 | engines: {node: '>=0.10.0'}
1433 |
1434 | sparse-bitfield@3.0.3:
1435 | resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==}
1436 |
1437 | statuses@2.0.1:
1438 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
1439 | engines: {node: '>= 0.8'}
1440 |
1441 | statuses@2.0.2:
1442 | resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
1443 | engines: {node: '>= 0.8'}
1444 |
1445 | supports-color@5.5.0:
1446 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
1447 | engines: {node: '>=4'}
1448 |
1449 | supports-color@7.2.0:
1450 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1451 | engines: {node: '>=8'}
1452 |
1453 | terser@5.30.3:
1454 | resolution: {integrity: sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==}
1455 | engines: {node: '>=10'}
1456 | hasBin: true
1457 |
1458 | to-fast-properties@2.0.0:
1459 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1460 | engines: {node: '>=4'}
1461 |
1462 | to-regex-range@5.0.1:
1463 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1464 | engines: {node: '>=8.0'}
1465 |
1466 | toidentifier@1.0.1:
1467 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
1468 | engines: {node: '>=0.6'}
1469 |
1470 | touch@3.1.1:
1471 | resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==}
1472 | hasBin: true
1473 |
1474 | tr46@4.1.1:
1475 | resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==}
1476 | engines: {node: '>=14'}
1477 |
1478 | tslib@2.6.2:
1479 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
1480 |
1481 | type-is@1.6.18:
1482 | resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
1483 | engines: {node: '>= 0.6'}
1484 |
1485 | type-is@2.0.1:
1486 | resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==}
1487 | engines: {node: '>= 0.6'}
1488 |
1489 | uid-safe@2.1.5:
1490 | resolution: {integrity: sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==}
1491 | engines: {node: '>= 0.8'}
1492 |
1493 | undefsafe@2.0.5:
1494 | resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
1495 |
1496 | universalify@2.0.1:
1497 | resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
1498 | engines: {node: '>= 10.0.0'}
1499 |
1500 | unpipe@1.0.0:
1501 | resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
1502 | engines: {node: '>= 0.8'}
1503 |
1504 | unplugin-element-plus@0.8.0:
1505 | resolution: {integrity: sha512-jByUGY3FG2B8RJKFryqxx4eNtSTj+Hjlo8edcOdJymewndDQjThZ1pRUQHRjQsbKhTV2jEctJV7t7RJ405UL4g==}
1506 | engines: {node: '>=14.19.0'}
1507 |
1508 | unplugin@1.10.1:
1509 | resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==}
1510 | engines: {node: '>=14.0.0'}
1511 |
1512 | update-browserslist-db@1.0.13:
1513 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
1514 | hasBin: true
1515 | peerDependencies:
1516 | browserslist: '>= 4.21.0'
1517 |
1518 | utils-merge@1.0.1:
1519 | resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
1520 | engines: {node: '>= 0.4.0'}
1521 |
1522 | validator@13.11.0:
1523 | resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==}
1524 | engines: {node: '>= 0.10'}
1525 |
1526 | vary@1.1.2:
1527 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
1528 | engines: {node: '>= 0.8'}
1529 |
1530 | vite-plugin-html@3.2.2:
1531 | resolution: {integrity: sha512-vb9C9kcdzcIo/Oc3CLZVS03dL5pDlOFuhGlZYDCJ840BhWl/0nGeZWf3Qy7NlOayscY4Cm/QRgULCQkEZige5Q==}
1532 | peerDependencies:
1533 | vite: '>=2.0.0'
1534 |
1535 | vite@5.4.21:
1536 | resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==}
1537 | engines: {node: ^18.0.0 || >=20.0.0}
1538 | hasBin: true
1539 | peerDependencies:
1540 | '@types/node': ^18.0.0 || >=20.0.0
1541 | less: '*'
1542 | lightningcss: ^1.21.0
1543 | sass: '*'
1544 | sass-embedded: '*'
1545 | stylus: '*'
1546 | sugarss: '*'
1547 | terser: ^5.4.0
1548 | peerDependenciesMeta:
1549 | '@types/node':
1550 | optional: true
1551 | less:
1552 | optional: true
1553 | lightningcss:
1554 | optional: true
1555 | sass:
1556 | optional: true
1557 | sass-embedded:
1558 | optional: true
1559 | stylus:
1560 | optional: true
1561 | sugarss:
1562 | optional: true
1563 | terser:
1564 | optional: true
1565 |
1566 | vue-demi@0.14.7:
1567 | resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
1568 | engines: {node: '>=12'}
1569 | hasBin: true
1570 | peerDependencies:
1571 | '@vue/composition-api': ^1.0.0-rc.1
1572 | vue: ^3.0.0-0 || ^2.6.0
1573 | peerDependenciesMeta:
1574 | '@vue/composition-api':
1575 | optional: true
1576 |
1577 | vue-router@4.3.0:
1578 | resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==}
1579 | peerDependencies:
1580 | vue: ^3.2.0
1581 |
1582 | vue@3.4.21:
1583 | resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==}
1584 | peerDependencies:
1585 | typescript: '*'
1586 | peerDependenciesMeta:
1587 | typescript:
1588 | optional: true
1589 |
1590 | webidl-conversions@7.0.0:
1591 | resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
1592 | engines: {node: '>=12'}
1593 |
1594 | webpack-sources@3.2.3:
1595 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
1596 | engines: {node: '>=10.13.0'}
1597 |
1598 | webpack-virtual-modules@0.6.1:
1599 | resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==}
1600 |
1601 | whatwg-url@13.0.0:
1602 | resolution: {integrity: sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==}
1603 | engines: {node: '>=16'}
1604 |
1605 | snapshots:
1606 |
1607 | '@babel/helper-string-parser@7.24.1': {}
1608 |
1609 | '@babel/helper-validator-identifier@7.22.20': {}
1610 |
1611 | '@babel/parser@7.24.4':
1612 | dependencies:
1613 | '@babel/types': 7.24.0
1614 |
1615 | '@babel/types@7.24.0':
1616 | dependencies:
1617 | '@babel/helper-string-parser': 7.24.1
1618 | '@babel/helper-validator-identifier': 7.22.20
1619 | to-fast-properties: 2.0.0
1620 |
1621 | '@ctrl/tinycolor@3.6.1': {}
1622 |
1623 | '@element-plus/icons-vue@2.3.1(vue@3.4.21)':
1624 | dependencies:
1625 | vue: 3.4.21
1626 |
1627 | '@esbuild/aix-ppc64@0.21.5':
1628 | optional: true
1629 |
1630 | '@esbuild/android-arm64@0.21.5':
1631 | optional: true
1632 |
1633 | '@esbuild/android-arm@0.21.5':
1634 | optional: true
1635 |
1636 | '@esbuild/android-x64@0.21.5':
1637 | optional: true
1638 |
1639 | '@esbuild/darwin-arm64@0.21.5':
1640 | optional: true
1641 |
1642 | '@esbuild/darwin-x64@0.21.5':
1643 | optional: true
1644 |
1645 | '@esbuild/freebsd-arm64@0.21.5':
1646 | optional: true
1647 |
1648 | '@esbuild/freebsd-x64@0.21.5':
1649 | optional: true
1650 |
1651 | '@esbuild/linux-arm64@0.21.5':
1652 | optional: true
1653 |
1654 | '@esbuild/linux-arm@0.21.5':
1655 | optional: true
1656 |
1657 | '@esbuild/linux-ia32@0.21.5':
1658 | optional: true
1659 |
1660 | '@esbuild/linux-loong64@0.21.5':
1661 | optional: true
1662 |
1663 | '@esbuild/linux-mips64el@0.21.5':
1664 | optional: true
1665 |
1666 | '@esbuild/linux-ppc64@0.21.5':
1667 | optional: true
1668 |
1669 | '@esbuild/linux-riscv64@0.21.5':
1670 | optional: true
1671 |
1672 | '@esbuild/linux-s390x@0.21.5':
1673 | optional: true
1674 |
1675 | '@esbuild/linux-x64@0.21.5':
1676 | optional: true
1677 |
1678 | '@esbuild/netbsd-x64@0.21.5':
1679 | optional: true
1680 |
1681 | '@esbuild/openbsd-x64@0.21.5':
1682 | optional: true
1683 |
1684 | '@esbuild/sunos-x64@0.21.5':
1685 | optional: true
1686 |
1687 | '@esbuild/win32-arm64@0.21.5':
1688 | optional: true
1689 |
1690 | '@esbuild/win32-ia32@0.21.5':
1691 | optional: true
1692 |
1693 | '@esbuild/win32-x64@0.21.5':
1694 | optional: true
1695 |
1696 | '@floating-ui/core@1.6.0':
1697 | dependencies:
1698 | '@floating-ui/utils': 0.2.1
1699 |
1700 | '@floating-ui/dom@1.6.3':
1701 | dependencies:
1702 | '@floating-ui/core': 1.6.0
1703 | '@floating-ui/utils': 0.2.1
1704 |
1705 | '@floating-ui/utils@0.2.1': {}
1706 |
1707 | '@jridgewell/gen-mapping@0.3.5':
1708 | dependencies:
1709 | '@jridgewell/set-array': 1.2.1
1710 | '@jridgewell/sourcemap-codec': 1.4.15
1711 | '@jridgewell/trace-mapping': 0.3.25
1712 |
1713 | '@jridgewell/resolve-uri@3.1.2': {}
1714 |
1715 | '@jridgewell/set-array@1.2.1': {}
1716 |
1717 | '@jridgewell/source-map@0.3.6':
1718 | dependencies:
1719 | '@jridgewell/gen-mapping': 0.3.5
1720 | '@jridgewell/trace-mapping': 0.3.25
1721 |
1722 | '@jridgewell/sourcemap-codec@1.4.15': {}
1723 |
1724 | '@jridgewell/trace-mapping@0.3.25':
1725 | dependencies:
1726 | '@jridgewell/resolve-uri': 3.1.2
1727 | '@jridgewell/sourcemap-codec': 1.4.15
1728 |
1729 | '@mongodb-js/saslprep@1.1.9':
1730 | dependencies:
1731 | sparse-bitfield: 3.0.3
1732 |
1733 | '@nodelib/fs.scandir@2.1.5':
1734 | dependencies:
1735 | '@nodelib/fs.stat': 2.0.5
1736 | run-parallel: 1.2.0
1737 |
1738 | '@nodelib/fs.stat@2.0.5': {}
1739 |
1740 | '@nodelib/fs.walk@1.2.8':
1741 | dependencies:
1742 | '@nodelib/fs.scandir': 2.1.5
1743 | fastq: 1.17.1
1744 |
1745 | '@rollup/pluginutils@4.2.1':
1746 | dependencies:
1747 | estree-walker: 2.0.2
1748 | picomatch: 2.3.1
1749 |
1750 | '@rollup/pluginutils@5.1.0(rollup@4.52.5)':
1751 | dependencies:
1752 | '@types/estree': 1.0.5
1753 | estree-walker: 2.0.2
1754 | picomatch: 2.3.1
1755 | optionalDependencies:
1756 | rollup: 4.52.5
1757 |
1758 | '@rollup/rollup-android-arm-eabi@4.52.5':
1759 | optional: true
1760 |
1761 | '@rollup/rollup-android-arm64@4.52.5':
1762 | optional: true
1763 |
1764 | '@rollup/rollup-darwin-arm64@4.52.5':
1765 | optional: true
1766 |
1767 | '@rollup/rollup-darwin-x64@4.52.5':
1768 | optional: true
1769 |
1770 | '@rollup/rollup-freebsd-arm64@4.52.5':
1771 | optional: true
1772 |
1773 | '@rollup/rollup-freebsd-x64@4.52.5':
1774 | optional: true
1775 |
1776 | '@rollup/rollup-linux-arm-gnueabihf@4.52.5':
1777 | optional: true
1778 |
1779 | '@rollup/rollup-linux-arm-musleabihf@4.52.5':
1780 | optional: true
1781 |
1782 | '@rollup/rollup-linux-arm64-gnu@4.52.5':
1783 | optional: true
1784 |
1785 | '@rollup/rollup-linux-arm64-musl@4.52.5':
1786 | optional: true
1787 |
1788 | '@rollup/rollup-linux-loong64-gnu@4.52.5':
1789 | optional: true
1790 |
1791 | '@rollup/rollup-linux-ppc64-gnu@4.52.5':
1792 | optional: true
1793 |
1794 | '@rollup/rollup-linux-riscv64-gnu@4.52.5':
1795 | optional: true
1796 |
1797 | '@rollup/rollup-linux-riscv64-musl@4.52.5':
1798 | optional: true
1799 |
1800 | '@rollup/rollup-linux-s390x-gnu@4.52.5':
1801 | optional: true
1802 |
1803 | '@rollup/rollup-linux-x64-gnu@4.52.5':
1804 | optional: true
1805 |
1806 | '@rollup/rollup-linux-x64-musl@4.52.5':
1807 | optional: true
1808 |
1809 | '@rollup/rollup-openharmony-arm64@4.52.5':
1810 | optional: true
1811 |
1812 | '@rollup/rollup-win32-arm64-msvc@4.52.5':
1813 | optional: true
1814 |
1815 | '@rollup/rollup-win32-ia32-msvc@4.52.5':
1816 | optional: true
1817 |
1818 | '@rollup/rollup-win32-x64-gnu@4.52.5':
1819 | optional: true
1820 |
1821 | '@rollup/rollup-win32-x64-msvc@4.52.5':
1822 | optional: true
1823 |
1824 | '@sxzz/popperjs-es@2.11.7': {}
1825 |
1826 | '@types/estree@1.0.5': {}
1827 |
1828 | '@types/estree@1.0.8': {}
1829 |
1830 | '@types/lodash-es@4.17.12':
1831 | dependencies:
1832 | '@types/lodash': 4.17.0
1833 |
1834 | '@types/lodash@4.17.0': {}
1835 |
1836 | '@types/web-bluetooth@0.0.16': {}
1837 |
1838 | '@types/webidl-conversions@7.0.3': {}
1839 |
1840 | '@types/whatwg-url@11.0.3':
1841 | dependencies:
1842 | '@types/webidl-conversions': 7.0.3
1843 |
1844 | '@vitejs/plugin-vue@5.0.4(vite@5.4.21(less@4.2.0)(terser@5.30.3))(vue@3.4.21)':
1845 | dependencies:
1846 | vite: 5.4.21(less@4.2.0)(terser@5.30.3)
1847 | vue: 3.4.21
1848 |
1849 | '@vue/compiler-core@3.4.21':
1850 | dependencies:
1851 | '@babel/parser': 7.24.4
1852 | '@vue/shared': 3.4.21
1853 | entities: 4.5.0
1854 | estree-walker: 2.0.2
1855 | source-map-js: 1.2.0
1856 |
1857 | '@vue/compiler-dom@3.4.21':
1858 | dependencies:
1859 | '@vue/compiler-core': 3.4.21
1860 | '@vue/shared': 3.4.21
1861 |
1862 | '@vue/compiler-sfc@3.4.21':
1863 | dependencies:
1864 | '@babel/parser': 7.24.4
1865 | '@vue/compiler-core': 3.4.21
1866 | '@vue/compiler-dom': 3.4.21
1867 | '@vue/compiler-ssr': 3.4.21
1868 | '@vue/shared': 3.4.21
1869 | estree-walker: 2.0.2
1870 | magic-string: 0.30.9
1871 | postcss: 8.4.38
1872 | source-map-js: 1.2.0
1873 |
1874 | '@vue/compiler-ssr@3.4.21':
1875 | dependencies:
1876 | '@vue/compiler-dom': 3.4.21
1877 | '@vue/shared': 3.4.21
1878 |
1879 | '@vue/devtools-api@6.6.1': {}
1880 |
1881 | '@vue/reactivity@3.4.21':
1882 | dependencies:
1883 | '@vue/shared': 3.4.21
1884 |
1885 | '@vue/runtime-core@3.4.21':
1886 | dependencies:
1887 | '@vue/reactivity': 3.4.21
1888 | '@vue/shared': 3.4.21
1889 |
1890 | '@vue/runtime-dom@3.4.21':
1891 | dependencies:
1892 | '@vue/runtime-core': 3.4.21
1893 | '@vue/shared': 3.4.21
1894 | csstype: 3.1.3
1895 |
1896 | '@vue/server-renderer@3.4.21(vue@3.4.21)':
1897 | dependencies:
1898 | '@vue/compiler-ssr': 3.4.21
1899 | '@vue/shared': 3.4.21
1900 | vue: 3.4.21
1901 |
1902 | '@vue/shared@3.4.21': {}
1903 |
1904 | '@vueuse/core@9.13.0(vue@3.4.21)':
1905 | dependencies:
1906 | '@types/web-bluetooth': 0.0.16
1907 | '@vueuse/metadata': 9.13.0
1908 | '@vueuse/shared': 9.13.0(vue@3.4.21)
1909 | vue-demi: 0.14.7(vue@3.4.21)
1910 | transitivePeerDependencies:
1911 | - '@vue/composition-api'
1912 | - vue
1913 |
1914 | '@vueuse/metadata@9.13.0': {}
1915 |
1916 | '@vueuse/shared@9.13.0(vue@3.4.21)':
1917 | dependencies:
1918 | vue-demi: 0.14.7(vue@3.4.21)
1919 | transitivePeerDependencies:
1920 | - '@vue/composition-api'
1921 | - vue
1922 |
1923 | accepts@1.3.8:
1924 | dependencies:
1925 | mime-types: 2.1.35
1926 | negotiator: 0.6.3
1927 |
1928 | acorn@8.11.3: {}
1929 |
1930 | ansi-styles@4.3.0:
1931 | dependencies:
1932 | color-convert: 2.0.1
1933 |
1934 | anymatch@3.1.3:
1935 | dependencies:
1936 | normalize-path: 3.0.0
1937 | picomatch: 2.3.1
1938 |
1939 | array-flatten@1.1.1: {}
1940 |
1941 | async-validator@4.2.5: {}
1942 |
1943 | async@3.2.5: {}
1944 |
1945 | asynckit@0.4.0: {}
1946 |
1947 | axios@1.12.0:
1948 | dependencies:
1949 | follow-redirects: 1.15.9
1950 | form-data: 4.0.4
1951 | proxy-from-env: 1.1.0
1952 | transitivePeerDependencies:
1953 | - debug
1954 |
1955 | balanced-match@1.0.2: {}
1956 |
1957 | binary-extensions@2.3.0: {}
1958 |
1959 | body-parser@1.20.2:
1960 | dependencies:
1961 | bytes: 3.1.2
1962 | content-type: 1.0.5
1963 | debug: 2.6.9
1964 | depd: 2.0.0
1965 | destroy: 1.2.0
1966 | http-errors: 2.0.0
1967 | iconv-lite: 0.4.24
1968 | on-finished: 2.4.1
1969 | qs: 6.11.0
1970 | raw-body: 2.5.2
1971 | type-is: 1.6.18
1972 | unpipe: 1.0.0
1973 | transitivePeerDependencies:
1974 | - supports-color
1975 |
1976 | body-parser@2.2.1:
1977 | dependencies:
1978 | bytes: 3.1.2
1979 | content-type: 1.0.5
1980 | debug: 4.4.3
1981 | http-errors: 2.0.1
1982 | iconv-lite: 0.7.0
1983 | on-finished: 2.4.1
1984 | qs: 6.14.0
1985 | raw-body: 3.0.2
1986 | type-is: 2.0.1
1987 | transitivePeerDependencies:
1988 | - supports-color
1989 |
1990 | boolbase@1.0.0: {}
1991 |
1992 | brace-expansion@1.1.11:
1993 | dependencies:
1994 | balanced-match: 1.0.2
1995 | concat-map: 0.0.1
1996 |
1997 | brace-expansion@2.0.1:
1998 | dependencies:
1999 | balanced-match: 1.0.2
2000 |
2001 | braces@3.0.2:
2002 | dependencies:
2003 | fill-range: 7.0.1
2004 |
2005 | browserslist@4.23.0:
2006 | dependencies:
2007 | caniuse-lite: 1.0.30001603
2008 | electron-to-chromium: 1.4.736
2009 | node-releases: 2.0.14
2010 | update-browserslist-db: 1.0.13(browserslist@4.23.0)
2011 |
2012 | bson@6.10.1: {}
2013 |
2014 | buffer-from@1.1.2: {}
2015 |
2016 | bytes@3.0.0: {}
2017 |
2018 | bytes@3.1.2: {}
2019 |
2020 | call-bind-apply-helpers@1.0.2:
2021 | dependencies:
2022 | es-errors: 1.3.0
2023 | function-bind: 1.1.2
2024 |
2025 | call-bind@1.0.7:
2026 | dependencies:
2027 | es-define-property: 1.0.0
2028 | es-errors: 1.3.0
2029 | function-bind: 1.1.2
2030 | get-intrinsic: 1.3.0
2031 | set-function-length: 1.2.2
2032 |
2033 | call-bound@1.0.4:
2034 | dependencies:
2035 | call-bind-apply-helpers: 1.0.2
2036 | get-intrinsic: 1.3.0
2037 |
2038 | camel-case@4.1.2:
2039 | dependencies:
2040 | pascal-case: 3.1.2
2041 | tslib: 2.6.2
2042 |
2043 | caniuse-lite@1.0.30001603: {}
2044 |
2045 | chalk@4.1.2:
2046 | dependencies:
2047 | ansi-styles: 4.3.0
2048 | supports-color: 7.2.0
2049 |
2050 | chokidar@3.6.0:
2051 | dependencies:
2052 | anymatch: 3.1.3
2053 | braces: 3.0.2
2054 | glob-parent: 5.1.2
2055 | is-binary-path: 2.1.0
2056 | is-glob: 4.0.3
2057 | normalize-path: 3.0.0
2058 | readdirp: 3.6.0
2059 | optionalDependencies:
2060 | fsevents: 2.3.3
2061 |
2062 | clean-css@5.3.3:
2063 | dependencies:
2064 | source-map: 0.6.1
2065 |
2066 | color-convert@2.0.1:
2067 | dependencies:
2068 | color-name: 1.1.4
2069 |
2070 | color-name@1.1.4: {}
2071 |
2072 | colorette@2.0.20: {}
2073 |
2074 | combined-stream@1.0.8:
2075 | dependencies:
2076 | delayed-stream: 1.0.0
2077 |
2078 | commander@2.20.3: {}
2079 |
2080 | commander@8.3.0: {}
2081 |
2082 | compressible@2.0.18:
2083 | dependencies:
2084 | mime-db: 1.52.0
2085 |
2086 | compression@1.7.4:
2087 | dependencies:
2088 | accepts: 1.3.8
2089 | bytes: 3.0.0
2090 | compressible: 2.0.18
2091 | debug: 2.6.9
2092 | on-headers: 1.0.2
2093 | safe-buffer: 5.1.2
2094 | vary: 1.1.2
2095 | transitivePeerDependencies:
2096 | - supports-color
2097 |
2098 | concat-map@0.0.1: {}
2099 |
2100 | connect-history-api-fallback@1.6.0: {}
2101 |
2102 | consola@2.15.3: {}
2103 |
2104 | content-disposition@0.5.4:
2105 | dependencies:
2106 | safe-buffer: 5.2.1
2107 |
2108 | content-type@1.0.5: {}
2109 |
2110 | cookie-parser@1.4.6:
2111 | dependencies:
2112 | cookie: 0.4.1
2113 | cookie-signature: 1.0.6
2114 |
2115 | cookie-signature@1.0.6: {}
2116 |
2117 | cookie-signature@1.0.7: {}
2118 |
2119 | cookie@0.4.1: {}
2120 |
2121 | cookie@0.6.0: {}
2122 |
2123 | copy-anything@2.0.6:
2124 | dependencies:
2125 | is-what: 3.14.1
2126 |
2127 | crypto-js@4.2.0: {}
2128 |
2129 | css-select@4.3.0:
2130 | dependencies:
2131 | boolbase: 1.0.0
2132 | css-what: 6.1.0
2133 | domhandler: 4.3.1
2134 | domutils: 2.8.0
2135 | nth-check: 2.1.1
2136 |
2137 | css-what@6.1.0: {}
2138 |
2139 | csstype@3.1.3: {}
2140 |
2141 | dayjs@1.11.18: {}
2142 |
2143 | debug@2.6.9:
2144 | dependencies:
2145 | ms: 2.0.0
2146 |
2147 | debug@4.3.4(supports-color@5.5.0):
2148 | dependencies:
2149 | ms: 2.1.2
2150 | optionalDependencies:
2151 | supports-color: 5.5.0
2152 |
2153 | debug@4.4.3:
2154 | dependencies:
2155 | ms: 2.1.3
2156 |
2157 | define-data-property@1.1.4:
2158 | dependencies:
2159 | es-define-property: 1.0.1
2160 | es-errors: 1.3.0
2161 | gopd: 1.2.0
2162 |
2163 | delayed-stream@1.0.0: {}
2164 |
2165 | depd@2.0.0: {}
2166 |
2167 | destroy@1.2.0: {}
2168 |
2169 | dom-serializer@1.4.1:
2170 | dependencies:
2171 | domelementtype: 2.3.0
2172 | domhandler: 4.3.1
2173 | entities: 2.2.0
2174 |
2175 | domelementtype@2.3.0: {}
2176 |
2177 | domhandler@4.3.1:
2178 | dependencies:
2179 | domelementtype: 2.3.0
2180 |
2181 | domutils@2.8.0:
2182 | dependencies:
2183 | dom-serializer: 1.4.1
2184 | domelementtype: 2.3.0
2185 | domhandler: 4.3.1
2186 |
2187 | dot-case@3.0.4:
2188 | dependencies:
2189 | no-case: 3.0.4
2190 | tslib: 2.6.2
2191 |
2192 | dotenv-expand@8.0.3: {}
2193 |
2194 | dotenv@16.4.5: {}
2195 |
2196 | dunder-proto@1.0.1:
2197 | dependencies:
2198 | call-bind-apply-helpers: 1.0.2
2199 | es-errors: 1.3.0
2200 | gopd: 1.2.0
2201 |
2202 | ee-first@1.1.1: {}
2203 |
2204 | ejs@3.1.10:
2205 | dependencies:
2206 | jake: 10.8.7
2207 |
2208 | electron-to-chromium@1.4.736: {}
2209 |
2210 | element-plus@2.11.0(vue@3.4.21):
2211 | dependencies:
2212 | '@ctrl/tinycolor': 3.6.1
2213 | '@element-plus/icons-vue': 2.3.1(vue@3.4.21)
2214 | '@floating-ui/dom': 1.6.3
2215 | '@popperjs/core': '@sxzz/popperjs-es@2.11.7'
2216 | '@types/lodash': 4.17.0
2217 | '@types/lodash-es': 4.17.12
2218 | '@vueuse/core': 9.13.0(vue@3.4.21)
2219 | async-validator: 4.2.5
2220 | dayjs: 1.11.18
2221 | escape-html: 1.0.3
2222 | lodash: 4.17.21
2223 | lodash-es: 4.17.21
2224 | lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21)
2225 | memoize-one: 6.0.0
2226 | normalize-wheel-es: 1.2.0
2227 | vue: 3.4.21
2228 | transitivePeerDependencies:
2229 | - '@vue/composition-api'
2230 |
2231 | encodeurl@1.0.2: {}
2232 |
2233 | entities@2.2.0: {}
2234 |
2235 | entities@4.5.0: {}
2236 |
2237 | errno@0.1.8:
2238 | dependencies:
2239 | prr: 1.0.1
2240 | optional: true
2241 |
2242 | es-define-property@1.0.0:
2243 | dependencies:
2244 | get-intrinsic: 1.3.0
2245 |
2246 | es-define-property@1.0.1: {}
2247 |
2248 | es-errors@1.3.0: {}
2249 |
2250 | es-module-lexer@1.5.0: {}
2251 |
2252 | es-object-atoms@1.1.1:
2253 | dependencies:
2254 | es-errors: 1.3.0
2255 |
2256 | es-set-tostringtag@2.1.0:
2257 | dependencies:
2258 | es-errors: 1.3.0
2259 | get-intrinsic: 1.3.0
2260 | has-tostringtag: 1.0.2
2261 | hasown: 2.0.2
2262 |
2263 | esbuild@0.21.5:
2264 | optionalDependencies:
2265 | '@esbuild/aix-ppc64': 0.21.5
2266 | '@esbuild/android-arm': 0.21.5
2267 | '@esbuild/android-arm64': 0.21.5
2268 | '@esbuild/android-x64': 0.21.5
2269 | '@esbuild/darwin-arm64': 0.21.5
2270 | '@esbuild/darwin-x64': 0.21.5
2271 | '@esbuild/freebsd-arm64': 0.21.5
2272 | '@esbuild/freebsd-x64': 0.21.5
2273 | '@esbuild/linux-arm': 0.21.5
2274 | '@esbuild/linux-arm64': 0.21.5
2275 | '@esbuild/linux-ia32': 0.21.5
2276 | '@esbuild/linux-loong64': 0.21.5
2277 | '@esbuild/linux-mips64el': 0.21.5
2278 | '@esbuild/linux-ppc64': 0.21.5
2279 | '@esbuild/linux-riscv64': 0.21.5
2280 | '@esbuild/linux-s390x': 0.21.5
2281 | '@esbuild/linux-x64': 0.21.5
2282 | '@esbuild/netbsd-x64': 0.21.5
2283 | '@esbuild/openbsd-x64': 0.21.5
2284 | '@esbuild/sunos-x64': 0.21.5
2285 | '@esbuild/win32-arm64': 0.21.5
2286 | '@esbuild/win32-ia32': 0.21.5
2287 | '@esbuild/win32-x64': 0.21.5
2288 |
2289 | escalade@3.1.2: {}
2290 |
2291 | escape-html@1.0.3: {}
2292 |
2293 | estree-walker@2.0.2: {}
2294 |
2295 | etag@1.8.1: {}
2296 |
2297 | express-session@1.18.0:
2298 | dependencies:
2299 | cookie: 0.6.0
2300 | cookie-signature: 1.0.7
2301 | debug: 2.6.9
2302 | depd: 2.0.0
2303 | on-headers: 1.0.2
2304 | parseurl: 1.3.3
2305 | safe-buffer: 5.2.1
2306 | uid-safe: 2.1.5
2307 | transitivePeerDependencies:
2308 | - supports-color
2309 |
2310 | express-validator@7.0.1:
2311 | dependencies:
2312 | lodash: 4.17.21
2313 | validator: 13.11.0
2314 |
2315 | express@4.19.2:
2316 | dependencies:
2317 | accepts: 1.3.8
2318 | array-flatten: 1.1.1
2319 | body-parser: 1.20.2
2320 | content-disposition: 0.5.4
2321 | content-type: 1.0.5
2322 | cookie: 0.6.0
2323 | cookie-signature: 1.0.6
2324 | debug: 2.6.9
2325 | depd: 2.0.0
2326 | encodeurl: 1.0.2
2327 | escape-html: 1.0.3
2328 | etag: 1.8.1
2329 | finalhandler: 1.2.0
2330 | fresh: 0.5.2
2331 | http-errors: 2.0.0
2332 | merge-descriptors: 1.0.1
2333 | methods: 1.1.2
2334 | on-finished: 2.4.1
2335 | parseurl: 1.3.3
2336 | path-to-regexp: 0.1.7
2337 | proxy-addr: 2.0.7
2338 | qs: 6.11.0
2339 | range-parser: 1.2.1
2340 | safe-buffer: 5.2.1
2341 | send: 0.18.0
2342 | serve-static: 1.15.0
2343 | setprototypeof: 1.2.0
2344 | statuses: 2.0.1
2345 | type-is: 1.6.18
2346 | utils-merge: 1.0.1
2347 | vary: 1.1.2
2348 | transitivePeerDependencies:
2349 | - supports-color
2350 |
2351 | fast-glob@3.3.2:
2352 | dependencies:
2353 | '@nodelib/fs.stat': 2.0.5
2354 | '@nodelib/fs.walk': 1.2.8
2355 | glob-parent: 5.1.2
2356 | merge2: 1.4.1
2357 | micromatch: 4.0.5
2358 |
2359 | fastq@1.17.1:
2360 | dependencies:
2361 | reusify: 1.0.4
2362 |
2363 | filelist@1.0.4:
2364 | dependencies:
2365 | minimatch: 5.1.6
2366 |
2367 | fill-range@7.0.1:
2368 | dependencies:
2369 | to-regex-range: 5.0.1
2370 |
2371 | finalhandler@1.2.0:
2372 | dependencies:
2373 | debug: 2.6.9
2374 | encodeurl: 1.0.2
2375 | escape-html: 1.0.3
2376 | on-finished: 2.4.1
2377 | parseurl: 1.3.3
2378 | statuses: 2.0.1
2379 | unpipe: 1.0.0
2380 | transitivePeerDependencies:
2381 | - supports-color
2382 |
2383 | follow-redirects@1.15.9: {}
2384 |
2385 | form-data@4.0.4:
2386 | dependencies:
2387 | asynckit: 0.4.0
2388 | combined-stream: 1.0.8
2389 | es-set-tostringtag: 2.1.0
2390 | hasown: 2.0.2
2391 | mime-types: 2.1.35
2392 |
2393 | forwarded@0.2.0: {}
2394 |
2395 | fresh@0.5.2: {}
2396 |
2397 | fs-extra@10.1.0:
2398 | dependencies:
2399 | graceful-fs: 4.2.11
2400 | jsonfile: 6.1.0
2401 | universalify: 2.0.1
2402 |
2403 | fsevents@2.3.3:
2404 | optional: true
2405 |
2406 | function-bind@1.1.2: {}
2407 |
2408 | get-intrinsic@1.2.4:
2409 | dependencies:
2410 | es-errors: 1.3.0
2411 | function-bind: 1.1.2
2412 | has-proto: 1.0.3
2413 | has-symbols: 1.0.3
2414 | hasown: 2.0.2
2415 |
2416 | get-intrinsic@1.3.0:
2417 | dependencies:
2418 | call-bind-apply-helpers: 1.0.2
2419 | es-define-property: 1.0.1
2420 | es-errors: 1.3.0
2421 | es-object-atoms: 1.1.1
2422 | function-bind: 1.1.2
2423 | get-proto: 1.0.1
2424 | gopd: 1.2.0
2425 | has-symbols: 1.1.0
2426 | hasown: 2.0.2
2427 | math-intrinsics: 1.1.0
2428 |
2429 | get-proto@1.0.1:
2430 | dependencies:
2431 | dunder-proto: 1.0.1
2432 | es-object-atoms: 1.1.1
2433 |
2434 | glob-parent@5.1.2:
2435 | dependencies:
2436 | is-glob: 4.0.3
2437 |
2438 | gopd@1.2.0: {}
2439 |
2440 | graceful-fs@4.2.11: {}
2441 |
2442 | has-flag@3.0.0: {}
2443 |
2444 | has-flag@4.0.0: {}
2445 |
2446 | has-property-descriptors@1.0.2:
2447 | dependencies:
2448 | es-define-property: 1.0.1
2449 |
2450 | has-proto@1.0.3: {}
2451 |
2452 | has-symbols@1.0.3: {}
2453 |
2454 | has-symbols@1.1.0: {}
2455 |
2456 | has-tostringtag@1.0.2:
2457 | dependencies:
2458 | has-symbols: 1.1.0
2459 |
2460 | hasown@2.0.2:
2461 | dependencies:
2462 | function-bind: 1.1.2
2463 |
2464 | he@1.2.0: {}
2465 |
2466 | helmet@7.1.0: {}
2467 |
2468 | html-minifier-terser@6.1.0:
2469 | dependencies:
2470 | camel-case: 4.1.2
2471 | clean-css: 5.3.3
2472 | commander: 8.3.0
2473 | he: 1.2.0
2474 | param-case: 3.0.4
2475 | relateurl: 0.2.7
2476 | terser: 5.30.3
2477 |
2478 | http-errors@2.0.0:
2479 | dependencies:
2480 | depd: 2.0.0
2481 | inherits: 2.0.4
2482 | setprototypeof: 1.2.0
2483 | statuses: 2.0.1
2484 | toidentifier: 1.0.1
2485 |
2486 | http-errors@2.0.1:
2487 | dependencies:
2488 | depd: 2.0.0
2489 | inherits: 2.0.4
2490 | setprototypeof: 1.2.0
2491 | statuses: 2.0.2
2492 | toidentifier: 1.0.1
2493 |
2494 | iconv-lite@0.4.24:
2495 | dependencies:
2496 | safer-buffer: 2.1.2
2497 |
2498 | iconv-lite@0.6.3:
2499 | dependencies:
2500 | safer-buffer: 2.1.2
2501 | optional: true
2502 |
2503 | iconv-lite@0.7.0:
2504 | dependencies:
2505 | safer-buffer: 2.1.2
2506 |
2507 | ignore-by-default@1.0.1: {}
2508 |
2509 | image-size@0.5.5:
2510 | optional: true
2511 |
2512 | inherits@2.0.4: {}
2513 |
2514 | ipaddr.js@1.9.1: {}
2515 |
2516 | is-binary-path@2.1.0:
2517 | dependencies:
2518 | binary-extensions: 2.3.0
2519 |
2520 | is-extglob@2.1.1: {}
2521 |
2522 | is-glob@4.0.3:
2523 | dependencies:
2524 | is-extglob: 2.1.1
2525 |
2526 | is-number@7.0.0: {}
2527 |
2528 | is-what@3.14.1: {}
2529 |
2530 | jake@10.8.7:
2531 | dependencies:
2532 | async: 3.2.5
2533 | chalk: 4.1.2
2534 | filelist: 1.0.4
2535 | minimatch: 3.1.2
2536 |
2537 | jsonfile@6.1.0:
2538 | dependencies:
2539 | universalify: 2.0.1
2540 | optionalDependencies:
2541 | graceful-fs: 4.2.11
2542 |
2543 | kareem@2.6.3: {}
2544 |
2545 | less-loader@12.2.0(less@4.2.0):
2546 | dependencies:
2547 | less: 4.2.0
2548 |
2549 | less@4.2.0:
2550 | dependencies:
2551 | copy-anything: 2.0.6
2552 | parse-node-version: 1.0.1
2553 | tslib: 2.6.2
2554 | optionalDependencies:
2555 | errno: 0.1.8
2556 | graceful-fs: 4.2.11
2557 | image-size: 0.5.5
2558 | make-dir: 2.1.0
2559 | mime: 1.6.0
2560 | needle: 3.3.1
2561 | source-map: 0.6.1
2562 |
2563 | lodash-es@4.17.21: {}
2564 |
2565 | lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21):
2566 | dependencies:
2567 | '@types/lodash-es': 4.17.12
2568 | lodash: 4.17.21
2569 | lodash-es: 4.17.21
2570 |
2571 | lodash@4.17.21: {}
2572 |
2573 | lower-case@2.0.2:
2574 | dependencies:
2575 | tslib: 2.6.2
2576 |
2577 | magic-string@0.30.9:
2578 | dependencies:
2579 | '@jridgewell/sourcemap-codec': 1.4.15
2580 |
2581 | make-dir@2.1.0:
2582 | dependencies:
2583 | pify: 4.0.1
2584 | semver: 5.7.2
2585 | optional: true
2586 |
2587 | math-intrinsics@1.1.0: {}
2588 |
2589 | media-typer@0.3.0: {}
2590 |
2591 | media-typer@1.1.0: {}
2592 |
2593 | memoize-one@6.0.0: {}
2594 |
2595 | memory-pager@1.5.0: {}
2596 |
2597 | merge-descriptors@1.0.1: {}
2598 |
2599 | merge2@1.4.1: {}
2600 |
2601 | methods@1.1.2: {}
2602 |
2603 | micromatch@4.0.5:
2604 | dependencies:
2605 | braces: 3.0.2
2606 | picomatch: 2.3.1
2607 |
2608 | mime-db@1.52.0: {}
2609 |
2610 | mime-db@1.54.0: {}
2611 |
2612 | mime-types@2.1.35:
2613 | dependencies:
2614 | mime-db: 1.52.0
2615 |
2616 | mime-types@3.0.2:
2617 | dependencies:
2618 | mime-db: 1.54.0
2619 |
2620 | mime@1.6.0: {}
2621 |
2622 | minimatch@3.1.2:
2623 | dependencies:
2624 | brace-expansion: 1.1.11
2625 |
2626 | minimatch@5.1.6:
2627 | dependencies:
2628 | brace-expansion: 2.0.1
2629 |
2630 | mongodb-connection-string-url@3.0.0:
2631 | dependencies:
2632 | '@types/whatwg-url': 11.0.3
2633 | whatwg-url: 13.0.0
2634 |
2635 | mongodb@6.12.0:
2636 | dependencies:
2637 | '@mongodb-js/saslprep': 1.1.9
2638 | bson: 6.10.1
2639 | mongodb-connection-string-url: 3.0.0
2640 |
2641 | mongoose@8.9.5:
2642 | dependencies:
2643 | bson: 6.10.1
2644 | kareem: 2.6.3
2645 | mongodb: 6.12.0
2646 | mpath: 0.9.0
2647 | mquery: 5.0.0
2648 | ms: 2.1.3
2649 | sift: 17.1.3
2650 | transitivePeerDependencies:
2651 | - '@aws-sdk/credential-providers'
2652 | - '@mongodb-js/zstd'
2653 | - gcp-metadata
2654 | - kerberos
2655 | - mongodb-client-encryption
2656 | - snappy
2657 | - socks
2658 | - supports-color
2659 |
2660 | mpath@0.9.0: {}
2661 |
2662 | mquery@5.0.0:
2663 | dependencies:
2664 | debug: 4.4.3
2665 | transitivePeerDependencies:
2666 | - supports-color
2667 |
2668 | ms@2.0.0: {}
2669 |
2670 | ms@2.1.1: {}
2671 |
2672 | ms@2.1.2: {}
2673 |
2674 | ms@2.1.3: {}
2675 |
2676 | nanoid@3.3.11: {}
2677 |
2678 | nanoid@3.3.7: {}
2679 |
2680 | needle@3.3.1:
2681 | dependencies:
2682 | iconv-lite: 0.6.3
2683 | sax: 1.3.0
2684 | optional: true
2685 |
2686 | negotiator@0.6.3: {}
2687 |
2688 | no-case@3.0.4:
2689 | dependencies:
2690 | lower-case: 2.0.2
2691 | tslib: 2.6.2
2692 |
2693 | node-html-parser@5.4.2:
2694 | dependencies:
2695 | css-select: 4.3.0
2696 | he: 1.2.0
2697 |
2698 | node-releases@2.0.14: {}
2699 |
2700 | nodemon@3.1.10:
2701 | dependencies:
2702 | chokidar: 3.6.0
2703 | debug: 4.3.4(supports-color@5.5.0)
2704 | ignore-by-default: 1.0.1
2705 | minimatch: 3.1.2
2706 | pstree.remy: 1.1.8
2707 | semver: 7.7.3
2708 | simple-update-notifier: 2.0.0
2709 | supports-color: 5.5.0
2710 | touch: 3.1.1
2711 | undefsafe: 2.0.5
2712 |
2713 | normalize-path@3.0.0: {}
2714 |
2715 | normalize-wheel-es@1.2.0: {}
2716 |
2717 | nth-check@2.1.1:
2718 | dependencies:
2719 | boolbase: 1.0.0
2720 |
2721 | object-inspect@1.13.1: {}
2722 |
2723 | object-inspect@1.13.4: {}
2724 |
2725 | on-finished@2.4.1:
2726 | dependencies:
2727 | ee-first: 1.1.1
2728 |
2729 | on-headers@1.0.2: {}
2730 |
2731 | param-case@3.0.4:
2732 | dependencies:
2733 | dot-case: 3.0.4
2734 | tslib: 2.6.2
2735 |
2736 | parse-node-version@1.0.1: {}
2737 |
2738 | parseurl@1.3.3: {}
2739 |
2740 | pascal-case@3.1.2:
2741 | dependencies:
2742 | no-case: 3.0.4
2743 | tslib: 2.6.2
2744 |
2745 | path-to-regexp@0.1.7: {}
2746 |
2747 | pathe@0.2.0: {}
2748 |
2749 | picocolors@1.0.0: {}
2750 |
2751 | picocolors@1.1.1: {}
2752 |
2753 | picomatch@2.3.1: {}
2754 |
2755 | pify@4.0.1:
2756 | optional: true
2757 |
2758 | postcss@8.4.38:
2759 | dependencies:
2760 | nanoid: 3.3.7
2761 | picocolors: 1.0.0
2762 | source-map-js: 1.2.0
2763 |
2764 | postcss@8.5.6:
2765 | dependencies:
2766 | nanoid: 3.3.11
2767 | picocolors: 1.1.1
2768 | source-map-js: 1.2.1
2769 |
2770 | proxy-addr@2.0.7:
2771 | dependencies:
2772 | forwarded: 0.2.0
2773 | ipaddr.js: 1.9.1
2774 |
2775 | proxy-from-env@1.1.0: {}
2776 |
2777 | prr@1.0.1:
2778 | optional: true
2779 |
2780 | pstree.remy@1.1.8: {}
2781 |
2782 | punycode@2.3.1: {}
2783 |
2784 | qs@6.11.0:
2785 | dependencies:
2786 | side-channel: 1.0.6
2787 |
2788 | qs@6.14.0:
2789 | dependencies:
2790 | side-channel: 1.1.0
2791 |
2792 | queue-microtask@1.2.3: {}
2793 |
2794 | random-bytes@1.0.0: {}
2795 |
2796 | range-parser@1.2.1: {}
2797 |
2798 | raw-body@2.5.2:
2799 | dependencies:
2800 | bytes: 3.1.2
2801 | http-errors: 2.0.0
2802 | iconv-lite: 0.4.24
2803 | unpipe: 1.0.0
2804 |
2805 | raw-body@3.0.2:
2806 | dependencies:
2807 | bytes: 3.1.2
2808 | http-errors: 2.0.1
2809 | iconv-lite: 0.7.0
2810 | unpipe: 1.0.0
2811 |
2812 | readdirp@3.6.0:
2813 | dependencies:
2814 | picomatch: 2.3.1
2815 |
2816 | relateurl@0.2.7: {}
2817 |
2818 | reusify@1.0.4: {}
2819 |
2820 | rollup@4.52.5:
2821 | dependencies:
2822 | '@types/estree': 1.0.8
2823 | optionalDependencies:
2824 | '@rollup/rollup-android-arm-eabi': 4.52.5
2825 | '@rollup/rollup-android-arm64': 4.52.5
2826 | '@rollup/rollup-darwin-arm64': 4.52.5
2827 | '@rollup/rollup-darwin-x64': 4.52.5
2828 | '@rollup/rollup-freebsd-arm64': 4.52.5
2829 | '@rollup/rollup-freebsd-x64': 4.52.5
2830 | '@rollup/rollup-linux-arm-gnueabihf': 4.52.5
2831 | '@rollup/rollup-linux-arm-musleabihf': 4.52.5
2832 | '@rollup/rollup-linux-arm64-gnu': 4.52.5
2833 | '@rollup/rollup-linux-arm64-musl': 4.52.5
2834 | '@rollup/rollup-linux-loong64-gnu': 4.52.5
2835 | '@rollup/rollup-linux-ppc64-gnu': 4.52.5
2836 | '@rollup/rollup-linux-riscv64-gnu': 4.52.5
2837 | '@rollup/rollup-linux-riscv64-musl': 4.52.5
2838 | '@rollup/rollup-linux-s390x-gnu': 4.52.5
2839 | '@rollup/rollup-linux-x64-gnu': 4.52.5
2840 | '@rollup/rollup-linux-x64-musl': 4.52.5
2841 | '@rollup/rollup-openharmony-arm64': 4.52.5
2842 | '@rollup/rollup-win32-arm64-msvc': 4.52.5
2843 | '@rollup/rollup-win32-ia32-msvc': 4.52.5
2844 | '@rollup/rollup-win32-x64-gnu': 4.52.5
2845 | '@rollup/rollup-win32-x64-msvc': 4.52.5
2846 | fsevents: 2.3.3
2847 |
2848 | run-parallel@1.2.0:
2849 | dependencies:
2850 | queue-microtask: 1.2.3
2851 |
2852 | safe-buffer@5.1.1: {}
2853 |
2854 | safe-buffer@5.1.2: {}
2855 |
2856 | safe-buffer@5.2.1: {}
2857 |
2858 | safer-buffer@2.1.2: {}
2859 |
2860 | sax@1.3.0:
2861 | optional: true
2862 |
2863 | semver@5.7.2:
2864 | optional: true
2865 |
2866 | semver@7.7.3: {}
2867 |
2868 | send@0.18.0:
2869 | dependencies:
2870 | debug: 2.6.9
2871 | depd: 2.0.0
2872 | destroy: 1.2.0
2873 | encodeurl: 1.0.2
2874 | escape-html: 1.0.3
2875 | etag: 1.8.1
2876 | fresh: 0.5.2
2877 | http-errors: 2.0.0
2878 | mime: 1.6.0
2879 | ms: 2.1.3
2880 | on-finished: 2.4.1
2881 | range-parser: 1.2.1
2882 | statuses: 2.0.1
2883 | transitivePeerDependencies:
2884 | - supports-color
2885 |
2886 | serve-favicon@2.5.0:
2887 | dependencies:
2888 | etag: 1.8.1
2889 | fresh: 0.5.2
2890 | ms: 2.1.1
2891 | parseurl: 1.3.3
2892 | safe-buffer: 5.1.1
2893 |
2894 | serve-static@1.15.0:
2895 | dependencies:
2896 | encodeurl: 1.0.2
2897 | escape-html: 1.0.3
2898 | parseurl: 1.3.3
2899 | send: 0.18.0
2900 | transitivePeerDependencies:
2901 | - supports-color
2902 |
2903 | set-function-length@1.2.2:
2904 | dependencies:
2905 | define-data-property: 1.1.4
2906 | es-errors: 1.3.0
2907 | function-bind: 1.1.2
2908 | get-intrinsic: 1.3.0
2909 | gopd: 1.2.0
2910 | has-property-descriptors: 1.0.2
2911 |
2912 | setprototypeof@1.2.0: {}
2913 |
2914 | side-channel-list@1.0.0:
2915 | dependencies:
2916 | es-errors: 1.3.0
2917 | object-inspect: 1.13.4
2918 |
2919 | side-channel-map@1.0.1:
2920 | dependencies:
2921 | call-bound: 1.0.4
2922 | es-errors: 1.3.0
2923 | get-intrinsic: 1.3.0
2924 | object-inspect: 1.13.4
2925 |
2926 | side-channel-weakmap@1.0.2:
2927 | dependencies:
2928 | call-bound: 1.0.4
2929 | es-errors: 1.3.0
2930 | get-intrinsic: 1.3.0
2931 | object-inspect: 1.13.4
2932 | side-channel-map: 1.0.1
2933 |
2934 | side-channel@1.0.6:
2935 | dependencies:
2936 | call-bind: 1.0.7
2937 | es-errors: 1.3.0
2938 | get-intrinsic: 1.2.4
2939 | object-inspect: 1.13.1
2940 |
2941 | side-channel@1.1.0:
2942 | dependencies:
2943 | es-errors: 1.3.0
2944 | object-inspect: 1.13.4
2945 | side-channel-list: 1.0.0
2946 | side-channel-map: 1.0.1
2947 | side-channel-weakmap: 1.0.2
2948 |
2949 | sift@17.1.3: {}
2950 |
2951 | simple-update-notifier@2.0.0:
2952 | dependencies:
2953 | semver: 7.7.3
2954 |
2955 | source-map-js@1.2.0: {}
2956 |
2957 | source-map-js@1.2.1: {}
2958 |
2959 | source-map-support@0.5.21:
2960 | dependencies:
2961 | buffer-from: 1.1.2
2962 | source-map: 0.6.1
2963 |
2964 | source-map@0.6.1: {}
2965 |
2966 | sparse-bitfield@3.0.3:
2967 | dependencies:
2968 | memory-pager: 1.5.0
2969 |
2970 | statuses@2.0.1: {}
2971 |
2972 | statuses@2.0.2: {}
2973 |
2974 | supports-color@5.5.0:
2975 | dependencies:
2976 | has-flag: 3.0.0
2977 |
2978 | supports-color@7.2.0:
2979 | dependencies:
2980 | has-flag: 4.0.0
2981 |
2982 | terser@5.30.3:
2983 | dependencies:
2984 | '@jridgewell/source-map': 0.3.6
2985 | acorn: 8.11.3
2986 | commander: 2.20.3
2987 | source-map-support: 0.5.21
2988 |
2989 | to-fast-properties@2.0.0: {}
2990 |
2991 | to-regex-range@5.0.1:
2992 | dependencies:
2993 | is-number: 7.0.0
2994 |
2995 | toidentifier@1.0.1: {}
2996 |
2997 | touch@3.1.1: {}
2998 |
2999 | tr46@4.1.1:
3000 | dependencies:
3001 | punycode: 2.3.1
3002 |
3003 | tslib@2.6.2: {}
3004 |
3005 | type-is@1.6.18:
3006 | dependencies:
3007 | media-typer: 0.3.0
3008 | mime-types: 2.1.35
3009 |
3010 | type-is@2.0.1:
3011 | dependencies:
3012 | content-type: 1.0.5
3013 | media-typer: 1.1.0
3014 | mime-types: 3.0.2
3015 |
3016 | uid-safe@2.1.5:
3017 | dependencies:
3018 | random-bytes: 1.0.0
3019 |
3020 | undefsafe@2.0.5: {}
3021 |
3022 | universalify@2.0.1: {}
3023 |
3024 | unpipe@1.0.0: {}
3025 |
3026 | unplugin-element-plus@0.8.0(rollup@4.52.5):
3027 | dependencies:
3028 | '@rollup/pluginutils': 5.1.0(rollup@4.52.5)
3029 | es-module-lexer: 1.5.0
3030 | magic-string: 0.30.9
3031 | unplugin: 1.10.1
3032 | transitivePeerDependencies:
3033 | - rollup
3034 |
3035 | unplugin@1.10.1:
3036 | dependencies:
3037 | acorn: 8.11.3
3038 | chokidar: 3.6.0
3039 | webpack-sources: 3.2.3
3040 | webpack-virtual-modules: 0.6.1
3041 |
3042 | update-browserslist-db@1.0.13(browserslist@4.23.0):
3043 | dependencies:
3044 | browserslist: 4.23.0
3045 | escalade: 3.1.2
3046 | picocolors: 1.0.0
3047 |
3048 | utils-merge@1.0.1: {}
3049 |
3050 | validator@13.11.0: {}
3051 |
3052 | vary@1.1.2: {}
3053 |
3054 | vite-plugin-html@3.2.2(vite@5.4.21(less@4.2.0)(terser@5.30.3)):
3055 | dependencies:
3056 | '@rollup/pluginutils': 4.2.1
3057 | colorette: 2.0.20
3058 | connect-history-api-fallback: 1.6.0
3059 | consola: 2.15.3
3060 | dotenv: 16.4.5
3061 | dotenv-expand: 8.0.3
3062 | ejs: 3.1.10
3063 | fast-glob: 3.3.2
3064 | fs-extra: 10.1.0
3065 | html-minifier-terser: 6.1.0
3066 | node-html-parser: 5.4.2
3067 | pathe: 0.2.0
3068 | vite: 5.4.21(less@4.2.0)(terser@5.30.3)
3069 |
3070 | vite@5.4.21(less@4.2.0)(terser@5.30.3):
3071 | dependencies:
3072 | esbuild: 0.21.5
3073 | postcss: 8.5.6
3074 | rollup: 4.52.5
3075 | optionalDependencies:
3076 | fsevents: 2.3.3
3077 | less: 4.2.0
3078 | terser: 5.30.3
3079 |
3080 | vue-demi@0.14.7(vue@3.4.21):
3081 | dependencies:
3082 | vue: 3.4.21
3083 |
3084 | vue-router@4.3.0(vue@3.4.21):
3085 | dependencies:
3086 | '@vue/devtools-api': 6.6.1
3087 | vue: 3.4.21
3088 |
3089 | vue@3.4.21:
3090 | dependencies:
3091 | '@vue/compiler-dom': 3.4.21
3092 | '@vue/compiler-sfc': 3.4.21
3093 | '@vue/runtime-dom': 3.4.21
3094 | '@vue/server-renderer': 3.4.21(vue@3.4.21)
3095 | '@vue/shared': 3.4.21
3096 |
3097 | webidl-conversions@7.0.0: {}
3098 |
3099 | webpack-sources@3.2.3: {}
3100 |
3101 | webpack-virtual-modules@0.6.1: {}
3102 |
3103 | whatwg-url@13.0.0:
3104 | dependencies:
3105 | tr46: 4.1.1
3106 | webidl-conversions: 7.0.0
3107 |
--------------------------------------------------------------------------------