Merge branch 'feat/qr_code' into 'develop'
feat: url and qr codes for account sharing Co-authored-by: 老周部落 <laozhoubuluo@gmail.com> Co-authored-by: Sal Rahman <salehen.rahman@gmail.com> Closes #10474 See merge request firefish/firefish!10761
This commit is contained in:
commit
8e5d31b606
10 changed files with 260 additions and 31 deletions
|
@ -1011,6 +1011,8 @@ isSystemAccount: "This account is created and automatically operated by the syst
|
||||||
Please do not moderate, edit, delete, or otherwise tamper with this account, or
|
Please do not moderate, edit, delete, or otherwise tamper with this account, or
|
||||||
it may break your server."
|
it may break your server."
|
||||||
typeToConfirm: "Please enter {x} to confirm"
|
typeToConfirm: "Please enter {x} to confirm"
|
||||||
|
useThisAccountConfirm: "Do you want to continue with this account?"
|
||||||
|
inputAccountId: "Please input your account (e.g., @firefish@info.firefish.dev)"
|
||||||
deleteAccount: "Delete account"
|
deleteAccount: "Delete account"
|
||||||
document: "Documentation"
|
document: "Documentation"
|
||||||
numberOfPageCache: "Number of cached pages"
|
numberOfPageCache: "Number of cached pages"
|
||||||
|
@ -1157,6 +1159,9 @@ addRe: "Add \"re:\" at the beginning of comment in reply to a post with a conten
|
||||||
confirm: "Confirm"
|
confirm: "Confirm"
|
||||||
importZip: "Import ZIP"
|
importZip: "Import ZIP"
|
||||||
exportZip: "Export ZIP"
|
exportZip: "Export ZIP"
|
||||||
|
getQrCode: "Get QR code"
|
||||||
|
remoteFollow: "Remote follow"
|
||||||
|
remoteFollowUrl: "Remote follow URL"
|
||||||
emojiPackCreator: "Emoji pack creator"
|
emojiPackCreator: "Emoji pack creator"
|
||||||
indexable: "Indexable"
|
indexable: "Indexable"
|
||||||
indexableDescription: "Allow built-in search to show your public posts"
|
indexableDescription: "Allow built-in search to show your public posts"
|
||||||
|
|
|
@ -928,6 +928,8 @@ colored: "Coloré"
|
||||||
label: "Étiquette"
|
label: "Étiquette"
|
||||||
localOnly: "Local seulement"
|
localOnly: "Local seulement"
|
||||||
account: "Comptes"
|
account: "Comptes"
|
||||||
|
getQrCode: "Obtenir le code QR"
|
||||||
|
|
||||||
_emailUnavailable:
|
_emailUnavailable:
|
||||||
used: "Adresse non disponible"
|
used: "Adresse non disponible"
|
||||||
format: "Le format de cette adresse de courriel est invalide"
|
format: "Le format de cette adresse de courriel est invalide"
|
||||||
|
|
|
@ -879,6 +879,8 @@ driveCapOverrideCaption: "输入 0 或以下的值将容量重置为默认值。
|
||||||
requireAdminForView: "您需要使用管理员账号登录才能查看。"
|
requireAdminForView: "您需要使用管理员账号登录才能查看。"
|
||||||
isSystemAccount: "该账号由系统自动创建。请不要修改、编辑、删除或以其它方式篡改这个账号,否则可能会破坏您的服务器。"
|
isSystemAccount: "该账号由系统自动创建。请不要修改、编辑、删除或以其它方式篡改这个账号,否则可能会破坏您的服务器。"
|
||||||
typeToConfirm: "输入 {x} 以确认操作"
|
typeToConfirm: "输入 {x} 以确认操作"
|
||||||
|
useThisAccountConfirm: "您想使用此帐户继续执行此操作吗?"
|
||||||
|
inputAccountId: "请输入您的帐户(例如 @firefish@info.firefish.dev )"
|
||||||
deleteAccount: "删除账号"
|
deleteAccount: "删除账号"
|
||||||
document: "文档"
|
document: "文档"
|
||||||
numberOfPageCache: "缓存页数"
|
numberOfPageCache: "缓存页数"
|
||||||
|
@ -1974,6 +1976,9 @@ origin: 起源
|
||||||
confirm: 确认
|
confirm: 确认
|
||||||
importZip: 导入 ZIP
|
importZip: 导入 ZIP
|
||||||
exportZip: 导出 ZIP
|
exportZip: 导出 ZIP
|
||||||
|
getQrCode: "获取二维码"
|
||||||
|
remoteFollow: "远程关注"
|
||||||
|
remoteFollowUrl: "远程关注 URL"
|
||||||
emojiPackCreator: 表情包创建工具
|
emojiPackCreator: 表情包创建工具
|
||||||
objectStorageS3ForcePathStyleDesc: 打开此选项可构建格式为 "s3.amazonaws.com/<bucket>/" 而非 "<bucket>.s3.amazonaws.com"
|
objectStorageS3ForcePathStyleDesc: 打开此选项可构建格式为 "s3.amazonaws.com/<bucket>/" 而非 "<bucket>.s3.amazonaws.com"
|
||||||
的端点 URL。
|
的端点 URL。
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
"@types/matter-js": "0.19.6",
|
"@types/matter-js": "0.19.6",
|
||||||
"@types/prismjs": "^1.26.3",
|
"@types/prismjs": "^1.26.3",
|
||||||
"@types/punycode": "2.1.4",
|
"@types/punycode": "2.1.4",
|
||||||
|
"@types/qrcode": "1.5.1",
|
||||||
"@types/seedrandom": "3.0.8",
|
"@types/seedrandom": "3.0.8",
|
||||||
"@types/textarea-caret": "^3.0.3",
|
"@types/textarea-caret": "^3.0.3",
|
||||||
"@types/throttle-debounce": "5.0.2",
|
"@types/throttle-debounce": "5.0.2",
|
||||||
|
@ -60,13 +61,17 @@
|
||||||
"insert-text-at-cursor": "0.3.0",
|
"insert-text-at-cursor": "0.3.0",
|
||||||
"json5": "2.2.3",
|
"json5": "2.2.3",
|
||||||
"katex": "0.16.10",
|
"katex": "0.16.10",
|
||||||
|
"long": "^5.2.3",
|
||||||
"libopenmpt-wasm": "github:TheEssem/libopenmpt-packaging#build",
|
"libopenmpt-wasm": "github:TheEssem/libopenmpt-packaging#build",
|
||||||
"matter-js": "0.19.0",
|
"matter-js": "0.19.0",
|
||||||
"mfm-js": "0.24.0",
|
"mfm-js": "0.24.0",
|
||||||
|
"multer": "1.4.4-lts.1",
|
||||||
"moment": "2.30.1",
|
"moment": "2.30.1",
|
||||||
"photoswipe": "5.4.3",
|
"photoswipe": "5.4.3",
|
||||||
"prismjs": "1.29.0",
|
"prismjs": "1.29.0",
|
||||||
"punycode": "2.3.1",
|
"punycode": "2.3.1",
|
||||||
|
"qrcode": "1.5.3",
|
||||||
|
"qrcode-vue3": "^1.6.8",
|
||||||
"rollup": "4.14.2",
|
"rollup": "4.14.2",
|
||||||
"s-age": "1.1.2",
|
"s-age": "1.1.2",
|
||||||
"sass": "1.75.0",
|
"sass": "1.75.0",
|
||||||
|
|
68
packages/client/src/components/MkQrCode.vue
Normal file
68
packages/client/src/components/MkQrCode.vue
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
<template>
|
||||||
|
<MkModal ref="modal" :z-priority="'middle'" @closed="$emit('closed')">
|
||||||
|
<div :class="$style.root">
|
||||||
|
<div :class="$style.title">
|
||||||
|
<QRCodeVue3
|
||||||
|
:value="qrCode"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<MkButton :class="$style.gotIt" primary full @click="gotIt()">{{
|
||||||
|
i18n.ts.gotIt
|
||||||
|
}}</MkButton>
|
||||||
|
</div>
|
||||||
|
</MkModal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { shallowRef } from "vue";
|
||||||
|
import MkModal from "@/components/MkModal.vue";
|
||||||
|
import MkButton from "@/components/MkButton.vue";
|
||||||
|
import { i18n } from "@/i18n";
|
||||||
|
import QRCodeVue3 from "qrcode-vue3";
|
||||||
|
|
||||||
|
const props = defineProps<{
|
||||||
|
qrCode: string;
|
||||||
|
}>();
|
||||||
|
|
||||||
|
const modal = shallowRef<InstanceType<typeof MkModal>>();
|
||||||
|
|
||||||
|
const gotIt = () => {
|
||||||
|
modal.value.close();
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" module>
|
||||||
|
.root {
|
||||||
|
margin: auto;
|
||||||
|
position: relative;
|
||||||
|
padding: 32px;
|
||||||
|
min-width: 320px;
|
||||||
|
max-width: 480px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
text-align: center;
|
||||||
|
background: var(--panel);
|
||||||
|
border-radius: var(--radius);
|
||||||
|
|
||||||
|
> img {
|
||||||
|
border-radius: 10px;
|
||||||
|
max-height: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
> p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.time {
|
||||||
|
font-size: 0.8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gotIt {
|
||||||
|
margin: 8px 0 0 0;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -7,6 +7,7 @@ import type { Component, MaybeRef, Ref } from "vue";
|
||||||
import { defineAsyncComponent, markRaw, ref } from "vue";
|
import { defineAsyncComponent, markRaw, ref } from "vue";
|
||||||
import { i18n } from "./i18n";
|
import { i18n } from "./i18n";
|
||||||
import MkDialog from "@/components/MkDialog.vue";
|
import MkDialog from "@/components/MkDialog.vue";
|
||||||
|
import MkQrCode from "@/components/MkQrCode.vue";
|
||||||
import MkPostFormDialog from "@/components/MkPostFormDialog.vue";
|
import MkPostFormDialog from "@/components/MkPostFormDialog.vue";
|
||||||
import MkToast from "@/components/MkToast.vue";
|
import MkToast from "@/components/MkToast.vue";
|
||||||
import MkWaitingDialog from "@/components/MkWaitingDialog.vue";
|
import MkWaitingDialog from "@/components/MkWaitingDialog.vue";
|
||||||
|
@ -1003,6 +1004,25 @@ export function post(
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function displayQrCode(qrCode: string) {
|
||||||
|
(
|
||||||
|
await new Promise<(() => void) | undefined>((resolve) => {
|
||||||
|
let dispose: (() => void) | undefined;
|
||||||
|
popup(
|
||||||
|
MkQrCode,
|
||||||
|
{ qrCode },
|
||||||
|
{
|
||||||
|
closed: () => {
|
||||||
|
resolve(dispose);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
).then((res) => {
|
||||||
|
dispose = res.dispose;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
)?.();
|
||||||
|
}
|
||||||
|
|
||||||
export const deckGlobalEvents = new EventEmitter();
|
export const deckGlobalEvents = new EventEmitter();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
74
packages/client/src/pages/follow-me.vue
Normal file
74
packages/client/src/pages/follow-me.vue
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
<template>
|
||||||
|
<div class="mk-follow-page"></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { acct } from "firefish-js";
|
||||||
|
import * as os from "@/os";
|
||||||
|
import { i18n } from "@/i18n";
|
||||||
|
import { host as hostRaw } from "@/config";
|
||||||
|
import { isSignedIn, me } from "@/me";
|
||||||
|
import { waiting } from "@/os";
|
||||||
|
|
||||||
|
const acctUri = new URL(location.href).searchParams.get("acct");
|
||||||
|
if (acctUri == null) {
|
||||||
|
throw new Error("acct required");
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the user is already logged in, ask whether to follow using the current account.
|
||||||
|
if (isSignedIn(me)) {
|
||||||
|
const { canceled } = await os.confirm({
|
||||||
|
type: "question",
|
||||||
|
text: i18n.ts.useThisAccountConfirm,
|
||||||
|
});
|
||||||
|
|
||||||
|
// use the current account
|
||||||
|
if (!canceled) {
|
||||||
|
waiting();
|
||||||
|
window.location.href = `/authorize-follow?acct=${acctUri}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Otherwise ask the user what the other account ID is
|
||||||
|
const remoteAccountId = await os.inputText({
|
||||||
|
text: i18n.ts.inputAccountId,
|
||||||
|
});
|
||||||
|
|
||||||
|
// If the user do not want enter uri, the user will be redirected to the user page.
|
||||||
|
if (!remoteAccountId.result) {
|
||||||
|
waiting();
|
||||||
|
window.location.href = `/@${acctUri}`;
|
||||||
|
} else {
|
||||||
|
const remoteAcctInfo = acct.parse(remoteAccountId.result);
|
||||||
|
|
||||||
|
// If the user on this server, redirect directly
|
||||||
|
if (remoteAcctInfo.host === hostRaw || remoteAcctInfo.host === null) {
|
||||||
|
waiting();
|
||||||
|
window.location.href = `/authorize-follow?acct=${acctUri}`;
|
||||||
|
} else {
|
||||||
|
waiting();
|
||||||
|
// If not, find the interaction url through webfinger interface
|
||||||
|
fetch(
|
||||||
|
`https://${remoteAcctInfo.host}/.well-known/webfinger?resource=${remoteAcctInfo.username}@${remoteAcctInfo.host}`,
|
||||||
|
{
|
||||||
|
method: "GET",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.then((response) => response.json())
|
||||||
|
.then((data) => {
|
||||||
|
const subscribeUri = data.links.find(
|
||||||
|
(link: { rel: string; }) => link.rel === "http://ostatus.org/schema/1.0/subscribe",
|
||||||
|
).template;
|
||||||
|
window.location.href = subscribeUri.replace(
|
||||||
|
"{uri}",
|
||||||
|
acctUri.includes("@") ? acctUri : `${acctUri}@${hostRaw}`,
|
||||||
|
);
|
||||||
|
})
|
||||||
|
.catch((_) => {
|
||||||
|
// TODO: It would be better to provide more information, but the priority of
|
||||||
|
// waiting component is too high and the pop-up window will be blocked.
|
||||||
|
window.location.href = `/@${acctUri}`;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -325,6 +325,10 @@ export const routes: RouteDef[] = [
|
||||||
component: page(() => import("./pages/follow.vue")),
|
component: page(() => import("./pages/follow.vue")),
|
||||||
loginRequired: true,
|
loginRequired: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/follow-me",
|
||||||
|
component: page(() => import("./pages/follow-me.vue")),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/authorize_interaction",
|
path: "/authorize_interaction",
|
||||||
component: page(() => import("./pages/authorize_interaction.vue")),
|
component: page(() => import("./pages/authorize_interaction.vue")),
|
||||||
|
|
|
@ -281,6 +281,13 @@ export function getUserMenu(user, router: Router = mainRouter) {
|
||||||
copyToClipboard(`https://${host}/@${user.username}.json`);
|
copyToClipboard(`https://${host}/@${user.username}.json`);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
icon: `${icon("ph-hand-waving")}`,
|
||||||
|
text: i18n.ts.remoteFollowUrl,
|
||||||
|
action: () => {
|
||||||
|
copyToClipboard(`https://${host}/follow-me?acct=${user.username}`);
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -290,6 +297,22 @@ export function getUserMenu(user, router: Router = mainRouter) {
|
||||||
os.post({ specified: user });
|
os.post({ specified: user });
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
!isSignedIn(me)
|
||||||
|
? {
|
||||||
|
icon: `${icon("ph-hand-waving")}`,
|
||||||
|
text: i18n.ts.remoteFollow,
|
||||||
|
action: () => {
|
||||||
|
router.push(`/follow-me?acct=${user.username}`);
|
||||||
|
},
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
{
|
||||||
|
icon: "ph-qr-code ph-bold ph-lg",
|
||||||
|
text: i18n.ts.getQrCode,
|
||||||
|
action: () => {
|
||||||
|
os.displayQrCode(`https://${host}/follow-me?acct=${user.username}`);
|
||||||
|
},
|
||||||
|
},
|
||||||
isSignedIn(me) && me.id !== user.id
|
isSignedIn(me) && me.id !== user.id
|
||||||
? {
|
? {
|
||||||
type: "link",
|
type: "link",
|
||||||
|
|
|
@ -593,6 +593,9 @@ importers:
|
||||||
'@types/punycode':
|
'@types/punycode':
|
||||||
specifier: 2.1.4
|
specifier: 2.1.4
|
||||||
version: 2.1.4
|
version: 2.1.4
|
||||||
|
'@types/qrcode':
|
||||||
|
specifier: 1.5.1
|
||||||
|
version: 1.5.1
|
||||||
'@types/seedrandom':
|
'@types/seedrandom':
|
||||||
specifier: 3.0.8
|
specifier: 3.0.8
|
||||||
version: 3.0.8
|
version: 3.0.8
|
||||||
|
@ -692,6 +695,9 @@ importers:
|
||||||
libopenmpt-wasm:
|
libopenmpt-wasm:
|
||||||
specifier: github:TheEssem/libopenmpt-packaging#build
|
specifier: github:TheEssem/libopenmpt-packaging#build
|
||||||
version: github.com/TheEssem/libopenmpt-packaging/d05d151a72b638c6312227af0417aca69521172c
|
version: github.com/TheEssem/libopenmpt-packaging/d05d151a72b638c6312227af0417aca69521172c
|
||||||
|
long:
|
||||||
|
specifier: ^5.2.3
|
||||||
|
version: 5.2.3
|
||||||
matter-js:
|
matter-js:
|
||||||
specifier: 0.19.0
|
specifier: 0.19.0
|
||||||
version: 0.19.0
|
version: 0.19.0
|
||||||
|
@ -701,6 +707,9 @@ importers:
|
||||||
moment:
|
moment:
|
||||||
specifier: 2.30.1
|
specifier: 2.30.1
|
||||||
version: 2.30.1
|
version: 2.30.1
|
||||||
|
multer:
|
||||||
|
specifier: 1.4.4-lts.1
|
||||||
|
version: 1.4.4-lts.1
|
||||||
photoswipe:
|
photoswipe:
|
||||||
specifier: 5.4.3
|
specifier: 5.4.3
|
||||||
version: 5.4.3
|
version: 5.4.3
|
||||||
|
@ -710,6 +719,12 @@ importers:
|
||||||
punycode:
|
punycode:
|
||||||
specifier: 2.3.1
|
specifier: 2.3.1
|
||||||
version: 2.3.1
|
version: 2.3.1
|
||||||
|
qrcode:
|
||||||
|
specifier: 1.5.3
|
||||||
|
version: 1.5.3
|
||||||
|
qrcode-vue3:
|
||||||
|
specifier: ^1.6.8
|
||||||
|
version: 1.6.8
|
||||||
rollup:
|
rollup:
|
||||||
specifier: 4.14.2
|
specifier: 4.14.2
|
||||||
version: 4.14.2
|
version: 4.14.2
|
||||||
|
@ -819,7 +834,7 @@ importers:
|
||||||
version: 9.3.1
|
version: 9.3.1
|
||||||
ts-jest:
|
ts-jest:
|
||||||
specifier: ^29.1.2
|
specifier: ^29.1.2
|
||||||
version: 29.1.2(@babel/core@7.23.2)(jest@29.7.0)(typescript@5.4.5)
|
version: 29.1.2(@babel/core@7.24.4)(jest@29.7.0)(typescript@5.4.5)
|
||||||
ts-node:
|
ts-node:
|
||||||
specifier: 10.9.2
|
specifier: 10.9.2
|
||||||
version: 10.9.2(@swc/core@1.4.13)(@types/node@20.12.7)(typescript@5.4.5)
|
version: 10.9.2(@swc/core@1.4.13)(@types/node@20.12.7)(typescript@5.4.5)
|
||||||
|
@ -931,7 +946,7 @@ importers:
|
||||||
version: 4.17.21
|
version: 4.17.21
|
||||||
ts-jest:
|
ts-jest:
|
||||||
specifier: ^29.0.5
|
specifier: ^29.0.5
|
||||||
version: 29.1.1(@babel/core@7.24.4)(jest@29.7.0)(typescript@4.9.4)
|
version: 29.1.1(@babel/core@7.23.2)(jest@29.7.0)(typescript@4.9.4)
|
||||||
typedoc:
|
typedoc:
|
||||||
specifier: ^0.23.24
|
specifier: ^0.23.24
|
||||||
version: 0.23.28(typescript@4.9.4)
|
version: 0.23.28(typescript@4.9.4)
|
||||||
|
@ -4381,6 +4396,12 @@ packages:
|
||||||
resolution: {integrity: sha512-trzh6NzBnq8yw5e35f8xe8VTYjqM3NE7bohBtvDVf/dtUer3zYTLK1Ka3DG3p7bdtoaOHZucma6FfVKlQ134pQ==}
|
resolution: {integrity: sha512-trzh6NzBnq8yw5e35f8xe8VTYjqM3NE7bohBtvDVf/dtUer3zYTLK1Ka3DG3p7bdtoaOHZucma6FfVKlQ134pQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@types/qrcode@1.5.1:
|
||||||
|
resolution: {integrity: sha512-HpSN675K0PmxIDRpjMI3Mc2GiKo3dNu+X/F5SoItiaDS1lVfgC6Wac1c5lQDfKWbTJUSHWiHKzpJpBZG7k9gaA==}
|
||||||
|
dependencies:
|
||||||
|
'@types/node': 20.12.7
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@types/qrcode@1.5.5:
|
/@types/qrcode@1.5.5:
|
||||||
resolution: {integrity: sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg==}
|
resolution: {integrity: sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -5419,7 +5440,6 @@ packages:
|
||||||
|
|
||||||
/append-field@1.0.0:
|
/append-field@1.0.0:
|
||||||
resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==}
|
resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/aproba@2.0.0:
|
/aproba@2.0.0:
|
||||||
resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
|
resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
|
||||||
|
@ -6290,7 +6310,6 @@ packages:
|
||||||
engines: {node: '>=10.16.0'}
|
engines: {node: '>=10.16.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
streamsearch: 1.1.0
|
streamsearch: 1.1.0
|
||||||
dev: false
|
|
||||||
|
|
||||||
/bytes@3.1.2:
|
/bytes@3.1.2:
|
||||||
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
||||||
|
@ -6744,7 +6763,6 @@ packages:
|
||||||
string-width: 4.2.3
|
string-width: 4.2.3
|
||||||
strip-ansi: 6.0.1
|
strip-ansi: 6.0.1
|
||||||
wrap-ansi: 6.2.0
|
wrap-ansi: 6.2.0
|
||||||
dev: false
|
|
||||||
|
|
||||||
/cliui@7.0.4:
|
/cliui@7.0.4:
|
||||||
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
|
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
|
||||||
|
@ -6987,7 +7005,6 @@ packages:
|
||||||
inherits: 2.0.4
|
inherits: 2.0.4
|
||||||
readable-stream: 2.3.8
|
readable-stream: 2.3.8
|
||||||
typedarray: 0.0.6
|
typedarray: 0.0.6
|
||||||
dev: false
|
|
||||||
|
|
||||||
/concordance@5.0.4:
|
/concordance@5.0.4:
|
||||||
resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==}
|
resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==}
|
||||||
|
@ -7266,7 +7283,6 @@ packages:
|
||||||
|
|
||||||
/core-util-is@1.0.3:
|
/core-util-is@1.0.3:
|
||||||
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
|
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/crc-32@1.2.2:
|
/crc-32@1.2.2:
|
||||||
resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
|
resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
|
||||||
|
@ -7804,7 +7820,6 @@ packages:
|
||||||
|
|
||||||
/dijkstrajs@1.0.3:
|
/dijkstrajs@1.0.3:
|
||||||
resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
|
resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/dir-glob@3.0.1:
|
/dir-glob@3.0.1:
|
||||||
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
|
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
|
||||||
|
@ -7987,7 +8002,6 @@ packages:
|
||||||
|
|
||||||
/encode-utf8@1.0.3:
|
/encode-utf8@1.0.3:
|
||||||
resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==}
|
resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/encodeurl@1.0.2:
|
/encodeurl@1.0.2:
|
||||||
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
|
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
|
||||||
|
@ -11121,7 +11135,6 @@ packages:
|
||||||
|
|
||||||
/isarray@1.0.0:
|
/isarray@1.0.0:
|
||||||
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
|
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/isarray@2.0.5:
|
/isarray@2.0.5:
|
||||||
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
|
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
|
||||||
|
@ -12507,6 +12520,10 @@ packages:
|
||||||
engines: {node: '>= 0.6.0'}
|
engines: {node: '>= 0.6.0'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/long@5.2.3:
|
||||||
|
resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/lowercase-keys@2.0.0:
|
/lowercase-keys@2.0.0:
|
||||||
resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
|
resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
@ -12679,7 +12696,6 @@ packages:
|
||||||
/media-typer@0.3.0:
|
/media-typer@0.3.0:
|
||||||
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
|
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
|
||||||
engines: {node: '>= 0.6'}
|
engines: {node: '>= 0.6'}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/memoize@10.0.0:
|
/memoize@10.0.0:
|
||||||
resolution: {integrity: sha512-H6cBLgsi6vMWOcCpvVCdFFnl3kerEXbrYh9q+lY6VXvQSmM6CkmV08VOwT+WE2tzIEqRPFfAq3fm4v/UIW6mSA==}
|
resolution: {integrity: sha512-H6cBLgsi6vMWOcCpvVCdFFnl3kerEXbrYh9q+lY6VXvQSmM6CkmV08VOwT+WE2tzIEqRPFfAq3fm4v/UIW6mSA==}
|
||||||
|
@ -12905,7 +12921,6 @@ packages:
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
minimist: 1.2.8
|
minimist: 1.2.8
|
||||||
dev: false
|
|
||||||
|
|
||||||
/mkdirp@1.0.4:
|
/mkdirp@1.0.4:
|
||||||
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
|
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
|
||||||
|
@ -13005,6 +13020,19 @@ packages:
|
||||||
resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
|
resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/multer@1.4.4-lts.1:
|
||||||
|
resolution: {integrity: sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==}
|
||||||
|
engines: {node: '>= 6.0.0'}
|
||||||
|
dependencies:
|
||||||
|
append-field: 1.0.0
|
||||||
|
busboy: 1.6.0
|
||||||
|
concat-stream: 1.6.2
|
||||||
|
mkdirp: 0.5.6
|
||||||
|
object-assign: 4.1.1
|
||||||
|
type-is: 1.6.18
|
||||||
|
xtend: 4.0.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/multer@1.4.5-lts.1:
|
/multer@1.4.5-lts.1:
|
||||||
resolution: {integrity: sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==}
|
resolution: {integrity: sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==}
|
||||||
engines: {node: '>= 6.0.0'}
|
engines: {node: '>= 6.0.0'}
|
||||||
|
@ -14036,7 +14064,6 @@ packages:
|
||||||
/pngjs@5.0.0:
|
/pngjs@5.0.0:
|
||||||
resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
|
resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
|
||||||
engines: {node: '>=10.13.0'}
|
engines: {node: '>=10.13.0'}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/pngjs@7.0.0:
|
/pngjs@7.0.0:
|
||||||
resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==}
|
resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==}
|
||||||
|
@ -14642,6 +14669,16 @@ packages:
|
||||||
engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
|
engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/qrcode-generator@1.4.4:
|
||||||
|
resolution: {integrity: sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/qrcode-vue3@1.6.8:
|
||||||
|
resolution: {integrity: sha512-LtMnwKWi58ZqHbXBcsTF/VxDYhI6RrBIrDQw8fbDVlO8p5tJBZa7TaIaVYLY937vKO2WCEBmOKksGlpm5ccEIg==}
|
||||||
|
dependencies:
|
||||||
|
qrcode-generator: 1.4.4
|
||||||
|
dev: true
|
||||||
|
|
||||||
/qrcode@1.5.3:
|
/qrcode@1.5.3:
|
||||||
resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==}
|
resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==}
|
||||||
engines: {node: '>=10.13.0'}
|
engines: {node: '>=10.13.0'}
|
||||||
|
@ -14651,7 +14688,6 @@ packages:
|
||||||
encode-utf8: 1.0.3
|
encode-utf8: 1.0.3
|
||||||
pngjs: 5.0.0
|
pngjs: 5.0.0
|
||||||
yargs: 15.4.1
|
yargs: 15.4.1
|
||||||
dev: false
|
|
||||||
|
|
||||||
/qs@6.12.1:
|
/qs@6.12.1:
|
||||||
resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==}
|
resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==}
|
||||||
|
@ -14783,7 +14819,6 @@ packages:
|
||||||
safe-buffer: 5.1.2
|
safe-buffer: 5.1.2
|
||||||
string_decoder: 1.1.1
|
string_decoder: 1.1.1
|
||||||
util-deprecate: 1.0.2
|
util-deprecate: 1.0.2
|
||||||
dev: false
|
|
||||||
|
|
||||||
/readable-stream@3.6.2:
|
/readable-stream@3.6.2:
|
||||||
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
|
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
|
||||||
|
@ -15024,7 +15059,6 @@ packages:
|
||||||
|
|
||||||
/require-main-filename@2.0.0:
|
/require-main-filename@2.0.0:
|
||||||
resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
|
resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/resolve-alpn@1.2.1:
|
/resolve-alpn@1.2.1:
|
||||||
resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
|
resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
|
||||||
|
@ -15204,7 +15238,6 @@ packages:
|
||||||
|
|
||||||
/safe-buffer@5.1.2:
|
/safe-buffer@5.1.2:
|
||||||
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
|
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/safe-buffer@5.2.1:
|
/safe-buffer@5.2.1:
|
||||||
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
|
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
|
||||||
|
@ -15746,7 +15779,6 @@ packages:
|
||||||
/streamsearch@1.1.0:
|
/streamsearch@1.1.0:
|
||||||
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
|
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
|
||||||
engines: {node: '>=10.0.0'}
|
engines: {node: '>=10.0.0'}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/streamx@2.15.1:
|
/streamx@2.15.1:
|
||||||
resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==}
|
resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==}
|
||||||
|
@ -15836,7 +15868,6 @@ packages:
|
||||||
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
|
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer: 5.1.2
|
safe-buffer: 5.1.2
|
||||||
dev: false
|
|
||||||
|
|
||||||
/string_decoder@1.3.0:
|
/string_decoder@1.3.0:
|
||||||
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
|
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
|
||||||
|
@ -16398,7 +16429,7 @@ packages:
|
||||||
typescript: 5.4.5
|
typescript: 5.4.5
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/ts-jest@29.1.1(@babel/core@7.24.4)(jest@29.7.0)(typescript@4.9.4):
|
/ts-jest@29.1.1(@babel/core@7.23.2)(jest@29.7.0)(typescript@4.9.4):
|
||||||
resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==}
|
resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==}
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
@ -16419,7 +16450,7 @@ packages:
|
||||||
esbuild:
|
esbuild:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.24.4
|
'@babel/core': 7.23.2
|
||||||
bs-logger: 0.2.6
|
bs-logger: 0.2.6
|
||||||
fast-json-stable-stringify: 2.1.0
|
fast-json-stable-stringify: 2.1.0
|
||||||
jest: 29.7.0(@types/node@18.11.18)
|
jest: 29.7.0(@types/node@18.11.18)
|
||||||
|
@ -16432,7 +16463,7 @@ packages:
|
||||||
yargs-parser: 21.1.1
|
yargs-parser: 21.1.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/ts-jest@29.1.2(@babel/core@7.23.2)(jest@29.7.0)(typescript@5.4.5):
|
/ts-jest@29.1.2(@babel/core@7.24.4)(jest@29.7.0)(typescript@5.4.5):
|
||||||
resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==}
|
resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==}
|
||||||
engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0}
|
engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
@ -16453,7 +16484,7 @@ packages:
|
||||||
esbuild:
|
esbuild:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.23.2
|
'@babel/core': 7.24.4
|
||||||
bs-logger: 0.2.6
|
bs-logger: 0.2.6
|
||||||
fast-json-stable-stringify: 2.1.0
|
fast-json-stable-stringify: 2.1.0
|
||||||
jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2)
|
jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2)
|
||||||
|
@ -16646,7 +16677,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
media-typer: 0.3.0
|
media-typer: 0.3.0
|
||||||
mime-types: 2.1.35
|
mime-types: 2.1.35
|
||||||
dev: false
|
|
||||||
|
|
||||||
/type@1.2.0:
|
/type@1.2.0:
|
||||||
resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
|
resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
|
||||||
|
@ -16702,7 +16732,6 @@ packages:
|
||||||
|
|
||||||
/typedarray@0.0.6:
|
/typedarray@0.0.6:
|
||||||
resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
|
resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/typedoc@0.23.28(typescript@4.9.4):
|
/typedoc@0.23.28(typescript@4.9.4):
|
||||||
resolution: {integrity: sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w==}
|
resolution: {integrity: sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w==}
|
||||||
|
@ -17465,7 +17494,6 @@ packages:
|
||||||
|
|
||||||
/which-module@2.0.1:
|
/which-module@2.0.1:
|
||||||
resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
|
resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/which-typed-array@1.1.11:
|
/which-typed-array@1.1.11:
|
||||||
resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==}
|
resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==}
|
||||||
|
@ -17536,7 +17564,6 @@ packages:
|
||||||
ansi-styles: 4.3.0
|
ansi-styles: 4.3.0
|
||||||
string-width: 4.2.3
|
string-width: 4.2.3
|
||||||
strip-ansi: 6.0.1
|
strip-ansi: 6.0.1
|
||||||
dev: false
|
|
||||||
|
|
||||||
/wrap-ansi@7.0.0:
|
/wrap-ansi@7.0.0:
|
||||||
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
|
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
|
||||||
|
@ -17640,7 +17667,6 @@ packages:
|
||||||
/xtend@4.0.2:
|
/xtend@4.0.2:
|
||||||
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
|
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
|
||||||
engines: {node: '>=0.4'}
|
engines: {node: '>=0.4'}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/y18n@3.2.2:
|
/y18n@3.2.2:
|
||||||
resolution: {integrity: sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==}
|
resolution: {integrity: sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==}
|
||||||
|
@ -17648,7 +17674,6 @@ packages:
|
||||||
|
|
||||||
/y18n@4.0.3:
|
/y18n@4.0.3:
|
||||||
resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
|
resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/y18n@5.0.8:
|
/y18n@5.0.8:
|
||||||
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
||||||
|
@ -17693,7 +17718,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
camelcase: 5.3.1
|
camelcase: 5.3.1
|
||||||
decamelize: 1.2.0
|
decamelize: 1.2.0
|
||||||
dev: false
|
|
||||||
|
|
||||||
/yargs-parser@20.2.4:
|
/yargs-parser@20.2.4:
|
||||||
resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==}
|
resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==}
|
||||||
|
@ -17740,7 +17764,6 @@ packages:
|
||||||
which-module: 2.0.1
|
which-module: 2.0.1
|
||||||
y18n: 4.0.3
|
y18n: 4.0.3
|
||||||
yargs-parser: 18.1.3
|
yargs-parser: 18.1.3
|
||||||
dev: false
|
|
||||||
|
|
||||||
/yargs@16.2.0:
|
/yargs@16.2.0:
|
||||||
resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
|
resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
|
||||||
|
|
Loading…
Reference in a new issue