Compare commits

..

1 Commits

Author SHA1 Message Date
renovate[bot]
da448c8034 chore(deps): update [tools] update dependencies 2025-03-21 10:52:33 +00:00
46 changed files with 277 additions and 263 deletions

View File

@@ -6,24 +6,9 @@
### Client
- Feat: 設定の管理が強化されました
- 内部処理が一新され、安定性とパフォーマンスが向上しました
- 全てのクライアント設定がエクスポート(バックアップ)/インポート対象に含まれるようになりました
- プラグイン、テーマ、クライアントに追加されたすべてのアカウント情報も含まれるようになりました
- 自動で設定データをサーバーにバックアップできるように
- 設定→設定のプロファイル→自動バックアップ で有効にできます
- 新しいデバイスからログインしたり、ブラウザから設定データが消えてしまったときに自動で復元されます(復元をスキップすることも可能)
- 自動でバックアップされるように
- 任意の設定項目をデバイス間で同期できるように
- 設定項目の「...」メニュー→「デバイス間で同期」
- 同期をオンにした際にサーバーに保存された値とローカルの値が競合する場合はどちらを優先するか選択できます
- 任意の設定項目を初期値にリセットできるように
- 設定項目の「...」メニュー→「初期値にリセット」
- アカウントごとに設定値が分離される設定とそうでないクライアント設定が混在していた(かつ分離するかどうかを設定不可だった)のを、基本的に一律でクライアント全体に適用されるようにし、個別でアカウントごとに異なる設定を行えるように
- 設定項目の「...」メニュー→「アカウントで上書き」をオンにすることで、設定値をそのアカウントでだけ適用するようにできます
- ログアウトすると設定データもブラウザから消去されるようになりプライバシーが向上しました
- 再度ログインすればサーバーのバックアップから設定データを復元可能です
- エクスポートした設定データを他のサーバーでインポートして適用すること(設定の持ち運び)が可能になりました
- Feat: 画面を重ねて表示するオプションを実装(実験的)
- 設定 → その他 → 実験的機能 → Enable stacking router view
- Enhance: プラグインの管理が強化されました
- インストール/アンインストール/設定の変更時にリロード不要になりました
- Enhance: ログアウト時、ブラウザに保存されたWebクライアントのデータを全て消去するように

View File

@@ -1,6 +1,6 @@
{
"name": "misskey",
"version": "2025.3.2-beta.9",
"version": "2025.3.2-beta.8",
"codename": "nasubi",
"repository": {
"type": "git",

View File

@@ -37,17 +37,17 @@
},
"optionalDependencies": {
"@swc/core-android-arm64": "1.3.11",
"@swc/core-darwin-arm64": "1.11.12",
"@swc/core-darwin-x64": "1.11.12",
"@swc/core-darwin-arm64": "1.11.11",
"@swc/core-darwin-x64": "1.11.11",
"@swc/core-freebsd-x64": "1.3.11",
"@swc/core-linux-arm-gnueabihf": "1.11.12",
"@swc/core-linux-arm64-gnu": "1.11.12",
"@swc/core-linux-arm64-musl": "1.11.12",
"@swc/core-linux-x64-gnu": "1.11.12",
"@swc/core-linux-x64-musl": "1.11.12",
"@swc/core-win32-arm64-msvc": "1.11.12",
"@swc/core-win32-ia32-msvc": "1.11.12",
"@swc/core-win32-x64-msvc": "1.11.12",
"@swc/core-linux-arm-gnueabihf": "1.11.11",
"@swc/core-linux-arm64-gnu": "1.11.11",
"@swc/core-linux-arm64-musl": "1.11.11",
"@swc/core-linux-x64-gnu": "1.11.11",
"@swc/core-linux-x64-musl": "1.11.11",
"@swc/core-win32-arm64-msvc": "1.11.11",
"@swc/core-win32-ia32-msvc": "1.11.11",
"@swc/core-win32-x64-msvc": "1.11.11",
"@tensorflow/tfjs": "4.22.0",
"@tensorflow/tfjs-node": "4.22.0",
"bufferutil": "4.0.9",
@@ -91,7 +91,7 @@
"@sinonjs/fake-timers": "11.3.1",
"@smithy/node-http-handler": "2.5.0",
"@swc/cli": "0.6.0",
"@swc/core": "1.11.12",
"@swc/core": "1.11.11",
"@twemoji/parser": "15.1.1",
"accepts": "1.3.8",
"ajv": "8.17.1",
@@ -100,7 +100,7 @@
"bcryptjs": "2.4.3",
"blurhash": "2.0.5",
"body-parser": "1.20.3",
"bullmq": "5.44.3",
"bullmq": "5.44.1",
"cacheable-lookup": "7.0.0",
"cbor": "9.0.2",
"chalk": "5.4.1",
@@ -204,7 +204,7 @@
"@types/jsrsasign": "10.5.15",
"@types/mime-types": "2.1.4",
"@types/ms": "0.7.34",
"@types/node": "22.13.11",
"@types/node": "22.13.10",
"@types/nodemailer": "6.4.17",
"@types/oauth": "0.9.6",
"@types/oauth2orize": "1.11.5",

View File

@@ -391,10 +391,10 @@ export class ApiCallService implements OnApplicationShutdown {
}
}
if (ep.meta.requiredRolePolicy != null && (this.meta.rootUserId !== user!.id)) {
if (ep.meta.requireRolePolicy != null && (this.meta.rootUserId !== user!.id)) {
const myRoles = await this.roleService.getUserRoles(user!.id);
const policies = await this.roleService.getUserPolicies(user!.id);
if (!policies[ep.meta.requiredRolePolicy] && !myRoles.some(r => r.isAdministrator)) {
if (!policies[ep.meta.requireRolePolicy] && !myRoles.some(r => r.isAdministrator)) {
throw new ApiError({
message: 'You are not assigned to a required role.',
code: 'ROLE_PERMISSION_DENIED',

View File

@@ -39,7 +39,7 @@ interface IEndpointMetaBase {
*/
readonly requireAdmin?: boolean;
readonly requiredRolePolicy?: KeyOf<'RolePolicies'>;
readonly requireRolePolicy?: KeyOf<'RolePolicies'>;
/**
* 引っ越し済みのユーザーによるリクエストを禁止するか

View File

@@ -12,7 +12,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageAvatarDecorations',
requireRolePolicy: 'canManageAvatarDecorations',
kind: 'write:admin:avatar-decorations',
res: {

View File

@@ -13,7 +13,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageAvatarDecorations',
requireRolePolicy: 'canManageAvatarDecorations',
kind: 'write:admin:avatar-decorations',
errors: {
},

View File

@@ -13,7 +13,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageAvatarDecorations',
requireRolePolicy: 'canManageAvatarDecorations',
kind: 'read:admin:avatar-decorations',
res: {

View File

@@ -13,7 +13,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageAvatarDecorations',
requireRolePolicy: 'canManageAvatarDecorations',
kind: 'write:admin:avatar-decorations',
errors: {

View File

@@ -11,7 +11,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'write:admin:emoji',
} as const;

View File

@@ -16,7 +16,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'write:admin:emoji',
errors: {

View File

@@ -17,7 +17,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'write:admin:emoji',
errors: {

View File

@@ -11,7 +11,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'write:admin:emoji',
} as const;

View File

@@ -11,7 +11,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'write:admin:emoji',
errors: {

View File

@@ -10,7 +10,7 @@ import { QueueService } from '@/core/QueueService.js';
export const meta = {
secure: true,
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
} as const;
export const paramDef = {

View File

@@ -16,7 +16,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'read:admin:emoji',
res: {

View File

@@ -16,7 +16,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'read:admin:emoji',
res: {

View File

@@ -11,7 +11,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'write:admin:emoji',
} as const;

View File

@@ -11,7 +11,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'write:admin:emoji',
} as const;

View File

@@ -11,7 +11,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'write:admin:emoji',
} as const;

View File

@@ -11,7 +11,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'write:admin:emoji',
} as const;

View File

@@ -14,7 +14,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'write:admin:emoji',
errors: {

View File

@@ -16,7 +16,7 @@ import { ApiError } from '../../error.js';
export const meta = {
secure: true,
requireCredential: true,
requiredRolePolicy: 'canImportAntennas',
requireRolePolicy: 'canImportAntennas',
prohibitMoved: true,
limit: {

View File

@@ -15,7 +15,7 @@ import { ApiError } from '../../error.js';
export const meta = {
secure: true,
requireCredential: true,
requiredRolePolicy: 'canImportBlocking',
requireRolePolicy: 'canImportBlocking',
prohibitMoved: true,
limit: {

View File

@@ -15,7 +15,7 @@ import { ApiError } from '../../error.js';
export const meta = {
secure: true,
requireCredential: true,
requiredRolePolicy: 'canImportFollowing',
requireRolePolicy: 'canImportFollowing',
prohibitMoved: true,
limit: {
duration: ms('1hour'),

View File

@@ -15,7 +15,7 @@ import { ApiError } from '../../error.js';
export const meta = {
secure: true,
requireCredential: true,
requiredRolePolicy: 'canImportMuting',
requireRolePolicy: 'canImportMuting',
prohibitMoved: true,
limit: {

View File

@@ -15,7 +15,7 @@ import { ApiError } from '../../error.js';
export const meta = {
secure: true,
requireCredential: true,
requiredRolePolicy: 'canImportUserLists',
requireRolePolicy: 'canImportUserLists',
prohibitMoved: true,
limit: {
duration: ms('1hour'),

View File

@@ -18,7 +18,7 @@ export const meta = {
tags: ['meta'],
requireCredential: true,
requiredRolePolicy: 'canInvite',
requireRolePolicy: 'canInvite',
kind: 'write:invite-codes',
errors: {

View File

@@ -14,7 +14,7 @@ export const meta = {
tags: ['meta'],
requireCredential: true,
requiredRolePolicy: 'canInvite',
requireRolePolicy: 'canInvite',
kind: 'write:invite-codes',
errors: {

View File

@@ -15,7 +15,7 @@ export const meta = {
tags: ['meta'],
requireCredential: true,
requiredRolePolicy: 'canInvite',
requireRolePolicy: 'canInvite',
kind: 'read:invite-codes',
res: {

View File

@@ -14,7 +14,7 @@ export const meta = {
tags: ['meta'],
requireCredential: true,
requiredRolePolicy: 'canInvite',
requireRolePolicy: 'canInvite',
kind: 'read:invite-codes',
res: {

View File

@@ -12,7 +12,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requiredRolePolicy: 'canManageCustomEmojis',
requireRolePolicy: 'canManageCustomEmojis',
kind: 'read:admin:emoji',
res: {

View File

@@ -109,6 +109,12 @@ export const ROLE_POLICIES = [
'canImportUserLists',
] as const;
// なんか動かない
//export const CURRENT_STICKY_TOP = Symbol('CURRENT_STICKY_TOP');
//export const CURRENT_STICKY_BOTTOM = Symbol('CURRENT_STICKY_BOTTOM');
export const CURRENT_STICKY_TOP = 'CURRENT_STICKY_TOP';
export const CURRENT_STICKY_BOTTOM = 'CURRENT_STICKY_BOTTOM';
export const DEFAULT_SERVER_ERROR_IMAGE_URL = 'https://xn--931a.moe/assets/error.jpg';
export const DEFAULT_NOT_FOUND_IMAGE_URL = 'https://xn--931a.moe/assets/not-found.jpg';
export const DEFAULT_INFO_IMAGE_URL = 'https://xn--931a.moe/assets/info.jpg';

View File

@@ -23,7 +23,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<script lang="ts" setup>
import { onMounted, onUnmounted, provide, inject, ref, watch, useTemplateRef } from 'vue';
import { DI } from '@/di.js';
import { CURRENT_STICKY_BOTTOM, CURRENT_STICKY_TOP } from '@@/js/const.js';
import type { Ref } from 'vue';
const rootEl = useTemplateRef('rootEl');
const headerEl = useTemplateRef('headerEl');
@@ -31,13 +32,13 @@ const footerEl = useTemplateRef('footerEl');
const headerHeight = ref<string | undefined>();
const childStickyTop = ref(0);
const parentStickyTop = inject(DI.currentStickyTop, ref(0));
provide(DI.currentStickyTop, childStickyTop);
const parentStickyTop = inject<Ref<number>>(CURRENT_STICKY_TOP, ref(0));
provide(CURRENT_STICKY_TOP, childStickyTop);
const footerHeight = ref<string | undefined>();
const childStickyBottom = ref(0);
const parentStickyBottom = inject(DI.currentStickyBottom, ref(0));
provide(DI.currentStickyBottom, childStickyBottom);
const parentStickyBottom = inject<Ref<number>>(CURRENT_STICKY_BOTTOM, ref(0));
provide(CURRENT_STICKY_BOTTOM, childStickyBottom);
const calc = () => {
// コンポーネントが表示されてないけどKeepAliveで残ってる場合などは null になる

View File

@@ -4,15 +4,10 @@ SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<div :class="[$style.root, reversed ? '_pageScrollableReversed' : '_pageScrollable']">
<MkStickyContainer>
<template #header><MkPageHeader v-model:tab="tab" :actions="actions" :tabs="tabs"/></template>
<div :class="$style.body">
<slot></slot>
</div>
<template #footer><slot name="footer"></slot></template>
</MkStickyContainer>
</div>
<MkStickyContainer class="_pageScrollable">
<template #header><MkPageHeader v-model:tab="tab" :actions="actions" :tabs="tabs"/></template>
<slot></slot>
</MkStickyContainer>
</template>
<script lang="ts" setup>
@@ -25,7 +20,6 @@ const props = withDefaults(defineProps<{
thin?: boolean;
hideTitle?: boolean;
displayMyAvatar?: boolean;
reversed?: boolean;
}>(), {
tabs: () => ([] as Tab[]),
});
@@ -34,11 +28,5 @@ const tab = defineModel<string>('tab');
</script>
<style lang="scss" module>
.root {
}
.body {
min-height: calc(100cqh - (var(--MI-stickyTop, 0px) + var(--MI-stickyBottom, 0px)));
}
</style>

View File

@@ -12,6 +12,4 @@ export const DI = {
mock: Symbol() as InjectionKey<boolean>,
pageMetadata: Symbol() as InjectionKey<Ref<Record<string, any>>>,
viewId: Symbol() as InjectionKey<string>,
currentStickyTop: Symbol() as InjectionKey<Ref<number>>,
currentStickyBottom: Symbol() as InjectionKey<Ref<number>>,
};

View File

@@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<PageWithHeader v-model:tab="tab" :actions="headerActions" :tabs="headerTabs">
<MkSpacer :contentMax="700">
<MkSpacer :contentMax="700" :class="$style.main">
<MkHorizontalSwipe v-model:tab="tab" :tabs="headerTabs">
<div v-if="channel && tab === 'overview'" class="_gaps">
<div class="_panel" :class="$style.bannerContainer">
@@ -270,6 +270,10 @@ definePage(() => ({
</script>
<style lang="scss" module>
.main {
min-height: calc(100cqh - (var(--MI-stickyTop, 0px) + var(--MI-stickyBottom, 0px)));
}
.footer {
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
backdrop-filter: var(--MI-blur, blur(15px));

View File

@@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</p>
</div>
</MkSpacer>
<MkSpacer v-else-if="list" :contentMax="700">
<MkSpacer v-else-if="list" :contentMax="700" :class="$style.main">
<div v-if="list" class="members _margin">
<div :class="$style.member_text">{{ i18n.ts.members }}</div>
<div class="_gaps_s">
@@ -106,6 +106,10 @@ definePage(() => ({
}));
</script>
<style lang="scss" module>
.main {
min-height: calc(100cqh - (var(--MI-stickyTop, 0px) + var(--MI-stickyBottom, 0px)));
}
.userItem {
display: flex;
}

View File

@@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<PageWithHeader :actions="headerActions" :tabs="headerTabs">
<MkSpacer :contentMax="700">
<MkSpacer :contentMax="700" :class="$style.main">
<div v-if="list" class="_gaps">
<MkFolder>
<template #label>{{ i18n.ts.settings }}</template>
@@ -197,6 +197,10 @@ definePage(() => ({
</script>
<style lang="scss" module>
.main {
min-height: calc(100cqh - (var(--MI-stickyTop, 0px) + var(--MI-stickyBottom, 0px)));
}
.userItem {
display: flex;
}

View File

@@ -139,7 +139,6 @@ export const PREF_DEF = {
'-',
'explore',
'announcements',
'channels',
'search',
'-',
'ui',

View File

@@ -179,20 +179,11 @@ rt {
._pageScrollable {
height: 100%;
overflow: clip;
overflow: auto;
overflow-y: scroll;
overscroll-behavior: contain;
}
._pageScrollableReversed {
height: 100%;
overflow: clip;
overflow-y: scroll;
overscroll-behavior: contain;
display: flex;
flex-direction: column-reverse;
}
._indicatorCircle {
display: inline-block;
width: 1em;

View File

@@ -97,6 +97,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<script lang="ts" setup>
import { defineAsyncComponent, provide, onMounted, computed, ref, watch, useTemplateRef } from 'vue';
import { instanceName } from '@@/js/config.js';
import { CURRENT_STICKY_BOTTOM } from '@@/js/const.js';
import { isLink } from '@@/js/is-link.js';
import XCommon from './_common_/common.vue';
import type { Ref } from 'vue';
@@ -199,13 +200,16 @@ const onContextmenu = (ev) => {
};
const navFooterHeight = ref(0);
provide<Ref<number>>(CURRENT_STICKY_BOTTOM, navFooterHeight);
watch(navFooter, () => {
if (navFooter.value) {
navFooterHeight.value = navFooter.value.offsetHeight;
window.document.body.style.setProperty('--MI-stickyBottom', `${navFooterHeight.value}px`);
window.document.body.style.setProperty('--MI-minBottomSpacing', 'var(--MI-minBottomSpacingMobile)');
} else {
navFooterHeight.value = 0;
window.document.body.style.setProperty('--MI-stickyBottom', '0px');
window.document.body.style.setProperty('--MI-minBottomSpacing', '0px');
}
}, {

View File

@@ -1,7 +1,7 @@
{
"type": "module",
"name": "misskey-js",
"version": "2025.3.2-beta.9",
"version": "2025.3.2-beta.8",
"description": "Misskey SDK for JavaScript",
"license": "MIT",
"main": "./built/index.js",

232
pnpm-lock.yaml generated
View File

@@ -163,10 +163,10 @@ importers:
version: 2.5.0
'@swc/cli':
specifier: 0.6.0
version: 0.6.0(@swc/core@1.11.12)(chokidar@4.0.3)
version: 0.6.0(@swc/core@1.11.11)(chokidar@4.0.3)
'@swc/core':
specifier: 1.11.12
version: 1.11.12
specifier: 1.11.11
version: 1.11.11
'@twemoji/parser':
specifier: 15.1.1
version: 15.1.1
@@ -192,8 +192,8 @@ importers:
specifier: 1.20.3
version: 1.20.3
bullmq:
specifier: 5.44.3
version: 5.44.3
specifier: 5.44.1
version: 5.44.1
cacheable-lookup:
specifier: 7.0.0
version: 7.0.0
@@ -449,7 +449,7 @@ importers:
version: 12.0.0
'@swc/jest':
specifier: 0.2.37
version: 0.2.37(@swc/core@1.11.12)
version: 0.2.37(@swc/core@1.11.11)
'@types/accepts':
specifier: 1.3.7
version: 1.3.7
@@ -499,8 +499,8 @@ importers:
specifier: 0.7.34
version: 0.7.34
'@types/node':
specifier: 22.13.11
version: 22.13.11
specifier: 22.13.10
version: 22.13.10
'@types/nodemailer':
specifier: 6.4.17
version: 6.4.17
@@ -581,7 +581,7 @@ importers:
version: 9.0.0
jest:
specifier: 29.7.0
version: 29.7.0(@types/node@22.13.11)
version: 29.7.0(@types/node@22.13.10)
jest-mock:
specifier: 29.7.0
version: 29.7.0
@@ -599,38 +599,38 @@ importers:
specifier: 1.3.11
version: 1.3.11
'@swc/core-darwin-arm64':
specifier: 1.11.12
version: 1.11.12
specifier: 1.11.11
version: 1.11.11
'@swc/core-darwin-x64':
specifier: 1.11.12
version: 1.11.12
specifier: 1.11.11
version: 1.11.11
'@swc/core-freebsd-x64':
specifier: 1.3.11
version: 1.3.11
'@swc/core-linux-arm-gnueabihf':
specifier: 1.11.12
version: 1.11.12
specifier: 1.11.11
version: 1.11.11
'@swc/core-linux-arm64-gnu':
specifier: 1.11.12
version: 1.11.12
specifier: 1.11.11
version: 1.11.11
'@swc/core-linux-arm64-musl':
specifier: 1.11.12
version: 1.11.12
specifier: 1.11.11
version: 1.11.11
'@swc/core-linux-x64-gnu':
specifier: 1.11.12
version: 1.11.12
specifier: 1.11.11
version: 1.11.11
'@swc/core-linux-x64-musl':
specifier: 1.11.12
version: 1.11.12
specifier: 1.11.11
version: 1.11.11
'@swc/core-win32-arm64-msvc':
specifier: 1.11.12
version: 1.11.12
specifier: 1.11.11
version: 1.11.11
'@swc/core-win32-ia32-msvc':
specifier: 1.11.12
version: 1.11.12
specifier: 1.11.11
version: 1.11.11
'@swc/core-win32-x64-msvc':
specifier: 1.11.12
version: 1.11.12
specifier: 1.11.11
version: 1.11.11
'@tensorflow/tfjs':
specifier: 4.22.0
version: 4.22.0(encoding@0.1.13)(seedrandom@3.0.5)
@@ -1313,7 +1313,7 @@ importers:
version: 7.51.1(@types/node@22.13.9)
'@swc/jest':
specifier: 0.2.37
version: 0.2.37(@swc/core@1.11.12)
version: 0.2.37(@swc/core@1.11.11)
'@types/jest':
specifier: 29.5.14
version: 29.5.14
@@ -3982,14 +3982,14 @@ packages:
cpu: [arm64]
os: [android]
'@swc/core-darwin-arm64@1.11.12':
resolution: {integrity: sha512-x+iljeyIaVq7VCAy9pM0rqAb9GKA1cqDkqCxgFDxH3rcH+ykZa12vkDlTwysgkfLV8pr0KhCRHkwY+iAqPbO9g==}
'@swc/core-darwin-arm64@1.11.11':
resolution: {integrity: sha512-vJcjGVDB8cZH7zyOkC0AfpFYI/7GHKG0NSsH3tpuKrmoAXJyCYspKPGid7FT53EAlWreN7+Pew+bukYf5j+Fmg==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
'@swc/core-darwin-x64@1.11.12':
resolution: {integrity: sha512-DwTXPdhJ/+scUR1iWttu3p0q8b5omF71xWFCw6UC99QBJQ4femmRtZNacgdiBkxZ5IbUlxd8m5UzMBc/+H5rWw==}
'@swc/core-darwin-x64@1.11.11':
resolution: {integrity: sha512-/N4dGdqEYvD48mCF3QBSycAbbQd3yoZ2YHSzYesQf8usNc2YpIhYqEH3sql02UsxTjEFOJSf1bxZABDdhbSl6A==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
@@ -4000,56 +4000,56 @@ packages:
cpu: [x64]
os: [freebsd]
'@swc/core-linux-arm-gnueabihf@1.11.12':
resolution: {integrity: sha512-ls9b3lX2x3tnJKGn6zSDFK1ohdmdUkE6nwqrVmdzqAwr/Q5i2ij/dmkOFCloItc2PHNVtRGGsC4+FYSm1EBLjg==}
'@swc/core-linux-arm-gnueabihf@1.11.11':
resolution: {integrity: sha512-hsBhKK+wVXdN3x9MrL5GW0yT8o9GxteE5zHAI2HJjRQel3HtW7m5Nvwaq+q8rwMf4YQRd8ydbvwl4iUOZx7i2Q==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux]
'@swc/core-linux-arm64-gnu@1.11.12':
resolution: {integrity: sha512-F0nMLl5kYbew5GjHq7B21poE5VOPgSsoQ0VEXd4Fji3rR0d0gLoK2r+JP92XmpRxAzdzpdak1DQczWMyf2BQAQ==}
'@swc/core-linux-arm64-gnu@1.11.11':
resolution: {integrity: sha512-YOCdxsqbnn/HMPCNM6nrXUpSndLXMUssGTtzT7ffXqr7WuzRg2e170FVDVQFIkb08E7Ku5uOnnUVAChAJQbMOQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
'@swc/core-linux-arm64-musl@1.11.12':
resolution: {integrity: sha512-3dlHowBgYBgi23ZBSvFHe/tD3PowEhxfVAy08NckWBeaG/e4dyrYMhAiccfuy6jkDYXEF1L2DtpRtxGImxoaPg==}
'@swc/core-linux-arm64-musl@1.11.11':
resolution: {integrity: sha512-nR2tfdQRRzwqR2XYw9NnBk9Fdvff/b8IiJzDL28gRR2QiJWLaE8LsRovtWrzCOYq6o5Uu9cJ3WbabWthLo4jLw==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
'@swc/core-linux-x64-gnu@1.11.12':
resolution: {integrity: sha512-ToEWzLA5lXlYCbGNzMow6+uy4zhpXKQyFb3RHM8AYVb0n4pNPWvwF+8ybWDimeGBBaHJLgRQsUMuJ4NV6urSrA==}
'@swc/core-linux-x64-gnu@1.11.11':
resolution: {integrity: sha512-b4gBp5HA9xNWNC5gsYbdzGBJWx4vKSGybGMGOVWWuF+ynx10+0sA/o4XJGuNHm8TEDuNh9YLKf6QkIO8+GPJ1g==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
'@swc/core-linux-x64-musl@1.11.12':
resolution: {integrity: sha512-N5xF+MDZr79e8gvVXX3YP1bMeaRL16Kst/R7bGUQvvCq1UGD86qMUtSr5KfCl0h5SNKP2YKtkN98HQLnGEikow==}
'@swc/core-linux-x64-musl@1.11.11':
resolution: {integrity: sha512-dEvqmQVswjNvMBwXNb8q5uSvhWrJLdttBSef3s6UC5oDSwOr00t3RQPzyS3n5qmGJ8UMTdPRmsopxmqaODISdg==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
'@swc/core-win32-arm64-msvc@1.11.12':
resolution: {integrity: sha512-/PYiyYWSQRtMoOamMfhAfq0y3RWk9LpUZ49yetJn2XI85TRkL5u2DTLLNkTPvoTiCfo0eZOJF9t5b7Z6ly0iHQ==}
'@swc/core-win32-arm64-msvc@1.11.11':
resolution: {integrity: sha512-aZNZznem9WRnw2FbTqVpnclvl8Q2apOBW2B316gZK+qxbe+ktjOUnYaMhdCG3+BYggyIBDOnaJeQrXbKIMmNdw==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
'@swc/core-win32-ia32-msvc@1.11.12':
resolution: {integrity: sha512-Dxm6W4p0YVNIPnYh/Kf/9zPeaD6sVAGDQN+2c52l4m/4gR5aDgE+xg6k5lAt4ok7LDXInL3n1nwYEG7Tc4JcSQ==}
'@swc/core-win32-ia32-msvc@1.11.11':
resolution: {integrity: sha512-DjeJn/IfjgOddmJ8IBbWuDK53Fqw7UvOz7kyI/728CSdDYC3LXigzj3ZYs4VvyeOt+ZcQZUB2HA27edOifomGw==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
'@swc/core-win32-x64-msvc@1.11.12':
resolution: {integrity: sha512-PP8RSJTcda5nUHJGkbKeQ20OC+L2LxcbjYpyha1OqIFyu/qWG9zMMYVaTLKJL7zsJ14pIM/mpS3u+CJARQ+Hzw==}
'@swc/core-win32-x64-msvc@1.11.11':
resolution: {integrity: sha512-Gp/SLoeMtsU4n0uRoKDOlGrRC6wCfifq7bqLwSlAG8u8MyJYJCcwjg7ggm0rhLdC2vbiZ+lLVl3kkETp+JUvKg==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
'@swc/core@1.11.12':
resolution: {integrity: sha512-Jwx9JH1O6Vm7BS9AEPLlquJNSy6Lbt/kiJIlxSslDuBLeDJD13lXQfitvazqgRwGEHx1QmwEq8mc0OSristtRw==}
'@swc/core@1.11.11':
resolution: {integrity: sha512-pCVY2Wn6dV/labNvssk9b3Owi4WOYsapcbWm90XkIj4xH/56Z6gzja9fsU+4MdPuEfC2Smw835nZHcdCFGyX6A==}
engines: {node: '>=10'}
peerDependencies:
'@swc/helpers': '*'
@@ -5233,8 +5233,8 @@ packages:
resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==}
engines: {node: '>=6.14.2'}
bullmq@5.44.3:
resolution: {integrity: sha512-NH3leZ97ullkcHEjfpOKCFyk3Il14KywC4Zrnf+R9z741Eazw0lituqUIkiFo1QH8Py/PIipA1rzCdsAmQsx/A==}
bullmq@5.44.1:
resolution: {integrity: sha512-NEWQIixKw5QdXmSnhQU25A336N10DvxuDcmiVXQyuwSx1lrzfNIdQA3BNADfpAUwHtuJkJImHVLCM3/KEr9nWA==}
buraha@0.0.1:
resolution: {integrity: sha512-G563A0mTbzknm2jDaNxfZuNKIdeArs8T+XQN6t+KbmgnOoevXSXhKDkyf8Md/36Jrx99ikwbCag37VGe3myExQ==}
@@ -14179,9 +14179,9 @@ snapshots:
- supports-color
- typescript
'@swc/cli@0.6.0(@swc/core@1.11.12)(chokidar@4.0.3)':
'@swc/cli@0.6.0(@swc/core@1.11.11)(chokidar@4.0.3)':
dependencies:
'@swc/core': 1.11.12
'@swc/core': 1.11.11
'@swc/counter': 0.1.3
'@xhmikosr/bin-wrapper': 13.0.5
commander: 8.3.0
@@ -14199,10 +14199,10 @@ snapshots:
'@swc/wasm': 1.2.130
optional: true
'@swc/core-darwin-arm64@1.11.12':
'@swc/core-darwin-arm64@1.11.11':
optional: true
'@swc/core-darwin-x64@1.11.12':
'@swc/core-darwin-x64@1.11.11':
optional: true
'@swc/core-freebsd-x64@1.3.11':
@@ -14210,52 +14210,52 @@ snapshots:
'@swc/wasm': 1.2.130
optional: true
'@swc/core-linux-arm-gnueabihf@1.11.12':
'@swc/core-linux-arm-gnueabihf@1.11.11':
optional: true
'@swc/core-linux-arm64-gnu@1.11.12':
'@swc/core-linux-arm64-gnu@1.11.11':
optional: true
'@swc/core-linux-arm64-musl@1.11.12':
'@swc/core-linux-arm64-musl@1.11.11':
optional: true
'@swc/core-linux-x64-gnu@1.11.12':
'@swc/core-linux-x64-gnu@1.11.11':
optional: true
'@swc/core-linux-x64-musl@1.11.12':
'@swc/core-linux-x64-musl@1.11.11':
optional: true
'@swc/core-win32-arm64-msvc@1.11.12':
'@swc/core-win32-arm64-msvc@1.11.11':
optional: true
'@swc/core-win32-ia32-msvc@1.11.12':
'@swc/core-win32-ia32-msvc@1.11.11':
optional: true
'@swc/core-win32-x64-msvc@1.11.12':
'@swc/core-win32-x64-msvc@1.11.11':
optional: true
'@swc/core@1.11.12':
'@swc/core@1.11.11':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.19
optionalDependencies:
'@swc/core-darwin-arm64': 1.11.12
'@swc/core-darwin-x64': 1.11.12
'@swc/core-linux-arm-gnueabihf': 1.11.12
'@swc/core-linux-arm64-gnu': 1.11.12
'@swc/core-linux-arm64-musl': 1.11.12
'@swc/core-linux-x64-gnu': 1.11.12
'@swc/core-linux-x64-musl': 1.11.12
'@swc/core-win32-arm64-msvc': 1.11.12
'@swc/core-win32-ia32-msvc': 1.11.12
'@swc/core-win32-x64-msvc': 1.11.12
'@swc/core-darwin-arm64': 1.11.11
'@swc/core-darwin-x64': 1.11.11
'@swc/core-linux-arm-gnueabihf': 1.11.11
'@swc/core-linux-arm64-gnu': 1.11.11
'@swc/core-linux-arm64-musl': 1.11.11
'@swc/core-linux-x64-gnu': 1.11.11
'@swc/core-linux-x64-musl': 1.11.11
'@swc/core-win32-arm64-msvc': 1.11.11
'@swc/core-win32-ia32-msvc': 1.11.11
'@swc/core-win32-x64-msvc': 1.11.11
'@swc/counter@0.1.3': {}
'@swc/jest@0.2.37(@swc/core@1.11.12)':
'@swc/jest@0.2.37(@swc/core@1.11.11)':
dependencies:
'@jest/create-cache-key-function': 29.7.0
'@swc/core': 1.11.12
'@swc/core': 1.11.11
'@swc/counter': 0.1.3
jsonc-parser: 3.2.0
@@ -14420,7 +14420,7 @@ snapshots:
'@types/accepts@1.3.7':
dependencies:
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/archiver@6.0.3':
dependencies:
@@ -14456,7 +14456,7 @@ snapshots:
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.35
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/braces@3.0.1': {}
@@ -14512,7 +14512,7 @@ snapshots:
'@types/fluent-ffmpeg@2.1.27':
dependencies:
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/graceful-fs@4.1.6':
dependencies:
@@ -14530,7 +14530,7 @@ snapshots:
'@types/http-link-header@1.0.7':
dependencies:
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/istanbul-lib-coverage@2.0.4': {}
@@ -14551,7 +14551,7 @@ snapshots:
'@types/jsdom@21.1.7':
dependencies:
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/tough-cookie': 4.0.2
parse5: 7.2.1
@@ -14608,7 +14608,7 @@ snapshots:
'@types/nodemailer@6.4.17':
dependencies:
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/normalize-package-data@2.4.1': {}
@@ -14619,11 +14619,11 @@ snapshots:
'@types/oauth2orize@1.11.5':
dependencies:
'@types/express': 4.17.17
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/oauth@0.9.6':
dependencies:
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/offscreencanvas@2019.3.0': {}
@@ -14635,7 +14635,7 @@ snapshots:
'@types/pg@8.11.11':
dependencies:
'@types/node': 22.13.11
'@types/node': 22.13.10
pg-protocol: 1.7.0
pg-types: 4.0.1
@@ -14653,7 +14653,7 @@ snapshots:
'@types/qrcode@1.5.5':
dependencies:
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/qs@6.9.7': {}
@@ -14734,15 +14734,15 @@ snapshots:
'@types/vary@1.1.3':
dependencies:
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/web-push@3.6.4':
dependencies:
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/ws@8.18.0':
dependencies:
'@types/node': 22.13.11
'@types/node': 22.13.10
'@types/yargs-parser@21.0.0': {}
@@ -15741,7 +15741,7 @@ snapshots:
node-gyp-build: 4.6.0
optional: true
bullmq@5.44.3:
bullmq@5.44.1:
dependencies:
cron-parser: 4.9.0
ioredis: 5.6.0
@@ -16154,13 +16154,13 @@ snapshots:
crc-32: 1.2.2
readable-stream: 4.3.0
create-jest@29.7.0(@types/node@22.13.11):
create-jest@29.7.0(@types/node@22.13.10):
dependencies:
'@jest/types': 29.6.3
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
jest-config: 29.7.0(@types/node@22.13.11)
jest-config: 29.7.0(@types/node@22.13.10)
jest-util: 29.7.0
prompts: 2.4.2
transitivePeerDependencies:
@@ -18402,16 +18402,16 @@ snapshots:
- babel-plugin-macros
- supports-color
jest-cli@29.7.0(@types/node@22.13.11):
jest-cli@29.7.0(@types/node@22.13.10):
dependencies:
'@jest/core': 29.7.0
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
chalk: 4.1.2
create-jest: 29.7.0(@types/node@22.13.11)
create-jest: 29.7.0(@types/node@22.13.10)
exit: 0.1.2
import-local: 3.1.0
jest-config: 29.7.0(@types/node@22.13.11)
jest-config: 29.7.0(@types/node@22.13.10)
jest-util: 29.7.0
jest-validate: 29.7.0
yargs: 17.7.2
@@ -18440,6 +18440,36 @@ snapshots:
- supports-color
- ts-node
jest-config@29.7.0(@types/node@22.13.10):
dependencies:
'@babel/core': 7.23.5
'@jest/test-sequencer': 29.7.0
'@jest/types': 29.6.3
babel-jest: 29.7.0(@babel/core@7.23.5)
chalk: 4.1.2
ci-info: 3.7.1
deepmerge: 4.2.2
glob: 7.2.3
graceful-fs: 4.2.11
jest-circus: 29.7.0
jest-environment-node: 29.7.0
jest-get-type: 29.6.3
jest-regex-util: 29.6.3
jest-resolve: 29.7.0
jest-runner: 29.7.0
jest-util: 29.7.0
jest-validate: 29.7.0
micromatch: 4.0.8
parse-json: 5.2.0
pretty-format: 29.7.0
slash: 3.0.0
strip-json-comments: 3.1.1
optionalDependencies:
'@types/node': 22.13.10
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
jest-config@29.7.0(@types/node@22.13.11):
dependencies:
'@babel/core': 7.23.5
@@ -18580,7 +18610,7 @@ snapshots:
jest-mock@29.7.0:
dependencies:
'@jest/types': 29.6.3
'@types/node': 22.13.11
'@types/node': 22.13.10
jest-util: 29.7.0
jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
@@ -18727,12 +18757,12 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
jest@29.7.0(@types/node@22.13.11):
jest@29.7.0(@types/node@22.13.10):
dependencies:
'@jest/core': 29.7.0
'@jest/types': 29.6.3
import-local: 3.1.0
jest-cli: 29.7.0(@types/node@22.13.11)
jest-cli: 29.7.0(@types/node@22.13.10)
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros

View File

@@ -9,16 +9,16 @@
"version": "1.0.0",
"devDependencies": {
"@types/mdast": "4.0.4",
"@types/node": "22.13.9",
"@vitest/coverage-v8": "3.0.8",
"@types/node": "22.13.11",
"@vitest/coverage-v8": "3.0.9",
"mdast-util-to-string": "4.0.0",
"remark": "15.0.1",
"remark-parse": "11.0.0",
"typescript": "5.8.2",
"unified": "11.0.5",
"vite": "6.2.1",
"vite-node": "3.0.8",
"vitest": "3.0.8"
"vite": "6.2.2",
"vite-node": "3.0.9",
"vitest": "3.0.9"
}
},
"node_modules/@ampproject/remapping": {
@@ -909,9 +909,9 @@
"dev": true
},
"node_modules/@types/node": {
"version": "22.13.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.9.tgz",
"integrity": "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==",
"version": "22.13.11",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.11.tgz",
"integrity": "sha512-iEUCUJoU0i3VnrCmgoWCXttklWcvoCIx4jzcP22fioIVSdTmjgoEvmAO/QPw6TcS9k5FrNgn4w7q5lGOd1CT5g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -925,9 +925,9 @@
"dev": true
},
"node_modules/@vitest/coverage-v8": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.0.8.tgz",
"integrity": "sha512-y7SAKsQirsEJ2F8bulBck4DoluhI2EEgTimHd6EEUgJBGKy9tC25cpywh1MH4FvDGoG2Unt7+asVd1kj4qOSAw==",
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.0.9.tgz",
"integrity": "sha512-15OACZcBtQ34keIEn19JYTVuMFTlFrClclwWjHo/IRPg/8ELpkgNTl0o7WLP9WO9XGH6+tip9CPYtEOrIDJvBA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -948,8 +948,8 @@
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
"@vitest/browser": "3.0.8",
"vitest": "3.0.8"
"@vitest/browser": "3.0.9",
"vitest": "3.0.9"
},
"peerDependenciesMeta": {
"@vitest/browser": {
@@ -958,14 +958,14 @@
}
},
"node_modules/@vitest/expect": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.8.tgz",
"integrity": "sha512-Xu6TTIavTvSSS6LZaA3EebWFr6tsoXPetOWNMOlc7LO88QVVBwq2oQWBoDiLCN6YTvNYsGSjqOO8CAdjom5DCQ==",
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.9.tgz",
"integrity": "sha512-5eCqRItYgIML7NNVgJj6TVCmdzE7ZVgJhruW0ziSQV4V7PvLkDL1bBkBdcTs/VuIz0IxPb5da1IDSqc1TR9eig==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vitest/spy": "3.0.8",
"@vitest/utils": "3.0.8",
"@vitest/spy": "3.0.9",
"@vitest/utils": "3.0.9",
"chai": "^5.2.0",
"tinyrainbow": "^2.0.0"
},
@@ -974,13 +974,13 @@
}
},
"node_modules/@vitest/mocker": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.8.tgz",
"integrity": "sha512-n3LjS7fcW1BCoF+zWZxG7/5XvuYH+lsFg+BDwwAz0arIwHQJFUEsKBQ0BLU49fCxuM/2HSeBPHQD8WjgrxMfow==",
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.9.tgz",
"integrity": "sha512-ryERPIBOnvevAkTq+L1lD+DTFBRcjueL9lOUfXsLfwP92h4e+Heb+PjiqS3/OURWPtywfafK0kj++yDFjWUmrA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vitest/spy": "3.0.8",
"@vitest/spy": "3.0.9",
"estree-walker": "^3.0.3",
"magic-string": "^0.30.17"
},
@@ -1001,9 +1001,9 @@
}
},
"node_modules/@vitest/pretty-format": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.8.tgz",
"integrity": "sha512-BNqwbEyitFhzYMYHUVbIvepOyeQOSFA/NeJMIP9enMntkkxLgOcgABH6fjyXG85ipTgvero6noreavGIqfJcIg==",
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.9.tgz",
"integrity": "sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1014,13 +1014,13 @@
}
},
"node_modules/@vitest/runner": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.8.tgz",
"integrity": "sha512-c7UUw6gEcOzI8fih+uaAXS5DwjlBaCJUo7KJ4VvJcjL95+DSR1kova2hFuRt3w41KZEFcOEiq098KkyrjXeM5w==",
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.9.tgz",
"integrity": "sha512-NX9oUXgF9HPfJSwl8tUZCMP1oGx2+Sf+ru6d05QjzQz4OwWg0psEzwY6VexP2tTHWdOkhKHUIZH+fS6nA7jfOw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vitest/utils": "3.0.8",
"@vitest/utils": "3.0.9",
"pathe": "^2.0.3"
},
"funding": {
@@ -1028,13 +1028,13 @@
}
},
"node_modules/@vitest/snapshot": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.8.tgz",
"integrity": "sha512-x8IlMGSEMugakInj44nUrLSILh/zy1f2/BgH0UeHpNyOocG18M9CWVIFBaXPt8TrqVZWmcPjwfG/ht5tnpba8A==",
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.9.tgz",
"integrity": "sha512-AiLUiuZ0FuA+/8i19mTYd+re5jqjEc2jZbgJ2up0VY0Ddyyxg/uUtBDpIFAy4uzKaQxOW8gMgBdAJJ2ydhu39A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vitest/pretty-format": "3.0.8",
"@vitest/pretty-format": "3.0.9",
"magic-string": "^0.30.17",
"pathe": "^2.0.3"
},
@@ -1043,9 +1043,9 @@
}
},
"node_modules/@vitest/spy": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.8.tgz",
"integrity": "sha512-MR+PzJa+22vFKYb934CejhR4BeRpMSoxkvNoDit68GQxRLSf11aT6CTj3XaqUU9rxgWJFnqicN/wxw6yBRkI1Q==",
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.9.tgz",
"integrity": "sha512-/CcK2UDl0aQ2wtkp3YVWldrpLRNCfVcIOFGlVGKO4R5eajsH393Z1yiXLVQ7vWsj26JOEjeZI0x5sm5P4OGUNQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1056,13 +1056,13 @@
}
},
"node_modules/@vitest/utils": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.8.tgz",
"integrity": "sha512-nkBC3aEhfX2PdtQI/QwAWp8qZWwzASsU4Npbcd5RdMPBSSLCpkZp52P3xku3s3uA0HIEhGvEcF8rNkBsz9dQ4Q==",
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.9.tgz",
"integrity": "sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vitest/pretty-format": "3.0.8",
"@vitest/pretty-format": "3.0.9",
"loupe": "^3.1.3",
"tinyrainbow": "^2.0.0"
},
@@ -2724,9 +2724,9 @@
}
},
"node_modules/vite": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-6.2.1.tgz",
"integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==",
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-6.2.2.tgz",
"integrity": "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2796,9 +2796,9 @@
}
},
"node_modules/vite-node": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.8.tgz",
"integrity": "sha512-6PhR4H9VGlcwXZ+KWCdMqbtG649xCPZqfI9j2PsK1FcXgEzro5bGHcVKFCTqPLaNKZES8Evqv4LwvZARsq5qlg==",
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.9.tgz",
"integrity": "sha512-w3Gdx7jDcuT9cNn9jExXgOyKmf5UOTb6WMHz8LGAm54eS1Elf5OuBhCxl6zJxGhEeIkgsE1WbHuoL0mj/UXqXg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2819,19 +2819,19 @@
}
},
"node_modules/vitest": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.8.tgz",
"integrity": "sha512-dfqAsNqRGUc8hB9OVR2P0w8PZPEckti2+5rdZip0WIz9WW0MnImJ8XiR61QhqLa92EQzKP2uPkzenKOAHyEIbA==",
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.9.tgz",
"integrity": "sha512-BbcFDqNyBlfSpATmTtXOAOj71RNKDDvjBM/uPfnxxVGrG+FSH2RQIwgeEngTaTkuU/h0ScFvf+tRcKfYXzBybQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vitest/expect": "3.0.8",
"@vitest/mocker": "3.0.8",
"@vitest/pretty-format": "^3.0.8",
"@vitest/runner": "3.0.8",
"@vitest/snapshot": "3.0.8",
"@vitest/spy": "3.0.8",
"@vitest/utils": "3.0.8",
"@vitest/expect": "3.0.9",
"@vitest/mocker": "3.0.9",
"@vitest/pretty-format": "^3.0.9",
"@vitest/runner": "3.0.9",
"@vitest/snapshot": "3.0.9",
"@vitest/spy": "3.0.9",
"@vitest/utils": "3.0.9",
"chai": "^5.2.0",
"debug": "^4.4.0",
"expect-type": "^1.1.0",
@@ -2843,7 +2843,7 @@
"tinypool": "^1.0.2",
"tinyrainbow": "^2.0.0",
"vite": "^5.0.0 || ^6.0.0",
"vite-node": "3.0.8",
"vite-node": "3.0.9",
"why-is-node-running": "^2.3.0"
},
"bin": {
@@ -2859,8 +2859,8 @@
"@edge-runtime/vm": "*",
"@types/debug": "^4.1.12",
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
"@vitest/browser": "3.0.8",
"@vitest/ui": "3.0.8",
"@vitest/browser": "3.0.9",
"@vitest/ui": "3.0.9",
"happy-dom": "*",
"jsdom": "*"
},

View File

@@ -10,15 +10,15 @@
},
"devDependencies": {
"@types/mdast": "4.0.4",
"@types/node": "22.13.9",
"@vitest/coverage-v8": "3.0.8",
"@types/node": "22.13.11",
"@vitest/coverage-v8": "3.0.9",
"mdast-util-to-string": "4.0.0",
"remark": "15.0.1",
"remark-parse": "11.0.0",
"typescript": "5.8.2",
"unified": "11.0.5",
"vite": "6.2.1",
"vite-node": "3.0.8",
"vitest": "3.0.8"
"vite": "6.2.2",
"vite-node": "3.0.9",
"vitest": "3.0.9"
}
}