refactor: prefetch basic data and window visibility change event in streaming

This commit is contained in:
Tristan Yang
2023-08-23 23:06:12 +08:00
parent 1ae9b0e55f
commit 488b9b301c
12 changed files with 452 additions and 285 deletions
+15 -15
View File
@@ -1,15 +1,15 @@
{
"name": "vocechat-web",
"version": "0.4.21",
"version": "0.4.23",
"homepage": "https://voce.chat",
"dependencies": {
"@electron-toolkit/preload": "^2.0.0",
"@emoji-mart/react": "^1.1.1",
"@metamask/onboarding": "^1.0.1",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
"@react-oauth/google": "^0.11.1",
"@reduxjs/toolkit": "^1.9.5",
"@svgr/webpack": "^8.0.1",
"@svgr/webpack": "^8.1.0",
"@tippyjs/react": "^4.2.6",
"@toast-ui/editor": "^3.2.2",
"@toast-ui/editor-plugin-code-syntax-highlight": "^3.1.0",
@@ -17,7 +17,7 @@
"@udecode/plate": "16.8",
"@uiball/loaders": "^1.3.0",
"agora-rtc-sdk-ng": "^4.18.2",
"broadcast-channel": "^5.2.0",
"broadcast-channel": "^5.3.0",
"browserslist": "^4.21.10",
"clsx": "^2.0.0",
"copy-image-clipboard": "^2.1.2",
@@ -26,8 +26,8 @@
"dayjs": "^1.11.9",
"emoji-mart": "5.5.2",
"eslint": "^8.47.0",
"firebase": "^10.1.0",
"framer-motion": "^10.15.1",
"firebase": "^10.2.0",
"framer-motion": "^10.16.1",
"fs-extra": "^11.1.1",
"heic2any": "^0.0.4",
"html-webpack-plugin": "^5.5.3",
@@ -70,7 +70,7 @@
"terser-webpack-plugin": "^5.3.9",
"tippy.js": "^6.3.7",
"typescript": "^5.1.6",
"wavesurfer.js": "^7.1.4",
"wavesurfer.js": "^7.1.5",
"webpack": "^5.88.2",
"webpack-dev-server": "^4.15.1",
"webpack-manifest-plugin": "^5.0.0",
@@ -111,30 +111,30 @@
"@ianvs/prettier-plugin-sort-imports": "^4.1.0",
"@types/emoji-mart": "^3.0.9",
"@types/masonry-layout": "^4.2.5",
"@types/node": "^20.4.10",
"@types/node": "^20.5.2",
"@types/react": "^18.2.20",
"@types/react-dom": "^18.2.7",
"@types/react-helmet": "^6.1.6",
"@types/react-syntax-highlighter": "^15.5.7",
"@typescript-eslint/eslint-plugin": "^6.3.0",
"@typescript-eslint/parser": "^6.3.0",
"@typescript-eslint/eslint-plugin": "^6.4.1",
"@typescript-eslint/parser": "^6.4.1",
"@welldone-software/why-did-you-render": "^7.0.1",
"autoprefixer": "^10.4.14",
"autoprefixer": "^10.4.15",
"babel-loader": "^9.1.3",
"babel-plugin-named-asset-import": "^0.3.8",
"babel-preset-react-app": "^10.0.1",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-import": "^2.28.0",
"eslint-plugin-import": "^2.28.1",
"eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-react": "^7.33.1",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"gh-pages": "^6.0.0",
"md5-file": "^5.0.0",
"patch-package": "^8.0.0",
"postcss": "^8.4.27",
"postcss": "^8.4.28",
"postcss-loader": "^7.3.3",
"postinstall-postinstall": "^2.1.0",
"prettier": "^3.0.1",
"prettier": "^3.0.2",
"tailwindcss": "^3.3.3"
}
}
+1
View File
@@ -217,6 +217,7 @@ export const {
useLazyGuestLoginQuery,
useGuestLoginQuery,
useLazyCheckEmailQuery,
useLazyGetInitializedQuery,
useGetInitializedQuery,
useSendLoginMagicLinkMutation,
useSendRegMagicLinkMutation,
+11 -1
View File
@@ -237,7 +237,17 @@ export const serverApi = createApi({
})
}),
getLoginConfig: builder.query<LoginConfig, void>({
query: () => ({ url: `/admin/login/config` })
query: () => ({ url: `/admin/login/config` }),
async onQueryStarted(data, { dispatch, queryFulfilled }) {
try {
const resp = await queryFulfilled;
if (resp.data) {
dispatch(updateInfo({ loginConfig: resp.data }));
}
} catch {
console.error("get login config error");
}
}
}),
getFiles: builder.query<VoceChatFile[], GetFilesDTO>({
query: (params) => ({
+8 -4
View File
@@ -1,5 +1,5 @@
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
import { Server } from "@/types/server";
import { LoginConfig, Server } from "@/types/server";
export interface StoredServer extends Server {
version: string;
@@ -9,6 +9,7 @@ export interface StoredServer extends Server {
link: string;
expire: number;
};
loginConfig: LoginConfig | null;
}
const initialState: StoredServer = {
version: "",
@@ -23,7 +24,8 @@ const initialState: StoredServer = {
show_user_online_status: false,
webclient_auto_update: true,
contact_verification_enable: false,
chat_layout_mode: "Left"
chat_layout_mode: "Left",
loginConfig: null
};
const serverSlice = createSlice({
@@ -47,7 +49,8 @@ const serverSlice = createSlice({
show_user_online_status = true,
webclient_auto_update = true,
contact_verification_enable = false,
chat_layout_mode = "Left"
chat_layout_mode = "Left",
loginConfig = state.loginConfig || null
} = action.payload || {};
return {
version,
@@ -59,7 +62,8 @@ const serverSlice = createSlice({
show_user_online_status,
webclient_auto_update,
contact_verification_enable,
chat_layout_mode
chat_layout_mode,
loginConfig
};
},
updateInfo(state, action: PayloadAction<Partial<StoredServer>>) {
+9 -2
View File
@@ -3,7 +3,9 @@ import { createSlice, PayloadAction } from "@reduxjs/toolkit";
import { UploadFileData } from "@/hooks/useUploadFile";
export type ListView = "item" | "grid";
export interface State {
export type SSEStatus = "connecting" | "connected" | "disconnected";
export interface UIState {
SSEStatus: SSEStatus;
online: boolean;
ready: boolean;
inputMode: "text";
@@ -22,7 +24,8 @@ export interface State {
};
}
const initialState: State = {
const initialState: UIState = {
SSEStatus: "disconnected",
online: true,
ready: false,
inputMode: "text",
@@ -49,6 +52,9 @@ const uiSlice = createSlice({
setReady(state) {
state.ready = true;
},
updateSSEStatus(state, action: PayloadAction<SSEStatus>) {
state.SSEStatus = action.payload;
},
updateOnline(state, action: PayloadAction<boolean>) {
state.online = action.payload;
},
@@ -171,6 +177,7 @@ const uiSlice = createSlice({
});
export const {
updateSSEStatus,
fillUI,
setReady,
updateOnline,
+12 -12
View File
@@ -2,8 +2,6 @@ import { FC, ReactElement } from "react";
import { matchRoutes, Navigate, useLocation } from "react-router-dom";
import { GuestRoutes, KEY_LOCAL_TRY_PATH } from "@/app/config";
import { useGetInitializedQuery } from "@/app/services/auth";
import { useGetLoginConfigQuery } from "@/app/services/server";
import { useAppSelector } from "@/app/store";
import Loading from "./Loading";
@@ -18,16 +16,18 @@ const RequireAuth: FC<Props> = ({ children, redirectTo = "/login" }) => {
const location = useLocation();
const matches = matchRoutes(GuestAllows, location);
const allowGuest = matches ? !!matches[0].pathname : false;
const { data: loginConfig, isLoading: loginConfigLoading } = useGetLoginConfigQuery(undefined, {
refetchOnMountOrArgChange: true
const {
authData: { token, guest, initialized },
loginConfig
} = useAppSelector((store) => {
return {
authData: store.authData,
loginConfig: store.server.loginConfig
};
});
const { isLoading: initLoading } = useGetInitializedQuery(undefined, {
refetchOnMountOrArgChange: true
});
const { token, guest, initialized } = useAppSelector((store) => store.authData);
console.info("uninitialized", loginConfigLoading, initLoading);
// 初始化和login配置检查
if (loginConfigLoading || initLoading) return <Loading fullscreen={true} context="auth-route" />;
console.info("check basic info", loginConfig);
// 初始化login配置检查
if (!loginConfig) return <Loading fullscreen={true} context="auth-route" />;
// 未初始化 则先走setup 流程
if (!initialized) return <Navigate to={`/onboarding`} replace />;
// 开启guest 并且没token 而且是允许guest访问的路由 则先去过渡页登录
@@ -38,7 +38,7 @@ const RequireAuth: FC<Props> = ({ children, redirectTo = "/login" }) => {
KEY_LOCAL_TRY_PATH,
ignorePath == location.pathname ? "/" : `${location.pathname}${location.search}`
);
const guestLogin = loginConfig?.guest && allowGuest;
const guestLogin = loginConfig.guest && allowGuest;
return guestLogin ? (
<Navigate to={"/guest_login"} replace />
) : (
+23
View File
@@ -0,0 +1,23 @@
import { useAppSelector } from "@/app/store";
import clsx from "clsx";
// import React from "react";
type Props = {};
const StreamStatus = (props: Props) => {
const status = useAppSelector((store) => store.ui.SSEStatus);
return (
<aside className="fixed right-2 bottom-2">
<div
className={clsx(
"w-1 h-1 rounded-full",
status === "connected" && "bg-green-500",
status === "disconnected" && "bg-red-500",
status === "connecting" && "bg-yellow-500"
)}
></div>
</aside>
);
};
export default StreamStatus;
+20
View File
@@ -0,0 +1,20 @@
// import React from 'react'
import { useLazyGetInitializedQuery } from "@/app/services/auth";
import { useLazyGetLoginConfigQuery } from "@/app/services/server";
import { useEffect } from "react";
// type Props = {}
const usePrefetchData = () => {
const [loadLoginConfig] = useLazyGetLoginConfigQuery();
const [loadOnboardingSetting] = useLazyGetInitializedQuery();
useEffect(() => {
loadLoginConfig();
loadOnboardingSetting();
}, []);
return null;
};
export default usePrefetchData;
+32 -4
View File
@@ -33,7 +33,7 @@ import { resetFileMessage } from "@/app/slices/message.file";
import { resetReactionMessage } from "@/app/slices/message.reaction";
import { removeUserSession, resetUserMsg } from "@/app/slices/message.user";
import { updateInfo } from "@/app/slices/server";
import { setReady } from "@/app/slices/ui";
import { setReady, updateSSEStatus } from "@/app/slices/ui";
import { updateContactStatus, updateUsersByLogs, updateUsersStatus } from "@/app/slices/users";
import { updateCallInfo } from "@/app/slices/voice";
import { useAppDispatch, useAppSelector } from "@/app/store";
@@ -55,7 +55,7 @@ const getQueryString = (params: { [key: string]: string }) => {
});
return sp.toString();
};
let hiddenTime: number = 0;
let SSE: EventSource | undefined;
let ready = false; //是否已完成初始推送
let aliveInter: number | ReturnType<typeof setTimeout> = 0;
@@ -102,6 +102,7 @@ export default function useStreaming() {
if (dayjs().isAfter(new Date(expireTime - 20 * 1000))) {
const resp = await renewToken({ token, refresh_token: refreshToken });
if ("error" in resp) {
console.error("renew error from sse", resp.error);
// 还有网,而且在当前页,则停止循环
if (navigator.onLine || !document.hidden) {
stopStreaming();
@@ -131,14 +132,16 @@ export default function useStreaming() {
params.users_version = `${usersVersion}`;
}
// 开始初始化推送
dispatch(updateSSEStatus("connecting"));
SSE = new EventSource(`${BASE_URL}/user/events?${getQueryString(params)}`);
SSE.onopen = () => {
dispatch(updateSSEStatus("connected"));
ready = false;
};
SSE.onerror = (err) => {
// 断网了
if (!navigator.onLine) {
// 断网了 或者 页面隐藏了
if (!navigator.onLine || document.hidden) {
stopStreaming();
return;
}
@@ -419,6 +422,7 @@ export default function useStreaming() {
if (SSE) {
SSE.close();
SSE = undefined;
dispatch(updateSSEStatus("disconnected"));
}
ready = false;
};
@@ -431,11 +435,35 @@ export default function useStreaming() {
stopStreaming();
}
};
const handleWindowVisibilityChange = () => {
console.info("debug SSE: visibility changed", document.hidden);
if (document.hidden) {
// 记录隐藏时间
hiddenTime = new Date().getTime();
} else {
const elapsedTime = (new Date().getTime() - hiddenTime) / 1000;
const canReconnect = elapsedTime > 30 * 60 || !SSE;
// 超过半小时或者已断线,强制重连
if (canReconnect) {
if (SSE) {
// 先停掉
stopStreaming();
setTimeout(() => {
startStreaming();
}, 1500);
}
// 直接重连
startStreaming();
}
}
};
document.addEventListener("visibilitychange", handleWindowVisibilityChange);
window.addEventListener("online", handleNetworkChange);
window.addEventListener("offline", handleNetworkChange);
return () => {
window.removeEventListener("online", handleNetworkChange);
window.removeEventListener("offline", handleNetworkChange);
document.removeEventListener("visibilitychange", handleWindowVisibilityChange);
};
}, []);
+2
View File
@@ -20,6 +20,7 @@ import UserIcon from "@/assets/icons/user.svg";
import Menu from "./Menu";
import MobileNavs from "./MobileNavs";
import User from "./User";
import StreamStatus from "@/components/StreamStatus";
function HomePage() {
const { t } = useTranslation();
@@ -65,6 +66,7 @@ function HomePage() {
const linkClass = `flex items-center gap-2.5 px-3 py-2 font-semibold text-sm text-gray-600 rounded-lg md:hover:bg-gray-800/10`;
return (
<>
<StreamStatus />
{roleChanged && <ReLoginModal />}
{!guest && <UnreadTabTip />}
{!guest && <Voice />}
+3 -1
View File
@@ -17,6 +17,7 @@ import NotFoundPage from "./404";
import InvitePrivate from "./invitePrivate";
import LazyIt from "./lazy";
import InviteInMobile from "./reg/InviteInMobile";
import usePrefetchData from "@/hooks/usePrefetchData";
const RegBasePage = lazy(() => import("./reg"));
const RegWithUsernamePage = lazy(() => import("./reg/RegWithUsername"));
@@ -47,7 +48,8 @@ const PageRoutes = () => {
}, isEqual);
// 提前获取device token
useDeviceToken(vapidKey);
// 初始化元信息
usePrefetchData();
// 掉线检测
useEffect(() => {
if (!online) {
+316 -246
View File
@@ -1385,12 +1385,12 @@
"@firebase/util" "1.9.3"
tslib "^2.1.0"
"@firebase/app-compat@0.2.15":
version "0.2.15"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/app-compat/-/app-compat-0.2.15.tgz#06a932311d340dd94666b9e9cb15ca5fc8bdc434"
integrity sha512-ttEbOEtO1SSz27cRPrwXAmrqDjdQ33sQc7rqqQuSMUuPRdYCQEcYdqzpkbvqgdkzGksx2kfH4JqQ6R/hI12nDw==
"@firebase/app-compat@0.2.16":
version "0.2.16"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/app-compat/-/app-compat-0.2.16.tgz#61e1bde1fe71f5305195b58e17f714853d56c0e0"
integrity sha512-jCIJ5lGYLidM/cP25XqyTkg2caJRrnfjLkgk2ItJD9k2W3V1jB1TlmNYOAHtNsPZXB4/y5qBkS+/NxvFD3iJyA==
dependencies:
"@firebase/app" "0.9.15"
"@firebase/app" "0.9.16"
"@firebase/component" "0.6.4"
"@firebase/logger" "0.4.0"
"@firebase/util" "1.9.3"
@@ -1401,10 +1401,10 @@
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/app-types/-/app-types-0.9.0.tgz#35b5c568341e9e263b29b3d2ba0e9cfc9ec7f01e"
integrity sha512-AeweANOIo0Mb8GiYm3xhTEBVCmPwTYAu9Hcd2qSkLuga/6+j9b1Jskl5bpiSQWy9eJ/j5pavxj6eYogmnuzm+Q==
"@firebase/app@0.9.15":
version "0.9.15"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/app/-/app-0.9.15.tgz#8c5b7a85c6f856f3292c1fcc2a029c12a63b9ad9"
integrity sha512-xxQi6mkhRjtXeFUwleSF4zU7lwEH+beNhLE7VmkzEzjEsjAS14QPQPZ35gpgSD+/NigOeho7wgEXd4C/bOkRfA==
"@firebase/app@0.9.16":
version "0.9.16"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/app/-/app-0.9.16.tgz#4d14311d6e48879c333cf55a35fb0555491ec1fd"
integrity sha512-J6O8+khJpunlKITbcO1lKylPJp9nlyI5Ra/NlPcMHwP37uTJXJqz6sjmWp4MUfTWo/3T2N0lXUdf4UBXjrnleQ==
dependencies:
"@firebase/component" "0.6.4"
"@firebase/logger" "0.4.0"
@@ -1412,12 +1412,12 @@
idb "7.1.1"
tslib "^2.1.0"
"@firebase/auth-compat@0.4.4":
version "0.4.4"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/auth-compat/-/auth-compat-0.4.4.tgz#062dd397a508c7a442f36c014133ded4d29c62bb"
integrity sha512-B2DctJDJ05djBwebNEdC3zbKWzKdIdxpbca8u9P/NSjqaJNSFq3fhz8h8bjlS9ufSrxaQWFSJMMH3dRmx3FlEA==
"@firebase/auth-compat@0.4.5":
version "0.4.5"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/auth-compat/-/auth-compat-0.4.5.tgz#f15c0b9f961da37a285dfc5b6f72336240193824"
integrity sha512-pCJiiCRrjlrjVYlw0NuZhT+P6jnl1J3hAgNr+74z9zh3k888pbhMRGYVxACGoAbmVnnU3w8locR1aUNGrIyCDA==
dependencies:
"@firebase/auth" "1.1.0"
"@firebase/auth" "1.2.0"
"@firebase/auth-types" "0.12.0"
"@firebase/component" "0.6.4"
"@firebase/util" "1.9.3"
@@ -1434,10 +1434,10 @@
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/auth-types/-/auth-types-0.12.0.tgz#f28e1b68ac3b208ad02a15854c585be6da3e8e79"
integrity sha512-pPwaZt+SPOshK8xNoiQlK5XIrS97kFYc3Rc7xmy373QsOJ9MmqXxLaYssP5Kcds4wd2qK//amx/c+A8O2fVeZA==
"@firebase/auth@1.1.0":
version "1.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/auth/-/auth-1.1.0.tgz#106cad08f977245e641642ac9b7c3a2dae46400d"
integrity sha512-5RJQMXG0p/tSvtqpfM8jA+heELjVCgHHASq3F7NglAa/CWUGCAE4g2F4YDPW5stDkvtKKRez0WYAWnbcuQ5P4w==
"@firebase/auth@1.2.0":
version "1.2.0"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/auth/-/auth-1.2.0.tgz#7eba61ef9a1053f3c9f2079fb06221f3d29bdac6"
integrity sha512-nRtpmVXGmUi6JuTNXp8XVQ9K52gjXJ4LK2mszAE1Wk/R+bQ/7a4ncSs7M8aqyYPZR/BhWAMJIcC/Q7EXV7vzIQ==
dependencies:
"@firebase/component" "0.6.4"
"@firebase/logger" "0.4.0"
@@ -1486,13 +1486,13 @@
faye-websocket "0.11.4"
tslib "^2.1.0"
"@firebase/firestore-compat@0.3.14":
version "0.3.14"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/firestore-compat/-/firestore-compat-0.3.14.tgz#f1ceac5a85da52c6b5b9d65136456e3eaec7b227"
integrity sha512-sOjaYefSPXJXdFH6qyxSwJVakEqAAote6jjrJk/ZCoiX90rs9r3yYV90wP4gmaTKyXjkt8EMlwuapekgGsE5Tw==
"@firebase/firestore-compat@0.3.15":
version "0.3.15"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/firestore-compat/-/firestore-compat-0.3.15.tgz#1b49fe38ba195a04d1e6b93feb5157e32850cb8a"
integrity sha512-MBi/t3QEuK6efNoYtx2e4rRvywzQi/xA4Lw7OA7knOKIKGl5QAj9oPdMY2KQ1dTS0ejtRpjO2a8iJ7v49vmJZQ==
dependencies:
"@firebase/component" "0.6.4"
"@firebase/firestore" "4.1.0"
"@firebase/firestore" "4.1.1"
"@firebase/firestore-types" "3.0.0"
"@firebase/util" "1.9.3"
tslib "^2.1.0"
@@ -1502,17 +1502,17 @@
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/firestore-types/-/firestore-types-3.0.0.tgz#f3440d5a1cc2a722d361b24cefb62ca8b3577af3"
integrity sha512-Meg4cIezHo9zLamw0ymFYBD4SMjLb+ZXIbuN7T7ddXN6MGoICmOTq3/ltdCGoDCS2u+H1XJs2u/cYp75jsX9Qw==
"@firebase/firestore@4.1.0":
version "4.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/firestore/-/firestore-4.1.0.tgz#fcdd4e033c258fccbe4d47dadf625faa1f62272f"
integrity sha512-FEd+4R0QL9RAJVcdqXgbdIuQYpvzkeKNBVxNM5qcWDPMurjNpja8VaWpVZmT3JXG8FfO+NGTnHJtsW/nWO7XiQ==
"@firebase/firestore@4.1.1":
version "4.1.1"
resolved "https://mirrors.cloud.tencent.com/npm/@firebase/firestore/-/firestore-4.1.1.tgz#eb0d1d9817ff7bf75cbce3b9585b4be9cabaaafb"
integrity sha512-PYTdHdQBE6nL+IoKnjV5rw18b06VxMbnYD1ToUf+1l5MUfAVJJgi8v8CdO2u+sUgwMu7uppYJhNLDNY5JMU8ow==
dependencies:
"@firebase/component" "0.6.4"
"@firebase/logger" "0.4.0"
"@firebase/util" "1.9.3"
"@firebase/webchannel-wrapper" "0.10.1"
"@grpc/grpc-js" "~1.8.17"
"@grpc/proto-loader" "^0.6.13"
"@grpc/proto-loader" "^0.7.8"
node-fetch "2.6.7"
tslib "^2.1.0"
@@ -1736,18 +1736,7 @@
"@grpc/proto-loader" "^0.7.0"
"@types/node" ">=12.12.47"
"@grpc/proto-loader@^0.6.13":
version "0.6.13"
resolved "https://mirrors.cloud.tencent.com/npm/@grpc/proto-loader/-/proto-loader-0.6.13.tgz#008f989b72a40c60c96cd4088522f09b05ac66bc"
integrity sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==
dependencies:
"@types/long" "^4.0.1"
lodash.camelcase "^4.3.0"
long "^4.0.0"
protobufjs "^6.11.3"
yargs "^16.2.0"
"@grpc/proto-loader@^0.7.0":
"@grpc/proto-loader@^0.7.0", "@grpc/proto-loader@^0.7.8":
version "0.7.8"
resolved "https://mirrors.cloud.tencent.com/npm/@grpc/proto-loader/-/proto-loader-0.7.8.tgz#c050bbeae5f000a1919507f195a1b094e218036e"
integrity sha512-GU12e2c8dmdXb7XUlOgYWZ2o2i+z9/VeACkxTA/zzAe2IjclC5PnVL0lpgjhrqfpDYHzM8B1TF6pqWegMYAzlA==
@@ -1903,10 +1892,10 @@
picocolors "^1.0.0"
tslib "^2.6.0"
"@pmmmwh/react-refresh-webpack-plugin@^0.5.10":
version "0.5.10"
resolved "https://mirrors.cloud.tencent.com/npm/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz#2eba163b8e7dbabb4ce3609ab5e32ab63dda3ef8"
integrity sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==
"@pmmmwh/react-refresh-webpack-plugin@^0.5.11":
version "0.5.11"
resolved "https://mirrors.cloud.tencent.com/npm/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz#7c2268cedaa0644d677e8c4f377bc8fb304f714a"
integrity sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==
dependencies:
ansi-html-community "^0.0.8"
common-path-prefix "^3.0.0"
@@ -2120,20 +2109,20 @@
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501"
integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==
"@svgr/babel-plugin-transform-react-native-svg@8.0.0":
version "8.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.0.0.tgz#023cd0895b98521f566060d6bb92100b9fee3775"
integrity sha512-UKrY3860AQICgH7g+6h2zkoxeVEPLYwX/uAjmqo4PIq2FIHppwhIqZstIyTz0ZtlwreKR41O3W3BzsBBiJV2Aw==
"@svgr/babel-plugin-transform-react-native-svg@8.1.0":
version "8.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754"
integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==
"@svgr/babel-plugin-transform-svg-component@8.0.0":
version "8.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e"
integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==
"@svgr/babel-preset@8.0.0":
version "8.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/babel-preset/-/babel-preset-8.0.0.tgz#6d78100b3b6daf11c940b82d5bd8c3164b9c6ad9"
integrity sha512-KLcjiZychInVrhs86OvcYPLTFu9L5XV2vj0XAaE1HwE3J3jLmIzRY8ttdeAg/iFyp8nhavJpafpDZTt+1LIpkQ==
"@svgr/babel-preset@8.1.0":
version "8.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece"
integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==
dependencies:
"@svgr/babel-plugin-add-jsx-attribute" "8.0.0"
"@svgr/babel-plugin-remove-jsx-attribute" "8.0.0"
@@ -2141,16 +2130,16 @@
"@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0"
"@svgr/babel-plugin-svg-dynamic-title" "8.0.0"
"@svgr/babel-plugin-svg-em-dimensions" "8.0.0"
"@svgr/babel-plugin-transform-react-native-svg" "8.0.0"
"@svgr/babel-plugin-transform-react-native-svg" "8.1.0"
"@svgr/babel-plugin-transform-svg-component" "8.0.0"
"@svgr/core@8.0.0":
version "8.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/core/-/core-8.0.0.tgz#e96829cdb0473345d5671568282ee0736e86ef12"
integrity sha512-aJKtc+Pie/rFYsVH/unSkDaZGvEeylNv/s2cP+ta9/rYWxRVvoV/S4Qw65Kmrtah4CBK5PM6ISH9qUH7IJQCng==
"@svgr/core@8.1.0":
version "8.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88"
integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==
dependencies:
"@babel/core" "^7.21.3"
"@svgr/babel-preset" "8.0.0"
"@svgr/babel-preset" "8.1.0"
camelcase "^6.2.0"
cosmiconfig "^8.1.3"
snake-case "^3.0.4"
@@ -2163,38 +2152,38 @@
"@babel/types" "^7.21.3"
entities "^4.4.0"
"@svgr/plugin-jsx@8.0.1":
version "8.0.1"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/plugin-jsx/-/plugin-jsx-8.0.1.tgz#b9495e06062cc0cac0e035751b69471ee328236b"
integrity sha512-bfCFb+4ZsM3UuKP2t7KmDwn6YV8qVn9HIQJmau6xeQb/iV65Rpi7NBNBWA2hcCd4GKoCqG8hpaaDk5FDR0eH+g==
"@svgr/plugin-jsx@8.1.0":
version "8.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928"
integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==
dependencies:
"@babel/core" "^7.21.3"
"@svgr/babel-preset" "8.0.0"
"@svgr/babel-preset" "8.1.0"
"@svgr/hast-util-to-babel-ast" "8.0.0"
svg-parser "^2.0.4"
"@svgr/plugin-svgo@8.0.1":
version "8.0.1"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/plugin-svgo/-/plugin-svgo-8.0.1.tgz#df0199313fdc88c3d7cd8e0dff16695e9718548c"
integrity sha512-29OJ1QmJgnohQHDAgAuY2h21xWD6TZiXji+hnx+W635RiXTAlHTbjrZDktfqzkN0bOeQEtNe+xgq73/XeWFfSg==
"@svgr/plugin-svgo@8.1.0":
version "8.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00"
integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==
dependencies:
cosmiconfig "^8.1.3"
deepmerge "^4.3.1"
svgo "^3.0.2"
"@svgr/webpack@^8.0.1":
version "8.0.1"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/webpack/-/webpack-8.0.1.tgz#a0e4a711daae347b515335449d198a275b3ab1e4"
integrity sha512-zSoeKcbCmfMXjA11uDuCJb+1LWNb3vy6Qw/VHj0Nfcl3UuqwuoZWknHsBIhCWvi4wU9vPui3aq054qjVyZqY4A==
"@svgr/webpack@^8.1.0":
version "8.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2"
integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==
dependencies:
"@babel/core" "^7.21.3"
"@babel/plugin-transform-react-constant-elements" "^7.21.3"
"@babel/preset-env" "^7.20.2"
"@babel/preset-react" "^7.18.6"
"@babel/preset-typescript" "^7.21.0"
"@svgr/core" "8.0.0"
"@svgr/plugin-jsx" "8.0.1"
"@svgr/plugin-svgo" "8.0.1"
"@svgr/core" "8.1.0"
"@svgr/plugin-jsx" "8.1.0"
"@svgr/plugin-svgo" "8.1.0"
"@tippyjs/react@^4.2.6":
version "4.2.6"
@@ -2441,10 +2430,10 @@
resolved "https://mirrors.cloud.tencent.com/npm/@types/node/-/node-20.4.5.tgz#9dc0a5cb1ccce4f7a731660935ab70b9c00a5d69"
integrity sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==
"@types/node@^20.4.10":
version "20.4.10"
resolved "https://mirrors.cloud.tencent.com/npm/@types/node/-/node-20.4.10.tgz#73c9480791e3ddeb4887a660fc93a7f59353ad45"
integrity sha512-vwzFiiy8Rn6E0MtA13/Cxxgpan/N6UeNYR9oUu6kuJWxu6zCk98trcDp8CBhbtaeuq9SykCmXkFr2lWLoPcvLg==
"@types/node@^20.5.2":
version "20.5.2"
resolved "https://mirrors.cloud.tencent.com/npm/@types/node/-/node-20.5.2.tgz#02850ed821c8113fd6ed9ae5c744b7f7cd6d6f51"
integrity sha512-5j/lXt7unfPOUlrKC34HIaedONleyLtwkKggiD/0uuMfT8gg2EOpg0dz4lCD15Ga7muC+1WzJZAjIB9simWd6Q==
"@types/parse-json@^4.0.0":
version "4.0.0"
@@ -2597,90 +2586,89 @@
dependencies:
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^6.3.0":
version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.3.0.tgz#e751e148aab7ccaf8a7bfd370f7ce9e6bdd1f3f4"
integrity sha512-IZYjYZ0ifGSLZbwMqIip/nOamFiWJ9AH+T/GYNZBWkVcyNQOFGtSMoWV7RvY4poYCMZ/4lHzNl796WOSNxmk8A==
"@typescript-eslint/eslint-plugin@^6.4.1":
version "6.4.1"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.1.tgz#bc0c6f000134b53c304ad0bec4ee4753cd3e89d2"
integrity sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==
dependencies:
"@eslint-community/regexpp" "^4.5.1"
"@typescript-eslint/scope-manager" "6.3.0"
"@typescript-eslint/type-utils" "6.3.0"
"@typescript-eslint/utils" "6.3.0"
"@typescript-eslint/visitor-keys" "6.3.0"
"@typescript-eslint/scope-manager" "6.4.1"
"@typescript-eslint/type-utils" "6.4.1"
"@typescript-eslint/utils" "6.4.1"
"@typescript-eslint/visitor-keys" "6.4.1"
debug "^4.3.4"
graphemer "^1.4.0"
ignore "^5.2.4"
natural-compare "^1.4.0"
natural-compare-lite "^1.4.0"
semver "^7.5.4"
ts-api-utils "^1.0.1"
"@typescript-eslint/parser@^6.3.0":
version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/parser/-/parser-6.3.0.tgz#359684c443f4f848db3c4f14674f544f169c8f46"
integrity sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg==
"@typescript-eslint/parser@^6.4.1":
version "6.4.1"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/parser/-/parser-6.4.1.tgz#85ad550bf4ac4aa227504f1becb828f8e46c44e3"
integrity sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==
dependencies:
"@typescript-eslint/scope-manager" "6.3.0"
"@typescript-eslint/types" "6.3.0"
"@typescript-eslint/typescript-estree" "6.3.0"
"@typescript-eslint/visitor-keys" "6.3.0"
"@typescript-eslint/scope-manager" "6.4.1"
"@typescript-eslint/types" "6.4.1"
"@typescript-eslint/typescript-estree" "6.4.1"
"@typescript-eslint/visitor-keys" "6.4.1"
debug "^4.3.4"
"@typescript-eslint/scope-manager@6.3.0":
version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/scope-manager/-/scope-manager-6.3.0.tgz#6b74e338c4b88d5e1dfc1a28c570dd5cf8c86b09"
integrity sha512-WlNFgBEuGu74ahrXzgefiz/QlVb+qg8KDTpknKwR7hMH+lQygWyx0CQFoUmMn1zDkQjTBBIn75IxtWss77iBIQ==
"@typescript-eslint/scope-manager@6.4.1":
version "6.4.1"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/scope-manager/-/scope-manager-6.4.1.tgz#4b073a30be2dbe603e44e9ae0cff7e1d3ed19278"
integrity sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A==
dependencies:
"@typescript-eslint/types" "6.3.0"
"@typescript-eslint/visitor-keys" "6.3.0"
"@typescript-eslint/types" "6.4.1"
"@typescript-eslint/visitor-keys" "6.4.1"
"@typescript-eslint/type-utils@6.3.0":
version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/type-utils/-/type-utils-6.3.0.tgz#3bf89ccd36621ddec1b7f8246afe467c67adc247"
integrity sha512-7Oj+1ox1T2Yc8PKpBvOKWhoI/4rWFd1j7FA/rPE0lbBPXTKjdbtC+7Ev0SeBjEKkIhKWVeZSP+mR7y1Db1CdfQ==
"@typescript-eslint/type-utils@6.4.1":
version "6.4.1"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/type-utils/-/type-utils-6.4.1.tgz#fa21cb13016c8d6f352fe9b2d6c9ab6edc2d1857"
integrity sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==
dependencies:
"@typescript-eslint/typescript-estree" "6.3.0"
"@typescript-eslint/utils" "6.3.0"
"@typescript-eslint/typescript-estree" "6.4.1"
"@typescript-eslint/utils" "6.4.1"
debug "^4.3.4"
ts-api-utils "^1.0.1"
"@typescript-eslint/types@6.3.0":
version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/types/-/types-6.3.0.tgz#84517f1427923e714b8418981e493b6635ab4c9d"
integrity sha512-K6TZOvfVyc7MO9j60MkRNWyFSf86IbOatTKGrpTQnzarDZPYPVy0oe3myTMq7VjhfsUAbNUW8I5s+2lZvtx1gg==
"@typescript-eslint/types@6.4.1":
version "6.4.1"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/types/-/types-6.4.1.tgz#b2c61159f46dda210fed9f117f5d027f65bb5c3b"
integrity sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg==
"@typescript-eslint/typescript-estree@6.3.0":
version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/typescript-estree/-/typescript-estree-6.3.0.tgz#20e1e10e2f51cdb9e19a2751215cac92c003643c"
integrity sha512-Xh4NVDaC4eYKY4O3QGPuQNp5NxBAlEvNQYOqJquR2MePNxO11E5K3t5x4M4Mx53IZvtpW+mBxIT0s274fLUocg==
"@typescript-eslint/typescript-estree@6.4.1":
version "6.4.1"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.1.tgz#91ff88101c710adb0f70a317f2f65efa9441da45"
integrity sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg==
dependencies:
"@typescript-eslint/types" "6.3.0"
"@typescript-eslint/visitor-keys" "6.3.0"
"@typescript-eslint/types" "6.4.1"
"@typescript-eslint/visitor-keys" "6.4.1"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.5.4"
ts-api-utils "^1.0.1"
"@typescript-eslint/utils@6.3.0":
version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/utils/-/utils-6.3.0.tgz#0898c5e374372c2092ca1b979ea7ee9cc020ce84"
integrity sha512-hLLg3BZE07XHnpzglNBG8P/IXq/ZVXraEbgY7FM0Cnc1ehM8RMdn9mat3LubJ3KBeYXXPxV1nugWbQPjGeJk6Q==
"@typescript-eslint/utils@6.4.1":
version "6.4.1"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/utils/-/utils-6.4.1.tgz#81bf62ff0c3119a26c19fab683582e29450717bc"
integrity sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
"@types/json-schema" "^7.0.12"
"@types/semver" "^7.5.0"
"@typescript-eslint/scope-manager" "6.3.0"
"@typescript-eslint/types" "6.3.0"
"@typescript-eslint/typescript-estree" "6.3.0"
"@typescript-eslint/scope-manager" "6.4.1"
"@typescript-eslint/types" "6.4.1"
"@typescript-eslint/typescript-estree" "6.4.1"
semver "^7.5.4"
"@typescript-eslint/visitor-keys@6.3.0":
version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/visitor-keys/-/visitor-keys-6.3.0.tgz#8d09aa3e389ae0971426124c155ac289afbe450a"
integrity sha512-kEhRRj7HnvaSjux1J9+7dBen15CdWmDnwrpyiHsFX6Qx2iW5LOBUgNefOFeh2PjWPlNwN8TOn6+4eBU3J/gupw==
"@typescript-eslint/visitor-keys@6.4.1":
version "6.4.1"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.1.tgz#e3ccf7b8d42e625946ac5094ed92a405fb4115e0"
integrity sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ==
dependencies:
"@typescript-eslint/types" "6.3.0"
"@typescript-eslint/types" "6.4.1"
eslint-visitor-keys "^3.4.1"
"@udecode/plate-alignment@16.8.0":
@@ -3648,18 +3636,25 @@ async@^3.2.3, async@^3.2.4:
resolved "https://mirrors.cloud.tencent.com/npm/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
asynciterator.prototype@^1.0.0:
version "1.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62"
integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==
dependencies:
has-symbols "^1.0.3"
at-least-node@^1.0.0:
version "1.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
autoprefixer@^10.4.14:
version "10.4.14"
resolved "https://mirrors.cloud.tencent.com/npm/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d"
integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==
autoprefixer@^10.4.15:
version "10.4.15"
resolved "https://mirrors.cloud.tencent.com/npm/autoprefixer/-/autoprefixer-10.4.15.tgz#a1230f4aeb3636b89120b34a1f513e2f6834d530"
integrity sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==
dependencies:
browserslist "^4.21.5"
caniuse-lite "^1.0.30001464"
browserslist "^4.21.10"
caniuse-lite "^1.0.30001520"
fraction.js "^4.2.0"
normalize-range "^0.1.2"
picocolors "^1.0.0"
@@ -3851,18 +3846,17 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
broadcast-channel@^5.2.0:
version "5.2.0"
resolved "https://mirrors.cloud.tencent.com/npm/broadcast-channel/-/broadcast-channel-5.2.0.tgz#26630ffec71df152ecafb075424eef2b6d7d32bb"
integrity sha512-6MUmM/qDuJrgkD/HVtJl6CSNVQ1ym5fyeXrZbaqkPQNw5g08RQyjPpMGvWZ6KXNz0fQOWPK0DAsUwZetX9630A==
broadcast-channel@^5.3.0:
version "5.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/broadcast-channel/-/broadcast-channel-5.3.0.tgz#9d9e55fb8db2a1dbbe436ae6d51382a354e76fc3"
integrity sha512-0PmDYc/iUGZ4QbnCnV7u+WleygiS1bZ4oV6t4rANXYtSgEFtGhB5jimJPLOVpPtce61FVxrH8CYylfO5g7OLKw==
dependencies:
"@babel/runtime" "7.22.10"
oblivious-set "1.1.1"
p-queue "6.6.2"
rimraf "3.0.2"
unload "2.4.1"
browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.5, browserslist@^4.21.9:
browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9:
version "4.21.10"
resolved "https://mirrors.cloud.tencent.com/npm/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0"
integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==
@@ -3945,11 +3939,16 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001517:
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001517:
version "1.0.30001518"
resolved "https://mirrors.cloud.tencent.com/npm/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz#b3ca93904cb4699c01218246c4d77a71dbe97150"
integrity sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==
caniuse-lite@^1.0.30001520:
version "1.0.30001520"
resolved "https://mirrors.cloud.tencent.com/npm/caniuse-lite/-/caniuse-lite-1.0.30001520.tgz#62e2b7a1c7b35269594cf296a80bdf8cb9565006"
integrity sha512-tahF5O9EiiTzwTUqAeFjIZbn4Dnqxzz7ktrgGlMYNLH43Ul26IgTMH/zvL3DG0lZxBYnlT04axvInszUsZULdA==
chalk@^2.0.0, chalk@^2.4.2:
version "2.4.2"
resolved "https://mirrors.cloud.tencent.com/npm/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
@@ -4014,15 +4013,6 @@ clean-css@^5.2.2:
dependencies:
source-map "~0.6.0"
cliui@^7.0.2:
version "7.0.4"
resolved "https://mirrors.cloud.tencent.com/npm/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
dependencies:
string-width "^4.2.0"
strip-ansi "^6.0.0"
wrap-ansi "^7.0.0"
cliui@^8.0.1:
version "8.0.1"
resolved "https://mirrors.cloud.tencent.com/npm/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
@@ -4772,7 +4762,7 @@ error-stack-parser@^2.0.6:
dependencies:
stackframe "^1.3.4"
es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2:
es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2, es-abstract@^1.21.3:
version "1.22.1"
resolved "https://mirrors.cloud.tencent.com/npm/es-abstract/-/es-abstract-1.22.1.tgz#8b4e5fc5cefd7f1660f0f8e1a52900dfbc9d9ccc"
integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==
@@ -4817,6 +4807,26 @@ es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2:
unbox-primitive "^1.0.2"
which-typed-array "^1.1.10"
es-iterator-helpers@^1.0.12:
version "1.0.13"
resolved "https://mirrors.cloud.tencent.com/npm/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz#72101046ffc19baf9996adc70e6177a26e6e8084"
integrity sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==
dependencies:
asynciterator.prototype "^1.0.0"
call-bind "^1.0.2"
define-properties "^1.2.0"
es-abstract "^1.21.3"
es-set-tostringtag "^2.0.1"
function-bind "^1.1.1"
get-intrinsic "^1.2.1"
globalthis "^1.0.3"
has-property-descriptors "^1.0.0"
has-proto "^1.0.1"
has-symbols "^1.0.3"
internal-slot "^1.0.5"
iterator.prototype "^1.1.0"
safe-array-concat "^1.0.0"
es-module-lexer@^1.2.1:
version "1.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/es-module-lexer/-/es-module-lexer-1.3.0.tgz#6be9c9e0b4543a60cd166ff6f8b4e9dae0b0c16f"
@@ -4888,10 +4898,10 @@ eslint-module-utils@^2.8.0:
dependencies:
debug "^3.2.7"
eslint-plugin-import@^2.28.0:
version "2.28.0"
resolved "https://mirrors.cloud.tencent.com/npm/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz#8d66d6925117b06c4018d491ae84469eb3cb1005"
integrity sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==
eslint-plugin-import@^2.28.1:
version "2.28.1"
resolved "https://mirrors.cloud.tencent.com/npm/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz#63b8b5b3c409bfc75ebaf8fb206b07ab435482c4"
integrity sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==
dependencies:
array-includes "^3.1.6"
array.prototype.findlastindex "^1.2.2"
@@ -4902,13 +4912,12 @@ eslint-plugin-import@^2.28.0:
eslint-import-resolver-node "^0.3.7"
eslint-module-utils "^2.8.0"
has "^1.0.3"
is-core-module "^2.12.1"
is-core-module "^2.13.0"
is-glob "^4.0.3"
minimatch "^3.1.2"
object.fromentries "^2.0.6"
object.groupby "^1.0.0"
object.values "^1.1.6"
resolve "^1.22.3"
semver "^6.3.1"
tsconfig-paths "^3.14.2"
@@ -4925,15 +4934,16 @@ eslint-plugin-react-hooks@^4.6.0:
resolved "https://mirrors.cloud.tencent.com/npm/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
eslint-plugin-react@^7.33.1:
version "7.33.1"
resolved "https://mirrors.cloud.tencent.com/npm/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz#bc27cccf860ae45413a4a4150bf0977345c1ceab"
integrity sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==
eslint-plugin-react@^7.33.2:
version "7.33.2"
resolved "https://mirrors.cloud.tencent.com/npm/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608"
integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==
dependencies:
array-includes "^3.1.6"
array.prototype.flatmap "^1.3.1"
array.prototype.tosorted "^1.1.1"
doctrine "^2.1.0"
es-iterator-helpers "^1.0.12"
estraverse "^5.3.0"
jsx-ast-utils "^2.4.1 || ^3.0.0"
minimatch "^3.1.2"
@@ -5325,24 +5335,24 @@ find-yarn-workspace-root@^2.0.0:
dependencies:
micromatch "^4.0.2"
firebase@^10.1.0:
version "10.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/firebase/-/firebase-10.1.0.tgz#07281ac2fe4bcf3886eeddcea8903ad17f1aec67"
integrity sha512-ghcdCe2G9DeGmLOrBgR7XPswuc9BFUfjnU93ABopIisMfbJFzoqpSp4emwNiZt+vVGZV1ifeU3DLfhxlujxhCg==
firebase@^10.2.0:
version "10.2.0"
resolved "https://mirrors.cloud.tencent.com/npm/firebase/-/firebase-10.2.0.tgz#c19d5a2b80b1104519aa914a24e63db8270ff7a4"
integrity sha512-pmegHB73xrZFNR02nvBxLbxM5+9Z0njimf+7uCjjEDVW7ZNdhhTgFpB0qecqpJ5uGKy6Tkavzc8LfcGkNpPgjg==
dependencies:
"@firebase/analytics" "0.10.0"
"@firebase/analytics-compat" "0.2.6"
"@firebase/app" "0.9.15"
"@firebase/app" "0.9.16"
"@firebase/app-check" "0.8.0"
"@firebase/app-check-compat" "0.3.7"
"@firebase/app-compat" "0.2.15"
"@firebase/app-compat" "0.2.16"
"@firebase/app-types" "0.9.0"
"@firebase/auth" "1.1.0"
"@firebase/auth-compat" "0.4.4"
"@firebase/auth" "1.2.0"
"@firebase/auth-compat" "0.4.5"
"@firebase/database" "1.0.1"
"@firebase/database-compat" "1.0.1"
"@firebase/firestore" "4.1.0"
"@firebase/firestore-compat" "0.3.14"
"@firebase/firestore" "4.1.1"
"@firebase/firestore-compat" "0.3.15"
"@firebase/functions" "0.10.0"
"@firebase/functions-compat" "0.3.5"
"@firebase/installations" "0.6.4"
@@ -5423,10 +5433,10 @@ fraction.js@^4.2.0:
resolved "https://mirrors.cloud.tencent.com/npm/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
framer-motion@^10.15.1:
version "10.15.1"
resolved "https://mirrors.cloud.tencent.com/npm/framer-motion/-/framer-motion-10.15.1.tgz#c80ba7afc90fa0d5ac2dad9a077cc1bf6e03692a"
integrity sha512-6avJj/Uftblw0fMmo6jDHkKRH4TBdkMX/FiyR3G/hFe3hQHE4BUNJCqlMPKg9EzfI5jyqDOwO5oDnU+bW5y0eg==
framer-motion@^10.16.1:
version "10.16.1"
resolved "https://mirrors.cloud.tencent.com/npm/framer-motion/-/framer-motion-10.16.1.tgz#0ff5de554bbb35ee6605357d80f92b27d0271a94"
integrity sha512-K6TXr5mZtitC/dxQCBdg7xzdN0d5IAIrlaqCPKtIQVdzVPGC0qBuJKXggHX1vjnP5gPOFwB1KbCCTWcnFc3kWg==
dependencies:
tslib "^2.4.0"
optionalDependencies:
@@ -6048,6 +6058,13 @@ is-arrayish@^0.2.1:
resolved "https://mirrors.cloud.tencent.com/npm/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-async-function@^2.0.0:
version "2.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646"
integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==
dependencies:
has-tostringtag "^1.0.0"
is-bigint@^1.0.1:
version "1.0.4"
resolved "https://mirrors.cloud.tencent.com/npm/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
@@ -6080,14 +6097,21 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
resolved "https://mirrors.cloud.tencent.com/npm/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
is-core-module@^2.11.0, is-core-module@^2.12.0, is-core-module@^2.12.1, is-core-module@^2.9.0:
is-core-module@^2.11.0, is-core-module@^2.9.0:
version "2.12.1"
resolved "https://mirrors.cloud.tencent.com/npm/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd"
integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==
dependencies:
has "^1.0.3"
is-date-object@^1.0.1:
is-core-module@^2.13.0:
version "2.13.0"
resolved "https://mirrors.cloud.tencent.com/npm/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
dependencies:
has "^1.0.3"
is-date-object@^1.0.1, is-date-object@^1.0.5:
version "1.0.5"
resolved "https://mirrors.cloud.tencent.com/npm/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
@@ -6114,11 +6138,25 @@ is-extglob@^2.1.1:
resolved "https://mirrors.cloud.tencent.com/npm/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
is-finalizationregistry@^1.0.2:
version "1.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6"
integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==
dependencies:
call-bind "^1.0.2"
is-fullwidth-code-point@^3.0.0:
version "3.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
is-generator-function@^1.0.10:
version "1.0.10"
resolved "https://mirrors.cloud.tencent.com/npm/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
dependencies:
has-tostringtag "^1.0.0"
is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
version "4.0.3"
resolved "https://mirrors.cloud.tencent.com/npm/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
@@ -6143,6 +6181,11 @@ is-inside-container@^1.0.0:
dependencies:
is-docker "^3.0.0"
is-map@^2.0.1:
version "2.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127"
integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==
is-module@^1.0.0:
version "1.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
@@ -6208,6 +6251,11 @@ is-root@^2.1.0:
resolved "https://mirrors.cloud.tencent.com/npm/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c"
integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==
is-set@^2.0.1:
version "2.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec"
integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==
is-shared-array-buffer@^1.0.2:
version "1.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
@@ -6246,6 +6294,11 @@ is-typed-array@^1.1.10, is-typed-array@^1.1.9:
dependencies:
which-typed-array "^1.1.11"
is-weakmap@^2.0.1:
version "2.0.1"
resolved "https://mirrors.cloud.tencent.com/npm/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2"
integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==
is-weakref@^1.0.2:
version "1.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
@@ -6253,6 +6306,14 @@ is-weakref@^1.0.2:
dependencies:
call-bind "^1.0.2"
is-weakset@^2.0.1:
version "2.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d"
integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==
dependencies:
call-bind "^1.0.2"
get-intrinsic "^1.1.1"
is-wsl@^2.1.1, is-wsl@^2.2.0:
version "2.2.0"
resolved "https://mirrors.cloud.tencent.com/npm/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
@@ -6275,6 +6336,17 @@ isexe@^2.0.0:
resolved "https://mirrors.cloud.tencent.com/npm/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
iterator.prototype@^1.1.0:
version "1.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/iterator.prototype/-/iterator.prototype-1.1.0.tgz#690c88b043d821f783843aaf725d7ac3b62e3b46"
integrity sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==
dependencies:
define-properties "^1.1.4"
get-intrinsic "^1.1.3"
has-symbols "^1.0.3"
has-tostringtag "^1.0.0"
reflect.getprototypeof "^1.0.3"
jake@^10.8.5:
version "10.8.7"
resolved "https://mirrors.cloud.tencent.com/npm/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f"
@@ -6875,11 +6947,6 @@ nanoid@^3.3.6:
resolved "https://mirrors.cloud.tencent.com/npm/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
natural-compare-lite@^1.4.0:
version "1.4.0"
resolved "https://mirrors.cloud.tencent.com/npm/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
integrity sha1-F7CVgZiJef3a/gIB6TG6kzyWy7Q=
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://mirrors.cloud.tencent.com/npm/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@@ -7672,7 +7739,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^
resolved "https://mirrors.cloud.tencent.com/npm/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.24, postcss@^8.4.27:
postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.24:
version "8.4.27"
resolved "https://mirrors.cloud.tencent.com/npm/postcss/-/postcss-8.4.27.tgz#234d7e4b72e34ba5a92c29636734349e0d9c3057"
integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==
@@ -7681,6 +7748,15 @@ postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.24, postcss@^8.4.27:
picocolors "^1.0.0"
source-map-js "^1.0.2"
postcss@^8.4.28:
version "8.4.28"
resolved "https://mirrors.cloud.tencent.com/npm/postcss/-/postcss-8.4.28.tgz#c6cc681ed00109072816e1557f889ef51cf950a5"
integrity sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==
dependencies:
nanoid "^3.3.6"
picocolors "^1.0.0"
source-map-js "^1.0.2"
postinstall-postinstall@^2.1.0:
version "2.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3"
@@ -7698,10 +7774,10 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
prettier@^3.0.1:
version "3.0.1"
resolved "https://mirrors.cloud.tencent.com/npm/prettier/-/prettier-3.0.1.tgz#65271fc9320ce4913c57747a70ce635b30beaa40"
integrity sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ==
prettier@^3.0.2:
version "3.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/prettier/-/prettier-3.0.2.tgz#78fcecd6d870551aa5547437cdae39d4701dca5b"
integrity sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==
pretty-bytes@^5.3.0, pretty-bytes@^5.4.1:
version "5.6.0"
@@ -7822,25 +7898,6 @@ prosemirror-view@^1.18.7, prosemirror-view@^1.27.0, prosemirror-view@^1.31.0:
prosemirror-state "^1.0.0"
prosemirror-transform "^1.1.0"
protobufjs@^6.11.3:
version "6.11.3"
resolved "https://mirrors.cloud.tencent.com/npm/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74"
integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==
dependencies:
"@protobufjs/aspromise" "^1.1.2"
"@protobufjs/base64" "^1.1.2"
"@protobufjs/codegen" "^2.0.4"
"@protobufjs/eventemitter" "^1.1.0"
"@protobufjs/fetch" "^1.1.0"
"@protobufjs/float" "^1.0.2"
"@protobufjs/inquire" "^1.1.0"
"@protobufjs/path" "^1.1.2"
"@protobufjs/pool" "^1.1.0"
"@protobufjs/utf8" "^1.1.0"
"@types/long" "^4.0.1"
"@types/node" ">=13.7.0"
long "^4.0.0"
protobufjs@^7.2.4:
version "7.2.4"
resolved "https://mirrors.cloud.tencent.com/npm/protobufjs/-/protobufjs-7.2.4.tgz#3fc1ec0cdc89dd91aef9ba6037ba07408485c3ae"
@@ -8215,6 +8272,18 @@ redux@^4.2.0, redux@^4.2.1:
dependencies:
"@babel/runtime" "^7.9.2"
reflect.getprototypeof@^1.0.3:
version "1.0.3"
resolved "https://mirrors.cloud.tencent.com/npm/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz#2738fd896fcc3477ffbd4190b40c2458026b6928"
integrity sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.4"
es-abstract "^1.20.4"
get-intrinsic "^1.1.1"
globalthis "^1.0.3"
which-builtin-type "^1.1.3"
refractor@^3.6.0:
version "3.6.0"
resolved "https://mirrors.cloud.tencent.com/npm/refractor/-/refractor-3.6.0.tgz#ac318f5a0715ead790fcfb0c71f4dd83d977935a"
@@ -8351,15 +8420,6 @@ resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.22.1, resolve@^1.22
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
resolve@^1.22.3:
version "1.22.3"
resolved "https://mirrors.cloud.tencent.com/npm/resolve/-/resolve-1.22.3.tgz#4b4055349ffb962600972da1fdc33c46a4eb3283"
integrity sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==
dependencies:
is-core-module "^2.12.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
resolve@^2.0.0-next.4:
version "2.0.0-next.4"
resolved "https://mirrors.cloud.tencent.com/npm/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660"
@@ -8379,13 +8439,6 @@ reusify@^1.0.4:
resolved "https://mirrors.cloud.tencent.com/npm/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
rimraf@3.0.2, rimraf@^3.0.2:
version "3.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
dependencies:
glob "^7.1.3"
rimraf@^2.6.3:
version "2.7.1"
resolved "https://mirrors.cloud.tencent.com/npm/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
@@ -8393,6 +8446,13 @@ rimraf@^2.6.3:
dependencies:
glob "^7.1.3"
rimraf@^3.0.2:
version "3.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
dependencies:
glob "^7.1.3"
rollup-plugin-terser@^7.0.0:
version "7.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d"
@@ -9533,10 +9593,10 @@ watchpack@^2.4.0:
glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2"
wavesurfer.js@^7.1.4:
version "7.1.4"
resolved "https://mirrors.cloud.tencent.com/npm/wavesurfer.js/-/wavesurfer.js-7.1.4.tgz#9bf7dc59e4f09149dba05ba1b5448ea7a75eb071"
integrity sha512-El67n1Ljx8nvdHZqIFqIkIZp72iiv4jUPzYUg3J9BksFPLpEn/XPLfv2vyumAURq4gl7rPhcj16aqni4UZnHCg==
wavesurfer.js@^7.1.5:
version "7.1.5"
resolved "https://mirrors.cloud.tencent.com/npm/wavesurfer.js/-/wavesurfer.js-7.1.5.tgz#a38febc554fa76347075868f12d8e91b067f3100"
integrity sha512-2zb82LxQzeFn5/O5JhEs1uytdlkksUDALWt7TPN8ppP4jrajuigwcM2g4wx6b+SO4Frweg/r99L1hznr0lsBEg==
wbuf@^1.1.0, wbuf@^1.7.3:
version "1.7.3"
@@ -9703,7 +9763,35 @@ which-boxed-primitive@^1.0.2:
is-string "^1.0.5"
is-symbol "^1.0.3"
which-typed-array@^1.1.10, which-typed-array@^1.1.11:
which-builtin-type@^1.1.3:
version "1.1.3"
resolved "https://mirrors.cloud.tencent.com/npm/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b"
integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==
dependencies:
function.prototype.name "^1.1.5"
has-tostringtag "^1.0.0"
is-async-function "^2.0.0"
is-date-object "^1.0.5"
is-finalizationregistry "^1.0.2"
is-generator-function "^1.0.10"
is-regex "^1.1.4"
is-weakref "^1.0.2"
isarray "^2.0.5"
which-boxed-primitive "^1.0.2"
which-collection "^1.0.1"
which-typed-array "^1.1.9"
which-collection@^1.0.1:
version "1.0.1"
resolved "https://mirrors.cloud.tencent.com/npm/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906"
integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==
dependencies:
is-map "^2.0.1"
is-set "^2.0.1"
is-weakmap "^2.0.1"
is-weakset "^2.0.1"
which-typed-array@^1.1.10, which-typed-array@^1.1.11, which-typed-array@^1.1.9:
version "1.1.11"
resolved "https://mirrors.cloud.tencent.com/npm/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a"
integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==
@@ -9946,29 +10034,11 @@ yaml@^2.1.1, yaml@^2.2.2:
resolved "https://mirrors.cloud.tencent.com/npm/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b"
integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==
yargs-parser@^20.2.2:
version "20.2.9"
resolved "https://mirrors.cloud.tencent.com/npm/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
yargs-parser@^21.1.1:
version "21.1.1"
resolved "https://mirrors.cloud.tencent.com/npm/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
yargs@^16.2.0:
version "16.2.0"
resolved "https://mirrors.cloud.tencent.com/npm/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
dependencies:
cliui "^7.0.2"
escalade "^3.1.1"
get-caller-file "^2.0.5"
require-directory "^2.1.1"
string-width "^4.2.0"
y18n "^5.0.5"
yargs-parser "^20.2.2"
yargs@^17.7.2:
version "17.7.2"
resolved "https://mirrors.cloud.tencent.com/npm/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"