From f5e7d10fb4b13b0a7009d802e030e70b124fe420 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Fri, 7 Feb 2025 20:37:51 +0100 Subject: [PATCH] Updated tsconfig.json and edited all required files to work with it --- src/application/base/baseController.ts | 2 +- src/application/base/baseEvent.ts | 3 +- src/application/console/commandRegistry.ts | 3 +- src/commands/init.ts | 3 +- src/controllers/auth.ts | 3 +- src/controllers/avatar.ts | 5 +-- src/controllers/cache.ts | 2 +- src/controllers/textures.ts | 2 +- src/entities/base/character.ts | 3 +- src/entities/base/characterEquipment.ts | 3 +- src/entities/base/characterHair.ts | 3 +- src/entities/base/characterItem.ts | 3 +- src/entities/base/characterType.ts | 3 +- src/entities/base/chat.ts | 3 +- src/entities/base/item.ts | 3 +- src/entities/base/map.ts | 3 +- src/entities/base/mapEffect.ts | 3 +- src/entities/base/mapEventTile.ts | 3 +- src/entities/base/mapEventTileTeleport.ts | 3 +- src/entities/base/mapObject.ts | 3 +- src/entities/base/passwordResetToken.ts | 3 +- src/entities/base/placedMapObject.ts | 3 +- src/entities/base/sprite.ts | 3 +- src/entities/base/spriteAction.ts | 3 +- src/entities/base/tile.ts | 3 +- src/entities/base/user.ts | 3 +- src/events/character/connect.ts | 3 +- src/events/character/delete.ts | 3 +- src/events/chat/gameMaster/teleportCommand.ts | 3 +- .../assetManager/characterHair/delete.ts | 3 +- .../assetManager/characterHair/update.ts | 3 +- .../assetManager/characterType/delete.ts | 3 +- .../assetManager/characterType/update.ts | 3 +- .../gameMaster/assetManager/item/delete.ts | 3 +- .../gameMaster/assetManager/item/update.ts | 3 +- .../assetManager/mapObject/remove.ts | 3 +- .../assetManager/mapObject/update.ts | 3 +- .../gameMaster/assetManager/sprite/copy.ts | 3 +- .../gameMaster/assetManager/sprite/delete.ts | 3 +- .../gameMaster/assetManager/sprite/update.ts | 3 +- .../gameMaster/assetManager/tile/delete.ts | 3 +- .../gameMaster/assetManager/tile/update.ts | 3 +- src/events/gameMaster/mapEditor/delete.ts | 3 +- src/events/gameMaster/mapEditor/request.ts | 3 +- src/events/gameMaster/mapEditor/update.ts | 3 +- src/jobs/someJob.ts | 2 +- src/managers/httpManager.ts | 3 +- src/managers/mapManager.ts | 3 +- src/managers/queueManager.ts | 3 +- src/managers/socketManager.ts | 5 +-- src/middleware/authentication.ts | 3 +- src/models/loadedMap.ts | 3 +- src/models/mapCharacter.ts | 4 +-- src/repositories/characterHairRepository.ts | 3 +- src/repositories/characterRepository.ts | 3 +- src/repositories/characterTypeRepository.ts | 3 +- src/repositories/chatRepository.ts | 3 +- src/repositories/itemRepository.ts | 3 +- src/repositories/mapEventTileRepository.ts | 3 +- src/repositories/mapObjectRepository.ts | 3 +- src/repositories/mapRepository.ts | 3 +- .../passwordResetTokenRepository.ts | 3 +- src/repositories/spriteRepository.ts | 3 +- src/repositories/tileRepository.ts | 3 +- src/repositories/userRepository.ts | 3 +- src/server.ts | 4 ++- src/services/characterAttackService.ts | 3 +- src/services/characterTeleportService.ts | 3 +- src/services/chatService.ts | 3 +- tsconfig.json | 32 ++++++++++--------- 70 files changed, 153 insertions(+), 88 deletions(-) diff --git a/src/application/base/baseController.ts b/src/application/base/baseController.ts index cf3242e..f2480b5 100644 --- a/src/application/base/baseController.ts +++ b/src/application/base/baseController.ts @@ -1,6 +1,6 @@ import fs from 'fs' -import { Response } from 'express' +import type { Response } from 'express' import Logger, { LoggerType } from '#application/logger' diff --git a/src/application/base/baseEvent.ts b/src/application/base/baseEvent.ts index a7297d2..892aaae 100644 --- a/src/application/base/baseEvent.ts +++ b/src/application/base/baseEvent.ts @@ -1,7 +1,8 @@ import { Server } from 'socket.io' +import type { TSocket } from '#application/types' + import Logger, { LoggerType } from '#application/logger' -import { TSocket } from '#application/types' import { Character } from '#entities/character' import CharacterRepository from '#repositories/characterRepository' diff --git a/src/application/console/commandRegistry.ts b/src/application/console/commandRegistry.ts index 2faeee8..07f77e8 100644 --- a/src/application/console/commandRegistry.ts +++ b/src/application/console/commandRegistry.ts @@ -2,9 +2,10 @@ import * as fs from 'fs' import * as path from 'path' import { pathToFileURL } from 'url' +import type { Command } from '#application/types' + import Logger, { LoggerType } from '#application/logger' import Storage from '#application/storage' -import { Command } from '#application/types' export class CommandRegistry { private readonly commands: Map = new Map() diff --git a/src/commands/init.ts b/src/commands/init.ts index c33c56f..f5f1411 100644 --- a/src/commands/init.ts +++ b/src/commands/init.ts @@ -2,10 +2,11 @@ import fs from 'fs' import sharp from 'sharp' +import type { UUID } from '#application/types' + import { BaseCommand } from '#application/base/baseCommand' import { CharacterGender, CharacterRace } from '#application/enums' import Storage from '#application/storage' -import { UUID } from '#application/types' import { Character } from '#entities/character' import { CharacterHair } from '#entities/characterHair' import { CharacterType } from '#entities/characterType' diff --git a/src/controllers/auth.ts b/src/controllers/auth.ts index 21fc2bc..0206766 100644 --- a/src/controllers/auth.ts +++ b/src/controllers/auth.ts @@ -1,6 +1,7 @@ -import { Request, Response } from 'express' import jwt from 'jsonwebtoken' +import type { Request, Response } from 'express' + import { BaseController } from '#application/base/baseController' import config from '#application/config' import { loginAccountSchema, registerAccountSchema, resetPasswordSchema, newPasswordSchema } from '#application/zodTypes' diff --git a/src/controllers/avatar.ts b/src/controllers/avatar.ts index 9000718..79d5139 100644 --- a/src/controllers/avatar.ts +++ b/src/controllers/avatar.ts @@ -1,11 +1,12 @@ import fs from 'fs' -import { Request, Response } from 'express' import sharp from 'sharp' +import type { UUID } from '#application/types' +import type { Request, Response } from 'express' + import { BaseController } from '#application/base/baseController' import Storage from '#application/storage' -import { UUID } from '#application/types' import CharacterHairRepository from '#repositories/characterHairRepository' import CharacterRepository from '#repositories/characterRepository' import CharacterTypeRepository from '#repositories/characterTypeRepository' diff --git a/src/controllers/cache.ts b/src/controllers/cache.ts index 09b375f..20f973e 100644 --- a/src/controllers/cache.ts +++ b/src/controllers/cache.ts @@ -1,4 +1,4 @@ -import { Request, Response } from 'express' +import type { Request, Response } from 'express' import { BaseController } from '#application/base/baseController' import CharacterHairRepository from '#repositories/characterHairRepository' diff --git a/src/controllers/textures.ts b/src/controllers/textures.ts index bbd04a1..311b3c6 100644 --- a/src/controllers/textures.ts +++ b/src/controllers/textures.ts @@ -1,4 +1,4 @@ -import { Request, Response } from 'express' +import type { Request, Response } from 'express' import { BaseController } from '#application/base/baseController' import Storage from '#application/storage' diff --git a/src/entities/base/character.ts b/src/entities/base/character.ts index 3f74f1f..4e6f68b 100644 --- a/src/entities/base/character.ts +++ b/src/entities/base/character.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' import { CharacterEquipment } from '#entities/characterEquipment' import { CharacterHair } from '#entities/characterHair' import { CharacterItem } from '#entities/characterItem' diff --git a/src/entities/base/characterEquipment.ts b/src/entities/base/characterEquipment.ts index 71d95db..faa7aa4 100644 --- a/src/entities/base/characterEquipment.ts +++ b/src/entities/base/characterEquipment.ts @@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto' import { Enum, ManyToOne, PrimaryKey } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' import { CharacterEquipmentSlotType } from '#application/enums' -import { UUID } from '#application/types' import { Character } from '#entities/character' import { CharacterItem } from '#entities/characterItem' diff --git a/src/entities/base/characterHair.ts b/src/entities/base/characterHair.ts index 149d2e1..234e5d6 100644 --- a/src/entities/base/characterHair.ts +++ b/src/entities/base/characterHair.ts @@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto' import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' import { CharacterGender } from '#application/enums' -import { UUID } from '#application/types' import { Character } from '#entities/character' import { Sprite } from '#entities/sprite' diff --git a/src/entities/base/characterItem.ts b/src/entities/base/characterItem.ts index 9ae9871..9d0f1af 100644 --- a/src/entities/base/characterItem.ts +++ b/src/entities/base/characterItem.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' import { Character } from '#entities/character' import { CharacterEquipment } from '#entities/characterEquipment' import { Item } from '#entities/item' diff --git a/src/entities/base/characterType.ts b/src/entities/base/characterType.ts index 3c9ff97..fddff4e 100644 --- a/src/entities/base/characterType.ts +++ b/src/entities/base/characterType.ts @@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto' import { Collection, Entity, Enum, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' import { CharacterGender, CharacterRace } from '#application/enums' -import { UUID } from '#application/types' import { Character } from '#entities/character' import { Sprite } from '#entities/sprite' diff --git a/src/entities/base/chat.ts b/src/entities/base/chat.ts index f6cc454..e7bd31e 100644 --- a/src/entities/base/chat.ts +++ b/src/entities/base/chat.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' import { Character } from '#entities/character' import { Map } from '#entities/map' diff --git a/src/entities/base/item.ts b/src/entities/base/item.ts index e4da4d8..9245e89 100644 --- a/src/entities/base/item.ts +++ b/src/entities/base/item.ts @@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto' import { Collection, Entity, Enum, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' import { ItemType, ItemRarity } from '#application/enums' -import { UUID } from '#application/types' import { CharacterItem } from '#entities/characterItem' import { Sprite } from '#entities/sprite' diff --git a/src/entities/base/map.ts b/src/entities/base/map.ts index 6d4133c..5fe4ab9 100644 --- a/src/entities/base/map.ts +++ b/src/entities/base/map.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' import { MapEffect } from '#entities/mapEffect' import { MapEventTile } from '#entities/mapEventTile' import { PlacedMapObject } from '#entities/placedMapObject' diff --git a/src/entities/base/mapEffect.ts b/src/entities/base/mapEffect.ts index 9ef3c32..2863ef0 100644 --- a/src/entities/base/mapEffect.ts +++ b/src/entities/base/mapEffect.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' import { Map } from '#entities/map' export class BaseMapEffect extends BaseEntity { diff --git a/src/entities/base/mapEventTile.ts b/src/entities/base/mapEventTile.ts index f6f53dd..e88873f 100644 --- a/src/entities/base/mapEventTile.ts +++ b/src/entities/base/mapEventTile.ts @@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto' import { Entity, Enum, ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' import { MapEventTileType } from '#application/enums' -import { UUID } from '#application/types' import { Map } from '#entities/map' import { MapEventTileTeleport } from '#entities/mapEventTileTeleport' diff --git a/src/entities/base/mapEventTileTeleport.ts b/src/entities/base/mapEventTileTeleport.ts index bf09d61..9011d3b 100644 --- a/src/entities/base/mapEventTileTeleport.ts +++ b/src/entities/base/mapEventTileTeleport.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { Entity, ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' import { Map } from '#entities/map' import { MapEventTile } from '#entities/mapEventTile' diff --git a/src/entities/base/mapObject.ts b/src/entities/base/mapObject.ts index b4ff2da..95e12d4 100644 --- a/src/entities/base/mapObject.ts +++ b/src/entities/base/mapObject.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { Entity, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' export class BaseMapObject extends BaseEntity { @PrimaryKey() diff --git a/src/entities/base/passwordResetToken.ts b/src/entities/base/passwordResetToken.ts index 4133725..5193327 100644 --- a/src/entities/base/passwordResetToken.ts +++ b/src/entities/base/passwordResetToken.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' import { User } from '#entities/user' export class BasePasswordResetToken extends BaseEntity { diff --git a/src/entities/base/placedMapObject.ts b/src/entities/base/placedMapObject.ts index 8162caa..f31965d 100644 --- a/src/entities/base/placedMapObject.ts +++ b/src/entities/base/placedMapObject.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' import { Map } from '#entities/map' import { MapObject } from '#entities/mapObject' diff --git a/src/entities/base/sprite.ts b/src/entities/base/sprite.ts index dced5de..1dec72c 100644 --- a/src/entities/base/sprite.ts +++ b/src/entities/base/sprite.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' import { SpriteAction } from '#entities/spriteAction' export class BaseSprite extends BaseEntity { diff --git a/src/entities/base/spriteAction.ts b/src/entities/base/spriteAction.ts index 889fb22..8114d0c 100644 --- a/src/entities/base/spriteAction.ts +++ b/src/entities/base/spriteAction.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' import { Sprite } from '#entities/sprite' export interface SpriteImage { diff --git a/src/entities/base/tile.ts b/src/entities/base/tile.ts index 0679157..cc0c2e1 100644 --- a/src/entities/base/tile.ts +++ b/src/entities/base/tile.ts @@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto' import { Entity, PrimaryKey, Property } from '@mikro-orm/core' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' export class BaseTile extends BaseEntity { @PrimaryKey() diff --git a/src/entities/base/user.ts b/src/entities/base/user.ts index 06fe160..a3afe45 100644 --- a/src/entities/base/user.ts +++ b/src/entities/base/user.ts @@ -3,8 +3,9 @@ import { randomUUID } from 'node:crypto' import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' import bcrypt from 'bcryptjs' +import type { UUID } from '#application/types' + import { BaseEntity } from '#application/base/baseEntity' -import { UUID } from '#application/types' import { Character } from '#entities/character' import { PasswordResetToken } from '#entities/passwordResetToken' diff --git a/src/events/character/connect.ts b/src/events/character/connect.ts index ccd07b0..99a4806 100644 --- a/src/events/character/connect.ts +++ b/src/events/character/connect.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import MapManager from '#managers/mapManager' import CharacterHairRepository from '#repositories/characterHairRepository' import CharacterRepository from '#repositories/characterRepository' diff --git a/src/events/character/delete.ts b/src/events/character/delete.ts index 160bd4c..082f765 100644 --- a/src/events/character/delete.ts +++ b/src/events/character/delete.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import { Character } from '#entities/character' import CharacterRepository from '#repositories/characterRepository' diff --git a/src/events/chat/gameMaster/teleportCommand.ts b/src/events/chat/gameMaster/teleportCommand.ts index afa5d59..df69828 100644 --- a/src/events/chat/gameMaster/teleportCommand.ts +++ b/src/events/chat/gameMaster/teleportCommand.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import MapManager from '#managers/mapManager' import MapRepository from '#repositories/mapRepository' import TeleportService from '#services/characterTeleportService' diff --git a/src/events/gameMaster/assetManager/characterHair/delete.ts b/src/events/gameMaster/assetManager/characterHair/delete.ts index 405a4ee..a8c76fe 100644 --- a/src/events/gameMaster/assetManager/characterHair/delete.ts +++ b/src/events/gameMaster/assetManager/characterHair/delete.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import CharacterHairRepository from '#repositories/characterHairRepository' interface IPayload { diff --git a/src/events/gameMaster/assetManager/characterHair/update.ts b/src/events/gameMaster/assetManager/characterHair/update.ts index 27e1ab8..8ab064c 100644 --- a/src/events/gameMaster/assetManager/characterHair/update.ts +++ b/src/events/gameMaster/assetManager/characterHair/update.ts @@ -1,6 +1,7 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' import { CharacterGender } from '#application/enums' -import { UUID } from '#application/types' import CharacterHairRepository from '#repositories/characterHairRepository' import SpriteRepository from '#repositories/spriteRepository' diff --git a/src/events/gameMaster/assetManager/characterType/delete.ts b/src/events/gameMaster/assetManager/characterType/delete.ts index c959670..4a38bfc 100644 --- a/src/events/gameMaster/assetManager/characterType/delete.ts +++ b/src/events/gameMaster/assetManager/characterType/delete.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import CharacterTypeRepository from '#repositories/characterTypeRepository' interface IPayload { diff --git a/src/events/gameMaster/assetManager/characterType/update.ts b/src/events/gameMaster/assetManager/characterType/update.ts index 8b3b168..279f26d 100644 --- a/src/events/gameMaster/assetManager/characterType/update.ts +++ b/src/events/gameMaster/assetManager/characterType/update.ts @@ -1,6 +1,7 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' import { CharacterGender, CharacterRace } from '#application/enums' -import { UUID } from '#application/types' import CharacterTypeRepository from '#repositories/characterTypeRepository' import SpriteRepository from '#repositories/spriteRepository' diff --git a/src/events/gameMaster/assetManager/item/delete.ts b/src/events/gameMaster/assetManager/item/delete.ts index 0a65713..dfd919c 100644 --- a/src/events/gameMaster/assetManager/item/delete.ts +++ b/src/events/gameMaster/assetManager/item/delete.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import ItemRepository from '#repositories/itemRepository' interface IPayload { diff --git a/src/events/gameMaster/assetManager/item/update.ts b/src/events/gameMaster/assetManager/item/update.ts index c8de11d..00b034a 100644 --- a/src/events/gameMaster/assetManager/item/update.ts +++ b/src/events/gameMaster/assetManager/item/update.ts @@ -1,6 +1,7 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' import { ItemType, ItemRarity } from '#application/enums' -import { UUID } from '#application/types' import ItemRepository from '#repositories/itemRepository' import SpriteRepository from '#repositories/spriteRepository' diff --git a/src/events/gameMaster/assetManager/mapObject/remove.ts b/src/events/gameMaster/assetManager/mapObject/remove.ts index 6feff49..27ce5f0 100644 --- a/src/events/gameMaster/assetManager/mapObject/remove.ts +++ b/src/events/gameMaster/assetManager/mapObject/remove.ts @@ -1,8 +1,9 @@ import fs from 'fs' +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' import Storage from '#application/storage' -import { UUID } from '#application/types' import MapObjectRepository from '#repositories/mapObjectRepository' interface IPayload { diff --git a/src/events/gameMaster/assetManager/mapObject/update.ts b/src/events/gameMaster/assetManager/mapObject/update.ts index 5cefbbb..80d426e 100644 --- a/src/events/gameMaster/assetManager/mapObject/update.ts +++ b/src/events/gameMaster/assetManager/mapObject/update.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import MapObjectRepository from '#repositories/mapObjectRepository' type Payload = { diff --git a/src/events/gameMaster/assetManager/sprite/copy.ts b/src/events/gameMaster/assetManager/sprite/copy.ts index d02cbd9..dbbcee2 100644 --- a/src/events/gameMaster/assetManager/sprite/copy.ts +++ b/src/events/gameMaster/assetManager/sprite/copy.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import { Sprite } from '#entities/sprite' import SpriteRepository from '#repositories/spriteRepository' diff --git a/src/events/gameMaster/assetManager/sprite/delete.ts b/src/events/gameMaster/assetManager/sprite/delete.ts index fd8a964..cabc53a 100644 --- a/src/events/gameMaster/assetManager/sprite/delete.ts +++ b/src/events/gameMaster/assetManager/sprite/delete.ts @@ -1,8 +1,9 @@ import fs from 'fs' +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' import Storage from '#application/storage' -import { UUID } from '#application/types' import SpriteRepository from '#repositories/spriteRepository' type Payload = { diff --git a/src/events/gameMaster/assetManager/sprite/update.ts b/src/events/gameMaster/assetManager/sprite/update.ts index 8803edd..401fc72 100644 --- a/src/events/gameMaster/assetManager/sprite/update.ts +++ b/src/events/gameMaster/assetManager/sprite/update.ts @@ -2,8 +2,9 @@ import fs from 'fs' import sharp from 'sharp' +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import { SpriteAction } from '#entities/spriteAction' import SpriteRepository from '#repositories/spriteRepository' diff --git a/src/events/gameMaster/assetManager/tile/delete.ts b/src/events/gameMaster/assetManager/tile/delete.ts index b371341..e1c0e0f 100644 --- a/src/events/gameMaster/assetManager/tile/delete.ts +++ b/src/events/gameMaster/assetManager/tile/delete.ts @@ -1,8 +1,9 @@ import fs from 'fs/promises' +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' import Storage from '#application/storage' -import { UUID } from '#application/types' import TileRepository from '#repositories/tileRepository' type Payload = { diff --git a/src/events/gameMaster/assetManager/tile/update.ts b/src/events/gameMaster/assetManager/tile/update.ts index 0b81444..fd9dbf0 100644 --- a/src/events/gameMaster/assetManager/tile/update.ts +++ b/src/events/gameMaster/assetManager/tile/update.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import TileRepository from '#repositories/tileRepository' type Payload = { diff --git a/src/events/gameMaster/mapEditor/delete.ts b/src/events/gameMaster/mapEditor/delete.ts index 76873e3..9bd1cba 100644 --- a/src/events/gameMaster/mapEditor/delete.ts +++ b/src/events/gameMaster/mapEditor/delete.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import MapRepository from '#repositories/mapRepository' type Payload = { diff --git a/src/events/gameMaster/mapEditor/request.ts b/src/events/gameMaster/mapEditor/request.ts index 28e350a..0b52cea 100644 --- a/src/events/gameMaster/mapEditor/request.ts +++ b/src/events/gameMaster/mapEditor/request.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' -import { UUID } from '#application/types' import { Map } from '#entities/map' import MapRepository from '#repositories/mapRepository' diff --git a/src/events/gameMaster/mapEditor/update.ts b/src/events/gameMaster/mapEditor/update.ts index c4adfc1..4979122 100644 --- a/src/events/gameMaster/mapEditor/update.ts +++ b/src/events/gameMaster/mapEditor/update.ts @@ -1,6 +1,7 @@ +import type { UUID } from '#application/types' + import { BaseEvent } from '#application/base/baseEvent' import { MapEventTileType } from '#application/enums' -import { UUID } from '#application/types' import { Map } from '#entities/map' import { MapEffect } from '#entities/mapEffect' import { MapEventTile } from '#entities/mapEventTile' diff --git a/src/jobs/someJob.ts b/src/jobs/someJob.ts index 4a760f9..707ca93 100644 --- a/src/jobs/someJob.ts +++ b/src/jobs/someJob.ts @@ -1,6 +1,6 @@ import { Server as SocketServer } from 'socket.io' -import { TSocket } from '#application/types' +import type { TSocket } from '#application/types' export default class SomeJob { constructor(private params: any) {} diff --git a/src/managers/httpManager.ts b/src/managers/httpManager.ts index 5fb7085..0a7ce51 100644 --- a/src/managers/httpManager.ts +++ b/src/managers/httpManager.ts @@ -1,5 +1,6 @@ import cors from 'cors' -import { Application } from 'express' + +import type { Application } from 'express' import config from '#application/config' import { AuthController } from '#controllers/auth' diff --git a/src/managers/mapManager.ts b/src/managers/mapManager.ts index 564fdf5..94b4bc9 100644 --- a/src/managers/mapManager.ts +++ b/src/managers/mapManager.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import Logger, { LoggerType } from '#application/logger' -import { UUID } from '#application/types' import { Map } from '#entities/map' import LoadedMap from '#models/loadedMap' import MapCharacter from '#models/mapCharacter' diff --git a/src/managers/queueManager.ts b/src/managers/queueManager.ts index d76a33e..74a826b 100644 --- a/src/managers/queueManager.ts +++ b/src/managers/queueManager.ts @@ -4,10 +4,11 @@ import { Job, Queue, Worker } from 'bullmq' import IORedis from 'ioredis' import { Server as SocketServer } from 'socket.io' +import type { TSocket } from '#application/types' + import config from '#application/config' import Logger, { LoggerType } from '#application/logger' import Storage from '#application/storage' -import { TSocket } from '#application/types' import SocketManager from '#managers/socketManager' class QueueManager { diff --git a/src/managers/socketManager.ts b/src/managers/socketManager.ts index 241d39c..8b4d9b5 100644 --- a/src/managers/socketManager.ts +++ b/src/managers/socketManager.ts @@ -2,12 +2,13 @@ import fs from 'fs' import { Server as HTTPServer } from 'http' import { pathToFileURL } from 'url' -import { Application } from 'express' import { Server as SocketServer } from 'socket.io' +import type { TSocket, UUID } from '#application/types' +import type { Application } from 'express' + import Logger, { LoggerType } from '#application/logger' import Storage from '#application/storage' -import { TSocket, UUID } from '#application/types' import { Authentication } from '#middleware/authentication' class SocketManager { diff --git a/src/middleware/authentication.ts b/src/middleware/authentication.ts index 9ef7feb..e703102 100644 --- a/src/middleware/authentication.ts +++ b/src/middleware/authentication.ts @@ -1,8 +1,9 @@ import jwt from 'jsonwebtoken' +import type { TSocket } from '#application/types' + import config from '#application/config' import Logger, { LoggerType } from '#application/logger' -import { TSocket } from '#application/types' class SocketAuthenticator { private socket: TSocket diff --git a/src/models/loadedMap.ts b/src/models/loadedMap.ts index 1116dcf..d3e964a 100644 --- a/src/models/loadedMap.ts +++ b/src/models/loadedMap.ts @@ -1,4 +1,5 @@ -import { UUID } from '#application/types' +import type { UUID } from '#application/types' + import { Character } from '#entities/character' import { Map } from '#entities/map' import MapCharacter from '#models/mapCharacter' diff --git a/src/models/mapCharacter.ts b/src/models/mapCharacter.ts index 2ae2b4c..efff135 100644 --- a/src/models/mapCharacter.ts +++ b/src/models/mapCharacter.ts @@ -1,9 +1,9 @@ import { Server } from 'socket.io' -import { TSocket, UUID } from '#application/types' +import type { TSocket, UUID } from '#application/types' + import { Character } from '#entities/character' import MapManager from '#managers/mapManager' -import SocketManager from '#managers/socketManager' import TeleportService from '#services/characterTeleportService' class MapCharacter { diff --git a/src/repositories/characterHairRepository.ts b/src/repositories/characterHairRepository.ts index 5128703..41f94e9 100644 --- a/src/repositories/characterHairRepository.ts +++ b/src/repositories/characterHairRepository.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { CharacterHair } from '#entities/characterHair' class CharacterHairRepository extends BaseRepository { diff --git a/src/repositories/characterRepository.ts b/src/repositories/characterRepository.ts index bfde58a..b16ca72 100644 --- a/src/repositories/characterRepository.ts +++ b/src/repositories/characterRepository.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { Character } from '#entities/character' class CharacterRepository extends BaseRepository { diff --git a/src/repositories/characterTypeRepository.ts b/src/repositories/characterTypeRepository.ts index a99b684..599fcdb 100644 --- a/src/repositories/characterTypeRepository.ts +++ b/src/repositories/characterTypeRepository.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { CharacterType } from '#entities/characterType' class CharacterTypeRepository extends BaseRepository { diff --git a/src/repositories/chatRepository.ts b/src/repositories/chatRepository.ts index 6beb721..0ec19ad 100644 --- a/src/repositories/chatRepository.ts +++ b/src/repositories/chatRepository.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { Chat } from '#entities/chat' class ChatRepository extends BaseRepository { diff --git a/src/repositories/itemRepository.ts b/src/repositories/itemRepository.ts index e891dc4..d47e06b 100644 --- a/src/repositories/itemRepository.ts +++ b/src/repositories/itemRepository.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { Item } from '#entities/item' class ItemRepository extends BaseRepository { diff --git a/src/repositories/mapEventTileRepository.ts b/src/repositories/mapEventTileRepository.ts index a6922a2..ea0cbf4 100644 --- a/src/repositories/mapEventTileRepository.ts +++ b/src/repositories/mapEventTileRepository.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { MapEventTile } from '#entities/mapEventTile' class MapEventTileRepository extends BaseRepository { diff --git a/src/repositories/mapObjectRepository.ts b/src/repositories/mapObjectRepository.ts index e4c64b5..0364926 100644 --- a/src/repositories/mapObjectRepository.ts +++ b/src/repositories/mapObjectRepository.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { MapObject } from '#entities/mapObject' class MapObjectRepository extends BaseRepository { diff --git a/src/repositories/mapRepository.ts b/src/repositories/mapRepository.ts index 92928da..0b313e9 100644 --- a/src/repositories/mapRepository.ts +++ b/src/repositories/mapRepository.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { Map } from '#entities/map' import { MapEventTile } from '#entities/mapEventTile' diff --git a/src/repositories/passwordResetTokenRepository.ts b/src/repositories/passwordResetTokenRepository.ts index 2be1e2f..b14c7f5 100644 --- a/src/repositories/passwordResetTokenRepository.ts +++ b/src/repositories/passwordResetTokenRepository.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { PasswordResetToken } from '#entities/passwordResetToken' class PasswordResetTokenRepository extends BaseRepository { diff --git a/src/repositories/spriteRepository.ts b/src/repositories/spriteRepository.ts index 8da8294..5bb69d1 100644 --- a/src/repositories/spriteRepository.ts +++ b/src/repositories/spriteRepository.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { Sprite } from '#entities/sprite' class SpriteRepository extends BaseRepository { diff --git a/src/repositories/tileRepository.ts b/src/repositories/tileRepository.ts index 6147bdc..97c2ba3 100644 --- a/src/repositories/tileRepository.ts +++ b/src/repositories/tileRepository.ts @@ -1,7 +1,6 @@ -import { FilterValue } from '@mikro-orm/core' +import type { UUID } from '#application/types' import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { unduplicateArray } from '#application/utilities' import { Map } from '#entities/map' import { Tile } from '#entities/tile' diff --git a/src/repositories/userRepository.ts b/src/repositories/userRepository.ts index 3f25d97..73e21b1 100644 --- a/src/repositories/userRepository.ts +++ b/src/repositories/userRepository.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseRepository } from '#application/base/baseRepository' -import { UUID } from '#application/types' import { User } from '#entities/user' class UserRepository extends BaseRepository { diff --git a/src/server.ts b/src/server.ts index 02a0b36..8d76d28 100644 --- a/src/server.ts +++ b/src/server.ts @@ -2,7 +2,9 @@ import 'reflect-metadata' import { createServer as httpServer, Server as HTTPServer } from 'http' import cors from 'cors' -import express, { Application } from 'express' +import express from 'express' + +import type { Application } from 'express' import config from '#application/config' import Database from '#application/database' diff --git a/src/services/characterAttackService.ts b/src/services/characterAttackService.ts index 30a1859..75d5c1b 100644 --- a/src/services/characterAttackService.ts +++ b/src/services/characterAttackService.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseService } from '#application/base/baseService' -import { UUID } from '#application/types' import MapManager from '#managers/mapManager' import SocketManager from '#managers/socketManager' diff --git a/src/services/characterTeleportService.ts b/src/services/characterTeleportService.ts index 3762ea9..6941b78 100644 --- a/src/services/characterTeleportService.ts +++ b/src/services/characterTeleportService.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import Logger, { LoggerType } from '#application/logger' -import { UUID } from '#application/types' import { Character } from '#entities/character' import MapManager from '#managers/mapManager' import SocketManager from '#managers/socketManager' diff --git a/src/services/chatService.ts b/src/services/chatService.ts index 02a1f4c..43a64f6 100644 --- a/src/services/chatService.ts +++ b/src/services/chatService.ts @@ -1,5 +1,6 @@ +import type { UUID } from '#application/types' + import { BaseService } from '#application/base/baseService' -import { UUID } from '#application/types' import { Chat } from '#entities/chat' import SocketManager from '#managers/socketManager' import CharacterRepository from '#repositories/characterRepository' diff --git a/tsconfig.json b/tsconfig.json index b51ea27..dba5394 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,24 +1,27 @@ { "compilerOptions": { - // Enable latest features - "lib": ["ESNext"], - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "node", - "declaration": true, - "noImplicitAny": true, - "isolatedModules": true, - "sourceMap": true, - - // Best practices - "strict": true, + // Base options + "esModuleInterop": true, "skipLibCheck": true, - "noFallthroughCasesInSwitch": true, + "allowJs": true, + "resolveJsonModule": true, + "moduleDetection": "force", + "isolatedModules": true, + "verbatimModuleSyntax": true, + "lib": ["es2022"], + "target": "es2022", - // Output + // Strictness + "strict": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + + // Transpiling with TypeScript + "module": "NodeNext", "baseUrl": "./src", "rootDir": "./src", "outDir": "./dist", + "sourceMap": true, "paths": { "#root/*": ["./*"], @@ -39,7 +42,6 @@ "typeRoots": ["./node_modules/@types"], // Other options - "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "experimentalDecorators": true, "emitDecoratorMetadata": true,