feat:配置项增加备注

This commit is contained in:
qijia 2025-12-30 10:49:06 +08:00
parent a9689d9c1f
commit 65b9fdef7e
3 changed files with 479 additions and 192 deletions

View File

@ -1,124 +1,125 @@
import { useEffect, useState } from 'react'
import * as Api from "../api/access"
import { useSearchParams } from 'react-router-dom';
import { useAuthStore } from '../store/AuthStore';
import wx from 'weixin-js-sdk'
import { useEffect, useState } from "react";
import * as Api from "../api/access";
import { useSearchParams } from "react-router-dom";
import { useAuthStore } from "../store/AuthStore";
import wx from "weixin-js-sdk";
function Home() {
const [tips, setTips] = useState("登陆中,请稍后")
const [tips, setTips] = useState("登陆中,请稍后");
let [urlParams] = useSearchParams();
const authStore = useAuthStore()
const authStore = useAuthStore();
const navigateAccessPage = async () => {
try {
const res = await Api.getAccessPage()
const res = await Api.getAccessPage();
if (res.code !== 200) {
throw new Error(res.message);
}
window.location.href = res.data.url
window.location.href = res.data.url;
} catch (e: any) {
setTips("获取活动页失败")
recordError(e.message)
setTips("获取活动页失败");
recordError(e.message);
// console.error(e.message);
}
}
};
const recordState = async () => {
try {
const code = urlParams.get('code') || "null"
const state = urlParams.get('state') || "err"
const customer_id = authStore.tid || 0
const customer_openid = authStore.clientOpenid || "null"
const code = urlParams.get("code") || "null";
const state = urlParams.get("state") || "err";
const customer_id = authStore.tid || 0;
const customer_openid = authStore.clientOpenid || "null";
const res = await Api.recordState({
code: code,
state: state,
customer_id: customer_id,
customer_openid: customer_openid,
})
customer_openid: customer_openid
});
if (res.code !== 200) {
throw new Error(res.message);
}
} catch (e: any) {
// console.error(e.message);
}
}
};
const recordError = async (str:string) => {
const recordError = async (str: string) => {
try {
const code = "error"
const state = str
const customer_id = authStore.tid || 0
const customer_openid = authStore.clientOpenid || "null"
const code = "error";
const state = str;
const customer_id = authStore.tid || 0;
const customer_openid = authStore.clientOpenid || "null";
const res = await Api.recordState({
code: code,
state: state,
customer_id: customer_id,
customer_openid: customer_openid,
})
customer_openid: customer_openid
});
if (res.code !== 200) {
throw new Error(res.message);
}
} catch (e: any) {
// console.error(e.message);
}
}
};
const navigateActivityPage = async (customer_id: number) => {
try {
const res = await Api.getActivityPage(customer_id)
const res = await Api.getActivityPage(customer_id);
if (res.code !== 200) {
recordError(res.message)
recordError(res.message);
throw new Error(res.message);
}
const activityCode = authStore.activityCode
const userId = authStore.userId
const corpId = authStore.corpId
const tradeNo = authStore.tradeNo
const redirectUrl = authStore.redirect_url
const activityCode = authStore.activityCode;
const userId = authStore.userId;
const corpId = authStore.corpId;
const tradeNo = authStore.tradeNo;
const redirectUrl = authStore.redirect_url;
// const code = authStore.code
authStore.clear()
authStore.clear();
let url = ""
if(redirectUrl != ""){
url = redirectUrl
}else if (activityCode != "") {
url = res.data.url + `?activityCode=${activityCode}&userId=${userId}&corpId=${corpId}`
} else if(tradeNo != ""){
url = res.data.url + `?code=${urlParams.get('code')}`
}else {
url = res.data.url
let url = "";
if (redirectUrl != "") {
url = redirectUrl;
} else if (activityCode != "") {
url =
res.data.url +
`?activityCode=${activityCode}&userId=${userId}&corpId=${corpId}`;
} else if (tradeNo != "") {
url = res.data.url + `?code=${urlParams.get("code")}`;
} else {
url = res.data.url;
}
if (res.data.type == "h5") {
window.location.href = url
window.location.href = url;
} else {
wx.miniProgram.navigateTo({
url: url
})
});
}
} catch (e: any) {
recordError(e.message)
recordError(e.message);
// console.error(e.message);
}
}
};
const bindIds = async (code:string) => {
const bindIds = async (code: string) => {
try {
//检查是否有tid和openid
const tid = authStore.tid
const openid = authStore.clientOpenid
const phone = authStore.phone
const sign = authStore.sign
const activityCode = authStore.activityCode || ""
const userId = authStore.userId || ""
const corpId = authStore.corpId || ""
const timestamp = authStore.timeStamp || ""
const tid = authStore.tid;
const openid = authStore.clientOpenid;
const phone = authStore.phone;
const sign = authStore.sign;
const activityCode = authStore.activityCode || "";
const userId = authStore.userId || "";
const corpId = authStore.corpId || "";
const timestamp = authStore.timeStamp || "";
if (tid && openid && sign || tid && phone && sign) {
authStore.setCode(code)
if ((tid && openid && sign) || (tid && phone && sign)) {
authStore.setCode(code);
const res = await Api.bindIds({
code: code,
client_openid: openid,
@ -129,107 +130,112 @@ function Home() {
activity_code: activityCode,
user_id: userId,
corp_id: corpId,
timestamp: timestamp,
})
timestamp: timestamp
});
if (res.code !== 200) {
throw new Error(res.message);
}
navigateActivityPage(tid)
navigateActivityPage(tid);
} else {
setTips("授权参数失效,请再次尝试")
setTips("授权参数失效,请再次尝试");
}
} catch (e: any) {
recordError(e.message)
recordError(e.message);
// console.error(e.message);
setTips("授权失败")
setTips("授权失败");
}
}
};
const parseRedirectUrl = (redirect_url:string) => {
if(redirect_url=="")return ""
const urlDecode = decodeURIComponent(redirect_url)
const urlJson = JSON.parse(urlDecode)
const paramJson = JSON.parse(urlJson.params)
let redirectUrl = urlJson.path
if(paramJson.length > 0){
redirectUrl+="?"
for (let i=0;i<paramJson.length;i++) {
if(i != 0){
redirectUrl += "&"
const parseRedirectUrl = (redirect_url: string) => {
if (redirect_url == "") return "";
const urlDecode = decodeURIComponent(redirect_url);
const urlJson = JSON.parse(urlDecode);
const paramJson = JSON.parse(urlJson.params);
let redirectUrl = urlJson.path;
if (paramJson.length > 0) {
redirectUrl += "?";
for (let i = 0; i < paramJson.length; i++) {
if (i != 0) {
redirectUrl += "&";
}
redirectUrl += `${paramJson[i]}`
redirectUrl += `${paramJson[i]}`;
}
}
console.log(redirectUrl)
return redirectUrl
}
console.log(redirectUrl);
return redirectUrl;
};
useEffect(() => {
const tid = parseInt(urlParams.get('tid') || "0")
const openid = urlParams.get('openid') || urlParams.get('openId')
const phone = urlParams.get('phone')
const sign = urlParams.get('sign')
const tid = parseInt(urlParams.get("tid") || "0");
const openid = urlParams.get("openid") || urlParams.get("openId");
const phone = urlParams.get("phone");
const sign = urlParams.get("sign");
//学知识专用参数
const redirect_url = urlParams.get('redirect_url') || ""
const redirect_url = urlParams.get("redirect_url") || "";
//裂变专用参数
const activityCode = urlParams.get('activityCode') || ""
const userId = urlParams.get('userId') || ""
const corpId = urlParams.get('corpId') || ""
const timestamp = urlParams.get('timestamp') || ""
const tradeNo = urlParams.get('tradeNo') || ""
const activityCode = urlParams.get("activityCode") || "";
const userId = urlParams.get("userId") || "";
const corpId = urlParams.get("corpId") || "";
const timestamp = urlParams.get("timestamp") || "";
const tradeNo = urlParams.get("tradeNo") || "";
if(activityCode!="")authStore.setActivityCode(activityCode)
if(userId!="")authStore.setUserId(userId)
if(corpId!="")authStore.setCorpId(corpId)
if(timestamp!="")authStore.setTimeStamp(timestamp)
if(redirect_url!="")authStore.setRedirectUrl(parseRedirectUrl(redirect_url))
if (activityCode != "") authStore.setActivityCode(activityCode);
if (userId != "") authStore.setUserId(userId);
if (corpId != "") authStore.setCorpId(corpId);
if (timestamp != "") authStore.setTimeStamp(timestamp);
if (redirect_url != "")
authStore.setRedirectUrl(parseRedirectUrl(redirect_url));
if (tid && openid && sign) {
//初次登陆或者重新登陆
authStore.setTid(tid)
authStore.setClientOpenId(openid)
authStore.setSign(sign)
navigateAccessPage()
authStore.setTid(tid);
authStore.setClientOpenId(openid);
authStore.setSign(sign);
navigateAccessPage();
} else if (tid && phone && sign) {
//绑定手机号
authStore.setTid(tid)
authStore.setPhone(phone)
authStore.setSign(sign)
navigateAccessPage()
} else if(tid && tradeNo){
authStore.setTid(tid)
authStore.setTradeNo(tradeNo)
console.log("tid: ",authStore.tid)
navigateAccessPage()
authStore.setTid(tid);
authStore.setPhone(phone);
authStore.setSign(sign);
navigateAccessPage();
} else if (tid && tradeNo) {
authStore.setTid(tid);
authStore.setTradeNo(tradeNo);
console.log("tid: ", authStore.tid);
navigateAccessPage();
} else {
//微信跳回
const code = urlParams.get('code')
const code = urlParams.get("code");
// const redirectUrl = urlParams.get('redirect_url')
console.log("tid: ",authStore.tid)
const tid = authStore.tid
const tids = [783, 795, 788, 790, 797, 798, 799, 10081, 10084, 10088, 10090, 10092, 10096, 10097, 10099, 10100, 10101];
console.log("tid: ", authStore.tid);
const tid = authStore.tid;
// 活动ID 小于1000的是测试环境大于的是生产环境
const tids = [
783, 795, 788, 790, 797, 798, 799, 10081, 10084, 10088, 10090, 10092,
10096, 10097, 10099, 10100, 10101
];
if (code) {
// if(tid == 783 || tid == 788 || tid == 790 || tid == 797 || tid == 10081 || tid == 10084 || tid == 10088 || tid == 10090 || tid == 10092 || tid == 10096 || tid == 10099){
if(tids.some(v => v == tid)){
const tid = authStore.tid
authStore.setCode(code)
navigateActivityPage(tid)
}else{
bindIds(code)
if (tids.some((v) => v == tid)) {
const tid = authStore.tid;
authStore.setCode(code);
navigateActivityPage(tid);
} else {
bindIds(code);
}
} else {
recordState()
recordError("没有获取到code")
setTips("授权参数不完整")
recordState();
recordError("没有获取到code");
setTips("授权参数不完整");
}
}
}, [])
}, []);
return (
<>
<div>{tips}</div>
</>
)
);
}
export default Home
export default Home;

View File

@ -1,58 +1,65 @@
export interface ReqParam {
url: string;
method: string;
headers?: any;
body?: any;
options?: any;
url: string;
method: string;
headers?: any;
body?: any;
options?: any;
}
//测试配置
const test_customer_id = [
2,3,674,675,676,677,690,691,695,696,697,698,699,780,781,782,783,784,785,786,787,788,789,790,795,797,798,799
]
2, 3, 674, 675, 676, 677, 690, 691, 695, 696, 697, 698, 699, 780, 781, 782,
783, 784, 785, 786, 787, 788, 789, 790, 795, 797, 798, 799
];
export const mRequest = async (req: ReqParam) => {
console.log("api: ", req.url, " method: ", req.method, " body: ", req.body)
const current_env = import.meta.env.VITE_NODE_ENV;
let url = current_env == "production" ? import.meta.env.VITE_SERVE + req.url:req.url;
console.log("api: ", req.url, " method: ", req.method, " body: ", req.body);
const current_env = import.meta.env.VITE_NODE_ENV;
let url =
current_env == "production"
? import.meta.env.VITE_SERVE + req.url
: req.url;
if(req.method == "GET"){
console.log(req.url)
const param = req.url.split("?")
if(param.length > 1){
const customer_id = Number(param[1].split("=")[1])
if(test_customer_id.includes(Number(customer_id))){
url = import.meta.env.VITE_SERVE_TEST + req.url
}
}
}else{
const customer_id = req.body.customer_id
if(test_customer_id.includes(Number(customer_id))){
url = import.meta.env.VITE_SERVE_TEST + req.url
}
if (req.method == "GET") {
console.log(req.url);
const param = req.url.split("?");
if (param.length > 1) {
const customer_id = Number(param[1].split("=")[1]);
if (test_customer_id.includes(Number(customer_id))) {
url = import.meta.env.VITE_SERVE_TEST + req.url;
}
}
console.log(url)
const content_type = req.body && req.body instanceof FormData ? {} : {
'Content-Type': 'application/json',
} else {
const customer_id = req.body.customer_id;
if (test_customer_id.includes(Number(customer_id))) {
url = import.meta.env.VITE_SERVE_TEST + req.url;
}
const response = await fetch(url, {
method: req.method,
headers: {
...req.headers,
...content_type
},
body: req.body ?
req.body instanceof FormData ? req.body as FormData : JSON.stringify(req.body)
: undefined,
...req.options
});
const res = await response.json();
// if (res.code === 401) {
// window.location.href = '/login';
// }
return res; //response.json();
}
}
console.log(url);
const content_type =
req.body && req.body instanceof FormData
? {}
: {
"Content-Type": "application/json"
};
const response = await fetch(url, {
method: req.method,
headers: {
...req.headers,
...content_type
},
body: req.body
? req.body instanceof FormData
? (req.body as FormData)
: JSON.stringify(req.body)
: undefined,
...req.options
});
const res = await response.json();
// if (res.code === 401) {
// window.location.href = '/login';
// }
return res; //response.json();
};

308
yarn.lock
View File

@ -23,7 +23,7 @@
resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.24.4.tgz"
integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.23.5":
"@babel/core@^7.23.5":
version "7.24.5"
resolved "https://registry.npmmirror.com/@babel/core/-/core-7.24.5.tgz"
integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==
@ -209,11 +209,121 @@
"@babel/helper-validator-identifier" "^7.24.5"
to-fast-properties "^2.0.0"
"@esbuild/aix-ppc64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==
"@esbuild/android-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9"
integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==
"@esbuild/android-arm@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995"
integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==
"@esbuild/android-x64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98"
integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==
"@esbuild/darwin-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz"
integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
"@esbuild/darwin-x64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0"
integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==
"@esbuild/freebsd-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911"
integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==
"@esbuild/freebsd-x64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c"
integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==
"@esbuild/linux-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5"
integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==
"@esbuild/linux-arm@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c"
integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==
"@esbuild/linux-ia32@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa"
integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==
"@esbuild/linux-loong64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5"
integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==
"@esbuild/linux-mips64el@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa"
integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==
"@esbuild/linux-ppc64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20"
integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==
"@esbuild/linux-riscv64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300"
integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==
"@esbuild/linux-s390x@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685"
integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==
"@esbuild/linux-x64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff"
integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==
"@esbuild/netbsd-x64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6"
integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==
"@esbuild/openbsd-x64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf"
integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==
"@esbuild/sunos-x64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f"
integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==
"@esbuild/win32-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90"
integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==
"@esbuild/win32-ia32@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23"
integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==
"@esbuild/win32-x64@0.20.2":
version "0.20.2"
resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc"
integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
resolved "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz"
@ -305,7 +415,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
version "2.0.5"
resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@ -323,11 +433,86 @@
resolved "https://registry.npmmirror.com/@remix-run/router/-/router-1.16.1.tgz"
integrity sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig==
"@rollup/rollup-android-arm-eabi@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz#bbd0e616b2078cd2d68afc9824d1fadb2f2ffd27"
integrity sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==
"@rollup/rollup-android-arm64@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz#97255ef6384c5f73f4800c0de91f5f6518e21203"
integrity sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==
"@rollup/rollup-darwin-arm64@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz"
integrity sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==
"@rollup/rollup-darwin-x64@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz#e07d76de1cec987673e7f3d48ccb8e106d42c05c"
integrity sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==
"@rollup/rollup-linux-arm-gnueabihf@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz#9f1a6d218b560c9d75185af4b8bb42f9f24736b8"
integrity sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==
"@rollup/rollup-linux-arm-musleabihf@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz#53618b92e6ffb642c7b620e6e528446511330549"
integrity sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==
"@rollup/rollup-linux-arm64-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz#99a7ba5e719d4f053761a698f7b52291cefba577"
integrity sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==
"@rollup/rollup-linux-arm64-musl@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz#f53db99a45d9bc00ce94db8a35efa7c3c144a58c"
integrity sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==
"@rollup/rollup-linux-powerpc64le-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz#cbb0837408fe081ce3435cf3730e090febafc9bf"
integrity sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==
"@rollup/rollup-linux-riscv64-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz#8ed09c1d1262ada4c38d791a28ae0fea28b80cc9"
integrity sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==
"@rollup/rollup-linux-s390x-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz#938138d3c8e0c96f022252a28441dcfb17afd7ec"
integrity sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==
"@rollup/rollup-linux-x64-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz#1a7481137a54740bee1ded4ae5752450f155d942"
integrity sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==
"@rollup/rollup-linux-x64-musl@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz#f1186afc601ac4f4fc25fac4ca15ecbee3a1874d"
integrity sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==
"@rollup/rollup-win32-arm64-msvc@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz#ed6603e93636a96203c6915be4117245c1bd2daf"
integrity sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==
"@rollup/rollup-win32-ia32-msvc@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz#14e0b404b1c25ebe6157a15edb9c46959ba74c54"
integrity sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==
"@rollup/rollup-win32-x64-msvc@4.18.0":
version "4.18.0"
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz#5d694d345ce36b6ecf657349e03eb87297e68da4"
integrity sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==
"@types/babel__core@^7.20.5":
version "7.20.5"
resolved "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz"
@ -378,7 +563,7 @@
dependencies:
"@types/react" "*"
"@types/react@*", "@types/react@^18.2.66", "@types/react@>=16.8":
"@types/react@*", "@types/react@^18.2.66":
version "18.3.2"
resolved "https://registry.npmmirror.com/@types/react/-/react-18.3.2.tgz"
integrity sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w==
@ -401,7 +586,7 @@
natural-compare "^1.4.0"
ts-api-utils "^1.3.0"
"@typescript-eslint/parser@^7.0.0", "@typescript-eslint/parser@^7.2.0":
"@typescript-eslint/parser@^7.2.0":
version "7.10.0"
resolved "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-7.10.0.tgz"
integrity sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==
@ -488,7 +673,7 @@ acorn-jsx@^5.3.2:
resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.9.0:
acorn@^8.9.0:
version "8.11.3"
resolved "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz"
integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
@ -559,7 +744,7 @@ braces@^3.0.3:
dependencies:
fill-range "^7.1.1"
browserslist@^4.22.2, "browserslist@>= 4.21.0":
browserslist@^4.22.2:
version "4.23.0"
resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz"
integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
@ -610,16 +795,16 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz"
@ -630,6 +815,11 @@ convert-source-map@^2.0.0:
resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
core-util-is@~1.0.0:
version "1.0.3"
resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
cross-spawn@^7.0.2:
version "7.0.3"
resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz"
@ -644,6 +834,11 @@ csstype@^3.0.2:
resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
dayjs@^1.11.18:
version "1.11.19"
resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.19.tgz#15dc98e854bb43917f12021806af897c58ae2938"
integrity sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==
debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz"
@ -742,7 +937,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4
resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
"eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.56.0, eslint@^8.57.0, eslint@>=7:
eslint@^8.57.0:
version "8.57.0"
resolved "https://registry.npmmirror.com/eslint/-/eslint-8.57.0.tgz"
integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==
@ -973,6 +1168,11 @@ ignore@^5.2.0, ignore@^5.3.1:
resolved "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz"
integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==
immediate@~3.0.5:
version "3.0.6"
resolved "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz"
@ -994,7 +1194,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
inherits@2:
inherits@2, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@ -1021,6 +1221,11 @@ is-path-inside@^3.0.3:
resolved "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz"
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz"
@ -1063,6 +1268,16 @@ json5@^2.2.3:
resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
jszip@^3.10.1:
version "3.10.1"
resolved "https://registry.npmmirror.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2"
integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==
dependencies:
lie "~3.3.0"
pako "~1.0.2"
readable-stream "~2.3.6"
setimmediate "^1.0.5"
keyv@^4.5.3:
version "4.5.4"
resolved "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz"
@ -1078,6 +1293,13 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
lie@~3.3.0:
version "3.3.0"
resolved "https://registry.npmmirror.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a"
integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==
dependencies:
immediate "~3.0.5"
locate-path@^6.0.0:
version "6.0.0"
resolved "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz"
@ -1184,6 +1406,11 @@ p-locate@^5.0.0:
dependencies:
p-limit "^3.0.2"
pako@~1.0.2:
version "1.0.11"
resolved "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz"
@ -1235,6 +1462,11 @@ prelude-ls@^1.2.1:
resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
punycode@^2.1.0:
version "2.3.1"
resolved "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz"
@ -1245,7 +1477,7 @@ queue-microtask@^1.2.2:
resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
react-dom@^18.2.0, react-dom@>=16.8:
react-dom@^18.2.0:
version "18.3.1"
resolved "https://registry.npmmirror.com/react-dom/-/react-dom-18.3.1.tgz"
integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
@ -1273,13 +1505,26 @@ react-router@6.23.1:
dependencies:
"@remix-run/router" "1.16.1"
"react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.2.0, react@^18.3.1, react@>=16.8:
react@^18.2.0:
version "18.3.1"
resolved "https://registry.npmmirror.com/react/-/react-18.3.1.tgz"
integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
dependencies:
loose-envify "^1.1.0"
readable-stream@~2.3.6:
version "2.3.8"
resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
process-nextick-args "~2.0.0"
safe-buffer "~5.1.1"
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz"
@ -1329,6 +1574,11 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
scheduler@^0.23.2:
version "0.23.2"
resolved "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.2.tgz"
@ -1346,6 +1596,11 @@ semver@^7.6.0:
resolved "https://registry.npmmirror.com/semver/-/semver-7.6.2.tgz"
integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==
setimmediate@^1.0.5:
version "1.0.5"
resolved "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
shebang-command@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz"
@ -1368,6 +1623,13 @@ source-map-js@^1.2.0:
resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz"
integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"
strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz"
@ -1428,7 +1690,7 @@ type-fest@^0.20.2:
resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
typescript@^5.2.2, typescript@>=4.2.0:
typescript@^5.2.2:
version "5.4.5"
resolved "https://registry.npmmirror.com/typescript/-/typescript-5.4.5.tgz"
integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==
@ -1453,7 +1715,19 @@ use-sync-external-store@1.2.0:
resolved "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz"
integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
"vite@^4.2.0 || ^5.0.0", vite@^5.2.0:
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
vite-plugin-zip-pack@^1.2.4:
version "1.2.4"
resolved "https://registry.npmmirror.com/vite-plugin-zip-pack/-/vite-plugin-zip-pack-1.2.4.tgz#3e38e958b7da14a850113177e66a1e50bfa70b73"
integrity sha512-QgZEeiWayE2ZvMbkvcqWf94p/Z5YeNHZlkwXWIkkoISjePiWVXKRX2xCGmsURe9acGVdkobZ31dFJuCp3j1hMg==
dependencies:
jszip "^3.10.1"
vite@^5.2.0:
version "5.2.11"
resolved "https://registry.npmmirror.com/vite/-/vite-5.2.11.tgz"
integrity sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==