refactor(backend): use node16 for moduleResolution (#10938)
* refactor(backend): use node16 for moduleResolution * update deps * Update tsconfig.json * ✌️ * revive KEYWORD * restore strict-event-emitter-types dependency * restore ms dependency * cancel redundant import reorder * fix * Delete ms.ts * remove rndstr --------- Co-authored-by: Kagami Sascha Rosylight <saschanaz@outlook.com>
This commit is contained in:
		| @@ -20,7 +20,7 @@ import type { Packed } from '@/misc/json-schema.js'; | ||||
| import { DI } from '@/di-symbols.js'; | ||||
| import type { Config } from '@/config.js'; | ||||
| import { bindThis } from '@/decorators.js'; | ||||
| import { Role } from '@/models'; | ||||
| import { Role } from '@/models/index.js'; | ||||
|  | ||||
| @Injectable() | ||||
| export class GlobalEventService { | ||||
|   | ||||
| @@ -3,7 +3,7 @@ import { DI } from '@/di-symbols.js'; | ||||
| import type { Config } from '@/config.js'; | ||||
| import Logger from '@/logger.js'; | ||||
| import { bindThis } from '@/decorators.js'; | ||||
| import type { KEYWORD } from 'color-convert/conversions'; | ||||
| import type { KEYWORD } from 'color-convert/conversions.js'; | ||||
|  | ||||
| @Injectable() | ||||
| export class LoggerService { | ||||
|   | ||||
| @@ -3,7 +3,7 @@ import push from 'web-push'; | ||||
| import * as Redis from 'ioredis'; | ||||
| import { DI } from '@/di-symbols.js'; | ||||
| import type { Config } from '@/config.js'; | ||||
| import type { Packed } from '@/misc/json-schema'; | ||||
| import type { Packed } from '@/misc/json-schema.js'; | ||||
| import { getNoteSummary } from '@/misc/get-note-summary.js'; | ||||
| import type { SwSubscription, SwSubscriptionsRepository } from '@/models/index.js'; | ||||
| import { MetaService } from '@/core/MetaService.js'; | ||||
|   | ||||
| @@ -13,7 +13,7 @@ import { UserEntityService } from '@/core/entities/UserEntityService.js'; | ||||
| import { StreamMessages } from '@/server/api/stream/types.js'; | ||||
| import { IdService } from '@/core/IdService.js'; | ||||
| import { GlobalEventService } from '@/core/GlobalEventService.js'; | ||||
| import type { Packed } from '@/misc/json-schema'; | ||||
| import type { Packed } from '@/misc/json-schema.js'; | ||||
| import type { OnApplicationShutdown } from '@nestjs/common'; | ||||
|  | ||||
| export type RolePolicies = { | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| import { Inject, Injectable } from '@nestjs/common'; | ||||
| import { In, Not } from 'typeorm'; | ||||
| import * as Redis from 'ioredis'; | ||||
| import Ajv from 'ajv'; | ||||
| import _Ajv from 'ajv'; | ||||
| import { ModuleRef } from '@nestjs/core'; | ||||
| import { DI } from '@/di-symbols.js'; | ||||
| import type { Config } from '@/config.js'; | ||||
| @@ -31,6 +31,7 @@ type IsMeAndIsUserDetailed<ExpectsMe extends boolean | null, Detailed extends bo | ||||
| 		Packed<'UserDetailed'> : | ||||
| 	Packed<'UserLite'>; | ||||
|  | ||||
| const Ajv = _Ajv.default; | ||||
| const ajv = new Ajv(); | ||||
|  | ||||
| function isLocalUser(user: User): user is LocalUser; | ||||
|   | ||||
| @@ -4,7 +4,7 @@ import { default as convertColor } from 'color-convert'; | ||||
| import { format as dateFormat } from 'date-fns'; | ||||
| import { bindThis } from '@/decorators.js'; | ||||
| import { envOption } from './env.js'; | ||||
| import type { KEYWORD } from 'color-convert/conversions'; | ||||
| import type { KEYWORD } from 'color-convert/conversions.js'; | ||||
|  | ||||
| type Context = { | ||||
| 	name: string; | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| import { Injectable, Inject } from '@nestjs/common'; | ||||
| import Ajv from 'ajv'; | ||||
| import _Ajv from 'ajv'; | ||||
| import { IdService } from '@/core/IdService.js'; | ||||
| import { GlobalEventService } from '@/core/GlobalEventService.js'; | ||||
| import Logger from '@/logger.js'; | ||||
| @@ -10,6 +10,8 @@ import { QueueLoggerService } from '../QueueLoggerService.js'; | ||||
| import { DBAntennaImportJobData } from '../types.js'; | ||||
| import type * as Bull from 'bullmq'; | ||||
|  | ||||
| const Ajv = _Ajv.default; | ||||
|  | ||||
| const validate = new Ajv().compile({ | ||||
| 	type: 'object', | ||||
| 	properties: { | ||||
|   | ||||
| @@ -10,7 +10,7 @@ import { GlobalEventService } from '@/core/GlobalEventService.js'; | ||||
| import { NotificationService } from '@/core/NotificationService.js'; | ||||
| import { bindThis } from '@/decorators.js'; | ||||
| import { CacheService } from '@/core/CacheService.js'; | ||||
| import { LocalUser } from '@/models/entities/User'; | ||||
| import { LocalUser } from '@/models/entities/User.js'; | ||||
| import { AuthenticateService, AuthenticationError } from './AuthenticateService.js'; | ||||
| import MainStreamConnection from './stream/index.js'; | ||||
| import { ChannelsService } from './stream/ChannelsService.js'; | ||||
|   | ||||
| @@ -1,11 +1,13 @@ | ||||
| import * as fs from 'node:fs'; | ||||
| import Ajv from 'ajv'; | ||||
| import _Ajv from 'ajv'; | ||||
| import type { Schema, SchemaType } from '@/misc/json-schema.js'; | ||||
| import type { LocalUser } from '@/models/entities/User.js'; | ||||
| import type { AccessToken } from '@/models/entities/AccessToken.js'; | ||||
| import { ApiError } from './error.js'; | ||||
| import type { IEndpointMeta } from './endpoints.js'; | ||||
|  | ||||
| const Ajv = _Ajv.default; | ||||
|  | ||||
| const ajv = new Ajv({ | ||||
| 	useDefaults: true, | ||||
| }); | ||||
|   | ||||
| @@ -54,7 +54,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { | ||||
| 	constructor ( | ||||
| 		@Inject(DI.driveFilesRepository) | ||||
| 		private driveFilesRepository: DriveFilesRepository, | ||||
| 		 | ||||
|  | ||||
| 		@Inject(DI.antennasRepository) | ||||
| 		private antennasRepository: AntennasRepository, | ||||
|  | ||||
| @@ -79,6 +79,6 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { | ||||
| 			this.queueService.createImportAntennasJob(me, antennas); | ||||
| 		}); | ||||
| 	} | ||||
| }  | ||||
| } | ||||
|  | ||||
| export type Antenna = (_Antenna & { userListAccts: string[] | null })[]; | ||||
|   | ||||
| @@ -72,7 +72,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { | ||||
| 			const checkMoving = await this.accountMoveService.validateAlsoKnownAs( | ||||
| 				me, | ||||
| 				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > (new Date()).getTime(), | ||||
| 				true | ||||
| 				true, | ||||
| 			); | ||||
| 			if (checkMoving ? file.size > 32 * 1024 * 1024 : file.size > 64 * 1024) throw new ApiError(meta.errors.tooBigFile); | ||||
|  | ||||
|   | ||||
| @@ -71,7 +71,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { | ||||
| 			const checkMoving = await this.accountMoveService.validateAlsoKnownAs( | ||||
| 				me, | ||||
| 				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > (new Date()).getTime(), | ||||
| 				true | ||||
| 				true, | ||||
| 			); | ||||
| 			if (checkMoving ? file.size > 32 * 1024 * 1024 : file.size > 64 * 1024) throw new ApiError(meta.errors.tooBigFile); | ||||
|  | ||||
|   | ||||
| @@ -72,7 +72,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { | ||||
| 			const checkMoving = await this.accountMoveService.validateAlsoKnownAs( | ||||
| 				me, | ||||
| 				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > (new Date()).getTime(), | ||||
| 				true | ||||
| 				true, | ||||
| 			); | ||||
| 			if (checkMoving ? file.size > 32 * 1024 * 1024 : file.size > 64 * 1024) throw new ApiError(meta.errors.tooBigFile); | ||||
|  | ||||
|   | ||||
| @@ -71,7 +71,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { | ||||
| 			const checkMoving = await this.accountMoveService.validateAlsoKnownAs( | ||||
| 				me, | ||||
| 				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > (new Date()).getTime(), | ||||
| 				true | ||||
| 				true, | ||||
| 			); | ||||
| 			if (checkMoving ? file.size > 32 * 1024 * 1024 : file.size > 64 * 1024) throw new ApiError(meta.errors.tooBigFile); | ||||
|  | ||||
|   | ||||
| @@ -4,8 +4,8 @@ import type { UsersRepository, NotesRepository } from '@/models/index.js'; | ||||
| import { Endpoint } from '@/server/api/endpoint-base.js'; | ||||
| import { NoteDeleteService } from '@/core/NoteDeleteService.js'; | ||||
| import { DI } from '@/di-symbols.js'; | ||||
| import { ApiError } from '../../error.js'; | ||||
| import { GetterService } from '@/server/api/GetterService.js'; | ||||
| import { ApiError } from '../../error.js'; | ||||
|  | ||||
| export const meta = { | ||||
| 	tags: ['notes'], | ||||
|   | ||||
| @@ -44,7 +44,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { | ||||
|  | ||||
| 		@Inject(DI.followingsRepository) | ||||
| 		private followingsRepository: FollowingsRepository, | ||||
| 		 | ||||
|  | ||||
| 		private userEntityService: UserEntityService, | ||||
| 		private queryService: QueryService, | ||||
| 	) { | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| import * as sanitizeHtml from 'sanitize-html'; | ||||
| import sanitizeHtml from 'sanitize-html'; | ||||
| import { Inject, Injectable } from '@nestjs/common'; | ||||
| import type { UsersRepository, AbuseUserReportsRepository } from '@/models/index.js'; | ||||
| import { IdService } from '@/core/IdService.js'; | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| import { bindThis } from '@/decorators.js'; | ||||
| import type Connection from '.'; | ||||
| import type Connection from './index.js'; | ||||
|  | ||||
| /** | ||||
|  * Stream channel | ||||
|   | ||||
| @@ -12,7 +12,7 @@ import type { Page } from '@/models/entities/Page.js'; | ||||
| import type { Packed } from '@/misc/json-schema.js'; | ||||
| import type { Webhook } from '@/models/entities/Webhook.js'; | ||||
| import type { Meta } from '@/models/entities/Meta.js'; | ||||
| import { Role, RoleAssignment } from '@/models'; | ||||
| import { Role, RoleAssignment } from '@/models/index.js'; | ||||
| import type Emitter from 'strict-event-emitter-types'; | ||||
| import type { EventEmitter } from 'events'; | ||||
|  | ||||
| @@ -233,7 +233,7 @@ export type StreamMessages = { | ||||
|  | ||||
| // API event definitions | ||||
| // ストリームごとのEmitterの辞書を用意 | ||||
| type EventEmitterDictionary = { [x in keyof StreamMessages]: Emitter<EventEmitter, { [y in StreamMessages[x]['name']]: (e: StreamMessages[x]['payload']) => void }> }; | ||||
| type EventEmitterDictionary = { [x in keyof StreamMessages]: Emitter.default<EventEmitter, { [y in StreamMessages[x]['name']]: (e: StreamMessages[x]['payload']) => void }> }; | ||||
| // 共用体型を交差型にする型 https://stackoverflow.com/questions/54938141/typescript-convert-union-to-intersection | ||||
| type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; | ||||
| // Emitter辞書から共用体型を作り、UnionToIntersectionで交差型にする | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo