Compare commits

..

11 Commits

Author SHA1 Message Date
923cacb98a README.md aktualisiert 2025-03-23 18:29:44 +00:00
b1e564b562 .gitea/workflows/registry.yml hinzugefügt 2025-03-23 18:28:46 +00:00
syuilo
0471e457fe fix(frontend): fix broken styles 2025-03-23 21:23:52 +09:00
syuilo
260d35e2f0 Update CHANGELOG.md 2025-03-22 18:37:41 +09:00
syuilo
3ff9d9f4fd Update CHANGELOG.md 2025-03-22 18:34:56 +09:00
syuilo
27991a3bc8 Update CHANGELOG.md 2025-03-22 18:28:51 +09:00
syuilo
b5f86e5210 refactor(frontend): refactor page styles 2025-03-22 18:25:45 +09:00
syuilo
16cde5568d Update CHANGELOG.md 2025-03-22 15:12:24 +09:00
syuilo
bf07796b6b Update CHANGELOG.md 2025-03-22 15:08:19 +09:00
syuilo
08b131ec33 refactor(backend): better prop name 2025-03-22 08:16:15 +09:00
syuilo
1312fe34c1 Update CHANGELOG.md 2025-03-22 08:12:32 +09:00
43 changed files with 414 additions and 205 deletions

View File

@@ -0,0 +1,51 @@
name: release-tag
on:
push:
branches:
- 'main'
jobs:
release-image:
runs-on: ubuntu-latest
env:
DOCKER_ORG: sendnrw
DOCKER_LATEST: latest
RUNNER_TOOL_CACHE: /toolcache
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v2
with: # replace it with your local IP
config-inline: |
[registry."git.send.nrw"]
http = true
insecure = true
- name: Login to DockerHub
uses: docker/login-action@v2
with:
registry: git.send.nrw # replace it with your local IP
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get Meta
id: meta
run: |
echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT
echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile
platforms: |
linux/amd64
push: true
tags: | # replace it with your local IP and tags
git.send.nrw/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.REPO_VERSION }}
git.send.nrw/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ env.DOCKER_LATEST }}

View File

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

View File

@@ -6,7 +6,7 @@
**🌎 **Misskey** is an open source, federated social media platform that's free forever! 🚀**
[Learn more](https://misskey-hub.net/)
---
<a href="https://misskey-hub.net/servers/">

View File

@@ -6,7 +6,7 @@
"type": "git",
"url": "https://github.com/misskey-dev/misskey.git"
},
"packageManager": "pnpm@10.6.5",
"packageManager": "pnpm@10.6.1",
"workspaces": [
"packages/frontend-shared",
"packages/frontend",
@@ -61,21 +61,21 @@
"tar": "7.4.3",
"terser": "5.39.0",
"typescript": "5.8.2",
"esbuild": "0.25.1",
"esbuild": "0.25.0",
"glob": "11.0.1"
},
"devDependencies": {
"@misskey-dev/eslint-plugin": "2.1.0",
"@types/node": "22.13.11",
"@typescript-eslint/eslint-plugin": "8.27.0",
"@typescript-eslint/parser": "8.27.0",
"@types/node": "22.13.10",
"@typescript-eslint/eslint-plugin": "8.26.0",
"@typescript-eslint/parser": "8.26.0",
"cross-env": "7.0.3",
"cypress": "14.2.0",
"eslint": "9.23.0",
"cypress": "14.1.0",
"eslint": "9.22.0",
"globals": "16.0.0",
"ncp": "2.0.0",
"pnpm": "10.6.5",
"start-server-and-test": "2.0.11"
"pnpm": "10.6.1",
"start-server-and-test": "2.0.10"
},
"optionalDependencies": {
"@tensorflow/tfjs-core": "4.22.0"

View File

@@ -391,10 +391,10 @@ export class ApiCallService implements OnApplicationShutdown {
}
}
if (ep.meta.requireRolePolicy != null && (this.meta.rootUserId !== user!.id)) {
if (ep.meta.requiredRolePolicy != 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.requireRolePolicy] && !myRoles.some(r => r.isAdministrator)) {
if (!policies[ep.meta.requiredRolePolicy] && !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 requireRolePolicy?: KeyOf<'RolePolicies'>;
readonly requiredRolePolicy?: KeyOf<'RolePolicies'>;
/**
* 引っ越し済みのユーザーによるリクエストを禁止するか

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -11,7 +11,7 @@ export const meta = {
tags: ['admin'],
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
requiredRolePolicy: '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,
requireRolePolicy: 'canManageCustomEmojis',
requiredRolePolicy: 'canManageCustomEmojis',
} as const;
export const paramDef = {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -4,11 +4,15 @@ SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<MkStickyContainer class="_pageScrollable">
<template #header><MkPageHeader v-model:tab="tab" :actions="actions" :tabs="tabs"/></template>
<slot></slot>
<template #footer><slot name="footer"></slot></template>
</MkStickyContainer>
<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>
</template>
<script lang="ts" setup>
@@ -21,6 +25,7 @@ const props = withDefaults(defineProps<{
thin?: boolean;
hideTitle?: boolean;
displayMyAvatar?: boolean;
reversed?: boolean;
}>(), {
tabs: () => ([] as Tab[]),
});
@@ -29,5 +34,11 @@ 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,4 +12,6 @@ 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" :class="$style.main">
<MkSpacer :contentMax="700">
<MkHorizontalSwipe v-model:tab="tab" :tabs="headerTabs">
<div v-if="channel && tab === 'overview'" class="_gaps">
<div class="_panel" :class="$style.bannerContainer">
@@ -270,10 +270,6 @@ 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" :class="$style.main">
<MkSpacer v-else-if="list" :contentMax="700">
<div v-if="list" class="members _margin">
<div :class="$style.member_text">{{ i18n.ts.members }}</div>
<div class="_gaps_s">
@@ -106,10 +106,6 @@ 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" :class="$style.main">
<MkSpacer :contentMax="700">
<div v-if="list" class="_gaps">
<MkFolder>
<template #label>{{ i18n.ts.settings }}</template>
@@ -197,10 +197,6 @@ definePage(() => ({
</script>
<style lang="scss" module>
.main {
min-height: calc(100cqh - (var(--MI-stickyTop, 0px) + var(--MI-stickyBottom, 0px)));
}
.userItem {
display: flex;
}

View File

@@ -179,11 +179,20 @@ rt {
._pageScrollable {
height: 100%;
overflow: auto;
overflow: clip;
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,7 +97,6 @@ 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';
@@ -200,16 +199,13 @@ 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');
}
}, {

398
pnpm-lock.yaml generated
View File

@@ -22,8 +22,8 @@ importers:
specifier: 7.0.6
version: 7.0.6(postcss@8.5.3)
esbuild:
specifier: 0.25.1
version: 0.25.1
specifier: 0.25.0
version: 0.25.0
execa:
specifier: 9.5.2
version: 9.5.2
@@ -54,25 +54,25 @@ importers:
devDependencies:
'@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.23.0)(typescript@5.8.2))(@typescript-eslint/eslint-plugin@8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2))(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0))(eslint@9.23.0)(globals@16.0.0)
version: 2.1.0(@eslint/compat@1.1.1)(@stylistic/eslint-plugin@2.13.0(eslint@9.22.0)(typescript@5.8.2))(@typescript-eslint/eslint-plugin@8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2))(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0))(eslint@9.22.0)(globals@16.0.0)
'@types/node':
specifier: 22.13.11
version: 22.13.11
specifier: 22.13.10
version: 22.13.10
'@typescript-eslint/eslint-plugin':
specifier: 8.27.0
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)
specifier: 8.26.0
version: 8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/parser':
specifier: 8.27.0
version: 8.27.0(eslint@9.23.0)(typescript@5.8.2)
specifier: 8.26.0
version: 8.26.0(eslint@9.22.0)(typescript@5.8.2)
cross-env:
specifier: 7.0.3
version: 7.0.3
cypress:
specifier: 14.2.0
version: 14.2.0
specifier: 14.1.0
version: 14.1.0
eslint:
specifier: 9.23.0
version: 9.23.0
specifier: 9.22.0
version: 9.22.0
globals:
specifier: 16.0.0
version: 16.0.0
@@ -80,11 +80,11 @@ importers:
specifier: 2.0.0
version: 2.0.0
pnpm:
specifier: 10.6.5
version: 10.6.5
specifier: 10.6.1
version: 10.6.1
start-server-and-test:
specifier: 2.0.11
version: 2.0.11
specifier: 2.0.10
version: 2.0.10
optionalDependencies:
'@tensorflow/tfjs-core':
specifier: 4.22.0
@@ -560,10 +560,10 @@ importers:
version: 8.18.0
'@typescript-eslint/eslint-plugin':
specifier: 8.27.0
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/parser':
specifier: 8.27.0
version: 8.27.0(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(eslint@9.22.0)(typescript@5.8.2)
aws-sdk-client-mock:
specifier: 4.1.0
version: 4.1.0
@@ -572,7 +572,7 @@ importers:
version: 7.0.3
eslint-plugin-import:
specifier: 2.31.0
version: 2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)
version: 2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)
execa:
specifier: 8.0.1
version: 8.0.1
@@ -964,10 +964,10 @@ importers:
version: 8.18.0
'@typescript-eslint/eslint-plugin':
specifier: 8.27.0
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/parser':
specifier: 8.27.0
version: 8.27.0(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(eslint@9.22.0)(typescript@5.8.2)
'@vitest/coverage-v8':
specifier: 3.0.9
version: 3.0.9(vitest@3.0.9(@types/debug@4.1.12)(@types/node@22.13.11)(happy-dom@17.4.4)(jsdom@26.0.0(bufferutil@4.0.9)(canvas@3.1.0)(utf-8-validate@6.0.5))(msw@2.7.3(@types/node@22.13.11)(typescript@5.8.2))(sass@1.86.0)(terser@5.39.0)(tsx@4.19.3))
@@ -985,10 +985,10 @@ importers:
version: 14.2.0
eslint-plugin-import:
specifier: 2.31.0
version: 2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)
version: 2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)
eslint-plugin-vue:
specifier: 10.0.0
version: 10.0.0(eslint@9.23.0)(vue-eslint-parser@10.1.1(eslint@9.23.0))
version: 10.0.0(eslint@9.22.0)(vue-eslint-parser@10.1.1(eslint@9.22.0))
fast-glob:
specifier: 3.3.3
version: 3.3.3
@@ -1048,7 +1048,7 @@ importers:
version: 2.2.8
vue-eslint-parser:
specifier: 10.1.1
version: 10.1.1(eslint@9.23.0)
version: 10.1.1(eslint@9.22.0)
vue-tsc:
specifier: 2.2.8
version: 2.2.8(typescript@5.8.2)
@@ -1160,10 +1160,10 @@ importers:
version: 8.18.0
'@typescript-eslint/eslint-plugin':
specifier: 8.27.0
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/parser':
specifier: 8.27.0
version: 8.27.0(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(eslint@9.22.0)(typescript@5.8.2)
'@vitest/coverage-v8':
specifier: 3.0.9
version: 3.0.9(vitest@3.0.9(@types/debug@4.1.12)(@types/node@22.13.11)(happy-dom@17.4.4)(jsdom@26.0.0(bufferutil@4.0.9)(canvas@3.1.0)(utf-8-validate@6.0.5))(msw@2.7.3(@types/node@22.13.11)(typescript@5.8.2))(sass@1.86.0)(terser@5.39.0)(tsx@4.19.3))
@@ -1178,10 +1178,10 @@ importers:
version: 7.0.3
eslint-plugin-import:
specifier: 2.31.0
version: 2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)
version: 2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)
eslint-plugin-vue:
specifier: 10.0.0
version: 10.0.0(eslint@9.23.0)(vue-eslint-parser@10.1.1(eslint@9.23.0))
version: 10.0.0(eslint@9.22.0)(vue-eslint-parser@10.1.1(eslint@9.22.0))
fast-glob:
specifier: 3.3.3
version: 3.3.3
@@ -1214,7 +1214,7 @@ importers:
version: 2.2.8
vue-eslint-parser:
specifier: 10.1.1
version: 10.1.1(eslint@9.23.0)
version: 10.1.1(eslint@9.22.0)
vue-tsc:
specifier: 2.2.8
version: 2.2.8(typescript@5.8.2)
@@ -1233,16 +1233,16 @@ importers:
version: 22.13.11
'@typescript-eslint/eslint-plugin':
specifier: 8.27.0
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/parser':
specifier: 8.27.0
version: 8.27.0(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(eslint@9.22.0)(typescript@5.8.2)
esbuild:
specifier: 0.25.1
version: 0.25.1
eslint-plugin-vue:
specifier: 10.0.0
version: 10.0.0(eslint@9.23.0)(vue-eslint-parser@10.1.1(eslint@9.23.0))
version: 10.0.0(eslint@9.22.0)(vue-eslint-parser@10.1.1(eslint@9.22.0))
nodemon:
specifier: 3.1.9
version: 3.1.9
@@ -1251,7 +1251,7 @@ importers:
version: 5.8.2
vue-eslint-parser:
specifier: 10.1.1
version: 10.1.1(eslint@9.23.0)
version: 10.1.1(eslint@9.22.0)
packages/misskey-bubble-game:
dependencies:
@@ -1276,10 +1276,10 @@ importers:
version: 3.0.8
'@typescript-eslint/eslint-plugin':
specifier: 8.27.0
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/parser':
specifier: 8.27.0
version: 8.27.0(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(eslint@9.22.0)(typescript@5.8.2)
esbuild:
specifier: 0.25.1
version: 0.25.1
@@ -1322,10 +1322,10 @@ importers:
version: 22.13.9
'@typescript-eslint/eslint-plugin':
specifier: 8.26.0
version: 8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)
version: 8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/parser':
specifier: 8.26.0
version: 8.26.0(eslint@9.23.0)(typescript@5.8.2)
version: 8.26.0(eslint@9.22.0)(typescript@5.8.2)
esbuild:
specifier: 0.25.0
version: 0.25.0
@@ -1370,10 +1370,10 @@ importers:
version: 22.13.9
'@typescript-eslint/eslint-plugin':
specifier: 8.26.0
version: 8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)
version: 8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/parser':
specifier: 8.26.0
version: 8.26.0(eslint@9.23.0)(typescript@5.8.2)
version: 8.26.0(eslint@9.22.0)(typescript@5.8.2)
openapi-types:
specifier: 12.1.3
version: 12.1.3
@@ -1401,10 +1401,10 @@ importers:
version: 22.13.11
'@typescript-eslint/eslint-plugin':
specifier: 8.27.0
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/parser':
specifier: 8.27.0
version: 8.27.0(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(eslint@9.22.0)(typescript@5.8.2)
esbuild:
specifier: 0.25.1
version: 0.25.1
@@ -1435,13 +1435,13 @@ importers:
devDependencies:
'@typescript-eslint/parser':
specifier: 8.27.0
version: 8.27.0(eslint@9.23.0)(typescript@5.8.2)
version: 8.27.0(eslint@9.22.0)(typescript@5.8.2)
'@typescript/lib-webworker':
specifier: npm:@types/serviceworker@0.0.74
version: '@types/serviceworker@0.0.74'
eslint-plugin-import:
specifier: 2.31.0
version: 2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)
version: 2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)
nodemon:
specifier: 3.1.9
version: 3.1.9
@@ -2274,20 +2274,20 @@ packages:
resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/config-helpers@0.2.0':
resolution: {integrity: sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==}
'@eslint/config-helpers@0.1.0':
resolution: {integrity: sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/core@0.12.0':
resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/eslintrc@3.3.1':
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
'@eslint/eslintrc@3.3.0':
resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.23.0':
resolution: {integrity: sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==}
'@eslint/js@9.22.0':
resolution: {integrity: sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.6':
@@ -5093,6 +5093,9 @@ packages:
axios@0.24.0:
resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==}
axios@1.7.9:
resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==}
axios@1.8.4:
resolution: {integrity: sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==}
@@ -5459,6 +5462,10 @@ packages:
engines: {node: '>=8.0.0', npm: '>=5.0.0'}
hasBin: true
cli-table3@0.6.3:
resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==}
engines: {node: 10.* || >= 12.*}
cli-table3@0.6.5:
resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==}
engines: {node: 10.* || >= 12.*}
@@ -5731,6 +5738,11 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
cypress@14.1.0:
resolution: {integrity: sha512-pPPj8Uu9NwjaaiXAEcjYZZmgsq6v9Zs1Nw6a+zRF+ANgYSNhH4S32SjFRsvMcuOHR/8dp4GBJhBPqIPSs+TxaA==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
cypress@14.2.0:
resolution: {integrity: sha512-u7fuc9JEpSYLOdu8mzZDZ/JWsHUzR5pc8i1TeSqMz/bafXp+6IweMAeyphsEJ6/13qbB6nwTEY1m+GUAp6GqCQ==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
@@ -6257,8 +6269,8 @@ packages:
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint@9.23.0:
resolution: {integrity: sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==}
eslint@9.22.0:
resolution: {integrity: sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -8719,8 +8731,8 @@ packages:
resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
engines: {node: '>=10.13.0'}
pnpm@10.6.5:
resolution: {integrity: sha512-zfko/KIIMs1Z7FOCZJK33CXcUk1DcLa0rb9lgD0y76psHIgUfArk6NV5psnuxxV1e1DU+jXuoXnYaOraTtBDrw==}
pnpm@10.6.1:
resolution: {integrity: sha512-QO4Jr0B/qfu1+/uOHLQPu3TArww+EOkiTXtTx2WFKGFbLJJFDnTPrZHjotyv485AUNgL2nHXV3VtLOK2YhPpow==}
engines: {node: '>=18.12'}
hasBin: true
@@ -9766,6 +9778,11 @@ packages:
standard-as-callback@2.1.0:
resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==}
start-server-and-test@2.0.10:
resolution: {integrity: sha512-nZphcfcqGqwk74lbZkqSwClkYz+M5ZPGOMgWxNVJrdztPKN96qe6HooRu6L3TpwITn0lKJJdKACqHbJtqythOQ==}
engines: {node: '>=16'}
hasBin: true
start-server-and-test@2.0.11:
resolution: {integrity: sha512-TN39gLzPhHAflxyOkE/oMfQGj+pj3JgF6qVicFH/JrXt7xXktidKXwqfRga+ve7lVA8+RgPZVc25VrEPRScaDw==}
engines: {node: '>=16'}
@@ -10668,6 +10685,11 @@ packages:
resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
engines: {node: '>=18'}
wait-on@8.0.2:
resolution: {integrity: sha512-qHlU6AawrgAIHlueGQHQ+ETcPLAauXbnoTKl3RKq20W0T8x0DKVAo5xWIYjHSyvHxQlcYbFdR0jp4T9bDVITFA==}
engines: {node: '>=12.0.0'}
hasBin: true
wait-on@8.0.3:
resolution: {integrity: sha512-nQFqAFzZDeRxsu7S3C7LbuxslHhk+gnJZHyethuGKAn2IVleIbTB9I3vJSQiSR+DifUqmdzfPMoMPJfLqMF2vw==}
engines: {node: '>=12.0.0'}
@@ -12018,9 +12040,9 @@ snapshots:
'@esbuild/win32-x64@0.25.1':
optional: true
'@eslint-community/eslint-utils@4.4.0(eslint@9.23.0)':
'@eslint-community/eslint-utils@4.4.0(eslint@9.22.0)':
dependencies:
eslint: 9.23.0
eslint: 9.22.0
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
@@ -12035,13 +12057,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@eslint/config-helpers@0.2.0': {}
'@eslint/config-helpers@0.1.0': {}
'@eslint/core@0.12.0':
dependencies:
'@types/json-schema': 7.0.15
'@eslint/eslintrc@3.3.1':
'@eslint/eslintrc@3.3.0':
dependencies:
ajv: 6.12.6
debug: 4.4.0(supports-color@8.1.1)
@@ -12055,7 +12077,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@eslint/js@9.23.0': {}
'@eslint/js@9.22.0': {}
'@eslint/object-schema@2.1.6': {}
@@ -12604,14 +12626,14 @@ snapshots:
'@misskey-dev/browser-image-resizer@2024.1.0': {}
'@misskey-dev/eslint-plugin@2.1.0(@eslint/compat@1.1.1)(@stylistic/eslint-plugin@2.13.0(eslint@9.23.0)(typescript@5.8.2))(@typescript-eslint/eslint-plugin@8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2))(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0))(eslint@9.23.0)(globals@16.0.0)':
'@misskey-dev/eslint-plugin@2.1.0(@eslint/compat@1.1.1)(@stylistic/eslint-plugin@2.13.0(eslint@9.22.0)(typescript@5.8.2))(@typescript-eslint/eslint-plugin@8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2))(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0))(eslint@9.22.0)(globals@16.0.0)':
dependencies:
'@eslint/compat': 1.1.1
'@stylistic/eslint-plugin': 2.13.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/eslint-plugin': 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/parser': 8.27.0(eslint@9.23.0)(typescript@5.8.2)
eslint: 9.23.0
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)
'@stylistic/eslint-plugin': 2.13.0(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/eslint-plugin': 8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/parser': 8.26.0(eslint@9.22.0)(typescript@5.8.2)
eslint: 9.22.0
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)
globals: 16.0.0
'@misskey-dev/sharp-read-bmp@1.2.0':
@@ -14145,10 +14167,10 @@ snapshots:
vue: 3.5.13(typescript@5.8.2)
vue-component-type-helpers: 2.2.8
'@stylistic/eslint-plugin@2.13.0(eslint@9.23.0)(typescript@5.8.2)':
'@stylistic/eslint-plugin@2.13.0(eslint@9.22.0)(typescript@5.8.2)':
dependencies:
'@typescript-eslint/utils': 8.27.0(eslint@9.23.0)(typescript@5.8.2)
eslint: 9.23.0
'@typescript-eslint/utils': 8.27.0(eslint@9.22.0)(typescript@5.8.2)
eslint: 9.22.0
eslint-visitor-keys: 4.2.0
espree: 10.3.0
estraverse: 5.3.0
@@ -14398,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:
@@ -14434,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': {}
@@ -14490,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:
@@ -14508,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': {}
@@ -14529,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
@@ -14586,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': {}
@@ -14597,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': {}
@@ -14613,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
@@ -14631,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': {}
@@ -14712,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': {}
@@ -14733,15 +14755,15 @@ snapshots:
'@types/node': 22.13.11
optional: true
'@typescript-eslint/eslint-plugin@8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)':
'@typescript-eslint/eslint-plugin@8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.26.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/parser': 8.26.0(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/scope-manager': 8.26.0
'@typescript-eslint/type-utils': 8.26.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/utils': 8.26.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/type-utils': 8.26.0(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/utils': 8.26.0(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/visitor-keys': 8.26.0
eslint: 9.23.0
eslint: 9.22.0
graphemer: 1.4.0
ignore: 5.3.1
natural-compare: 1.4.0
@@ -14750,15 +14772,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/eslint-plugin@8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)':
'@typescript-eslint/eslint-plugin@8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.27.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/parser': 8.27.0(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/scope-manager': 8.27.0
'@typescript-eslint/type-utils': 8.27.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/utils': 8.27.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/type-utils': 8.27.0(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/utils': 8.27.0(eslint@9.22.0)(typescript@5.8.2)
'@typescript-eslint/visitor-keys': 8.27.0
eslint: 9.23.0
eslint: 9.22.0
graphemer: 1.4.0
ignore: 5.3.1
natural-compare: 1.4.0
@@ -14767,26 +14789,26 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.26.0(eslint@9.23.0)(typescript@5.8.2)':
'@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2)':
dependencies:
'@typescript-eslint/scope-manager': 8.26.0
'@typescript-eslint/types': 8.26.0
'@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2)
'@typescript-eslint/visitor-keys': 8.26.0
debug: 4.4.0(supports-color@8.1.1)
eslint: 9.23.0
eslint: 9.22.0
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2)':
'@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2)':
dependencies:
'@typescript-eslint/scope-manager': 8.27.0
'@typescript-eslint/types': 8.27.0
'@typescript-eslint/typescript-estree': 8.27.0(typescript@5.8.2)
'@typescript-eslint/visitor-keys': 8.27.0
debug: 4.4.0(supports-color@8.1.1)
eslint: 9.23.0
eslint: 9.22.0
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
@@ -14801,23 +14823,23 @@ snapshots:
'@typescript-eslint/types': 8.27.0
'@typescript-eslint/visitor-keys': 8.27.0
'@typescript-eslint/type-utils@8.26.0(eslint@9.23.0)(typescript@5.8.2)':
'@typescript-eslint/type-utils@8.26.0(eslint@9.22.0)(typescript@5.8.2)':
dependencies:
'@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2)
'@typescript-eslint/utils': 8.26.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/utils': 8.26.0(eslint@9.22.0)(typescript@5.8.2)
debug: 4.4.0(supports-color@8.1.1)
eslint: 9.23.0
eslint: 9.22.0
ts-api-utils: 2.0.1(typescript@5.8.2)
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/type-utils@8.27.0(eslint@9.23.0)(typescript@5.8.2)':
'@typescript-eslint/type-utils@8.27.0(eslint@9.22.0)(typescript@5.8.2)':
dependencies:
'@typescript-eslint/typescript-estree': 8.27.0(typescript@5.8.2)
'@typescript-eslint/utils': 8.27.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/utils': 8.27.0(eslint@9.22.0)(typescript@5.8.2)
debug: 4.4.0(supports-color@8.1.1)
eslint: 9.23.0
eslint: 9.22.0
ts-api-utils: 2.0.1(typescript@5.8.2)
typescript: 5.8.2
transitivePeerDependencies:
@@ -14855,24 +14877,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.26.0(eslint@9.23.0)(typescript@5.8.2)':
'@typescript-eslint/utils@8.26.0(eslint@9.22.0)(typescript@5.8.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.23.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.22.0)
'@typescript-eslint/scope-manager': 8.26.0
'@typescript-eslint/types': 8.26.0
'@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2)
eslint: 9.23.0
eslint: 9.22.0
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.27.0(eslint@9.23.0)(typescript@5.8.2)':
'@typescript-eslint/utils@8.27.0(eslint@9.22.0)(typescript@5.8.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.23.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.22.0)
'@typescript-eslint/scope-manager': 8.27.0
'@typescript-eslint/types': 8.27.0
'@typescript-eslint/typescript-estree': 8.27.0(typescript@5.8.2)
eslint: 9.23.0
eslint: 9.22.0
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
@@ -15521,6 +15543,14 @@ snapshots:
transitivePeerDependencies:
- debug
axios@1.7.9(debug@4.4.0):
dependencies:
follow-redirects: 1.15.9(debug@4.4.0)
form-data: 4.0.2
proxy-from-env: 1.1.0
transitivePeerDependencies:
- debug
axios@1.8.4(debug@4.4.0):
dependencies:
follow-redirects: 1.15.9(debug@4.4.0)
@@ -15958,6 +15988,12 @@ snapshots:
parse5-htmlparser2-tree-adapter: 6.0.1
yargs: 16.2.0
cli-table3@0.6.3:
dependencies:
string-width: 4.2.3
optionalDependencies:
'@colors/colors': 1.5.0
cli-table3@0.6.5:
dependencies:
string-width: 4.2.3
@@ -16268,6 +16304,52 @@ snapshots:
csstype@3.1.3: {}
cypress@14.1.0:
dependencies:
'@cypress/request': 3.0.7
'@cypress/xvfb': 1.2.4(supports-color@8.1.1)
'@types/sinonjs__fake-timers': 8.1.1
'@types/sizzle': 2.3.3
arch: 2.2.0
blob-util: 2.0.2
bluebird: 3.7.2
buffer: 5.7.1
cachedir: 2.3.0
chalk: 4.1.2
check-more-types: 2.24.0
ci-info: 4.1.0
cli-cursor: 3.1.0
cli-table3: 0.6.3
commander: 6.2.1
common-tags: 1.8.2
dayjs: 1.11.10
debug: 4.4.0(supports-color@8.1.1)
enquirer: 2.3.6
eventemitter2: 6.4.7
execa: 4.1.0
executable: 4.1.1
extract-zip: 2.0.1(supports-color@8.1.1)
figures: 3.2.0
fs-extra: 9.1.0
getos: 3.2.1
is-installed-globally: 0.4.0
lazy-ass: 1.6.0
listr2: 3.14.0(enquirer@2.3.6)
lodash: 4.17.21
log-symbols: 4.1.0
minimist: 1.2.8
ospath: 1.2.2
pretty-bytes: 5.6.0
process: 0.11.10
proxy-from-env: 1.0.0
request-progress: 3.0.0
semver: 7.6.3
supports-color: 8.1.1
tmp: 0.2.3
tree-kill: 1.2.2
untildify: 4.0.0
yauzl: 2.10.0
cypress@14.2.0:
dependencies:
'@cypress/request': 3.0.7
@@ -16896,17 +16978,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@9.23.0):
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@9.22.0):
dependencies:
debug: 3.2.7(supports-color@8.1.1)
optionalDependencies:
'@typescript-eslint/parser': 8.27.0(eslint@9.23.0)(typescript@5.8.2)
eslint: 9.23.0
'@typescript-eslint/parser': 8.26.0(eslint@9.22.0)(typescript@5.8.2)
eslint: 9.22.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0):
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@9.22.0):
dependencies:
debug: 3.2.7(supports-color@8.1.1)
optionalDependencies:
'@typescript-eslint/parser': 8.27.0(eslint@9.22.0)(typescript@5.8.2)
eslint: 9.22.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -16915,9 +17007,9 @@ snapshots:
array.prototype.flatmap: 1.3.2
debug: 3.2.7(supports-color@8.1.1)
doctrine: 2.1.0
eslint: 9.23.0
eslint: 9.22.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@9.23.0)
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@9.22.0)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
@@ -16929,21 +17021,50 @@ snapshots:
string.prototype.trimend: 1.0.8
tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 8.27.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/parser': 8.26.0(eslint@9.22.0)(typescript@5.8.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
eslint-plugin-vue@10.0.0(eslint@9.23.0)(vue-eslint-parser@10.1.1(eslint@9.23.0)):
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0):
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.23.0)
eslint: 9.23.0
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5
array.prototype.flat: 1.3.2
array.prototype.flatmap: 1.3.2
debug: 3.2.7(supports-color@8.1.1)
doctrine: 2.1.0
eslint: 9.22.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.27.0(eslint@9.22.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@9.22.0)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
minimatch: 3.1.2
object.fromentries: 2.0.8
object.groupby: 1.0.3
object.values: 1.2.0
semver: 6.3.1
string.prototype.trimend: 1.0.8
tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 8.27.0(eslint@9.22.0)(typescript@5.8.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
eslint-plugin-vue@10.0.0(eslint@9.22.0)(vue-eslint-parser@10.1.1(eslint@9.22.0)):
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.22.0)
eslint: 9.22.0
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.1.2
semver: 7.6.3
vue-eslint-parser: 10.1.1(eslint@9.23.0)
vue-eslint-parser: 10.1.1(eslint@9.22.0)
xml-name-validator: 4.0.0
eslint-rule-docs@1.1.235: {}
@@ -16962,15 +17083,15 @@ snapshots:
eslint-visitor-keys@4.2.0: {}
eslint@9.23.0:
eslint@9.22.0:
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.23.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.22.0)
'@eslint-community/regexpp': 4.12.1
'@eslint/config-array': 0.19.2
'@eslint/config-helpers': 0.2.0
'@eslint/config-helpers': 0.1.0
'@eslint/core': 0.12.0
'@eslint/eslintrc': 3.3.1
'@eslint/js': 9.23.0
'@eslint/eslintrc': 3.3.0
'@eslint/js': 9.22.0
'@eslint/plugin-kit': 0.2.7
'@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
@@ -18489,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):
@@ -20094,7 +20215,7 @@ snapshots:
pngjs@5.0.0: {}
pnpm@10.6.5: {}
pnpm@10.6.1: {}
polished@4.2.2:
dependencies:
@@ -21250,6 +21371,19 @@ snapshots:
standard-as-callback@2.1.0: {}
start-server-and-test@2.0.10:
dependencies:
arg: 5.0.2
bluebird: 3.7.2
check-more-types: 2.24.0
debug: 4.4.0(supports-color@8.1.1)
execa: 5.1.1
lazy-ass: 1.6.0
ps-tree: 1.2.0
wait-on: 8.0.2(debug@4.4.0)
transitivePeerDependencies:
- supports-color
start-server-and-test@2.0.11:
dependencies:
arg: 5.0.2
@@ -22117,10 +22251,10 @@ snapshots:
vue: 3.5.13(typescript@5.8.2)
vue-inbrowser-compiler-independent-utils: 4.71.1(vue@3.5.13(typescript@5.8.2))
vue-eslint-parser@10.1.1(eslint@9.23.0):
vue-eslint-parser@10.1.1(eslint@9.22.0):
dependencies:
debug: 4.4.0(supports-color@8.1.1)
eslint: 9.23.0
eslint: 9.22.0
eslint-scope: 8.2.0
eslint-visitor-keys: 4.2.0
espree: 10.3.0
@@ -22164,6 +22298,16 @@ snapshots:
dependencies:
xml-name-validator: 5.0.0
wait-on@8.0.2(debug@4.4.0):
dependencies:
axios: 1.7.9(debug@4.4.0)
joi: 17.13.3
lodash: 4.17.21
minimist: 1.2.8
rxjs: 7.8.2
transitivePeerDependencies:
- debug
wait-on@8.0.3(debug@4.4.0):
dependencies:
axios: 1.8.4(debug@4.4.0)