wip
This commit is contained in:
		| @@ -134,6 +134,7 @@ | |||||||
| 		"microformats-parser": "2.0.2", | 		"microformats-parser": "2.0.2", | ||||||
| 		"mime-types": "2.1.35", | 		"mime-types": "2.1.35", | ||||||
| 		"misskey-js": "workspace:*", | 		"misskey-js": "workspace:*", | ||||||
|  | 		"misskey-reversi": "workspace:*", | ||||||
| 		"ms": "3.0.0-canary.1", | 		"ms": "3.0.0-canary.1", | ||||||
| 		"nanoid": "5.0.4", | 		"nanoid": "5.0.4", | ||||||
| 		"nested-property": "4.0.0", | 		"nested-property": "4.0.0", | ||||||
|   | |||||||
| @@ -7,32 +7,26 @@ import { Inject, Injectable } from '@nestjs/common'; | |||||||
| import * as Redis from 'ioredis'; | import * as Redis from 'ioredis'; | ||||||
| import { In } from 'typeorm'; | import { In } from 'typeorm'; | ||||||
| import { ModuleRef } from '@nestjs/core'; | import { ModuleRef } from '@nestjs/core'; | ||||||
|  | import * as Reversi from 'misskey-reversi'; | ||||||
| import type { | import type { | ||||||
| 	MiReversiGame, | 	MiReversiGame, | ||||||
| 	MiRole, |  | ||||||
| 	MiRoleAssignment, |  | ||||||
| 	ReversiGamesRepository, | 	ReversiGamesRepository, | ||||||
| 	ReversiMatchingsRepository, | 	ReversiMatchingsRepository, | ||||||
| 	RoleAssignmentsRepository, |  | ||||||
| 	RolesRepository, |  | ||||||
| 	UsersRepository, | 	UsersRepository, | ||||||
| } from '@/models/_.js'; | } from '@/models/_.js'; | ||||||
| import { MemoryKVCache, MemorySingleCache } from '@/misc/cache.js'; |  | ||||||
| import type { MiUser } from '@/models/User.js'; | import type { MiUser } from '@/models/User.js'; | ||||||
| import { DI } from '@/di-symbols.js'; | import { DI } from '@/di-symbols.js'; | ||||||
| import { bindThis } from '@/decorators.js'; | import { bindThis } from '@/decorators.js'; | ||||||
| import { MetaService } from '@/core/MetaService.js'; | import { MetaService } from '@/core/MetaService.js'; | ||||||
| import { CacheService } from '@/core/CacheService.js'; | import { CacheService } from '@/core/CacheService.js'; | ||||||
| import type { RoleCondFormulaValue } from '@/models/Role.js'; |  | ||||||
| import { UserEntityService } from '@/core/entities/UserEntityService.js'; | import { UserEntityService } from '@/core/entities/UserEntityService.js'; | ||||||
| import type { GlobalEvents } from '@/core/GlobalEventService.js'; | import type { GlobalEvents } from '@/core/GlobalEventService.js'; | ||||||
| import { GlobalEventService } from '@/core/GlobalEventService.js'; | import { GlobalEventService } from '@/core/GlobalEventService.js'; | ||||||
| import { IdService } from '@/core/IdService.js'; | import { IdService } from '@/core/IdService.js'; | ||||||
| import { ModerationLogService } from '@/core/ModerationLogService.js'; |  | ||||||
| import type { Packed } from '@/misc/json-schema.js'; | import type { Packed } from '@/misc/json-schema.js'; | ||||||
| import { FanoutTimelineService } from '@/core/FanoutTimelineService.js'; |  | ||||||
| import { NotificationService } from '@/core/NotificationService.js'; | import { NotificationService } from '@/core/NotificationService.js'; | ||||||
| import { ReversiMatchingEntityService } from '@/core/entities/ReversiMatchingEntityService.js'; | import { ReversiMatchingEntityService } from '@/core/entities/ReversiMatchingEntityService.js'; | ||||||
|  | import { ReversiGameEntityService } from './entities/ReversiGameEntityService.js'; | ||||||
| import type { OnApplicationShutdown, OnModuleInit } from '@nestjs/common'; | import type { OnApplicationShutdown, OnModuleInit } from '@nestjs/common'; | ||||||
|  |  | ||||||
| @Injectable() | @Injectable() | ||||||
| @@ -64,6 +58,7 @@ export class ReversiService implements OnApplicationShutdown, OnModuleInit { | |||||||
| 		private cacheService: CacheService, | 		private cacheService: CacheService, | ||||||
| 		private userEntityService: UserEntityService, | 		private userEntityService: UserEntityService, | ||||||
| 		private globalEventService: GlobalEventService, | 		private globalEventService: GlobalEventService, | ||||||
|  | 		private reversiGameEntityService: ReversiGameEntityService, | ||||||
| 		private reversiMatchingsEntityService: ReversiMatchingEntityService, | 		private reversiMatchingsEntityService: ReversiMatchingEntityService, | ||||||
| 		private idService: IdService, | 		private idService: IdService, | ||||||
| 	) { | 	) { | ||||||
| @@ -96,18 +91,18 @@ export class ReversiService implements OnApplicationShutdown, OnModuleInit { | |||||||
| 				isStarted: false, | 				isStarted: false, | ||||||
| 				isEnded: false, | 				isEnded: false, | ||||||
| 				logs: [], | 				logs: [], | ||||||
| 				map: eighteight.data, | 				map: Reversi.maps.eighteight.data, | ||||||
| 				bw: 'random', | 				bw: 'random', | ||||||
| 				isLlotheo: false, | 				isLlotheo: false, | ||||||
| 			}).then(x => this.reversiGamesRepository.findOneByOrFail(x.identifiers[0])); | 			}).then(x => this.reversiGamesRepository.findOneByOrFail(x.identifiers[0])); | ||||||
|  |  | ||||||
| 			publishReversiStream(exist.parentId, 'matched', await ReversiGames.pack(game, { id: exist.parentId })); | 			publishReversiStream(exist.parentId, 'matched', await this.reversiGameEntityService.pack(game, { id: exist.parentId })); | ||||||
|  |  | ||||||
| 			const other = await this.reversiMatchingsRepository.countBy({ | 			const other = await this.reversiMatchingsRepository.countBy({ | ||||||
| 				childId: me.id, | 				childId: me.id, | ||||||
| 			}); | 			}); | ||||||
|  |  | ||||||
| 			if (other == 0) { | 			if (other === 0) { | ||||||
| 				publishMainStream(me.id, 'reversiNoInvites'); | 				publishMainStream(me.id, 'reversiNoInvites'); | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| @@ -133,6 +128,18 @@ export class ReversiService implements OnApplicationShutdown, OnModuleInit { | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	@bindThis | ||||||
|  | 	public async matchCancel(user: MiUser) { | ||||||
|  | 		await this.reversiMatchingsRepository.delete({ | ||||||
|  | 			parentId: user.id, | ||||||
|  | 		}); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@bindThis | ||||||
|  | 	public async get(id: MiReversiGame['id']) { | ||||||
|  | 		return this.reversiGamesRepository.findOneBy({ id }); | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	@bindThis | 	@bindThis | ||||||
| 	public dispose(): void { | 	public dispose(): void { | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -0,0 +1,38 @@ | |||||||
|  | /* | ||||||
|  |  * SPDX-FileCopyrightText: syuilo and other misskey contributors | ||||||
|  |  * SPDX-License-Identifier: AGPL-3.0-only | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | import { Injectable } from '@nestjs/common'; | ||||||
|  | import { Endpoint } from '@/server/api/endpoint-base.js'; | ||||||
|  | import { ReversiService } from '@/core/ReversiService.js'; | ||||||
|  |  | ||||||
|  | export const meta = { | ||||||
|  | 	requireCredential: true, | ||||||
|  |  | ||||||
|  | 	kind: 'write:account', | ||||||
|  |  | ||||||
|  | 	errors: { | ||||||
|  | 	}, | ||||||
|  |  | ||||||
|  | 	res: { | ||||||
|  | 	}, | ||||||
|  | } as const; | ||||||
|  |  | ||||||
|  | export const paramDef = { | ||||||
|  | 	type: 'object', | ||||||
|  | 	properties: { | ||||||
|  | 	}, | ||||||
|  | 	required: [], | ||||||
|  | } as const; | ||||||
|  |  | ||||||
|  | @Injectable() | ||||||
|  | export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-disable-line import/no-default-export | ||||||
|  | 	constructor( | ||||||
|  | 		private reversiService: ReversiService, | ||||||
|  | 	) { | ||||||
|  | 		super(meta, paramDef, async (ps, me) => { | ||||||
|  | 			await this.reversiService.matchCancel(me); | ||||||
|  | 		}); | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,52 @@ | |||||||
|  | /* | ||||||
|  |  * SPDX-FileCopyrightText: syuilo and other misskey contributors | ||||||
|  |  * SPDX-License-Identifier: AGPL-3.0-only | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | import { Injectable } from '@nestjs/common'; | ||||||
|  | import { Endpoint } from '@/server/api/endpoint-base.js'; | ||||||
|  | import { ReversiService } from '@/core/ReversiService.js'; | ||||||
|  | import { ReversiGameEntityService } from '@/core/entities/ReversiGameEntityService.js'; | ||||||
|  | import { ApiError } from '../../error.js'; | ||||||
|  |  | ||||||
|  | export const meta = { | ||||||
|  | 	requireCredential: false, | ||||||
|  |  | ||||||
|  | 	errors: { | ||||||
|  | 		noSuchGame: { | ||||||
|  | 			message: 'No such game.', | ||||||
|  | 			code: 'NO_SUCH_GAME', | ||||||
|  | 			id: 'f13a03db-fae1-46c9-87f3-43c8165419e1', | ||||||
|  | 		}, | ||||||
|  | 	}, | ||||||
|  |  | ||||||
|  | 	res: { | ||||||
|  | 		ref: 'ReversiGame', | ||||||
|  | 	}, | ||||||
|  | } as const; | ||||||
|  |  | ||||||
|  | export const paramDef = { | ||||||
|  | 	type: 'object', | ||||||
|  | 	properties: { | ||||||
|  | 		gameId: { type: 'string', format: 'misskey:id' }, | ||||||
|  | 	}, | ||||||
|  | 	required: ['gameId'], | ||||||
|  | } as const; | ||||||
|  |  | ||||||
|  | @Injectable() | ||||||
|  | export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-disable-line import/no-default-export | ||||||
|  | 	constructor( | ||||||
|  | 		private reversiService: ReversiService, | ||||||
|  | 		private reversiGameEntityService: ReversiGameEntityService, | ||||||
|  | 	) { | ||||||
|  | 		super(meta, paramDef, async (ps, me) => { | ||||||
|  | 			const game = await this.reversiService.get(ps.gameId); | ||||||
|  |  | ||||||
|  | 			if (game == null) { | ||||||
|  | 				throw new ApiError(meta.errors.noSuchGame); | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			return await this.reversiGameEntityService.pack(game, me); | ||||||
|  | 		}); | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -53,6 +53,7 @@ | |||||||
| 		"matter-js": "0.19.0", | 		"matter-js": "0.19.0", | ||||||
| 		"mfm-js": "0.24.0", | 		"mfm-js": "0.24.0", | ||||||
| 		"misskey-js": "workspace:*", | 		"misskey-js": "workspace:*", | ||||||
|  | 		"misskey-reversi": "workspace:*", | ||||||
| 		"photoswipe": "5.4.3", | 		"photoswipe": "5.4.3", | ||||||
| 		"punycode": "2.3.1", | 		"punycode": "2.3.1", | ||||||
| 		"rollup": "4.9.1", | 		"rollup": "4.9.1", | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| { | { | ||||||
| 	"name": "reversi", | 	"name": "misskey-reversi", | ||||||
| 	"version": "0.0.1", | 	"version": "0.0.1", | ||||||
| 	"main": "./built/index.js", | 	"main": "./built/index.js", | ||||||
| 	"types": "./built/index.d.ts", | 	"types": "./built/index.d.ts", | ||||||
| @@ -11,10 +11,10 @@ | |||||||
| 		"lint": "pnpm typecheck && pnpm eslint" | 		"lint": "pnpm typecheck && pnpm eslint" | ||||||
| 	}, | 	}, | ||||||
| 	"devDependencies": { | 	"devDependencies": { | ||||||
| 		"@misskey-dev/eslint-plugin": "^1.0.0", | 		"@misskey-dev/eslint-plugin": "1.0.0", | ||||||
| 		"@types/node": "20.10.5", | 		"@types/node": "20.11.5", | ||||||
| 		"@typescript-eslint/eslint-plugin": "6.14.0", | 		"@typescript-eslint/eslint-plugin": "6.19.0", | ||||||
| 		"@typescript-eslint/parser": "6.14.0", | 		"@typescript-eslint/parser": "6.19.0", | ||||||
| 		"eslint": "8.56.0", | 		"eslint": "8.56.0", | ||||||
| 		"typescript": "5.3.3" | 		"typescript": "5.3.3" | ||||||
| 	}, | 	}, | ||||||
| @@ -31,7 +31,7 @@ export type Undo = { | |||||||
| 	turn: Color | null; | 	turn: Color | null; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| export class ReversiGame { | export class Game { | ||||||
| 	public map: MapCell[]; | 	public map: MapCell[]; | ||||||
| 	public mapWidth: number; | 	public mapWidth: number; | ||||||
| 	public mapHeight: number; | 	public mapHeight: number; | ||||||
| @@ -79,13 +79,13 @@ export class ReversiGame { | |||||||
| 		return this.board.filter(x => x === WHITE).length; | 		return this.board.filter(x => x === WHITE).length; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	public transformPosToXy(pos: number): number[] { | 	public posToXy(pos: number): number[] { | ||||||
| 		const x = pos % this.mapWidth; | 		const x = pos % this.mapWidth; | ||||||
| 		const y = Math.floor(pos / this.mapWidth); | 		const y = Math.floor(pos / this.mapWidth); | ||||||
| 		return [x, y]; | 		return [x, y]; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	public transformXyToPos(x: number, y: number): number { | 	public xyToPos(x: number, y: number): number { | ||||||
| 		return x + (y * this.mapWidth); | 		return x + (y * this.mapWidth); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| @@ -136,7 +136,7 @@ export class ReversiGame { | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	public mapDataGet(pos: number): MapCell { | 	public mapDataGet(pos: number): MapCell { | ||||||
| 		const [x, y] = this.transformPosToXy(pos); | 		const [x, y] = this.posToXy(pos); | ||||||
| 		return x < 0 || y < 0 || x >= this.mapWidth || y >= this.mapHeight ? 'null' : this.map[pos]; | 		return x < 0 || y < 0 || x >= this.mapWidth || y >= this.mapHeight ? 'null' : this.map[pos]; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| @@ -165,25 +165,25 @@ export class ReversiGame { | |||||||
| 
 | 
 | ||||||
| 		const diffVectors: [number, number][] = [ | 		const diffVectors: [number, number][] = [ | ||||||
| 			[ 0, -1], // 上
 | 			[ 0, -1], // 上
 | ||||||
| 			[ +1,  -1], // 右上
 | 			[+1, -1], // 右上
 | ||||||
| 			[ +1,   0], // 右
 | 			[+1,  0], // 右
 | ||||||
| 			[ +1,  +1], // 右下
 | 			[+1, +1], // 右下
 | ||||||
| 			[ 0, +1], // 下
 | 			[ 0, +1], // 下
 | ||||||
| 			[ -1,  +1], // 左下
 | 			[-1, +1], // 左下
 | ||||||
| 			[ -1,   0], // 左
 | 			[-1,  0], // 左
 | ||||||
| 			[ -1,  -1]  // 左上
 | 			[-1, -1]  // 左上
 | ||||||
| 		]; | 		]; | ||||||
| 
 | 
 | ||||||
| 		const effectsInLine = ([dx, dy]: [number, number]): number[] => { | 		const effectsInLine = ([dx, dy]: [number, number]): number[] => { | ||||||
| 			const nextPos = (x: number, y: number): [number, number] => [x + dx, y + dy]; | 			const nextPos = (x: number, y: number): [number, number] => [x + dx, y + dy]; | ||||||
| 
 | 
 | ||||||
| 			const found: number[] = []; // 挟めるかもしれない相手の石を入れておく配列
 | 			const found: number[] = []; // 挟めるかもしれない相手の石を入れておく配列
 | ||||||
| 			let [x, y] = this.transformPosToXy(initPos); | 			let [x, y] = this.posToXy(initPos); | ||||||
| 			while (true) { | 			while (true) { | ||||||
| 				[x, y] = nextPos(x, y); | 				[x, y] = nextPos(x, y); | ||||||
| 
 | 
 | ||||||
| 				// 座標が指し示す位置がボード外に出たとき
 | 				// 座標が指し示す位置がボード外に出たとき
 | ||||||
| 				if (this.opts.loopedBoard && this.transformXyToPos( | 				if (this.opts.loopedBoard && this.xyToPos( | ||||||
| 					(x = ((x % this.mapWidth) + this.mapWidth) % this.mapWidth), | 					(x = ((x % this.mapWidth) + this.mapWidth) % this.mapWidth), | ||||||
| 					(y = ((y % this.mapHeight) + this.mapHeight) % this.mapHeight)) === initPos) | 					(y = ((y % this.mapHeight) + this.mapHeight) % this.mapHeight)) === initPos) | ||||||
| 						// 盤面の境界でループし、自分が石を置く位置に戻ってきたとき、挟めるようにしている (ref: Test4のマップ)
 | 						// 盤面の境界でループし、自分が石を置く位置に戻ってきたとき、挟めるようにしている (ref: Test4のマップ)
 | ||||||
| @@ -191,7 +191,7 @@ export class ReversiGame { | |||||||
| 				else if (x === -1 || y === -1 || x === this.mapWidth || y === this.mapHeight) | 				else if (x === -1 || y === -1 || x === this.mapWidth || y === this.mapHeight) | ||||||
| 					return []; // 挟めないことが確定 (盤面外に到達)
 | 					return []; // 挟めないことが確定 (盤面外に到達)
 | ||||||
| 
 | 
 | ||||||
| 				const pos = this.transformXyToPos(x, y); | 				const pos = this.xyToPos(x, y); | ||||||
| 				if (this.mapDataGet(pos) === 'null') return []; // 挟めないことが確定 (配置不可能なマスに到達)
 | 				if (this.mapDataGet(pos) === 'null') return []; // 挟めないことが確定 (配置不可能なマスに到達)
 | ||||||
| 				const stone = this.board[pos]; | 				const stone = this.board[pos]; | ||||||
| 				if (stone === null) return []; // 挟めないことが確定 (石が置かれていないマスに到達)
 | 				if (stone === null) return []; // 挟めないことが確定 (石が置かれていないマスに到達)
 | ||||||
							
								
								
									
										7
									
								
								packages/misskey-reversi/src/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								packages/misskey-reversi/src/index.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | import { Game } from './game.js'; | ||||||
|  |  | ||||||
|  | export { | ||||||
|  | 	Game, | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | export * as maps from './maps.js'; | ||||||
							
								
								
									
										387
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										387
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							| @@ -266,6 +266,9 @@ importers: | |||||||
|       misskey-js: |       misskey-js: | ||||||
|         specifier: workspace:* |         specifier: workspace:* | ||||||
|         version: link:../misskey-js |         version: link:../misskey-js | ||||||
|  |       misskey-reversi: | ||||||
|  |         specifier: workspace:* | ||||||
|  |         version: link:../misskey-reversi | ||||||
|       ms: |       ms: | ||||||
|         specifier: 3.0.0-canary.1 |         specifier: 3.0.0-canary.1 | ||||||
|         version: 3.0.0-canary.1 |         version: 3.0.0-canary.1 | ||||||
| @@ -775,6 +778,9 @@ importers: | |||||||
|       misskey-js: |       misskey-js: | ||||||
|         specifier: workspace:* |         specifier: workspace:* | ||||||
|         version: link:../misskey-js |         version: link:../misskey-js | ||||||
|  |       misskey-reversi: | ||||||
|  |         specifier: workspace:* | ||||||
|  |         version: link:../misskey-reversi | ||||||
|       photoswipe: |       photoswipe: | ||||||
|         specifier: 5.4.3 |         specifier: 5.4.3 | ||||||
|         version: 5.4.3 |         version: 5.4.3 | ||||||
| @@ -1117,6 +1123,27 @@ importers: | |||||||
|         specifier: 5.3.3 |         specifier: 5.3.3 | ||||||
|         version: 5.3.3 |         version: 5.3.3 | ||||||
|  |  | ||||||
|  |   packages/misskey-reversi: | ||||||
|  |     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/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) | ||||||
|  |       '@typescript-eslint/parser': | ||||||
|  |         specifier: 6.19.0 | ||||||
|  |         version: 6.19.0(eslint@8.56.0)(typescript@5.3.3) | ||||||
|  |       eslint: | ||||||
|  |         specifier: 8.56.0 | ||||||
|  |         version: 8.56.0 | ||||||
|  |       typescript: | ||||||
|  |         specifier: 5.3.3 | ||||||
|  |         version: 5.3.3 | ||||||
|  |  | ||||||
|   packages/sw: |   packages/sw: | ||||||
|     dependencies: |     dependencies: | ||||||
|       esbuild: |       esbuild: | ||||||
| @@ -1131,7 +1158,7 @@ importers: | |||||||
|     devDependencies: |     devDependencies: | ||||||
|       '@misskey-dev/eslint-plugin': |       '@misskey-dev/eslint-plugin': | ||||||
|         specifier: ^1.0.0 |         specifier: ^1.0.0 | ||||||
|         version: 1.0.0(@typescript-eslint/eslint-plugin@6.14.0)(@typescript-eslint/parser@6.14.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) |         version: 1.0.0(@typescript-eslint/eslint-plugin@6.19.0)(@typescript-eslint/parser@6.14.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) | ||||||
|       '@typescript-eslint/parser': |       '@typescript-eslint/parser': | ||||||
|         specifier: 6.14.0 |         specifier: 6.14.0 | ||||||
|         version: 6.14.0(eslint@8.56.0)(typescript@5.3.3) |         version: 6.14.0(eslint@8.56.0)(typescript@5.3.3) | ||||||
| @@ -4574,7 +4601,7 @@ packages: | |||||||
|     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} |     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       chalk: 4.1.2 |       chalk: 4.1.2 | ||||||
|       jest-message-util: 29.7.0 |       jest-message-util: 29.7.0 | ||||||
|       jest-util: 29.7.0 |       jest-util: 29.7.0 | ||||||
| @@ -4595,14 +4622,14 @@ packages: | |||||||
|       '@jest/test-result': 29.7.0 |       '@jest/test-result': 29.7.0 | ||||||
|       '@jest/transform': 29.7.0 |       '@jest/transform': 29.7.0 | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       ansi-escapes: 4.3.2 |       ansi-escapes: 4.3.2 | ||||||
|       chalk: 4.1.2 |       chalk: 4.1.2 | ||||||
|       ci-info: 3.7.1 |       ci-info: 3.7.1 | ||||||
|       exit: 0.1.2 |       exit: 0.1.2 | ||||||
|       graceful-fs: 4.2.11 |       graceful-fs: 4.2.11 | ||||||
|       jest-changed-files: 29.7.0 |       jest-changed-files: 29.7.0 | ||||||
|       jest-config: 29.7.0(@types/node@20.10.5) |       jest-config: 29.7.0(@types/node@20.11.5) | ||||||
|       jest-haste-map: 29.7.0 |       jest-haste-map: 29.7.0 | ||||||
|       jest-message-util: 29.7.0 |       jest-message-util: 29.7.0 | ||||||
|       jest-regex-util: 29.6.3 |       jest-regex-util: 29.6.3 | ||||||
| @@ -4637,7 +4664,7 @@ packages: | |||||||
|     dependencies: |     dependencies: | ||||||
|       '@jest/fake-timers': 29.7.0 |       '@jest/fake-timers': 29.7.0 | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       jest-mock: 29.7.0 |       jest-mock: 29.7.0 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
| @@ -4664,7 +4691,7 @@ packages: | |||||||
|     dependencies: |     dependencies: | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@sinonjs/fake-timers': 10.3.0 |       '@sinonjs/fake-timers': 10.3.0 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       jest-message-util: 29.7.0 |       jest-message-util: 29.7.0 | ||||||
|       jest-mock: 29.7.0 |       jest-mock: 29.7.0 | ||||||
|       jest-util: 29.7.0 |       jest-util: 29.7.0 | ||||||
| @@ -4697,7 +4724,7 @@ packages: | |||||||
|       '@jest/transform': 29.7.0 |       '@jest/transform': 29.7.0 | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@jridgewell/trace-mapping': 0.3.18 |       '@jridgewell/trace-mapping': 0.3.18 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       chalk: 4.1.2 |       chalk: 4.1.2 | ||||||
|       collect-v8-coverage: 1.0.1 |       collect-v8-coverage: 1.0.1 | ||||||
|       exit: 0.1.2 |       exit: 0.1.2 | ||||||
| @@ -4791,7 +4818,7 @@ packages: | |||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/istanbul-lib-coverage': 2.0.4 |       '@types/istanbul-lib-coverage': 2.0.4 | ||||||
|       '@types/istanbul-reports': 3.0.1 |       '@types/istanbul-reports': 3.0.1 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       '@types/yargs': 16.0.5 |       '@types/yargs': 16.0.5 | ||||||
|       chalk: 4.1.2 |       chalk: 4.1.2 | ||||||
|     dev: true |     dev: true | ||||||
| @@ -4803,7 +4830,7 @@ packages: | |||||||
|       '@jest/schemas': 29.6.3 |       '@jest/schemas': 29.6.3 | ||||||
|       '@types/istanbul-lib-coverage': 2.0.4 |       '@types/istanbul-lib-coverage': 2.0.4 | ||||||
|       '@types/istanbul-reports': 3.0.1 |       '@types/istanbul-reports': 3.0.1 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       '@types/yargs': 17.0.19 |       '@types/yargs': 17.0.19 | ||||||
|       chalk: 4.1.2 |       chalk: 4.1.2 | ||||||
|     dev: true |     dev: true | ||||||
| @@ -4995,6 +5022,34 @@ packages: | |||||||
|       eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.14.0)(eslint@8.56.0) |       eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.14.0)(eslint@8.56.0) | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|  |   /@misskey-dev/eslint-plugin@1.0.0(@typescript-eslint/eslint-plugin@6.19.0)(@typescript-eslint/parser@6.14.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0): | ||||||
|  |     resolution: {integrity: sha512-dh6UbcrNDVg5DD8k8Qh4ab30OPpuEYIlJCqaBV/lkIV8wNN/AfCJ2V7iTP8V8KjryM4t+sf5IqzQLQnT0mWI4A==} | ||||||
|  |     peerDependencies: | ||||||
|  |       '@typescript-eslint/eslint-plugin': '>= 6' | ||||||
|  |       '@typescript-eslint/parser': '>= 6' | ||||||
|  |       eslint: '>= 3' | ||||||
|  |       eslint-plugin-import: '>= 2' | ||||||
|  |     dependencies: | ||||||
|  |       '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.14.0)(eslint@8.56.0)(typescript@5.3.3) | ||||||
|  |       '@typescript-eslint/parser': 6.14.0(eslint@8.56.0)(typescript@5.3.3) | ||||||
|  |       eslint: 8.56.0 | ||||||
|  |       eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.14.0)(eslint@8.56.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): | ||||||
|  |     resolution: {integrity: sha512-dh6UbcrNDVg5DD8k8Qh4ab30OPpuEYIlJCqaBV/lkIV8wNN/AfCJ2V7iTP8V8KjryM4t+sf5IqzQLQnT0mWI4A==} | ||||||
|  |     peerDependencies: | ||||||
|  |       '@typescript-eslint/eslint-plugin': '>= 6' | ||||||
|  |       '@typescript-eslint/parser': '>= 6' | ||||||
|  |       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) | ||||||
|  |       eslint: 8.56.0 | ||||||
|  |       eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0) | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /@misskey-dev/sharp-read-bmp@1.1.1: |   /@misskey-dev/sharp-read-bmp@1.1.1: | ||||||
|     resolution: {integrity: sha512-X52BQYL/I9mafypQ+wBhst+BUlYiPWnHhKGcF6ybcYSLl+zhcV0q5mezIXHozhM0Sv0A7xCdrWmR7TCNxHLrtQ==} |     resolution: {integrity: sha512-X52BQYL/I9mafypQ+wBhst+BUlYiPWnHhKGcF6ybcYSLl+zhcV0q5mezIXHozhM0Sv0A7xCdrWmR7TCNxHLrtQ==} | ||||||
|     dependencies: |     dependencies: | ||||||
| @@ -7995,7 +8050,7 @@ packages: | |||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/http-cache-semantics': 4.0.1 |       '@types/http-cache-semantics': 4.0.1 | ||||||
|       '@types/keyv': 3.1.4 |       '@types/keyv': 3.1.4 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       '@types/responselike': 1.0.0 |       '@types/responselike': 1.0.0 | ||||||
|     dev: false |     dev: false | ||||||
|  |  | ||||||
| @@ -8028,7 +8083,7 @@ packages: | |||||||
|   /@types/connect@3.4.35: |   /@types/connect@3.4.35: | ||||||
|     resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} |     resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|   /@types/content-disposition@0.5.8: |   /@types/content-disposition@0.5.8: | ||||||
| @@ -8042,7 +8097,7 @@ packages: | |||||||
|   /@types/cross-spawn@6.0.2: |   /@types/cross-spawn@6.0.2: | ||||||
|     resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} |     resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|   /@types/debug@4.1.7: |   /@types/debug@4.1.7: | ||||||
| @@ -8100,7 +8155,7 @@ packages: | |||||||
|   /@types/express-serve-static-core@4.17.33: |   /@types/express-serve-static-core@4.17.33: | ||||||
|     resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} |     resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       '@types/qs': 6.9.7 |       '@types/qs': 6.9.7 | ||||||
|       '@types/range-parser': 1.2.4 |       '@types/range-parser': 1.2.4 | ||||||
|     dev: true |     dev: true | ||||||
| @@ -8128,13 +8183,13 @@ packages: | |||||||
|     resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} |     resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/minimatch': 5.1.2 |       '@types/minimatch': 5.1.2 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|   /@types/graceful-fs@4.1.6: |   /@types/graceful-fs@4.1.6: | ||||||
|     resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} |     resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|   /@types/http-cache-semantics@4.0.1: |   /@types/http-cache-semantics@4.0.1: | ||||||
| @@ -8215,7 +8270,7 @@ packages: | |||||||
|   /@types/keyv@3.1.4: |   /@types/keyv@3.1.4: | ||||||
|     resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} |     resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|     dev: false |     dev: false | ||||||
|  |  | ||||||
|   /@types/lodash@4.14.191: |   /@types/lodash@4.14.191: | ||||||
| @@ -8264,7 +8319,7 @@ packages: | |||||||
|   /@types/node-fetch@2.6.4: |   /@types/node-fetch@2.6.4: | ||||||
|     resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} |     resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       form-data: 3.0.1 |       form-data: 3.0.1 | ||||||
|  |  | ||||||
|   /@types/node-fetch@3.0.3: |   /@types/node-fetch@3.0.3: | ||||||
| @@ -8282,6 +8337,11 @@ packages: | |||||||
|     dependencies: |     dependencies: | ||||||
|       undici-types: 5.26.5 |       undici-types: 5.26.5 | ||||||
|  |  | ||||||
|  |   /@types/node@20.11.5: | ||||||
|  |     resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} | ||||||
|  |     dependencies: | ||||||
|  |       undici-types: 5.26.5 | ||||||
|  |  | ||||||
|   /@types/node@20.9.1: |   /@types/node@20.9.1: | ||||||
|     resolution: {integrity: sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==} |     resolution: {integrity: sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==} | ||||||
|     dependencies: |     dependencies: | ||||||
| @@ -8384,7 +8444,7 @@ packages: | |||||||
|   /@types/readdir-glob@1.1.1: |   /@types/readdir-glob@1.1.1: | ||||||
|     resolution: {integrity: sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==} |     resolution: {integrity: sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|   /@types/rename@1.0.7: |   /@types/rename@1.0.7: | ||||||
| @@ -8398,7 +8458,7 @@ packages: | |||||||
|   /@types/responselike@1.0.0: |   /@types/responselike@1.0.0: | ||||||
|     resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} |     resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|     dev: false |     dev: false | ||||||
|  |  | ||||||
|   /@types/sanitize-html@2.9.5: |   /@types/sanitize-html@2.9.5: | ||||||
| @@ -8424,7 +8484,7 @@ packages: | |||||||
|     resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} |     resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/mime': 3.0.1 |       '@types/mime': 3.0.1 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|   /@types/serviceworker@0.0.67: |   /@types/serviceworker@0.0.67: | ||||||
| @@ -8434,7 +8494,7 @@ packages: | |||||||
|   /@types/set-cookie-parser@2.4.3: |   /@types/set-cookie-parser@2.4.3: | ||||||
|     resolution: {integrity: sha512-7QhnH7bi+6KAhBB+Auejz1uV9DHiopZqu7LfR/5gZZTkejJV5nYeZZpgfFoE0N8aDsXuiYpfKyfyMatCwQhyTQ==} |     resolution: {integrity: sha512-7QhnH7bi+6KAhBB+Auejz1uV9DHiopZqu7LfR/5gZZTkejJV5nYeZZpgfFoE0N8aDsXuiYpfKyfyMatCwQhyTQ==} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|   /@types/sharp@0.32.0: |   /@types/sharp@0.32.0: | ||||||
| @@ -8537,7 +8597,7 @@ packages: | |||||||
|     resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} |     resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} | ||||||
|     requiresBuild: true |     requiresBuild: true | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|     dev: true |     dev: true | ||||||
|     optional: true |     optional: true | ||||||
|  |  | ||||||
| @@ -8599,6 +8659,64 @@ packages: | |||||||
|       - supports-color |       - supports-color | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|  |   /@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.14.0)(eslint@8.56.0)(typescript@5.3.3): | ||||||
|  |     resolution: {integrity: sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==} | ||||||
|  |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
|  |     peerDependencies: | ||||||
|  |       '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha | ||||||
|  |       eslint: ^7.0.0 || ^8.0.0 | ||||||
|  |       typescript: '*' | ||||||
|  |     peerDependenciesMeta: | ||||||
|  |       typescript: | ||||||
|  |         optional: true | ||||||
|  |     dependencies: | ||||||
|  |       '@eslint-community/regexpp': 4.6.2 | ||||||
|  |       '@typescript-eslint/parser': 6.14.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 | ||||||
|  |       debug: 4.3.4(supports-color@8.1.1) | ||||||
|  |       eslint: 8.56.0 | ||||||
|  |       graphemer: 1.4.0 | ||||||
|  |       ignore: 5.2.4 | ||||||
|  |       natural-compare: 1.4.0 | ||||||
|  |       semver: 7.5.4 | ||||||
|  |       ts-api-utils: 1.0.1(typescript@5.3.3) | ||||||
|  |       typescript: 5.3.3 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - 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==} | ||||||
|  |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
|  |     peerDependencies: | ||||||
|  |       '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha | ||||||
|  |       eslint: ^7.0.0 || ^8.0.0 | ||||||
|  |       typescript: '*' | ||||||
|  |     peerDependenciesMeta: | ||||||
|  |       typescript: | ||||||
|  |         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 | ||||||
|  |       debug: 4.3.4(supports-color@8.1.1) | ||||||
|  |       eslint: 8.56.0 | ||||||
|  |       graphemer: 1.4.0 | ||||||
|  |       ignore: 5.2.4 | ||||||
|  |       natural-compare: 1.4.0 | ||||||
|  |       semver: 7.5.4 | ||||||
|  |       ts-api-utils: 1.0.1(typescript@5.3.3) | ||||||
|  |       typescript: 5.3.3 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.3.3): |   /@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.3.3): | ||||||
|     resolution: {integrity: sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==} |     resolution: {integrity: sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==} | ||||||
|     engines: {node: ^16.0.0 || >=18.0.0} |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
| @@ -8641,6 +8759,27 @@ packages: | |||||||
|       - supports-color |       - supports-color | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|  |   /@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3): | ||||||
|  |     resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} | ||||||
|  |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
|  |     peerDependencies: | ||||||
|  |       eslint: ^7.0.0 || ^8.0.0 | ||||||
|  |       typescript: '*' | ||||||
|  |     peerDependenciesMeta: | ||||||
|  |       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 | ||||||
|  |       debug: 4.3.4(supports-color@8.1.1) | ||||||
|  |       eslint: 8.56.0 | ||||||
|  |       typescript: 5.3.3 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /@typescript-eslint/scope-manager@6.11.0: |   /@typescript-eslint/scope-manager@6.11.0: | ||||||
|     resolution: {integrity: sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==} |     resolution: {integrity: sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==} | ||||||
|     engines: {node: ^16.0.0 || >=18.0.0} |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
| @@ -8657,6 +8796,14 @@ packages: | |||||||
|       '@typescript-eslint/visitor-keys': 6.14.0 |       '@typescript-eslint/visitor-keys': 6.14.0 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|  |   /@typescript-eslint/scope-manager@6.19.0: | ||||||
|  |     resolution: {integrity: sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==} | ||||||
|  |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
|  |     dependencies: | ||||||
|  |       '@typescript-eslint/types': 6.19.0 | ||||||
|  |       '@typescript-eslint/visitor-keys': 6.19.0 | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /@typescript-eslint/type-utils@6.11.0(eslint@8.53.0)(typescript@5.3.3): |   /@typescript-eslint/type-utils@6.11.0(eslint@8.53.0)(typescript@5.3.3): | ||||||
|     resolution: {integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==} |     resolution: {integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==} | ||||||
|     engines: {node: ^16.0.0 || >=18.0.0} |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
| @@ -8697,6 +8844,26 @@ packages: | |||||||
|       - supports-color |       - supports-color | ||||||
|     dev: true |     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==} | ||||||
|  |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
|  |     peerDependencies: | ||||||
|  |       eslint: ^7.0.0 || ^8.0.0 | ||||||
|  |       typescript: '*' | ||||||
|  |     peerDependenciesMeta: | ||||||
|  |       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) | ||||||
|  |       debug: 4.3.4(supports-color@8.1.1) | ||||||
|  |       eslint: 8.56.0 | ||||||
|  |       ts-api-utils: 1.0.1(typescript@5.3.3) | ||||||
|  |       typescript: 5.3.3 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /@typescript-eslint/types@6.11.0: |   /@typescript-eslint/types@6.11.0: | ||||||
|     resolution: {integrity: sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==} |     resolution: {integrity: sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==} | ||||||
|     engines: {node: ^16.0.0 || >=18.0.0} |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
| @@ -8707,6 +8874,11 @@ packages: | |||||||
|     engines: {node: ^16.0.0 || >=18.0.0} |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|  |   /@typescript-eslint/types@6.19.0: | ||||||
|  |     resolution: {integrity: sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==} | ||||||
|  |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /@typescript-eslint/typescript-estree@6.11.0(typescript@5.3.3): |   /@typescript-eslint/typescript-estree@6.11.0(typescript@5.3.3): | ||||||
|     resolution: {integrity: sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==} |     resolution: {integrity: sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==} | ||||||
|     engines: {node: ^16.0.0 || >=18.0.0} |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
| @@ -8749,6 +8921,28 @@ packages: | |||||||
|       - supports-color |       - supports-color | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|  |   /@typescript-eslint/typescript-estree@6.19.0(typescript@5.3.3): | ||||||
|  |     resolution: {integrity: sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==} | ||||||
|  |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
|  |     peerDependencies: | ||||||
|  |       typescript: '*' | ||||||
|  |     peerDependenciesMeta: | ||||||
|  |       typescript: | ||||||
|  |         optional: true | ||||||
|  |     dependencies: | ||||||
|  |       '@typescript-eslint/types': 6.19.0 | ||||||
|  |       '@typescript-eslint/visitor-keys': 6.19.0 | ||||||
|  |       debug: 4.3.4(supports-color@8.1.1) | ||||||
|  |       globby: 11.1.0 | ||||||
|  |       is-glob: 4.0.3 | ||||||
|  |       minimatch: 9.0.3 | ||||||
|  |       semver: 7.5.4 | ||||||
|  |       ts-api-utils: 1.0.1(typescript@5.3.3) | ||||||
|  |       typescript: 5.3.3 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /@typescript-eslint/utils@6.11.0(eslint@8.53.0)(typescript@5.3.3): |   /@typescript-eslint/utils@6.11.0(eslint@8.53.0)(typescript@5.3.3): | ||||||
|     resolution: {integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==} |     resolution: {integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==} | ||||||
|     engines: {node: ^16.0.0 || >=18.0.0} |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
| @@ -8787,6 +8981,25 @@ packages: | |||||||
|       - typescript |       - typescript | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|  |   /@typescript-eslint/utils@6.19.0(eslint@8.56.0)(typescript@5.3.3): | ||||||
|  |     resolution: {integrity: sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==} | ||||||
|  |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
|  |     peerDependencies: | ||||||
|  |       eslint: ^7.0.0 || ^8.0.0 | ||||||
|  |     dependencies: | ||||||
|  |       '@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) | ||||||
|  |       eslint: 8.56.0 | ||||||
|  |       semver: 7.5.4 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  |       - typescript | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /@typescript-eslint/visitor-keys@6.11.0: |   /@typescript-eslint/visitor-keys@6.11.0: | ||||||
|     resolution: {integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==} |     resolution: {integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==} | ||||||
|     engines: {node: ^16.0.0 || >=18.0.0} |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
| @@ -8803,6 +9016,14 @@ packages: | |||||||
|       eslint-visitor-keys: 3.4.3 |       eslint-visitor-keys: 3.4.3 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|  |   /@typescript-eslint/visitor-keys@6.19.0: | ||||||
|  |     resolution: {integrity: sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==} | ||||||
|  |     engines: {node: ^16.0.0 || >=18.0.0} | ||||||
|  |     dependencies: | ||||||
|  |       '@typescript-eslint/types': 6.19.0 | ||||||
|  |       eslint-visitor-keys: 3.4.3 | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /@ungap/structured-clone@1.2.0: |   /@ungap/structured-clone@1.2.0: | ||||||
|     resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} |     resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} | ||||||
|     dev: true |     dev: true | ||||||
| @@ -11809,6 +12030,35 @@ packages: | |||||||
|       - supports-color |       - supports-color | ||||||
|     dev: true |     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): | ||||||
|  |     resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} | ||||||
|  |     engines: {node: '>=4'} | ||||||
|  |     peerDependencies: | ||||||
|  |       '@typescript-eslint/parser': '*' | ||||||
|  |       eslint: '*' | ||||||
|  |       eslint-import-resolver-node: '*' | ||||||
|  |       eslint-import-resolver-typescript: '*' | ||||||
|  |       eslint-import-resolver-webpack: '*' | ||||||
|  |     peerDependenciesMeta: | ||||||
|  |       '@typescript-eslint/parser': | ||||||
|  |         optional: true | ||||||
|  |       eslint: | ||||||
|  |         optional: true | ||||||
|  |       eslint-import-resolver-node: | ||||||
|  |         optional: true | ||||||
|  |       eslint-import-resolver-typescript: | ||||||
|  |         optional: true | ||||||
|  |       eslint-import-resolver-webpack: | ||||||
|  |         optional: true | ||||||
|  |     dependencies: | ||||||
|  |       '@typescript-eslint/parser': 6.19.0(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 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.11.0)(eslint@8.53.0): |   /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.11.0)(eslint@8.53.0): | ||||||
|     resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} |     resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} | ||||||
|     engines: {node: '>=4'} |     engines: {node: '>=4'} | ||||||
| @@ -11879,6 +12129,41 @@ packages: | |||||||
|       - supports-color |       - supports-color | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|  |   /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0): | ||||||
|  |     resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} | ||||||
|  |     engines: {node: '>=4'} | ||||||
|  |     peerDependencies: | ||||||
|  |       '@typescript-eslint/parser': '*' | ||||||
|  |       eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 | ||||||
|  |     peerDependenciesMeta: | ||||||
|  |       '@typescript-eslint/parser': | ||||||
|  |         optional: true | ||||||
|  |     dependencies: | ||||||
|  |       '@typescript-eslint/parser': 6.19.0(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 | ||||||
|  |       array.prototype.flatmap: 1.3.2 | ||||||
|  |       debug: 3.2.7(supports-color@8.1.1) | ||||||
|  |       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) | ||||||
|  |       hasown: 2.0.0 | ||||||
|  |       is-core-module: 2.13.1 | ||||||
|  |       is-glob: 4.0.3 | ||||||
|  |       minimatch: 3.1.2 | ||||||
|  |       object.fromentries: 2.0.7 | ||||||
|  |       object.groupby: 1.0.1 | ||||||
|  |       object.values: 1.1.7 | ||||||
|  |       semver: 6.3.1 | ||||||
|  |       tsconfig-paths: 3.15.0 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - eslint-import-resolver-typescript | ||||||
|  |       - eslint-import-resolver-webpack | ||||||
|  |       - supports-color | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /eslint-plugin-vue@9.19.2(eslint@8.56.0): |   /eslint-plugin-vue@9.19.2(eslint@8.56.0): | ||||||
|     resolution: {integrity: sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==} |     resolution: {integrity: sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==} | ||||||
|     engines: {node: ^14.17.0 || >=16.0.0} |     engines: {node: ^14.17.0 || >=16.0.0} | ||||||
| @@ -14047,7 +14332,7 @@ packages: | |||||||
|       '@jest/expect': 29.7.0 |       '@jest/expect': 29.7.0 | ||||||
|       '@jest/test-result': 29.7.0 |       '@jest/test-result': 29.7.0 | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       chalk: 4.1.2 |       chalk: 4.1.2 | ||||||
|       co: 4.6.0 |       co: 4.6.0 | ||||||
|       dedent: 1.3.0 |       dedent: 1.3.0 | ||||||
| @@ -14136,6 +14421,46 @@ packages: | |||||||
|       - supports-color |       - supports-color | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|  |   /jest-config@29.7.0(@types/node@20.11.5): | ||||||
|  |     resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} | ||||||
|  |     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} | ||||||
|  |     peerDependencies: | ||||||
|  |       '@types/node': '*' | ||||||
|  |       ts-node: '>=9.0.0' | ||||||
|  |     peerDependenciesMeta: | ||||||
|  |       '@types/node': | ||||||
|  |         optional: true | ||||||
|  |       ts-node: | ||||||
|  |         optional: true | ||||||
|  |     dependencies: | ||||||
|  |       '@babel/core': 7.22.11 | ||||||
|  |       '@jest/test-sequencer': 29.7.0 | ||||||
|  |       '@jest/types': 29.6.3 | ||||||
|  |       '@types/node': 20.11.5 | ||||||
|  |       babel-jest: 29.7.0(@babel/core@7.22.11) | ||||||
|  |       chalk: 4.1.2 | ||||||
|  |       ci-info: 3.7.1 | ||||||
|  |       deepmerge: 4.2.2 | ||||||
|  |       glob: 7.2.3 | ||||||
|  |       graceful-fs: 4.2.11 | ||||||
|  |       jest-circus: 29.7.0 | ||||||
|  |       jest-environment-node: 29.7.0 | ||||||
|  |       jest-get-type: 29.6.3 | ||||||
|  |       jest-regex-util: 29.6.3 | ||||||
|  |       jest-resolve: 29.7.0 | ||||||
|  |       jest-runner: 29.7.0 | ||||||
|  |       jest-util: 29.7.0 | ||||||
|  |       jest-validate: 29.7.0 | ||||||
|  |       micromatch: 4.0.5 | ||||||
|  |       parse-json: 5.2.0 | ||||||
|  |       pretty-format: 29.7.0 | ||||||
|  |       slash: 3.0.0 | ||||||
|  |       strip-json-comments: 3.1.1 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - babel-plugin-macros | ||||||
|  |       - supports-color | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /jest-diff@28.1.3: |   /jest-diff@28.1.3: | ||||||
|     resolution: {integrity: sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==} |     resolution: {integrity: sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==} | ||||||
|     engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} |     engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} | ||||||
| @@ -14191,7 +14516,7 @@ packages: | |||||||
|       '@jest/environment': 29.7.0 |       '@jest/environment': 29.7.0 | ||||||
|       '@jest/fake-timers': 29.7.0 |       '@jest/fake-timers': 29.7.0 | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       jest-mock: 29.7.0 |       jest-mock: 29.7.0 | ||||||
|       jest-util: 29.7.0 |       jest-util: 29.7.0 | ||||||
|     dev: true |     dev: true | ||||||
| @@ -14221,7 +14546,7 @@ packages: | |||||||
|     dependencies: |     dependencies: | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@types/graceful-fs': 4.1.6 |       '@types/graceful-fs': 4.1.6 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       anymatch: 3.1.3 |       anymatch: 3.1.3 | ||||||
|       fb-watchman: 2.0.2 |       fb-watchman: 2.0.2 | ||||||
|       graceful-fs: 4.2.11 |       graceful-fs: 4.2.11 | ||||||
| @@ -14282,7 +14607,7 @@ packages: | |||||||
|     engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |     engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@jest/types': 27.5.1 |       '@jest/types': 27.5.1 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|   /jest-mock@29.7.0: |   /jest-mock@29.7.0: | ||||||
| @@ -14345,7 +14670,7 @@ packages: | |||||||
|       '@jest/test-result': 29.7.0 |       '@jest/test-result': 29.7.0 | ||||||
|       '@jest/transform': 29.7.0 |       '@jest/transform': 29.7.0 | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       chalk: 4.1.2 |       chalk: 4.1.2 | ||||||
|       emittery: 0.13.1 |       emittery: 0.13.1 | ||||||
|       graceful-fs: 4.2.11 |       graceful-fs: 4.2.11 | ||||||
| @@ -14376,7 +14701,7 @@ packages: | |||||||
|       '@jest/test-result': 29.7.0 |       '@jest/test-result': 29.7.0 | ||||||
|       '@jest/transform': 29.7.0 |       '@jest/transform': 29.7.0 | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       chalk: 4.1.2 |       chalk: 4.1.2 | ||||||
|       cjs-module-lexer: 1.2.2 |       cjs-module-lexer: 1.2.2 | ||||||
|       collect-v8-coverage: 1.0.1 |       collect-v8-coverage: 1.0.1 | ||||||
| @@ -14428,7 +14753,7 @@ packages: | |||||||
|     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} |     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       chalk: 4.1.2 |       chalk: 4.1.2 | ||||||
|       ci-info: 3.7.1 |       ci-info: 3.7.1 | ||||||
|       graceful-fs: 4.2.11 |       graceful-fs: 4.2.11 | ||||||
| @@ -14453,7 +14778,7 @@ packages: | |||||||
|     dependencies: |     dependencies: | ||||||
|       '@jest/test-result': 29.7.0 |       '@jest/test-result': 29.7.0 | ||||||
|       '@jest/types': 29.6.3 |       '@jest/types': 29.6.3 | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       ansi-escapes: 4.3.2 |       ansi-escapes: 4.3.2 | ||||||
|       chalk: 4.1.2 |       chalk: 4.1.2 | ||||||
|       emittery: 0.13.1 |       emittery: 0.13.1 | ||||||
| @@ -14472,7 +14797,7 @@ packages: | |||||||
|     resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} |     resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} | ||||||
|     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} |     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/node': 20.10.5 |       '@types/node': 20.11.5 | ||||||
|       jest-util: 29.7.0 |       jest-util: 29.7.0 | ||||||
|       merge-stream: 2.0.0 |       merge-stream: 2.0.0 | ||||||
|       supports-color: 8.1.1 |       supports-color: 8.1.1 | ||||||
|   | |||||||
| @@ -4,3 +4,4 @@ packages: | |||||||
|  - 'packages/sw' |  - 'packages/sw' | ||||||
|  - 'packages/misskey-js' |  - 'packages/misskey-js' | ||||||
|  - 'packages/misskey-js/generator' |  - 'packages/misskey-js/generator' | ||||||
|  |  - 'packages/misskey-reversi' | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo