summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package.json1
-rw-r--r--packages/frontend/.storybook/fakes.ts2
-rw-r--r--packages/frontend/src/aiscript/api.ts2
-rw-r--r--packages/frontend/src/components/MkAuthConfirm.vue6
-rw-r--r--packages/frontend/src/components/MkAutocomplete.vue9
-rw-r--r--packages/frontend/src/components/MkCropperDialog.stories.impl.ts2
-rw-r--r--packages/frontend/src/components/MkDrive.vue2
-rw-r--r--packages/frontend/src/components/MkEmbedCodeGenDialog.vue2
-rw-r--r--packages/frontend/src/components/MkFormDialog.vue28
-rw-r--r--packages/frontend/src/components/MkInput.vue26
-rw-r--r--packages/frontend/src/components/MkInstanceStats.vue3
-rw-r--r--packages/frontend/src/components/MkNote.vue4
-rw-r--r--packages/frontend/src/components/MkPagination.vue8
-rw-r--r--packages/frontend/src/components/MkServerSetupWizard.vue27
-rw-r--r--packages/frontend/src/components/MkSignupDialog.form.vue2
-rw-r--r--packages/frontend/tsconfig.json4
-rw-r--r--packages/misskey-js/etc/misskey-js.api.md1
-rw-r--r--packages/misskey-js/src/entities.ts1
-rw-r--r--pnpm-lock.yaml484
19 files changed, 158 insertions, 456 deletions
diff --git a/package.json b/package.json
index e4cec6aea6..328397e710 100644
--- a/package.json
+++ b/package.json
@@ -67,6 +67,7 @@
},
"devDependencies": {
"@misskey-dev/eslint-plugin": "2.1.0",
+ "@types/js-yaml": "4.0.9",
"@types/node": "22.17.2",
"@typescript-eslint/eslint-plugin": "8.40.0",
"@typescript-eslint/parser": "8.40.0",
diff --git a/packages/frontend/.storybook/fakes.ts b/packages/frontend/.storybook/fakes.ts
index 91ef41eedf..9cd8ac474c 100644
--- a/packages/frontend/.storybook/fakes.ts
+++ b/packages/frontend/.storybook/fakes.ts
@@ -127,7 +127,7 @@ export function galleryPost(isSensitive = false) {
}
}
-export function file(isSensitive = false) {
+export function file(isSensitive = false): entities.DriveFile {
return {
id: 'somefileid',
createdAt: '2016-12-28T22:49:51.000Z',
diff --git a/packages/frontend/src/aiscript/api.ts b/packages/frontend/src/aiscript/api.ts
index a876e94ee8..0549ab76a0 100644
--- a/packages/frontend/src/aiscript/api.ts
+++ b/packages/frontend/src/aiscript/api.ts
@@ -86,7 +86,7 @@ export function createAiScriptEnv(opts: { storageKey: string, token?: string })
throw new errors.AiScriptRuntimeError('expected param');
}
utils.assertObject(param);
- return misskeyApi(ep.value, utils.valToJs(param) as object, actualToken).then(res => {
+ return misskeyApi(ep.value as keyof Misskey.Endpoints, utils.valToJs(param) as object, actualToken).then(res => {
return utils.jsToVal(res);
}, err => {
return values.ERROR('request_failed', utils.jsToVal(err));
diff --git a/packages/frontend/src/components/MkAuthConfirm.vue b/packages/frontend/src/components/MkAuthConfirm.vue
index b3331d742b..8744b50926 100644
--- a/packages/frontend/src/components/MkAuthConfirm.vue
+++ b/packages/frontend/src/components/MkAuthConfirm.vue
@@ -167,9 +167,13 @@ async function init() {
for (const user of usersRes) {
if (users.value.has(user.id)) continue;
+ const account = accounts.find(a => a.id === user.id);
+
+ if (!account || account.token == null) continue;
+
users.value.set(user.id, {
...user,
- token: accounts.find(a => a.id === user.id)!.token,
+ token: account.token,
});
}
}
diff --git a/packages/frontend/src/components/MkAutocomplete.vue b/packages/frontend/src/components/MkAutocomplete.vue
index e5b9533cd7..cf5d95e11b 100644
--- a/packages/frontend/src/components/MkAutocomplete.vue
+++ b/packages/frontend/src/components/MkAutocomplete.vue
@@ -25,7 +25,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkCustomEmoji v-if="'isCustomEmoji' in emoji && emoji.isCustomEmoji" :name="emoji.emoji" :class="$style.emoji" :fallbackToImage="true"/>
<MkEmoji v-else :emoji="emoji.emoji" :class="$style.emoji"/>
<!-- eslint-disable-next-line vue/no-v-html -->
- <span v-if="q" :class="$style.emojiName" v-html="sanitizeHtml(emoji.name.replace(q, `<b>${q}</b>`))"></span>
+ <span v-if="q != null && typeof q === 'string'" :class="$style.emojiName" v-html="sanitizeHtml(emoji.name.replace(q, `<b>${q}</b>`))"></span>
<span v-else v-text="emoji.name"></span>
<span v-if="emoji.aliasOf" :class="$style.emojiAlias">({{ emoji.aliasOf }})</span>
</li>
@@ -36,7 +36,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</li>
</ol>
<ol v-else-if="type === 'mfmParam' && mfmParams.length > 0" ref="suggests" :class="$style.list">
- <li v-for="param in mfmParams" tabindex="-1" :class="$style.item" @click="complete(type, q.params.toSpliced(-1, 1, param).join(','))" @keydown="onKeydown">
+ <li v-for="param in mfmParams" tabindex="-1" :class="$style.item" @click="completeMfmParam(param)" @keydown="onKeydown">
<span>{{ param }}</span>
</li>
</ol>
@@ -194,6 +194,11 @@ const mfmParams = ref<string[]>([]);
const select = ref(-1);
const zIndex = os.claimZIndex('high');
+function completeMfmParam(param: string) {
+ if (props.type !== 'mfmParam') throw new Error('Invalid type');
+ complete('mfmParam', props.q.params.toSpliced(-1, 1, param).join(','));
+}
+
function complete<T extends keyof CompleteInfo>(type: T, value: CompleteInfo[T]['payload']) {
emit('done', { type, value });
emit('closed');
diff --git a/packages/frontend/src/components/MkCropperDialog.stories.impl.ts b/packages/frontend/src/components/MkCropperDialog.stories.impl.ts
index bd6733f9a8..7ac3e2a2cd 100644
--- a/packages/frontend/src/components/MkCropperDialog.stories.impl.ts
+++ b/packages/frontend/src/components/MkCropperDialog.stories.impl.ts
@@ -38,7 +38,7 @@ export const Default = {
};
},
args: {
- file: file(),
+ imageFile: file(),
aspectRatio: NaN,
},
parameters: {
diff --git a/packages/frontend/src/components/MkDrive.vue b/packages/frontend/src/components/MkDrive.vue
index 9f1364aec4..19c98c3738 100644
--- a/packages/frontend/src/components/MkDrive.vue
+++ b/packages/frontend/src/components/MkDrive.vue
@@ -699,7 +699,7 @@ useGlobalEvent('driveFoldersDeleted', (folders) => {
}
});
-let connection: Misskey.ChannelConnection<Misskey.Channels['drive']> | null = null;
+let connection: Misskey.IChannelConnection<Misskey.Channels['drive']> | null = null;
onMounted(() => {
if (store.s.realtimeMode) {
diff --git a/packages/frontend/src/components/MkEmbedCodeGenDialog.vue b/packages/frontend/src/components/MkEmbedCodeGenDialog.vue
index d18fe0ed0c..17823deb85 100644
--- a/packages/frontend/src/components/MkEmbedCodeGenDialog.vue
+++ b/packages/frontend/src/components/MkEmbedCodeGenDialog.vue
@@ -160,7 +160,7 @@ const embedPreviewUrl = computed(() => {
const isEmbedWithScrollbar = computed(() => embedRouteWithScrollbar.includes(props.entity));
const header = ref(props.params?.header ?? true);
-const maxHeight = ref(props.params?.maxHeight !== 0 ? props.params?.maxHeight ?? undefined : 500);
+const maxHeight = ref(props.params?.maxHeight !== 0 ? props.params?.maxHeight ?? null : 500);
const colorMode = ref<'light' | 'dark' | 'auto'>(props.params?.colorMode ?? 'auto');
const rounded = ref(props.params?.rounded ?? true);
diff --git a/packages/frontend/src/components/MkFormDialog.vue b/packages/frontend/src/components/MkFormDialog.vue
index 6ac4441cac..8d697499a5 100644
--- a/packages/frontend/src/components/MkFormDialog.vue
+++ b/packages/frontend/src/components/MkFormDialog.vue
@@ -41,11 +41,11 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkSwitch>
<MkSelect v-else-if="v.type === 'enum'" v-model="values[k]">
<template #label><span v-text="v.label || k"></span><span v-if="v.required === false"> ({{ i18n.ts.optional }})</span></template>
- <option v-for="option in v.enum" :key="option.value" :value="option.value">{{ option.label }}</option>
+ <option v-for="option in v.enum" :key="getEnumKey(option)" :value="getEnumValue(option)">{{ getEnumLabel(option) }}</option>
</MkSelect>
<MkRadios v-else-if="v.type === 'radio'" v-model="values[k]">
<template #label><span v-text="v.label || k"></span><span v-if="v.required === false"> ({{ i18n.ts.optional }})</span></template>
- <option v-for="option in v.options" :key="option.value" :value="option.value">{{ option.label }}</option>
+ <option v-for="option in v.options" :key="getRadioKey(option)" :value="option.value">{{ option.label }}</option>
</MkRadios>
<MkRange v-else-if="v.type === 'range'" v-model="values[k]" :min="v.min" :max="v.max" :step="v.step" :textConverter="v.textConverter">
<template #label><span v-text="v.label || k"></span><span v-if="v.required === false"> ({{ i18n.ts.optional }})</span></template>
@@ -77,7 +77,7 @@ import MkRange from './MkRange.vue';
import MkButton from './MkButton.vue';
import MkRadios from './MkRadios.vue';
import XFile from './MkFormDialog.file.vue';
-import type { Form } from '@/utility/form.js';
+import type { EnumItem, Form, RadioFormItem } from '@/utility/form.js';
import MkModalWindow from '@/components/MkModalWindow.vue';
import { i18n } from '@/i18n.js';
@@ -99,7 +99,11 @@ const dialog = useTemplateRef('dialog');
const values = reactive({});
for (const item in props.form) {
- values[item] = props.form[item].default ?? null;
+ if ('default' in props.form[item]) {
+ values[item] = props.form[item].default ?? null;
+ } else {
+ values[item] = null;
+ }
}
function ok() {
@@ -115,4 +119,20 @@ function cancel() {
});
dialog.value?.close();
}
+
+function getEnumLabel(e: EnumItem) {
+ return typeof e === 'string' ? e : e.label;
+}
+
+function getEnumValue(e: EnumItem) {
+ return typeof e === 'string' ? e : e.value;
+}
+
+function getEnumKey(e: EnumItem) {
+ return typeof e === 'string' ? e : typeof e.value === 'string' ? e.value : JSON.stringify(e.value);
+}
+
+function getRadioKey(e: RadioFormItem['options'][number]) {
+ return typeof e.value === 'string' ? e.value : JSON.stringify(e.value);
+}
</script>
diff --git a/packages/frontend/src/components/MkInput.vue b/packages/frontend/src/components/MkInput.vue
index cc7ad8bb78..0c6f03d7d6 100644
--- a/packages/frontend/src/components/MkInput.vue
+++ b/packages/frontend/src/components/MkInput.vue
@@ -43,7 +43,15 @@ SPDX-License-Identifier: AGPL-3.0-only
</div>
</template>
-<script lang="ts" setup>
+<script lang="ts">
+type SupportedTypes = 'text' | 'password' | 'email' | 'url' | 'tel' | 'number' | 'search';
+type ModelValueType<T extends SupportedTypes> =
+ T extends 'number' ? number :
+ T extends 'text' | 'password' | 'email' | 'url' | 'tel' | 'search' ? string :
+ never;
+</script>
+
+<script lang="ts" setup generic="T extends SupportedTypes = 'text'">
import { onMounted, onUnmounted, nextTick, ref, useTemplateRef, watch, computed, toRefs } from 'vue';
import { debounce } from 'throttle-debounce';
import { useInterval } from '@@/js/use-interval.js';
@@ -55,8 +63,8 @@ import { Autocomplete } from '@/utility/autocomplete.js';
import { genId } from '@/utility/id.js';
const props = defineProps<{
- modelValue: string | number | null;
- type?: InputHTMLAttributes['type'];
+ modelValue: ModelValueType<T> | null;
+ type?: T;
required?: boolean;
readonly?: boolean;
disabled?: boolean;
@@ -83,11 +91,11 @@ const emit = defineEmits<{
(ev: 'change', _ev: KeyboardEvent): void;
(ev: 'keydown', _ev: KeyboardEvent): void;
(ev: 'enter', _ev: KeyboardEvent): void;
- (ev: 'update:modelValue', value: string | number): void;
+ (ev: 'update:modelValue', value: ModelValueType<T>): void;
}>();
-const { modelValue, type, autofocus } = toRefs(props);
-const v = ref(modelValue.value);
+const { modelValue } = toRefs(props);
+const v = ref<ModelValueType<T> | null>(modelValue.value);
const id = genId();
const focused = ref(false);
const changed = ref(false);
@@ -120,8 +128,8 @@ const onKeydown = (ev: KeyboardEvent) => {
const updated = () => {
changed.value = false;
- if (type.value === 'number') {
- emit('update:modelValue', typeof v.value === 'number' ? v.value : parseFloat(v.value ?? '0'));
+ if (props.type === 'number') {
+ emit('update:modelValue', typeof v.value === 'number' ? v.value as ModelValueType<T> : parseFloat(v.value ?? '0') as ModelValueType<T>);
} else {
emit('update:modelValue', v.value ?? '');
}
@@ -167,7 +175,7 @@ useInterval(() => {
onMounted(() => {
nextTick(() => {
- if (autofocus.value) {
+ if (props.autofocus) {
focus();
}
});
diff --git a/packages/frontend/src/components/MkInstanceStats.vue b/packages/frontend/src/components/MkInstanceStats.vue
index 07d88d6575..15578ca1c9 100644
--- a/packages/frontend/src/components/MkInstanceStats.vue
+++ b/packages/frontend/src/components/MkInstanceStats.vue
@@ -89,6 +89,7 @@ import { Chart } from 'chart.js';
import type { HeatmapSource } from '@/components/MkHeatmap.vue';
import MkSelect from '@/components/MkSelect.vue';
import MkChart from '@/components/MkChart.vue';
+import type { ChartSrc } from '@/components/MkChart.vue';
import { useChartTooltip } from '@/composables/use-chart-tooltip.js';
import { $i } from '@/i.js';
import * as os from '@/os.js';
@@ -107,7 +108,7 @@ const shouldShowFederation = computed(() => instance.federation !== 'none' || $i
const chartLimit = 500;
const chartSpan = ref<'hour' | 'day'>('hour');
-const chartSrc = ref('active-users');
+const chartSrc = ref<ChartSrc>('active-users');
const heatmapSrc = ref<HeatmapSource>('active-users');
const subDoughnutEl = useTemplateRef('subDoughnutEl');
const pubDoughnutEl = useTemplateRef('pubDoughnutEl');
diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue
index 729bded03c..1b0f25a1a2 100644
--- a/packages/frontend/src/components/MkNote.vue
+++ b/packages/frontend/src/components/MkNote.vue
@@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-only
:class="[$style.root, { [$style.showActionsOnlyHover]: prefer.s.showNoteActionsOnlyHover, [$style.skipRender]: prefer.s.skipNoteRender }]"
tabindex="0"
>
- <MkNoteSub v-if="appearNote.replyId && !renoteCollapsed" :note="appearNote.reply" :class="$style.replyTo"/>
+ <MkNoteSub v-if="appearNote.replyId && !renoteCollapsed" :note="appearNote?.reply ?? null" :class="$style.replyTo"/>
<div v-if="pinned" :class="$style.tip"><i class="ti ti-pin"></i> {{ i18n.ts.pinnedNote }}</div>
<div v-if="isRenote" :class="$style.renote">
<div v-if="note.channel" :class="$style.colorBar" :style="{ background: note.channel.color }"></div>
@@ -99,7 +99,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div v-if="isEnabledUrlPreview">
<MkUrlPreview v-for="url in urls" :key="url" :url="url" :compact="true" :detail="false" :class="$style.urlPreview"/>
</div>
- <div v-if="appearNote.renoteId" :class="$style.quote"><MkNoteSimple :note="appearNote.renote" :class="$style.quoteNote"/></div>
+ <div v-if="appearNote.renoteId" :class="$style.quote"><MkNoteSimple :note="appearNote?.renote ?? null" :class="$style.quoteNote"/></div>
<button v-if="isLong && collapsed" :class="$style.collapsed" class="_button" @click="collapsed = false">
<span :class="$style.collapsedLabel">{{ i18n.ts.showMore }}</span>
</button>
diff --git a/packages/frontend/src/components/MkPagination.vue b/packages/frontend/src/components/MkPagination.vue
index 4ea62f2812..72b41eb7df 100644
--- a/packages/frontend/src/components/MkPagination.vue
+++ b/packages/frontend/src/components/MkPagination.vue
@@ -31,7 +31,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkButton>
<MkLoading v-else/>
</div>
- <slot :items="unref(paginator.items)" :fetching="paginator.fetching.value || paginator.fetchingOlder.value"></slot>
+ <slot :items="getValue(paginator.items)" :fetching="paginator.fetching.value || paginator.fetchingOlder.value"></slot>
<div v-if="direction === 'down' || direction === 'both'" v-show="downButtonVisible">
<MkButton v-if="!downButtonLoading" :class="$style.more" primary rounded @click="downButtonClick">
{{ i18n.ts.loadMore }}
@@ -90,6 +90,10 @@ function onContextmenu(ev: MouseEvent) {
}], ev);
}
+function getValue(v: IPaginator['items']) {
+ return unref(v) as UnwrapRef<T['items']>;
+}
+
if (props.autoLoad) {
onMounted(() => {
props.paginator.init();
@@ -134,7 +138,7 @@ function downButtonClick() {
defineSlots<{
empty: () => void;
- default: (props: { items: UnwrapRef<T['items']> }) => void;
+ default: (props: { items: UnwrapRef<T['items']>, fetching: boolean }) => void;
}>();
</script>
diff --git a/packages/frontend/src/components/MkServerSetupWizard.vue b/packages/frontend/src/components/MkServerSetupWizard.vue
index 1d2dfed297..5120d7541b 100644
--- a/packages/frontend/src/components/MkServerSetupWizard.vue
+++ b/packages/frontend/src/components/MkServerSetupWizard.vue
@@ -134,7 +134,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div>
<div><b>{{ i18n.ts._serverSettings.entrancePageStyle }}:</b></div>
- <div>{{ serverSettings.clientOptions.entrancePageStyle }}</div>
+ <div>{{ serverSettings.clientOptions?.entrancePageStyle }}</div>
</div>
<div>
@@ -240,12 +240,12 @@ const serverSettings = computed<Misskey.entities.AdminUpdateMetaRequest>(() => {
enableReactionsBuffering,
clientOptions: {
entrancePageStyle: q_use.value === 'open' ? 'classic' : 'simple',
- },
+ } as any,
};
});
-const defaultPolicies = computed<Partial<Record<typeof ROLE_POLICIES[number], any>>>(() => {
- let driveCapacityMb;
+const defaultPolicies = computed<Partial<Misskey.entities.RolePolicies>>(() => {
+ let driveCapacityMb: Misskey.entities.RolePolicies['driveCapacityMb'] | undefined;
if (q_use.value === 'single') {
driveCapacityMb = 8192;
} else if (q_use.value === 'group') {
@@ -254,7 +254,7 @@ const defaultPolicies = computed<Partial<Record<typeof ROLE_POLICIES[number], an
driveCapacityMb = 100;
}
- let rateLimitFactor;
+ let rateLimitFactor: Misskey.entities.RolePolicies['rateLimitFactor'] | undefined;
if (q_use.value === 'single') {
rateLimitFactor = 0.3;
} else if (q_use.value === 'group') {
@@ -269,7 +269,7 @@ const defaultPolicies = computed<Partial<Record<typeof ROLE_POLICIES[number], an
}
}
- let userListLimit;
+ let userListLimit: Misskey.entities.RolePolicies['userListLimit'] | undefined;
if (q_use.value === 'single') {
userListLimit = 100;
} else if (q_use.value === 'group') {
@@ -278,7 +278,7 @@ const defaultPolicies = computed<Partial<Record<typeof ROLE_POLICIES[number], an
userListLimit = 3;
}
- let antennaLimit;
+ let antennaLimit: Misskey.entities.RolePolicies['antennaLimit'] | undefined;
if (q_use.value === 'single') {
antennaLimit = 100;
} else if (q_use.value === 'group') {
@@ -287,7 +287,7 @@ const defaultPolicies = computed<Partial<Record<typeof ROLE_POLICIES[number], an
antennaLimit = 0;
}
- let webhookLimit;
+ let webhookLimit: Misskey.entities.RolePolicies['webhookLimit'] | undefined;
if (q_use.value === 'single') {
webhookLimit = 100;
} else if (q_use.value === 'group') {
@@ -296,35 +296,35 @@ const defaultPolicies = computed<Partial<Record<typeof ROLE_POLICIES[number], an
webhookLimit = 0;
}
- let canImportFollowing;
+ let canImportFollowing: Misskey.entities.RolePolicies['canImportFollowing'];
if (q_use.value === 'single') {
canImportFollowing = true;
} else {
canImportFollowing = false;
}
- let canImportMuting;
+ let canImportMuting: Misskey.entities.RolePolicies['canImportMuting'];
if (q_use.value === 'single') {
canImportMuting = true;
} else {
canImportMuting = false;
}
- let canImportBlocking;
+ let canImportBlocking: Misskey.entities.RolePolicies['canImportBlocking'];
if (q_use.value === 'single') {
canImportBlocking = true;
} else {
canImportBlocking = false;
}
- let canImportUserLists;
+ let canImportUserLists: Misskey.entities.RolePolicies['canImportUserLists'];
if (q_use.value === 'single') {
canImportUserLists = true;
} else {
canImportUserLists = false;
}
- let canImportAntennas;
+ let canImportAntennas: Misskey.entities.RolePolicies['canImportAntennas'];
if (q_use.value === 'single') {
canImportAntennas = true;
} else {
@@ -355,6 +355,7 @@ function applySettings() {
maintainerEmail: q_adminEmail.value === '' ? undefined : q_adminEmail.value,
}, props.token),
misskeyApi('admin/roles/update-default-policies', {
+ // @ts-expect-error バックエンド側の型
policies: defaultPolicies.value,
}, props.token),
]).then(() => {
diff --git a/packages/frontend/src/components/MkSignupDialog.form.vue b/packages/frontend/src/components/MkSignupDialog.form.vue
index 0f8713d4af..68ba09980a 100644
--- a/packages/frontend/src/components/MkSignupDialog.form.vue
+++ b/packages/frontend/src/components/MkSignupDialog.form.vue
@@ -66,7 +66,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkCaptcha v-if="instance.enableMcaptcha" ref="mcaptcha" v-model="mCaptchaResponse" :class="$style.captcha" provider="mcaptcha" :sitekey="instance.mcaptchaSiteKey" :instanceUrl="instance.mcaptchaInstanceUrl"/>
<MkCaptcha v-if="instance.enableRecaptcha" ref="recaptcha" v-model="reCaptchaResponse" :class="$style.captcha" provider="recaptcha" :sitekey="instance.recaptchaSiteKey"/>
<MkCaptcha v-if="instance.enableTurnstile" ref="turnstile" v-model="turnstileResponse" :class="$style.captcha" provider="turnstile" :sitekey="instance.turnstileSiteKey"/>
- <MkCaptcha v-if="instance.enableTestcaptcha" ref="testcaptcha" v-model="testcaptchaResponse" :class="$style.captcha" provider="testcaptcha"/>
+ <MkCaptcha v-if="instance.enableTestcaptcha" ref="testcaptcha" v-model="testcaptchaResponse" :class="$style.captcha" provider="testcaptcha" :sitekey="null"/>
<MkButton type="submit" :disabled="shouldDisableSubmitting" large gradate rounded data-cy-signup-submit style="margin: 0 auto;">
<template v-if="submitting">
<MkLoading :em="true" :colored="false"/>
diff --git a/packages/frontend/tsconfig.json b/packages/frontend/tsconfig.json
index 662dc6ed4e..ab606bff09 100644
--- a/packages/frontend/tsconfig.json
+++ b/packages/frontend/tsconfig.json
@@ -22,6 +22,7 @@
"isolatedModules": true,
"useDefineForClassFields": true,
"verbatimModuleSyntax": true,
+ "skipLibCheck": true,
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"],
@@ -46,8 +47,6 @@
},
"compileOnSave": false,
"include": [
- "./build.ts",
- "./lib/**/*.ts",
"./src/**/*.ts",
"./src/**/*.vue",
"./test/**/*.ts",
@@ -55,7 +54,6 @@
"./@types/**/*.ts"
],
"exclude": [
- ".storybook/**/*",
"./src/**/*.stories.ts"
]
}
diff --git a/packages/misskey-js/etc/misskey-js.api.md b/packages/misskey-js/etc/misskey-js.api.md
index 3388a3d9a9..ea2f794c17 100644
--- a/packages/misskey-js/etc/misskey-js.api.md
+++ b/packages/misskey-js/etc/misskey-js.api.md
@@ -3538,6 +3538,7 @@ type SignupRequest = {
'g-recaptcha-response'?: string | null;
'turnstile-response'?: string | null;
'm-captcha-response'?: string | null;
+ 'testcaptcha-response'?: string | null;
};
// @public (undocumented)
diff --git a/packages/misskey-js/src/entities.ts b/packages/misskey-js/src/entities.ts
index 88b806ed07..b64dd451a2 100644
--- a/packages/misskey-js/src/entities.ts
+++ b/packages/misskey-js/src/entities.ts
@@ -269,6 +269,7 @@ export type SignupRequest = {
'g-recaptcha-response'?: string | null;
'turnstile-response'?: string | null;
'm-captcha-response'?: string | null;
+ 'testcaptcha-response'?: string | null;
};
export type SignupResponse = MeDetailed & {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index db2ba1719d..042312628c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -55,6 +55,9 @@ importers:
'@misskey-dev/eslint-plugin':
specifier: 2.1.0
version: 2.1.0(@eslint/compat@1.1.1)(@stylistic/eslint-plugin@2.13.0(eslint@9.34.0)(typescript@5.9.2))(@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0)(typescript@5.9.2))(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0))(eslint@9.34.0)(globals@16.3.0)
+ '@types/js-yaml':
+ specifier: 4.0.9
+ version: 4.0.9
'@types/node':
specifier: 22.17.2
version: 22.17.2
@@ -1815,11 +1818,6 @@ packages:
resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.28.0':
- resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
'@babel/parser@7.28.3':
resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==}
engines: {node: '>=6.0.0'}
@@ -1910,10 +1908,6 @@ packages:
resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.28.1':
- resolution: {integrity: sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==}
- engines: {node: '>=6.9.0'}
-
'@babel/types@7.28.2':
resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
engines: {node: '>=6.9.0'}
@@ -2021,312 +2015,156 @@ packages:
'@epic-web/invariant@1.0.0':
resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==}
- '@esbuild/aix-ppc64@0.25.8':
- resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
'@esbuild/aix-ppc64@0.25.9':
resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.25.8':
- resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm64@0.25.9':
resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.25.8':
- resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
'@esbuild/android-arm@0.25.9':
resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.25.8':
- resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
'@esbuild/android-x64@0.25.9':
resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.25.8':
- resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-arm64@0.25.9':
resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.25.8':
- resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.25.9':
resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.25.8':
- resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-arm64@0.25.9':
resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.25.8':
- resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.25.9':
resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.25.8':
- resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm64@0.25.9':
resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.25.8':
- resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-arm@0.25.9':
resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.25.8':
- resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-ia32@0.25.9':
resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.25.8':
- resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-loong64@0.25.9':
resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.25.8':
- resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-mips64el@0.25.9':
resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.25.8':
- resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-ppc64@0.25.9':
resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.25.8':
- resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.25.9':
resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.25.8':
- resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-s390x@0.25.9':
resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.25.8':
- resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
'@esbuild/linux-x64@0.25.9':
resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-arm64@0.25.8':
- resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
'@esbuild/netbsd-arm64@0.25.9':
resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.25.8':
- resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.25.9':
resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.25.8':
- resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
'@esbuild/openbsd-arm64@0.25.9':
resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.25.8':
- resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.25.9':
resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/openharmony-arm64@0.25.8':
- resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openharmony]
-
'@esbuild/openharmony-arm64@0.25.9':
resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
- '@esbuild/sunos-x64@0.25.8':
- resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
'@esbuild/sunos-x64@0.25.9':
resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.25.8':
- resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-arm64@0.25.9':
resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.25.8':
- resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-ia32@0.25.9':
resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.25.8':
- resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
'@esbuild/win32-x64@0.25.9':
resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==}
engines: {node: '>=18'}
@@ -2854,9 +2692,6 @@ packages:
'@jridgewell/source-map@0.3.6':
resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
'@jridgewell/sourcemap-codec@1.5.5':
resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
@@ -3074,10 +2909,6 @@ packages:
'@nestjs/platform-express':
optional: true
- '@noble/hashes@1.7.1':
- resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==}
- engines: {node: ^14.21.3 || >=16}
-
'@noble/hashes@1.8.0':
resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==}
engines: {node: ^14.21.3 || >=16}
@@ -5118,15 +4949,9 @@ packages:
'@volar/typescript@2.4.23':
resolution: {integrity: sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==}
- '@vue/compiler-core@3.5.18':
- resolution: {integrity: sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==}
-
'@vue/compiler-core@3.5.19':
resolution: {integrity: sha512-/afpyvlkrSNYbPo94Qu8GtIOWS+g5TRdOvs6XZNw6pWQQmj5pBgSZvEPOIZlqWq0YvoUhDDQaQ2TnzuJdOV4hA==}
- '@vue/compiler-dom@3.5.18':
- resolution: {integrity: sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==}
-
'@vue/compiler-dom@3.5.19':
resolution: {integrity: sha512-Drs6rPHQZx/pN9S6ml3Z3K/TWCIRPvzG2B/o5kFK9X0MNHt8/E+38tiRfojufrYBfA6FQUFB2qBBRXlcSXWtOA==}
@@ -5169,9 +4994,6 @@ packages:
peerDependencies:
vue: 3.5.19
- '@vue/shared@3.5.18':
- resolution: {integrity: sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==}
-
'@vue/shared@3.5.19':
resolution: {integrity: sha512-IhXCOn08wgKrLQxRFKKlSacWg4Goi1BolrdEeLYn6tgHjJNXVrWJ5nzoxZqNwl5p88aLlQ8LOaoMa3AYvaKJ/Q==}
@@ -6553,11 +6375,6 @@ packages:
peerDependencies:
esbuild: '>=0.12 <1'
- esbuild@0.25.8:
- resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==}
- engines: {node: '>=18'}
- hasBin: true
-
esbuild@0.25.9:
resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==}
engines: {node: '>=18'}
@@ -6860,14 +6677,6 @@ packages:
fd-slicer@1.1.0:
resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
- fdir@6.4.6:
- resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==}
- peerDependencies:
- picomatch: ^3 || ^4
- peerDependenciesMeta:
- picomatch:
- optional: true
-
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
@@ -9044,9 +8853,6 @@ packages:
peerDependencies:
pg: '>=8.0'
- pg-protocol@1.10.0:
- resolution: {integrity: sha512-IpdytjudNuLv8nhlHs/UrVBhU0e78J0oIS/0AVdTbWxSOkFUVdsHC/NrorO6nXsQNDTT1kzDSOMJubBQviX18Q==}
-
pg-protocol@1.10.3:
resolution: {integrity: sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==}
@@ -11977,12 +11783,12 @@ snapshots:
'@babel/helper-compilation-targets': 7.24.7
'@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7)
'@babel/helpers': 7.24.7
- '@babel/parser': 7.28.0
+ '@babel/parser': 7.28.3
'@babel/template': 7.24.7
'@babel/traverse': 7.24.7
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
convert-source-map: 2.0.0
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -11991,7 +11797,7 @@ snapshots:
'@babel/generator@7.24.7':
dependencies:
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
'@jridgewell/gen-mapping': 0.3.12
'@jridgewell/trace-mapping': 0.3.29
jsesc: 2.5.2
@@ -12006,21 +11812,21 @@ snapshots:
'@babel/helper-environment-visitor@7.24.7':
dependencies:
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
'@babel/helper-function-name@7.24.7':
dependencies:
'@babel/template': 7.24.7
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
'@babel/helper-hoist-variables@7.24.7':
dependencies:
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
'@babel/helper-module-imports@7.24.7':
dependencies:
'@babel/traverse': 7.24.7
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
transitivePeerDependencies:
- supports-color
@@ -12040,13 +11846,13 @@ snapshots:
'@babel/helper-simple-access@7.24.7':
dependencies:
'@babel/traverse': 7.24.7
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
transitivePeerDependencies:
- supports-color
'@babel/helper-split-export-declaration@7.24.7':
dependencies:
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
'@babel/helper-string-parser@7.27.1': {}
@@ -12057,11 +11863,7 @@ snapshots:
'@babel/helpers@7.24.7':
dependencies:
'@babel/template': 7.24.7
- '@babel/types': 7.28.1
-
- '@babel/parser@7.28.0':
- dependencies:
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
'@babel/parser@7.28.3':
dependencies:
@@ -12144,8 +11946,8 @@ snapshots:
'@babel/template@7.24.7':
dependencies:
'@babel/code-frame': 7.27.1
- '@babel/parser': 7.28.0
- '@babel/types': 7.28.1
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.28.2
'@babel/traverse@7.24.7':
dependencies:
@@ -12155,18 +11957,13 @@ snapshots:
'@babel/helper-function-name': 7.24.7
'@babel/helper-hoist-variables': 7.24.7
'@babel/helper-split-export-declaration': 7.24.7
- '@babel/parser': 7.28.0
- '@babel/types': 7.28.1
- debug: 4.4.1(supports-color@5.5.0)
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.28.2
+ debug: 4.4.1(supports-color@10.2.0)
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- '@babel/types@7.28.1':
- dependencies:
- '@babel/helper-string-parser': 7.27.1
- '@babel/helper-validator-identifier': 7.27.1
-
'@babel/types@7.28.2':
dependencies:
'@babel/helper-string-parser': 7.27.1
@@ -12329,159 +12126,81 @@ snapshots:
'@epic-web/invariant@1.0.0': {}
- '@esbuild/aix-ppc64@0.25.8':
- optional: true
-
'@esbuild/aix-ppc64@0.25.9':
optional: true
- '@esbuild/android-arm64@0.25.8':
- optional: true
-
'@esbuild/android-arm64@0.25.9':
optional: true
- '@esbuild/android-arm@0.25.8':
- optional: true
-
'@esbuild/android-arm@0.25.9':
optional: true
- '@esbuild/android-x64@0.25.8':
- optional: true
-
'@esbuild/android-x64@0.25.9':
optional: true
- '@esbuild/darwin-arm64@0.25.8':
- optional: true
-
'@esbuild/darwin-arm64@0.25.9':
optional: true
- '@esbuild/darwin-x64@0.25.8':
- optional: true
-
'@esbuild/darwin-x64@0.25.9':
optional: true
- '@esbuild/freebsd-arm64@0.25.8':
- optional: true
-
'@esbuild/freebsd-arm64@0.25.9':
optional: true
- '@esbuild/freebsd-x64@0.25.8':
- optional: true
-
'@esbuild/freebsd-x64@0.25.9':
optional: true
- '@esbuild/linux-arm64@0.25.8':
- optional: true
-
'@esbuild/linux-arm64@0.25.9':
optional: true
- '@esbuild/linux-arm@0.25.8':
- optional: true
-
'@esbuild/linux-arm@0.25.9':
optional: true
- '@esbuild/linux-ia32@0.25.8':
- optional: true
-
'@esbuild/linux-ia32@0.25.9':
optional: true
- '@esbuild/linux-loong64@0.25.8':
- optional: true
-
'@esbuild/linux-loong64@0.25.9':
optional: true
- '@esbuild/linux-mips64el@0.25.8':
- optional: true
-
'@esbuild/linux-mips64el@0.25.9':
optional: true
- '@esbuild/linux-ppc64@0.25.8':
- optional: true
-
'@esbuild/linux-ppc64@0.25.9':
optional: true
- '@esbuild/linux-riscv64@0.25.8':
- optional: true
-
'@esbuild/linux-riscv64@0.25.9':
optional: true
- '@esbuild/linux-s390x@0.25.8':
- optional: true
-
'@esbuild/linux-s390x@0.25.9':
optional: true
- '@esbuild/linux-x64@0.25.8':
- optional: true
-
'@esbuild/linux-x64@0.25.9':
optional: true
- '@esbuild/netbsd-arm64@0.25.8':
- optional: true
-
'@esbuild/netbsd-arm64@0.25.9':
optional: true
- '@esbuild/netbsd-x64@0.25.8':
- optional: true
-
'@esbuild/netbsd-x64@0.25.9':
optional: true
- '@esbuild/openbsd-arm64@0.25.8':
- optional: true
-
'@esbuild/openbsd-arm64@0.25.9':
optional: true
- '@esbuild/openbsd-x64@0.25.8':
- optional: true
-
'@esbuild/openbsd-x64@0.25.9':
optional: true
- '@esbuild/openharmony-arm64@0.25.8':
- optional: true
-
'@esbuild/openharmony-arm64@0.25.9':
optional: true
- '@esbuild/sunos-x64@0.25.8':
- optional: true
-
'@esbuild/sunos-x64@0.25.9':
optional: true
- '@esbuild/win32-arm64@0.25.8':
- optional: true
-
'@esbuild/win32-arm64@0.25.9':
optional: true
- '@esbuild/win32-ia32@0.25.8':
- optional: true
-
'@esbuild/win32-ia32@0.25.9':
optional: true
- '@esbuild/win32-x64@0.25.8':
- optional: true
-
'@esbuild/win32-x64@0.25.9':
optional: true
@@ -12497,7 +12216,7 @@ snapshots:
'@eslint/config-array@0.21.0':
dependencies:
'@eslint/object-schema': 2.1.6
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@@ -12511,7 +12230,7 @@ snapshots:
'@eslint/eslintrc@3.3.1':
dependencies:
ajv: 6.12.6
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
espree: 10.4.0
globals: 14.0.0
ignore: 5.3.1
@@ -13082,7 +12801,7 @@ snapshots:
'@jridgewell/gen-mapping@0.3.12':
dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/sourcemap-codec': 1.5.5
'@jridgewell/trace-mapping': 0.3.29
'@jridgewell/resolve-uri@3.1.0': {}
@@ -13092,14 +12811,12 @@ snapshots:
'@jridgewell/gen-mapping': 0.3.12
'@jridgewell/trace-mapping': 0.3.29
- '@jridgewell/sourcemap-codec@1.5.0': {}
-
'@jridgewell/sourcemap-codec@1.5.5': {}
'@jridgewell/trace-mapping@0.3.29':
dependencies:
'@jridgewell/resolve-uri': 3.1.0
- '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/sourcemap-codec': 1.5.5
'@kurkle/color@0.3.2': {}
@@ -13316,8 +13033,6 @@ snapshots:
optionalDependencies:
'@nestjs/platform-express': 10.4.20(@nestjs/common@11.1.6(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.6)
- '@noble/hashes@1.7.1': {}
-
'@noble/hashes@1.8.0': {}
'@nodelib/fs.scandir@2.1.5':
@@ -13654,7 +13369,7 @@ snapshots:
'@paralleldrive/cuid2@2.2.2':
dependencies:
- '@noble/hashes': 1.7.1
+ '@noble/hashes': 1.8.0
'@parcel/watcher-android-arm64@2.5.0':
optional: true
@@ -15134,24 +14849,24 @@ snapshots:
'@types/babel__core@7.20.0':
dependencies:
- '@babel/parser': 7.28.0
- '@babel/types': 7.28.1
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.28.2
'@types/babel__generator': 7.6.4
'@types/babel__template': 7.4.1
'@types/babel__traverse': 7.20.0
'@types/babel__generator@7.6.4':
dependencies:
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
'@types/babel__template@7.4.1':
dependencies:
- '@babel/parser': 7.28.0
- '@babel/types': 7.28.1
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.28.2
'@types/babel__traverse@7.20.0':
dependencies:
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
'@types/bcryptjs@2.4.6': {}
@@ -15347,13 +15062,13 @@ snapshots:
'@types/pg@8.15.5':
dependencies:
'@types/node': 22.17.2
- pg-protocol: 1.10.0
+ pg-protocol: 1.10.3
pg-types: 2.2.0
'@types/pg@8.6.1':
dependencies:
'@types/node': 22.17.2
- pg-protocol: 1.10.0
+ pg-protocol: 1.10.3
pg-types: 2.2.0
'@types/prop-types@15.7.14': {}
@@ -15536,7 +15251,7 @@ snapshots:
'@typescript-eslint/types': 8.40.0
'@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2)
'@typescript-eslint/visitor-keys': 8.40.0
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
eslint: 9.34.0
typescript: 5.9.2
transitivePeerDependencies:
@@ -15555,7 +15270,7 @@ snapshots:
dependencies:
'@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2)
'@typescript-eslint/types': 8.40.0
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
@@ -15595,7 +15310,7 @@ snapshots:
'@typescript-eslint/types': 8.40.0
'@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2)
'@typescript-eslint/utils': 8.40.0(eslint@9.34.0)(typescript@5.9.2)
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
eslint: 9.34.0
ts-api-utils: 2.1.0(typescript@5.9.2)
typescript: 5.9.2
@@ -15628,7 +15343,7 @@ snapshots:
'@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2)
'@typescript-eslint/types': 8.40.0
'@typescript-eslint/visitor-keys': 8.40.0
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
@@ -15683,7 +15398,7 @@ snapshots:
'@ampproject/remapping': 2.3.0
'@bcoe/v8-coverage': 1.0.2
ast-v8-to-istanbul: 0.3.3
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
istanbul-lib-coverage: 3.2.2
istanbul-lib-report: 3.0.1
istanbul-lib-source-maps: 5.0.6
@@ -15825,14 +15540,6 @@ snapshots:
path-browserify: 1.0.1
vscode-uri: 3.0.8
- '@vue/compiler-core@3.5.18':
- dependencies:
- '@babel/parser': 7.28.0
- '@vue/shared': 3.5.18
- entities: 4.5.0
- estree-walker: 2.0.2
- source-map-js: 1.2.1
-
'@vue/compiler-core@3.5.19':
dependencies:
'@babel/parser': 7.28.3
@@ -15841,11 +15548,6 @@ snapshots:
estree-walker: 2.0.2
source-map-js: 1.2.1
- '@vue/compiler-dom@3.5.18':
- dependencies:
- '@vue/compiler-core': 3.5.18
- '@vue/shared': 3.5.18
-
'@vue/compiler-dom@3.5.19':
dependencies:
'@vue/compiler-core': 3.5.19
@@ -15876,8 +15578,8 @@ snapshots:
'@vue/language-core@2.0.16(typescript@5.9.2)':
dependencies:
'@volar/language-core': 2.2.0
- '@vue/compiler-dom': 3.5.18
- '@vue/shared': 3.5.18
+ '@vue/compiler-dom': 3.5.19
+ '@vue/shared': 3.5.19
computeds: 0.0.1
minimatch: 9.0.5
path-browserify: 1.0.1
@@ -15888,9 +15590,9 @@ snapshots:
'@vue/language-core@3.0.6(typescript@5.9.2)':
dependencies:
'@volar/language-core': 2.4.23
- '@vue/compiler-dom': 3.5.18
+ '@vue/compiler-dom': 3.5.19
'@vue/compiler-vue2': 2.7.16
- '@vue/shared': 3.5.18
+ '@vue/shared': 3.5.19
alien-signals: 2.0.6
muggle-string: 0.4.1
path-browserify: 1.0.1
@@ -15920,8 +15622,6 @@ snapshots:
'@vue/shared': 3.5.19
vue: 3.5.19(typescript@5.9.2)
- '@vue/shared@3.5.18': {}
-
'@vue/shared@3.5.19': {}
'@vue/test-utils@2.4.1(@vue/server-renderer@3.5.19(vue@3.5.19(typescript@5.9.2)))(vue@3.5.19(typescript@5.9.2))':
@@ -16371,7 +16071,7 @@ snapshots:
babel-plugin-jest-hoist@29.6.3:
dependencies:
'@babel/template': 7.24.7
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
'@types/babel__core': 7.20.0
'@types/babel__traverse': 7.20.0
@@ -16399,7 +16099,7 @@ snapshots:
babel-walk@3.0.0-canary-5:
dependencies:
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
bail@2.0.2: {}
@@ -16889,8 +16589,8 @@ snapshots:
constantinople@4.0.1:
dependencies:
- '@babel/parser': 7.28.0
- '@babel/types': 7.28.1
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.28.2
content-disposition@0.5.4:
dependencies:
@@ -17537,40 +17237,11 @@ snapshots:
esbuild-register@3.5.0(esbuild@0.25.9):
dependencies:
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
esbuild: 0.25.9
transitivePeerDependencies:
- supports-color
- esbuild@0.25.8:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.8
- '@esbuild/android-arm': 0.25.8
- '@esbuild/android-arm64': 0.25.8
- '@esbuild/android-x64': 0.25.8
- '@esbuild/darwin-arm64': 0.25.8
- '@esbuild/darwin-x64': 0.25.8
- '@esbuild/freebsd-arm64': 0.25.8
- '@esbuild/freebsd-x64': 0.25.8
- '@esbuild/linux-arm': 0.25.8
- '@esbuild/linux-arm64': 0.25.8
- '@esbuild/linux-ia32': 0.25.8
- '@esbuild/linux-loong64': 0.25.8
- '@esbuild/linux-mips64el': 0.25.8
- '@esbuild/linux-ppc64': 0.25.8
- '@esbuild/linux-riscv64': 0.25.8
- '@esbuild/linux-s390x': 0.25.8
- '@esbuild/linux-x64': 0.25.8
- '@esbuild/netbsd-arm64': 0.25.8
- '@esbuild/netbsd-x64': 0.25.8
- '@esbuild/openbsd-arm64': 0.25.8
- '@esbuild/openbsd-x64': 0.25.8
- '@esbuild/openharmony-arm64': 0.25.8
- '@esbuild/sunos-x64': 0.25.8
- '@esbuild/win32-arm64': 0.25.8
- '@esbuild/win32-ia32': 0.25.8
- '@esbuild/win32-x64': 0.25.8
-
esbuild@0.25.9:
optionalDependencies:
'@esbuild/aix-ppc64': 0.25.9
@@ -17716,7 +17387,7 @@ snapshots:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
escape-string-regexp: 4.0.0
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
@@ -18019,10 +17690,6 @@ snapshots:
dependencies:
pend: 1.2.0
- fdir@6.4.6(picomatch@4.0.3):
- optionalDependencies:
- picomatch: 4.0.3
-
fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
picomatch: 4.0.3
@@ -18139,7 +17806,7 @@ snapshots:
follow-redirects@1.15.9(debug@4.4.1):
optionalDependencies:
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
for-each@0.3.5:
dependencies:
@@ -18545,7 +18212,7 @@ snapshots:
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.3
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
transitivePeerDependencies:
- supports-color
@@ -18578,13 +18245,6 @@ snapshots:
- supports-color
optional: true
- https-proxy-agent@7.0.6:
- dependencies:
- agent-base: 7.1.3
- debug: 4.4.1(supports-color@5.5.0)
- transitivePeerDependencies:
- - supports-color
-
https-proxy-agent@7.0.6(supports-color@10.2.0):
dependencies:
agent-base: 7.1.3
@@ -18893,7 +18553,7 @@ snapshots:
istanbul-lib-instrument@5.2.1:
dependencies:
'@babel/core': 7.24.7
- '@babel/parser': 7.28.0
+ '@babel/parser': 7.28.3
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 6.3.1
@@ -18903,7 +18563,7 @@ snapshots:
istanbul-lib-instrument@6.0.0:
dependencies:
'@babel/core': 7.24.7
- '@babel/parser': 7.28.0
+ '@babel/parser': 7.28.3
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 7.7.2
@@ -18927,7 +18587,7 @@ snapshots:
istanbul-lib-source-maps@5.0.6:
dependencies:
'@jridgewell/trace-mapping': 0.3.29
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
istanbul-lib-coverage: 3.2.2
transitivePeerDependencies:
- supports-color
@@ -19192,7 +18852,7 @@ snapshots:
'@babel/generator': 7.24.7
'@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.7)
'@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.7)
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
'@jest/expect-utils': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
@@ -19306,7 +18966,7 @@ snapshots:
decimal.js: 10.5.0
html-encoding-sniffer: 4.0.0
http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.6
+ https-proxy-agent: 7.0.6(supports-color@10.2.0)
is-potential-custom-element-name: 1.0.1
nwsapi: 2.2.16
parse5: 7.3.0
@@ -19550,7 +19210,7 @@ snapshots:
magic-string@0.30.17:
dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/sourcemap-codec': 1.5.5
magic-string@0.30.18:
dependencies:
@@ -19558,8 +19218,8 @@ snapshots:
magicast@0.3.5:
dependencies:
- '@babel/parser': 7.28.0
- '@babel/types': 7.28.1
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.28.2
source-map-js: 1.2.1
mailcheck@1.1.1: {}
@@ -19937,7 +19597,7 @@ snapshots:
micromark@4.0.0:
dependencies:
'@types/debug': 4.1.12
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
decode-named-character-reference: 1.0.2
devlop: 1.1.0
micromark-core-commonmark: 2.0.0
@@ -20612,8 +20272,6 @@ snapshots:
dependencies:
pg: 8.16.3
- pg-protocol@1.10.0: {}
-
pg-protocol@1.10.3: {}
pg-types@2.2.0:
@@ -21157,7 +20815,7 @@ snapshots:
dependencies:
'@babel/core': 7.24.7
'@babel/traverse': 7.24.7
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
'@types/babel__core': 7.20.0
'@types/babel__traverse': 7.20.0
'@types/doctrine': 0.0.9
@@ -21920,7 +21578,7 @@ snapshots:
arg: 5.0.2
bluebird: 3.7.2
check-more-types: 2.24.0
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
execa: 5.1.1
lazy-ass: 1.6.0
ps-tree: 1.2.0
@@ -22277,7 +21935,7 @@ snapshots:
tinyglobby@0.2.14:
dependencies:
- fdir: 6.4.6(picomatch@4.0.3)
+ fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
tinypool@1.1.1: {}
@@ -22670,7 +22328,7 @@ snapshots:
vite-node@3.2.4(@types/node@22.17.2)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.4):
dependencies:
cac: 6.7.14
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
es-module-lexer: 1.7.0
pathe: 2.0.3
vite: 7.1.3(@types/node@22.17.2)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.4)
@@ -22713,8 +22371,8 @@ snapshots:
vite@7.0.6(@types/node@22.17.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.5):
dependencies:
- esbuild: 0.25.8
- fdir: 6.4.6(picomatch@4.0.3)
+ esbuild: 0.25.9
+ fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
postcss: 8.5.6
rollup: 4.48.0
@@ -22777,7 +22435,7 @@ snapshots:
'@vitest/spy': 3.2.4
'@vitest/utils': 3.2.4
chai: 5.2.0
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
expect-type: 1.2.1
magic-string: 0.30.18
pathe: 2.0.3
@@ -22894,9 +22552,9 @@ snapshots:
vue-docgen-api@4.75.1(vue@3.5.19(typescript@5.9.2)):
dependencies:
- '@babel/parser': 7.28.0
- '@babel/types': 7.28.1
- '@vue/compiler-dom': 3.5.18
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.28.2
+ '@vue/compiler-dom': 3.5.19
'@vue/compiler-sfc': 3.5.19
ast-types: 0.16.1
hash-sum: 2.0.0
@@ -22909,7 +22567,7 @@ snapshots:
vue-eslint-parser@10.2.0(eslint@9.34.0):
dependencies:
- debug: 4.4.1(supports-color@5.5.0)
+ debug: 4.4.1(supports-color@10.2.0)
eslint: 9.34.0
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
@@ -23089,8 +22747,8 @@ snapshots:
with@7.0.2:
dependencies:
- '@babel/parser': 7.28.0
- '@babel/types': 7.28.1
+ '@babel/parser': 7.28.3
+ '@babel/types': 7.28.2
assert-never: 1.2.1
babel-walk: 3.0.0-canary-5