Merge remote-branch 'misskey/develop'

This commit is contained in:
NoriDev 2024-01-22 20:43:27 +09:00
parent 6cb43352ac
commit 7ce76da0c2
25 changed files with 293 additions and 297 deletions

View file

@ -92,4 +92,6 @@ jobs:
- run: pnpm i --frozen-lockfile
- run: pnpm --filter cherrypick-js run build
if: ${{ matrix.workspace == 'backend' }}
- run: pnpm --filter misskey-reversi run build
if: ${{ matrix.workspace == 'backend' }}
- run: pnpm --filter ${{ matrix.workspace }} run typecheck

View file

@ -23,10 +23,10 @@ Misskey의 전체 변경 사항을 확인하려면, [CHANGELOG.md#2023xx](CHANGE
# 릴리즈 노트
이 문서는 CherryPick의 변경 사항만 포함합니다.
## 4.x.x
출시일: unreleased<br>
기반 Misskey 버전: 2023.x.x<br>
Misskey의 전체 변경 사항을 확인하려면, [CHANGELOG.md#2023xx](CHANGELOG.md#2023xx) 문서를 참고하십시오.
## 4.6.1
출시일: 2024/1/22<br>
기반 Misskey 버전: 2023.12.2<br>
Misskey의 전체 변경 사항을 확인하려면, [CHANGELOG.md#2023122](CHANGELOG.md#2023122) 문서를 참고하십시오.
### Client
- Feat: 리노트 공개 범위를 지정할 수 있음 (kokonect-link/cherrypick#406)

View file

@ -161,11 +161,13 @@ describe('After user signed in', () => {
});
it('successfully loads', () => {
cy.get('[data-cy-user-setup-continue]').should('be.visible');
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
cy.get('[data-cy-user-setup-continue]', { timeout: 12000 }).should('be.visible');
});
it('account setup wizard', () => {
cy.get('[data-cy-user-setup-continue]').click();
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
cy.get('[data-cy-user-setup-continue]', { timeout: 12000 }).click();
cy.get('[data-cy-user-setup-user-name] input').type('ありす');
cy.get('[data-cy-user-setup-user-description] textarea').type('ほげ');
@ -214,7 +216,8 @@ describe('After user setup', () => {
cy.login('alice', 'alice1234');
// アカウント初期設定ウィザード
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]').click();
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]', { timeout: 12000 }).click();
cy.get('[data-cy-modal-dialog-ok]').click();
});

View file

@ -1,7 +1,7 @@
{
"name": "cherrypick",
"version": "4.6.0",
"basedMisskeyVersion": "2024.2.0-beta.2",
"basedMisskeyVersion": "2024.2.0-beta.3",
"codename": "nasubi",
"repository": {
"type": "git",
@ -60,8 +60,8 @@
"typescript": "5.3.3"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "6.19.0",
"@typescript-eslint/parser": "6.19.0",
"@typescript-eslint/eslint-plugin": "6.18.1",
"@typescript-eslint/parser": "6.18.1",
"cross-env": "7.0.3",
"cypress": "13.6.3",
"eslint": "8.56.0",

View file

@ -8,7 +8,7 @@
},
"scripts": {
"start": "node ./built/boot/entry.js",
"start:test": "NODE_ENV=test node ./built/boot/entry.js",
"start:test": "cross-env NODE_ENV=test node ./built/boot/entry.js",
"migrate": "pnpm typeorm migration:run -d ormconfig.js",
"revert": "pnpm typeorm migration:revert -d ormconfig.js",
"check:connect": "node ./check_connect.js",
@ -31,7 +31,7 @@
"test:e2e": "pnpm build && pnpm build:test && pnpm jest:e2e",
"test-and-coverage": "pnpm jest-and-coverage",
"test-and-coverage:e2e": "pnpm build && pnpm build:test && pnpm jest-and-coverage:e2e",
"generate-api-json": "node ./generate_api_json.js",
"generate-api-json": "pnpm build && node ./generate_api_json.js",
"schema:sync": "pnpm typeorm schema:sync -d ormconfig.js"
},
"optionalDependencies": {
@ -232,8 +232,8 @@
"@types/vary": "1.1.3",
"@types/web-push": "3.6.3",
"@types/ws": "8.5.10",
"@typescript-eslint/eslint-plugin": "6.19.0",
"@typescript-eslint/parser": "6.19.0",
"@typescript-eslint/eslint-plugin": "6.18.1",
"@typescript-eslint/parser": "6.18.1",
"aws-sdk-client-mock": "3.0.1",
"cross-env": "7.0.3",
"eslint": "8.56.0",

View file

@ -58,23 +58,29 @@ export class AntennaService implements OnApplicationShutdown {
const { type, body } = obj.message as GlobalEvents['internal']['payload'];
switch (type) {
case 'antennaCreated':
this.antennas.push({
this.antennas.push({ // TODO: このあたりのデシリアライズ処理は各modelファイル内に関数としてexportしたい
...body,
lastUsedAt: new Date(body.lastUsedAt),
user: null, // joinなカラムは通常取ってこないので
userList: null, // joinなカラムは通常取ってこないので
});
break;
case 'antennaUpdated': {
const idx = this.antennas.findIndex(a => a.id === body.id);
if (idx >= 0) {
this.antennas[idx] = {
this.antennas[idx] = { // TODO: このあたりのデシリアライズ処理は各modelファイル内に関数としてexportしたい
...body,
lastUsedAt: new Date(body.lastUsedAt),
user: null, // joinなカラムは通常取ってこないので
userList: null, // joinなカラムは通常取ってこないので
};
} else {
// サーバ起動時にactiveじゃなかった場合、リストに持っていないので追加する必要あり
this.antennas.push({
this.antennas.push({ // TODO: このあたりのデシリアライズ処理は各modelファイル内に関数としてexportしたい
...body,
lastUsedAt: new Date(body.lastUsedAt),
user: null, // joinなカラムは通常取ってこないので
userList: null, // joinなカラムは通常取ってこないので
});
}
}

View file

@ -51,7 +51,10 @@ export class MetaService implements OnApplicationShutdown {
const { type, body } = obj.message as GlobalEvents['internal']['payload'];
switch (type) {
case 'metaUpdated': {
this.cache = body;
this.cache = { // TODO: このあたりのデシリアライズ処理は各modelファイル内に関数としてexportしたい
...body,
proxyAccount: null, // joinなカラムは通常取ってこないので
};
break;
}
default:

View file

@ -179,9 +179,11 @@ export class RoleService implements OnApplicationShutdown, OnModuleInit {
case 'userRoleAssigned': {
const cached = this.roleAssignmentByUserIdCache.get(body.userId);
if (cached) {
cached.push({
cached.push({ // TODO: このあたりのデシリアライズ処理は各modelファイル内に関数としてexportしたい
...body,
expiresAt: body.expiresAt ? new Date(body.expiresAt) : null,
user: null, // joinなカラムは通常取ってこないので
role: null, // joinなカラムは通常取ってこないので
});
}
break;

View file

@ -49,9 +49,10 @@ export class WebhookService implements OnApplicationShutdown {
switch (type) {
case 'webhookCreated':
if (body.active) {
this.webhooks.push({
this.webhooks.push({ // TODO: このあたりのデシリアライズ処理は各modelファイル内に関数としてexportしたい
...body,
latestSentAt: body.latestSentAt ? new Date(body.latestSentAt) : null,
user: null, // joinなカラムは通常取ってこないので
});
}
break;
@ -59,14 +60,16 @@ export class WebhookService implements OnApplicationShutdown {
if (body.active) {
const i = this.webhooks.findIndex(a => a.id === body.id);
if (i > -1) {
this.webhooks[i] = {
this.webhooks[i] = { // TODO: このあたりのデシリアライズ処理は各modelファイル内に関数としてexportしたい
...body,
latestSentAt: body.latestSentAt ? new Date(body.latestSentAt) : null,
user: null, // joinなカラムは通常取ってこないので
};
} else {
this.webhooks.push({
this.webhooks.push({ // TODO: このあたりのデシリアライズ処理は各modelファイル内に関数としてexportしたい
...body,
latestSentAt: body.latestSentAt ? new Date(body.latestSentAt) : null,
user: null, // joinなカラムは通常取ってこないので
});
}
} else {

View file

@ -133,11 +133,11 @@ export const packedReversiGameDetailedSchema = {
optional: false, nullable: false,
},
form1: {
type: 'any',
type: 'object',
optional: false, nullable: true,
},
form2: {
type: 'any',
type: 'object',
optional: false, nullable: true,
},
user1Ready: {

View file

@ -31,12 +31,13 @@ import { PageEntityService } from '@/core/entities/PageEntityService.js';
import { GalleryPostEntityService } from '@/core/entities/GalleryPostEntityService.js';
import { ClipEntityService } from '@/core/entities/ClipEntityService.js';
import { ChannelEntityService } from '@/core/entities/ChannelEntityService.js';
import type { ChannelsRepository, ClipsRepository, FlashsRepository, GalleryPostsRepository, MiMeta, NotesRepository, PagesRepository, UserProfilesRepository, UsersRepository } from '@/models/_.js';
import type { ChannelsRepository, ClipsRepository, FlashsRepository, GalleryPostsRepository, MiMeta, NotesRepository, PagesRepository, ReversiGamesRepository, UserProfilesRepository, UsersRepository } from '@/models/_.js';
import type Logger from '@/logger.js';
import { deepClone } from '@/misc/clone.js';
import { bindThis } from '@/decorators.js';
import { FlashEntityService } from '@/core/entities/FlashEntityService.js';
import { RoleService } from '@/core/RoleService.js';
import { ReversiGameEntityService } from '@/core/entities/ReversiGameEntityService.js';
import { FeedService } from './FeedService.js';
import { UrlPreviewService } from './UrlPreviewService.js';
import { ClientLoggerService } from './ClientLoggerService.js';
@ -83,6 +84,9 @@ export class ClientServerService {
@Inject(DI.flashsRepository)
private flashsRepository: FlashsRepository,
@Inject(DI.reversiGamesRepository)
private reversiGamesRepository: ReversiGamesRepository,
private flashEntityService: FlashEntityService,
private userEntityService: UserEntityService,
private noteEntityService: NoteEntityService,
@ -90,6 +94,7 @@ export class ClientServerService {
private galleryPostEntityService: GalleryPostEntityService,
private clipEntityService: ClipEntityService,
private channelEntityService: ChannelEntityService,
private reversiGameEntityService: ReversiGameEntityService,
private metaService: MetaService,
private urlPreviewService: UrlPreviewService,
private feedService: FeedService,
@ -687,6 +692,25 @@ export class ClientServerService {
return await renderBase(reply);
}
});
// Reversi game
fastify.get<{ Params: { game: string; } }>('/reversi/g/:game', async (request, reply) => {
const game = await this.reversiGamesRepository.findOneBy({
id: request.params.game,
});
if (game) {
const _game = await this.reversiGameEntityService.packDetail(game);
const meta = await this.metaService.fetch();
reply.header('Cache-Control', 'public, max-age=3600');
return await reply.view('reversi-game', {
game: _game,
...this.generateCommonPugData(meta),
});
} else {
return await renderBase(reply);
}
});
//#endregion
fastify.get('/_info_card_', async (request, reply) => {

View file

@ -0,0 +1,20 @@
extends ./base
block vars
- const user1 = game.user1;
- const user2 = game.user2;
- const title = `${user1.username} vs ${user2.username}`;
- const url = `${config.url}/reversi/g/${game.id}`;
block title
= `${title} | ${instanceName}`
block desc
meta(name='description' content='⚫⚪CherryPick Reversi⚪⚫')
block og
meta(property='og:type' content='article')
meta(property='og:title' content= title)
meta(property='og:description' content='⚫⚪CherryPick Reversi⚪⚫')
meta(property='og:url' content= url)
meta(property='twitter:card' content='summary')

View file

@ -81,7 +81,17 @@ module.exports = {
// ],
// A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
// moduleNameMapper: {},
moduleNameMapper: {
// Do not resolve .wasm.js to .wasm by the rule below
'^(.+)\\.wasm\\.js$': '$1.wasm.js',
// SWC converts @/foo/bar.js to `../../src/foo/bar.js`, and then this rule
// converts it again to `../../src/foo/bar` which then can be resolved to
// `.ts` files.
// See https://github.com/swc-project/jest/issues/64#issuecomment-1029753225
// TODO: Use `--allowImportingTsExtensions` on TypeScript 5.0 so that we can
// directly import `.ts` files without this hack.
'^((?:\\.{1,2}|[A-Z:])*/.*)\\.js$': '$1',
},
// An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
// modulePathIgnorePatterns: [],

View file

@ -3,6 +3,7 @@
"name": "cherrypick-js",
"version": "0.0.16-cherrypick.1",
"description": "CherryPick SDK for JavaScript",
"types": "./built/dts/index.d.ts",
"exports": {
".": {
"import": "./built/esm/index.js",
@ -39,8 +40,8 @@
"@swc/jest": "0.2.31",
"@types/jest": "29.5.11",
"@types/node": "20.11.5",
"@typescript-eslint/eslint-plugin": "6.19.0",
"@typescript-eslint/parser": "6.19.0",
"@typescript-eslint/eslint-plugin": "6.18.1",
"@typescript-eslint/parser": "6.18.1",
"eslint": "8.56.0",
"jest": "29.7.0",
"jest-fetch-mock": "3.0.3",
@ -52,7 +53,9 @@
"typescript": "5.3.3"
},
"files": [
"built"
"built",
"built/esm",
"built/dts"
],
"dependencies": {
"@swc/cli": "0.1.63",

View file

@ -1,7 +1,7 @@
/*
* version: 4.6.0
* basedMisskeyVersion: 2024.2.0-beta.2
* generatedAt: 2024-01-22T10:26:06.811Z
* basedMisskeyVersion: 2024.2.0-beta.3
* generatedAt: 2024-01-22T11:38:57.200Z
*/
import type { SwitchCaseResponseType } from '../api.js';

View file

@ -1,7 +1,7 @@
/*
* version: 4.6.0
* basedMisskeyVersion: 2024.2.0-beta.2
* generatedAt: 2024-01-22T10:26:06.809Z
* basedMisskeyVersion: 2024.2.0-beta.3
* generatedAt: 2024-01-22T11:38:57.197Z
*/
import type {

View file

@ -1,7 +1,7 @@
/*
* version: 4.6.0
* basedMisskeyVersion: 2024.2.0-beta.2
* generatedAt: 2024-01-22T10:26:06.807Z
* basedMisskeyVersion: 2024.2.0-beta.3
* generatedAt: 2024-01-22T11:38:57.195Z
*/
import { operations } from './types.js';

View file

@ -1,7 +1,7 @@
/*
* version: 4.6.0
* basedMisskeyVersion: 2024.2.0-beta.2
* generatedAt: 2024-01-22T10:26:06.806Z
* basedMisskeyVersion: 2024.2.0-beta.3
* generatedAt: 2024-01-22T11:38:57.194Z
*/
import { components } from './types.js';

View file

@ -3,8 +3,8 @@
/*
* version: 4.6.0
* basedMisskeyVersion: 2024.2.0-beta.2
* generatedAt: 2024-01-22T10:26:06.702Z
* basedMisskeyVersion: 2024.2.0-beta.3
* generatedAt: 2024-01-22T11:38:57.091Z
*/
/**

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 139 KiB

View file

@ -120,9 +120,9 @@
"@types/tinycolor2": "1.4.6",
"@types/uuid": "9.0.7",
"@types/ws": "8.5.10",
"@typescript-eslint/eslint-plugin": "6.19.0",
"@typescript-eslint/parser": "6.19.0",
"@vitest/coverage-v8": "1.2.1",
"@typescript-eslint/eslint-plugin": "6.18.1",
"@typescript-eslint/parser": "6.18.1",
"@vitest/coverage-v8": "0.34.6",
"@vue/runtime-core": "3.4.15",
"acorn": "8.11.3",
"cross-env": "7.0.3",
@ -145,7 +145,7 @@
"storybook": "7.6.10",
"storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme",
"vite-plugin-turbosnap": "1.0.3",
"vitest": "1.2.1",
"vitest": "0.34.6",
"vitest-fetch-mock": "0.2.2",
"vue-eslint-parser": "9.4.0",
"vue-tsc": "1.8.27"

View file

@ -24,11 +24,9 @@
},
"devDependencies": {
"@misskey-dev/eslint-plugin": "1.0.0",
"@types/matter-js": "0.19.6",
"@types/node": "20.11.5",
"@types/seedrandom": "3.0.8",
"@typescript-eslint/eslint-plugin": "6.19.0",
"@typescript-eslint/parser": "6.19.0",
"@typescript-eslint/eslint-plugin": "6.18.1",
"@typescript-eslint/parser": "6.18.1",
"eslint": "8.56.0",
"nodemon": "3.0.2",
"typescript": "5.3.3"
@ -37,6 +35,8 @@
"built"
],
"dependencies": {
"@types/matter-js": "0.19.6",
"@types/seedrandom": "3.0.8",
"eventemitter3": "5.0.1",
"matter-js": "0.19.0",
"seedrandom": "3.0.5"

View file

@ -25,8 +25,8 @@
"devDependencies": {
"@misskey-dev/eslint-plugin": "1.0.0",
"@types/node": "20.11.5",
"@typescript-eslint/eslint-plugin": "6.19.0",
"@typescript-eslint/parser": "6.19.0",
"@typescript-eslint/eslint-plugin": "6.18.1",
"@typescript-eslint/parser": "6.18.1",
"eslint": "8.56.0",
"nodemon": "3.0.2",
"typescript": "5.3.3"

View file

@ -15,7 +15,7 @@
},
"devDependencies": {
"@misskey-dev/eslint-plugin": "1.0.0",
"@typescript-eslint/parser": "6.19.0",
"@typescript-eslint/parser": "6.18.1",
"@typescript/lib-webworker": "npm:@types/serviceworker@0.0.67",
"eslint": "8.56.0",
"eslint-plugin-import": "2.29.1",

View file

@ -36,11 +36,11 @@ importers:
version: 4.4.0
devDependencies:
'@typescript-eslint/eslint-plugin':
specifier: 6.19.0
version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser':
specifier: 6.19.0
version: 6.19.0(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(eslint@8.56.0)(typescript@5.3.3)
cross-env:
specifier: 7.0.3
version: 7.0.3
@ -513,7 +513,7 @@ importers:
version: 29.7.0
'@misskey-dev/eslint-plugin':
specifier: 1.0.0
version: 1.0.0(@typescript-eslint/eslint-plugin@6.19.0)(@typescript-eslint/parser@6.19.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
version: 1.0.0(@typescript-eslint/eslint-plugin@6.18.1)(@typescript-eslint/parser@6.18.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
'@nestjs/platform-express':
specifier: 10.3.0
version: 10.3.0(@nestjs/common@10.2.10)(@nestjs/core@10.2.10)
@ -641,11 +641,11 @@ importers:
specifier: 8.5.10
version: 8.5.10
'@typescript-eslint/eslint-plugin':
specifier: 6.19.0
version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser':
specifier: 6.19.0
version: 6.19.0(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(eslint@8.56.0)(typescript@5.3.3)
aws-sdk-client-mock:
specifier: 3.0.1
version: 3.0.1
@ -657,7 +657,7 @@ importers:
version: 8.56.0
eslint-plugin-import:
specifier: 2.29.1
version: 2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)
version: 2.29.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)
execa:
specifier: 8.0.1
version: 8.0.1
@ -700,7 +700,7 @@ importers:
version: 7.39.1(@types/node@20.11.5)
'@misskey-dev/eslint-plugin':
specifier: 1.0.0
version: 1.0.0(@typescript-eslint/eslint-plugin@6.19.0)(@typescript-eslint/parser@6.19.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
version: 1.0.0(@typescript-eslint/eslint-plugin@6.18.1)(@typescript-eslint/parser@6.18.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
'@swc/jest':
specifier: 0.2.31
version: 0.2.31(@swc/core@1.3.105)
@ -711,11 +711,11 @@ importers:
specifier: 20.11.5
version: 20.11.5
'@typescript-eslint/eslint-plugin':
specifier: 6.19.0
version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser':
specifier: 6.19.0
version: 6.19.0(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(eslint@8.56.0)(typescript@5.3.3)
eslint:
specifier: 8.56.0
version: 8.56.0
@ -986,7 +986,7 @@ importers:
devDependencies:
'@misskey-dev/eslint-plugin':
specifier: ^1.0.0
version: 1.0.0(@typescript-eslint/eslint-plugin@6.19.0)(@typescript-eslint/parser@6.19.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
version: 1.0.0(@typescript-eslint/eslint-plugin@6.18.1)(@typescript-eslint/parser@6.18.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
'@misskey-dev/summaly':
specifier: ^5.0.3
version: 5.0.3
@ -1016,7 +1016,7 @@ importers:
version: 7.6.10
'@storybook/jest':
specifier: 0.2.3
version: 0.2.3(vitest@1.2.1)
version: 0.2.3(vitest@0.34.6)
'@storybook/manager-api':
specifier: 7.6.10
version: 7.6.10(react-dom@18.2.0)(react@18.2.0)
@ -1087,14 +1087,14 @@ importers:
specifier: 8.5.10
version: 8.5.10
'@typescript-eslint/eslint-plugin':
specifier: 6.19.0
version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser':
specifier: 6.19.0
version: 6.19.0(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(eslint@8.56.0)(typescript@5.3.3)
'@vitest/coverage-v8':
specifier: 1.2.1
version: 1.2.1(vitest@1.2.1)
specifier: 0.34.6
version: 0.34.6(vitest@0.34.6)
'@vue/runtime-core':
specifier: 3.4.15
version: 3.4.15
@ -1112,7 +1112,7 @@ importers:
version: 8.56.0
eslint-plugin-import:
specifier: 2.29.1
version: 2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)
version: 2.29.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)
eslint-plugin-storybook:
specifier: ^0.6.13
version: 0.6.13(eslint@8.56.0)(typescript@5.3.3)
@ -1157,16 +1157,16 @@ importers:
version: 7.6.10
storybook-addon-misskey-theme:
specifier: github:misskey-dev/storybook-addon-misskey-theme
version: github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@7.6.10)(@storybook/components@7.6.5)(@storybook/core-events@7.6.10)(@storybook/manager-api@7.6.10)(@storybook/preview-api@7.6.10)(@storybook/theming@7.6.10)(@storybook/types@7.6.10)(react-dom@18.2.0)(react@18.2.0)
version: github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@7.6.10)(@storybook/components@7.6.10)(@storybook/core-events@7.6.10)(@storybook/manager-api@7.6.10)(@storybook/preview-api@7.6.10)(@storybook/theming@7.6.10)(@storybook/types@7.6.10)(react-dom@18.2.0)(react@18.2.0)
vite-plugin-turbosnap:
specifier: 1.0.3
version: 1.0.3
vitest:
specifier: 1.2.1
version: 1.2.1(@types/node@20.11.5)(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0)
specifier: 0.34.6
version: 0.34.6(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0)
vitest-fetch-mock:
specifier: 0.2.2
version: 0.2.2(vitest@1.2.1)
version: 0.2.2(vitest@0.34.6)
vue-eslint-parser:
specifier: 9.4.0
version: 9.4.0(eslint@8.56.0)
@ -1176,6 +1176,12 @@ importers:
packages/misskey-bubble-game:
dependencies:
'@types/matter-js':
specifier: 0.19.6
version: 0.19.6
'@types/seedrandom':
specifier: 3.0.8
version: 3.0.8
eventemitter3:
specifier: 5.0.1
version: 5.0.1
@ -1188,22 +1194,16 @@ importers:
devDependencies:
'@misskey-dev/eslint-plugin':
specifier: 1.0.0
version: 1.0.0(@typescript-eslint/eslint-plugin@6.19.0)(@typescript-eslint/parser@6.19.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
'@types/matter-js':
specifier: 0.19.6
version: 0.19.6
version: 1.0.0(@typescript-eslint/eslint-plugin@6.18.1)(@typescript-eslint/parser@6.18.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
'@types/node':
specifier: 20.11.5
version: 20.11.5
'@types/seedrandom':
specifier: 3.0.8
version: 3.0.8
'@typescript-eslint/eslint-plugin':
specifier: 6.19.0
version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser':
specifier: 6.19.0
version: 6.19.0(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(eslint@8.56.0)(typescript@5.3.3)
eslint:
specifier: 8.56.0
version: 8.56.0
@ -1218,16 +1218,16 @@ importers:
devDependencies:
'@misskey-dev/eslint-plugin':
specifier: 1.0.0
version: 1.0.0(@typescript-eslint/eslint-plugin@6.19.0)(@typescript-eslint/parser@6.19.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
version: 1.0.0(@typescript-eslint/eslint-plugin@6.18.1)(@typescript-eslint/parser@6.18.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
'@types/node':
specifier: 20.11.5
version: 20.11.5
'@typescript-eslint/eslint-plugin':
specifier: 6.19.0
version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser':
specifier: 6.19.0
version: 6.19.0(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(eslint@8.56.0)(typescript@5.3.3)
eslint:
specifier: 8.56.0
version: 8.56.0
@ -1252,10 +1252,10 @@ importers:
devDependencies:
'@misskey-dev/eslint-plugin':
specifier: 1.0.0
version: 1.0.0(@typescript-eslint/eslint-plugin@6.19.0)(@typescript-eslint/parser@6.19.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
version: 1.0.0(@typescript-eslint/eslint-plugin@6.18.1)(@typescript-eslint/parser@6.18.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
'@typescript-eslint/parser':
specifier: 6.19.0
version: 6.19.0(eslint@8.56.0)(typescript@5.3.3)
specifier: 6.18.1
version: 6.18.1(eslint@8.56.0)(typescript@5.3.3)
'@typescript/lib-webworker':
specifier: npm:@types/serviceworker@0.0.67
version: /@types/serviceworker@0.0.67
@ -1264,7 +1264,7 @@ importers:
version: 8.56.0
eslint-plugin-import:
specifier: 2.29.1
version: 2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)
version: 2.29.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)
nodemon:
specifier: 3.0.3
version: 3.0.3
@ -3216,15 +3216,6 @@ packages:
'@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
/@babel/types@7.23.6:
resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-string-parser': 7.23.4
'@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
dev: true
/@base2/pretty-print-object@1.0.1:
resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==}
dev: true
@ -4722,7 +4713,7 @@ packages:
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.11.0)(eslint@8.53.0)
dev: true
/@misskey-dev/eslint-plugin@1.0.0(@typescript-eslint/eslint-plugin@6.19.0)(@typescript-eslint/parser@6.19.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0):
/@misskey-dev/eslint-plugin@1.0.0(@typescript-eslint/eslint-plugin@6.18.1)(@typescript-eslint/parser@6.18.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0):
resolution: {integrity: sha512-dh6UbcrNDVg5DD8k8Qh4ab30OPpuEYIlJCqaBV/lkIV8wNN/AfCJ2V7iTP8V8KjryM4t+sf5IqzQLQnT0mWI4A==}
peerDependencies:
'@typescript-eslint/eslint-plugin': '>= 6'
@ -4730,10 +4721,10 @@ packages:
eslint: '>= 3'
eslint-plugin-import: '>= 2'
dependencies:
'@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/eslint-plugin': 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
eslint: 8.56.0
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)
dev: true
/@misskey-dev/sharp-read-bmp@1.1.1:
@ -6742,17 +6733,6 @@ packages:
tiny-invariant: 1.3.1
dev: true
/@storybook/channels@7.6.5:
resolution: {integrity: sha512-FIlNkyfQy9uHoJfAFL2/wO3ASGJELFvBzURBE2rcEF/TS7GcUiqWnBfiDxAbwSEjSOm2F0eEq3UXhaZEjpJHDw==}
dependencies:
'@storybook/client-logger': 7.6.5
'@storybook/core-events': 7.6.5
'@storybook/global': 5.0.0
qs: 6.11.1
telejson: 7.2.0
tiny-invariant: 1.3.1
dev: true
/@storybook/cli@7.6.10:
resolution: {integrity: sha512-pK1MEseMm73OMO2OVoSz79QWX8ymxgIGM8IeZTCo9gImiVRChMNDFYcv8yPWkjuyesY8c15CoO48aR7pdA1OjQ==}
hasBin: true
@ -6810,12 +6790,6 @@ packages:
'@storybook/global': 5.0.0
dev: true
/@storybook/client-logger@7.6.5:
resolution: {integrity: sha512-S5aROWgssqg7tcs9lgW5wmCAz4SxMAtioiyVj5oFecmPCbQtFVIAREYzeoxE4GfJL+plrfRkum4BzziANn8EhQ==}
dependencies:
'@storybook/global': 5.0.0
dev: true
/@storybook/codemod@7.6.10:
resolution: {integrity: sha512-pzFR0nocBb94vN9QCJLC3C3dP734ZigqyPmd0ZCDj9Xce2ytfHK3v1lKB6TZWzKAZT8zztauECYxrbo4LVuagw==}
dependencies:
@ -6860,29 +6834,6 @@ packages:
- '@types/react-dom'
dev: true
/@storybook/components@7.6.5(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-w4ZucbBBZ+NKMWlJKVj2I/bMBBq7gzDp9lzc4+8QaQ3vUPXKqc1ilIPYo/7UR5oxwDVMZocmMSgl9L8lvf7+Mw==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
dependencies:
'@radix-ui/react-select': 1.2.2(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-toolbar': 1.0.4(react-dom@18.2.0)(react@18.2.0)
'@storybook/client-logger': 7.6.5
'@storybook/csf': 0.1.2
'@storybook/global': 5.0.0
'@storybook/theming': 7.6.5(react-dom@18.2.0)(react@18.2.0)
'@storybook/types': 7.6.5
memoizerific: 1.11.3
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
use-resize-observer: 9.1.0(react-dom@18.2.0)(react@18.2.0)
util-deprecate: 1.0.2
transitivePeerDependencies:
- '@types/react'
- '@types/react-dom'
dev: true
/@storybook/core-client@7.6.10:
resolution: {integrity: sha512-DjnzSzSNDmZyxyg6TxugzWQwOsW+n/iWVv6sHNEvEd5STr0mjuJjIEELmv58LIr5Lsre5+LEddqHsyuLyt8ubg==}
dependencies:
@ -6927,12 +6878,6 @@ packages:
ts-dedent: 2.2.0
dev: true
/@storybook/core-events@7.6.5:
resolution: {integrity: sha512-zk2q/qicYXAzHA4oV3GDbIql+Kd4TOHUgDE8e4jPCOPp856z2ScqEKUAbiJizs6eEJOH4nW9Db1kuzgrBVEykQ==}
dependencies:
ts-dedent: 2.2.0
dev: true
/@storybook/core-server@7.6.10:
resolution: {integrity: sha512-2icnqJkn3vwq0eJPP0rNaHd7IOvxYf5q4lSVl2AWTxo/Ae19KhokI6j/2vvS2XQJMGQszwshlIwrZUNsj5p0yw==}
dependencies:
@ -7050,11 +6995,11 @@ packages:
resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==}
dev: true
/@storybook/jest@0.2.3(vitest@1.2.1):
/@storybook/jest@0.2.3(vitest@0.34.6):
resolution: {integrity: sha512-ov5izrmbAFObzKeh9AOC5MlmFxAcf0o5i6YFGae9sDx6DGh6alXsRM+chIbucVkUwVHVlSzdfbLDEFGY/ShaYw==}
dependencies:
'@storybook/expect': 28.1.3-5
'@testing-library/jest-dom': 6.1.2(@types/jest@28.1.3)(vitest@1.2.1)
'@testing-library/jest-dom': 6.1.2(@types/jest@28.1.3)(vitest@0.34.6)
'@types/jest': 28.1.3
jest-mock: 27.5.1
transitivePeerDependencies:
@ -7257,20 +7202,6 @@ packages:
react-dom: 18.2.0(react@18.2.0)
dev: true
/@storybook/theming@7.6.5(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-RpcWT0YEgiobO41McVPDfQQHHFnjyr1sJnNTPJIvOUgSfURdgSj17mQVxtD5xcXcPWUdle5UhIOrCixHbL/NNw==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
dependencies:
'@emotion/use-insertion-effect-with-fallbacks': 1.0.0(react@18.2.0)
'@storybook/client-logger': 7.6.5
'@storybook/global': 5.0.0
memoizerific: 1.11.3
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: true
/@storybook/types@7.6.10:
resolution: {integrity: sha512-hcS2HloJblaMpCAj2axgGV+53kgSRYPT0a1PG1IHsZaYQILfHSMmBqM8XzXXYTsgf9250kz3dqFX1l0n3EqMlQ==}
dependencies:
@ -7280,15 +7211,6 @@ packages:
file-system-cache: 2.3.0
dev: true
/@storybook/types@7.6.5:
resolution: {integrity: sha512-Q757v+fYZZSaEpks/zDL5YgXRozxkgKakXFc+BoQHK5q5sVhJ+0jvpLJiAQAniIIaMIkqY/G24Kd6Uo6UdKBCg==}
dependencies:
'@storybook/channels': 7.6.5
'@types/babel__core': 7.20.0
'@types/express': 4.17.17
file-system-cache: 2.3.0
dev: true
/@storybook/vue3-vite@7.6.10(typescript@5.3.3)(vite@5.0.12)(vue@3.4.15):
resolution: {integrity: sha512-5f0Rh4PTVEeAI86ybihfN+rHGXXLNiRsoGKinpJSb7hkfsq/L7u3sVCXJwH/qsG+rUJlZyHs3kfa4/Kgyyi3Mg==}
engines: {node: ^14.18 || >=16}
@ -7773,7 +7695,7 @@ packages:
pretty-format: 27.5.1
dev: true
/@testing-library/jest-dom@6.1.2(@types/jest@28.1.3)(vitest@1.2.1):
/@testing-library/jest-dom@6.1.2(@types/jest@28.1.3)(vitest@0.34.6):
resolution: {integrity: sha512-NP9jl1Q2qDDtx+cqogowtQtmgD2OVs37iMSIsTv5eN5ETRkf26Kj6ugVwA93/gZzzFWQAsgkKkcftDe91BJCkQ==}
engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
peerDependencies:
@ -7800,7 +7722,7 @@ packages:
dom-accessibility-api: 0.5.16
lodash: 4.17.21
redent: 3.0.0
vitest: 1.2.1(@types/node@20.11.5)(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0)
vitest: 0.34.6(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0)
dev: true
/@testing-library/user-event@14.4.3(@testing-library/dom@9.2.0):
@ -7934,6 +7856,16 @@ packages:
cbor: 9.0.1
dev: true
/@types/chai-subset@1.3.5:
resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==}
dependencies:
'@types/chai': 4.3.11
dev: true
/@types/chai@4.3.11:
resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==}
dev: true
/@types/color-convert@2.0.3:
resolution: {integrity: sha512-2Q6wzrNiuEvYxVQqhh7sXM2mhIhvZR/Paq4FdsQkOMgWsCIkKvSGj8Le1/XalulrmgOzPMqNa0ix+ePY4hTrfg==}
dependencies:
@ -8163,7 +8095,6 @@ packages:
/@types/matter-js@0.19.6:
resolution: {integrity: sha512-ffk6tqJM5scla+ThXmnox+mdfCo3qYk6yMjQsNcrbo6eQ5DqorVdtnaL+1agCoYzxUjmHeiNB7poBMAmhuLY7w==}
dev: true
/@types/mdurl@1.0.2:
resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==}
@ -8375,7 +8306,7 @@ packages:
/@types/seedrandom@3.0.8:
resolution: {integrity: sha512-TY1eezMU2zH2ozQoAFAQFOPpvP15g+ZgSfTZt31AUUH/Rxtnz3H+A/Sv1Snw2/amp//omibc+AEkTaA8KUeOLQ==}
dev: true
dev: false
/@types/semver@7.5.6:
resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==}
@ -8529,8 +8460,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3):
resolution: {integrity: sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==}
/@typescript-eslint/eslint-plugin@6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3):
resolution: {integrity: sha512-nISDRYnnIpk7VCFrGcu1rnZfM1Dh9LRHnfgdkjcbi/l7g16VYRri3TjXi9Ir4lOZSw5N/gnV/3H7jIPQ8Q4daA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
'@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
@ -8541,11 +8472,11 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.6.2
'@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/scope-manager': 6.19.0
'@typescript-eslint/type-utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.19.0
'@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/scope-manager': 6.18.1
'@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0
graphemer: 1.4.0
@ -8579,8 +8510,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3):
resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==}
/@typescript-eslint/parser@6.18.1(eslint@8.56.0)(typescript@5.3.3):
resolution: {integrity: sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
@ -8589,10 +8520,10 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 6.19.0
'@typescript-eslint/types': 6.19.0
'@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.19.0
'@typescript-eslint/scope-manager': 6.18.1
'@typescript-eslint/types': 6.18.1
'@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0
typescript: 5.3.3
@ -8616,12 +8547,12 @@ packages:
'@typescript-eslint/visitor-keys': 6.11.0
dev: true
/@typescript-eslint/scope-manager@6.19.0:
resolution: {integrity: sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==}
/@typescript-eslint/scope-manager@6.18.1:
resolution: {integrity: sha512-BgdBwXPFmZzaZUuw6wKiHKIovms97a7eTImjkXCZE04TGHysG+0hDQPmygyvgtkoB/aOQwSM/nWv3LzrOIQOBw==}
engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
'@typescript-eslint/types': 6.19.0
'@typescript-eslint/visitor-keys': 6.19.0
'@typescript-eslint/types': 6.18.1
'@typescript-eslint/visitor-keys': 6.18.1
dev: true
/@typescript-eslint/type-utils@6.11.0(eslint@8.53.0)(typescript@5.3.3):
@ -8644,8 +8575,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/type-utils@6.19.0(eslint@8.56.0)(typescript@5.3.3):
resolution: {integrity: sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==}
/@typescript-eslint/type-utils@6.18.1(eslint@8.56.0)(typescript@5.3.3):
resolution: {integrity: sha512-wyOSKhuzHeU/5pcRDP2G2Ndci+4g653V43gXTpt4nbyoIOAASkGDA9JIAgbQCdCkcr1MvpSYWzxTz0olCn8+/Q==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
@ -8654,8 +8585,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3)
'@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3)
'@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0
ts-api-utils: 1.0.1(typescript@5.3.3)
@ -8674,8 +8605,8 @@ packages:
engines: {node: ^16.0.0 || >=18.0.0}
dev: true
/@typescript-eslint/types@6.19.0:
resolution: {integrity: sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==}
/@typescript-eslint/types@6.18.1:
resolution: {integrity: sha512-4TuMAe+tc5oA7wwfqMtB0Y5OrREPF1GeJBAjqwgZh1lEMH5PJQgWgHGfYufVB51LtjD+peZylmeyxUXPfENLCw==}
engines: {node: ^16.0.0 || >=18.0.0}
dev: true
@ -8721,8 +8652,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/typescript-estree@6.19.0(typescript@5.3.3):
resolution: {integrity: sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==}
/@typescript-eslint/typescript-estree@6.18.1(typescript@5.3.3):
resolution: {integrity: sha512-fv9B94UAhywPRhUeeV/v+3SBDvcPiLxRZJw/xZeeGgRLQZ6rLMG+8krrJUyIf6s1ecWTzlsbp0rlw7n9sjufHA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
typescript: '*'
@ -8730,8 +8661,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 6.19.0
'@typescript-eslint/visitor-keys': 6.19.0
'@typescript-eslint/types': 6.18.1
'@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@8.1.1)
globby: 11.1.0
is-glob: 4.0.3
@ -8782,8 +8713,8 @@ packages:
- typescript
dev: true
/@typescript-eslint/utils@6.19.0(eslint@8.56.0)(typescript@5.3.3):
resolution: {integrity: sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==}
/@typescript-eslint/utils@6.18.1(eslint@8.56.0)(typescript@5.3.3):
resolution: {integrity: sha512-zZmTuVZvD1wpoceHvoQpOiewmWu3uP9FuTWo8vqpy2ffsmfCE8mklRPi+vmnIYAIk9t/4kOThri2QCDgor+OpQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
@ -8791,9 +8722,9 @@ packages:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
'@types/json-schema': 7.0.12
'@types/semver': 7.5.6
'@typescript-eslint/scope-manager': 6.19.0
'@typescript-eslint/types': 6.19.0
'@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3)
'@typescript-eslint/scope-manager': 6.18.1
'@typescript-eslint/types': 6.18.1
'@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3)
eslint: 8.56.0
semver: 7.5.4
transitivePeerDependencies:
@ -8817,11 +8748,11 @@ packages:
eslint-visitor-keys: 3.4.3
dev: true
/@typescript-eslint/visitor-keys@6.19.0:
resolution: {integrity: sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==}
/@typescript-eslint/visitor-keys@6.18.1:
resolution: {integrity: sha512-/kvt0C5lRqGoCfsbmm7/CwMqoSkY3zzHLIjdhHZQW3VFrnz7ATecOHR7nb7V+xn4286MBxfnQfQhAmCI0u+bJA==}
engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
'@typescript-eslint/types': 6.19.0
'@typescript-eslint/types': 6.18.1
eslint-visitor-keys: 3.4.3
dev: true
@ -8878,64 +8809,61 @@ packages:
vue: 3.4.15(typescript@5.3.3)
dev: false
/@vitest/coverage-v8@1.2.1(vitest@1.2.1):
resolution: {integrity: sha512-fJEhKaDwGMZtJUX7BRcGxooGwg1Hl0qt53mVup/ZJeznhvL5EodteVnb/mcByhEcvVWbK83ZF31c7nPEDi4LOQ==}
/@vitest/coverage-v8@0.34.6(vitest@0.34.6):
resolution: {integrity: sha512-fivy/OK2d/EsJFoEoxHFEnNGTg+MmdZBAVK9Ka4qhXR2K3J0DS08vcGVwzDtXSuUMabLv4KtPcpSKkcMXFDViw==}
peerDependencies:
vitest: ^1.0.0
vitest: '>=0.32.0 <1'
dependencies:
'@ampproject/remapping': 2.2.1
'@bcoe/v8-coverage': 0.2.3
debug: 4.3.4(supports-color@8.1.1)
istanbul-lib-coverage: 3.2.2
istanbul-lib-report: 3.0.1
istanbul-lib-source-maps: 4.0.1
istanbul-reports: 3.1.6
magic-string: 0.30.5
magicast: 0.3.3
picocolors: 1.0.0
std-env: 3.7.0
test-exclude: 6.0.0
v8-to-istanbul: 9.2.0
vitest: 1.2.1(@types/node@20.11.5)(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0)
vitest: 0.34.6(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0)
transitivePeerDependencies:
- supports-color
dev: true
/@vitest/expect@1.2.1:
resolution: {integrity: sha512-/bqGXcHfyKgFWYwIgFr1QYDaR9e64pRKxgBNWNXPefPFRhgm+K3+a/dS0cUGEreWngets3dlr8w8SBRw2fCfFQ==}
/@vitest/expect@0.34.6:
resolution: {integrity: sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==}
dependencies:
'@vitest/spy': 1.2.1
'@vitest/utils': 1.2.1
'@vitest/spy': 0.34.6
'@vitest/utils': 0.34.6
chai: 4.3.10
dev: true
/@vitest/runner@1.2.1:
resolution: {integrity: sha512-zc2dP5LQpzNzbpaBt7OeYAvmIsRS1KpZQw4G3WM/yqSV1cQKNKwLGmnm79GyZZjMhQGlRcSFMImLjZaUQvNVZQ==}
/@vitest/runner@0.34.6:
resolution: {integrity: sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==}
dependencies:
'@vitest/utils': 1.2.1
p-limit: 5.0.0
'@vitest/utils': 0.34.6
p-limit: 4.0.0
pathe: 1.1.1
dev: true
/@vitest/snapshot@1.2.1:
resolution: {integrity: sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==}
/@vitest/snapshot@0.34.6:
resolution: {integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==}
dependencies:
magic-string: 0.30.5
pathe: 1.1.1
pretty-format: 29.7.0
dev: true
/@vitest/spy@1.2.1:
resolution: {integrity: sha512-vG3a/b7INKH7L49Lbp0IWrG6sw9j4waWAucwnksPB1r1FTJgV7nkBByd9ufzu6VWya/QTvQW4V9FShZbZIB2UQ==}
/@vitest/spy@0.34.6:
resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==}
dependencies:
tinyspy: 2.2.0
dev: true
/@vitest/utils@1.2.1:
resolution: {integrity: sha512-bsH6WVZYe/J2v3+81M5LDU8kW76xWObKIURpPrOXm2pjBniBu2MERI/XP60GpS4PHU3jyK50LUutOwrx4CyHUg==}
/@vitest/utils@0.34.6:
resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==}
dependencies:
diff-sequences: 29.6.3
estree-walker: 3.0.3
loupe: 2.3.7
pretty-format: 29.7.0
dev: true
@ -10212,7 +10140,7 @@ packages:
check-error: 1.0.3
deep-eql: 4.1.3
get-func-name: 2.0.2
loupe: 2.3.6
loupe: 2.3.7
pathval: 1.1.1
type-detect: 4.0.8
dev: true
@ -11817,7 +11745,7 @@ packages:
- supports-color
dev: true
/eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0):
/eslint-module-utils@2.8.0(@typescript-eslint/parser@6.18.1)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'}
peerDependencies:
@ -11838,7 +11766,7 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
debug: 3.2.7(supports-color@8.1.1)
eslint: 8.56.0
eslint-import-resolver-node: 0.3.9
@ -11881,7 +11809,7 @@ packages:
- supports-color
dev: true
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0):
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0):
resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
engines: {node: '>=4'}
peerDependencies:
@ -11891,7 +11819,7 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
array-includes: 3.1.7
array.prototype.findlastindex: 1.2.3
array.prototype.flat: 1.3.2
@ -11900,7 +11828,7 @@ packages:
doctrine: 2.1.0
eslint: 8.56.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0)
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.18.1)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0)
hasown: 2.0.0
is-core-module: 2.13.1
is-glob: 4.0.3
@ -12110,6 +12038,7 @@ packages:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
dependencies:
'@types/estree': 1.0.5
dev: false
/esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
@ -15163,12 +15092,9 @@ packages:
wrap-ansi: 7.0.0
dev: true
/local-pkg@0.5.0:
resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
/local-pkg@0.4.3:
resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
engines: {node: '>=14'}
dependencies:
mlly: 1.4.2
pkg-types: 1.0.3
dev: true
/locate-path@3.0.0:
@ -15267,13 +15193,6 @@ packages:
js-tokens: 4.0.0
dev: true
/loupe@2.3.6:
resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
deprecated: Please upgrade to 2.3.7 which fixes GHSA-4q6p-r6v2-jvc5
dependencies:
get-func-name: 2.0.2
dev: true
/loupe@2.3.7:
resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
dependencies:
@ -15340,14 +15259,6 @@ packages:
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
/magicast@0.3.3:
resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==}
dependencies:
'@babel/parser': 7.23.6
'@babel/types': 7.23.6
source-map-js: 1.0.2
dev: true
/mailcheck@1.1.1:
resolution: {integrity: sha512-3WjL8+ZDouZwKlyJBMp/4LeziLFXgleOdsYu87piGcMLqhBzCsy2QFdbtAwv757TFC/rtqd738fgJw1tFQCSgA==}
dev: false
@ -16518,9 +16429,9 @@ packages:
dependencies:
yocto-queue: 0.1.0
/p-limit@5.0.0:
resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
engines: {node: '>=18'}
/p-limit@4.0.0:
resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
yocto-queue: 1.0.0
dev: true
@ -19598,8 +19509,8 @@ packages:
hasBin: true
dev: false
/tinypool@0.8.2:
resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==}
/tinypool@0.7.0:
resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==}
engines: {node: '>=14.0.0'}
dev: true
@ -20333,13 +20244,14 @@ packages:
core-util-is: 1.0.2
extsprintf: 1.3.0
/vite-node@1.2.1(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0):
resolution: {integrity: sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==}
engines: {node: ^18.0.0 || >=20.0.0}
/vite-node@0.34.6(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0):
resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==}
engines: {node: '>=v14.18.0'}
hasBin: true
dependencies:
cac: 6.7.14
debug: 4.3.4(supports-color@8.1.1)
mlly: 1.4.2
pathe: 1.1.1
picocolors: 1.0.0
vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0)
@ -20395,34 +20307,34 @@ packages:
optionalDependencies:
fsevents: 2.3.3
/vitest-fetch-mock@0.2.2(vitest@1.2.1):
/vitest-fetch-mock@0.2.2(vitest@0.34.6):
resolution: {integrity: sha512-XmH6QgTSjCWrqXoPREIdbj40T7i1xnGmAsTAgfckoO75W1IEHKR8hcPCQ7SO16RsdW1t85oUm6pcQRLeBgjVYQ==}
engines: {node: '>=14.14.0'}
peerDependencies:
vitest: '>=0.16.0'
dependencies:
cross-fetch: 3.1.5
vitest: 1.2.1(@types/node@20.11.5)(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0)
vitest: 0.34.6(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0)
transitivePeerDependencies:
- encoding
dev: true
/vitest@1.2.1(@types/node@20.11.5)(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0):
resolution: {integrity: sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==}
engines: {node: ^18.0.0 || >=20.0.0}
/vitest@0.34.6(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0):
resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==}
engines: {node: '>=v14.18.0'}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@types/node': ^18.0.0 || >=20.0.0
'@vitest/browser': ^1.0.0
'@vitest/ui': ^1.0.0
'@vitest/browser': '*'
'@vitest/ui': '*'
happy-dom: '*'
jsdom: '*'
playwright: '*'
safaridriver: '*'
webdriverio: '*'
peerDependenciesMeta:
'@edge-runtime/vm':
optional: true
'@types/node':
optional: true
'@vitest/browser':
optional: true
'@vitest/ui':
@ -20431,29 +20343,37 @@ packages:
optional: true
jsdom:
optional: true
playwright:
optional: true
safaridriver:
optional: true
webdriverio:
optional: true
dependencies:
'@types/chai': 4.3.11
'@types/chai-subset': 1.3.5
'@types/node': 20.11.5
'@vitest/expect': 1.2.1
'@vitest/runner': 1.2.1
'@vitest/snapshot': 1.2.1
'@vitest/spy': 1.2.1
'@vitest/utils': 1.2.1
'@vitest/expect': 0.34.6
'@vitest/runner': 0.34.6
'@vitest/snapshot': 0.34.6
'@vitest/spy': 0.34.6
'@vitest/utils': 0.34.6
acorn: 8.11.3
acorn-walk: 8.3.2
cac: 6.7.14
chai: 4.3.10
debug: 4.3.4(supports-color@8.1.1)
execa: 8.0.1
happy-dom: 10.0.3
local-pkg: 0.5.0
local-pkg: 0.4.3
magic-string: 0.30.5
pathe: 1.1.1
picocolors: 1.0.0
std-env: 3.7.0
strip-literal: 1.3.0
tinybench: 2.6.0
tinypool: 0.8.2
tinypool: 0.7.0
vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0)
vite-node: 1.2.1(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0)
vite-node: 0.34.6(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0)
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less
@ -21048,7 +20968,7 @@ packages:
engines: {vscode: ^1.83.0}
dev: false
github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@7.6.10)(@storybook/components@7.6.5)(@storybook/core-events@7.6.10)(@storybook/manager-api@7.6.10)(@storybook/preview-api@7.6.10)(@storybook/theming@7.6.10)(@storybook/types@7.6.10)(react-dom@18.2.0)(react@18.2.0):
github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@7.6.10)(@storybook/components@7.6.10)(@storybook/core-events@7.6.10)(@storybook/manager-api@7.6.10)(@storybook/preview-api@7.6.10)(@storybook/theming@7.6.10)(@storybook/types@7.6.10)(react-dom@18.2.0)(react@18.2.0):
resolution: {tarball: https://codeload.github.com/misskey-dev/storybook-addon-misskey-theme/tar.gz/cf583db098365b2ccc81a82f63ca9c93bc32b640}
id: github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640
name: storybook-addon-misskey-theme
@ -21070,7 +20990,7 @@ packages:
optional: true
dependencies:
'@storybook/blocks': 7.6.10(react-dom@18.2.0)(react@18.2.0)
'@storybook/components': 7.6.5(react-dom@18.2.0)(react@18.2.0)
'@storybook/components': 7.6.10(react-dom@18.2.0)(react@18.2.0)
'@storybook/core-events': 7.6.10
'@storybook/manager-api': 7.6.10(react-dom@18.2.0)(react@18.2.0)
'@storybook/preview-api': 7.6.10