1
0
forked from noxious/server

Updated tsconfig.json and edited all required files to work with it

This commit is contained in:
Dennis Postma 2025-02-07 20:37:51 +01:00
parent fae428f239
commit f5e7d10fb4
70 changed files with 153 additions and 88 deletions

View File

@ -1,6 +1,6 @@
import fs from 'fs' import fs from 'fs'
import { Response } from 'express' import type { Response } from 'express'
import Logger, { LoggerType } from '#application/logger' import Logger, { LoggerType } from '#application/logger'

View File

@ -1,7 +1,8 @@
import { Server } from 'socket.io' import { Server } from 'socket.io'
import type { TSocket } from '#application/types'
import Logger, { LoggerType } from '#application/logger' import Logger, { LoggerType } from '#application/logger'
import { TSocket } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import CharacterRepository from '#repositories/characterRepository' import CharacterRepository from '#repositories/characterRepository'

View File

@ -2,9 +2,10 @@ import * as fs from 'fs'
import * as path from 'path' import * as path from 'path'
import { pathToFileURL } from 'url' import { pathToFileURL } from 'url'
import type { Command } from '#application/types'
import Logger, { LoggerType } from '#application/logger' import Logger, { LoggerType } from '#application/logger'
import Storage from '#application/storage' import Storage from '#application/storage'
import { Command } from '#application/types'
export class CommandRegistry { export class CommandRegistry {
private readonly commands: Map<string, Command> = new Map() private readonly commands: Map<string, Command> = new Map()

View File

@ -2,10 +2,11 @@ import fs from 'fs'
import sharp from 'sharp' import sharp from 'sharp'
import type { UUID } from '#application/types'
import { BaseCommand } from '#application/base/baseCommand' import { BaseCommand } from '#application/base/baseCommand'
import { CharacterGender, CharacterRace } from '#application/enums' import { CharacterGender, CharacterRace } from '#application/enums'
import Storage from '#application/storage' import Storage from '#application/storage'
import { UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import { CharacterHair } from '#entities/characterHair' import { CharacterHair } from '#entities/characterHair'
import { CharacterType } from '#entities/characterType' import { CharacterType } from '#entities/characterType'

View File

@ -1,6 +1,7 @@
import { Request, Response } from 'express'
import jwt from 'jsonwebtoken' import jwt from 'jsonwebtoken'
import type { Request, Response } from 'express'
import { BaseController } from '#application/base/baseController' import { BaseController } from '#application/base/baseController'
import config from '#application/config' import config from '#application/config'
import { loginAccountSchema, registerAccountSchema, resetPasswordSchema, newPasswordSchema } from '#application/zodTypes' import { loginAccountSchema, registerAccountSchema, resetPasswordSchema, newPasswordSchema } from '#application/zodTypes'

View File

@ -1,11 +1,12 @@
import fs from 'fs' import fs from 'fs'
import { Request, Response } from 'express'
import sharp from 'sharp' import sharp from 'sharp'
import type { UUID } from '#application/types'
import type { Request, Response } from 'express'
import { BaseController } from '#application/base/baseController' import { BaseController } from '#application/base/baseController'
import Storage from '#application/storage' import Storage from '#application/storage'
import { UUID } from '#application/types'
import CharacterHairRepository from '#repositories/characterHairRepository' import CharacterHairRepository from '#repositories/characterHairRepository'
import CharacterRepository from '#repositories/characterRepository' import CharacterRepository from '#repositories/characterRepository'
import CharacterTypeRepository from '#repositories/characterTypeRepository' import CharacterTypeRepository from '#repositories/characterTypeRepository'

View File

@ -1,4 +1,4 @@
import { Request, Response } from 'express' import type { Request, Response } from 'express'
import { BaseController } from '#application/base/baseController' import { BaseController } from '#application/base/baseController'
import CharacterHairRepository from '#repositories/characterHairRepository' import CharacterHairRepository from '#repositories/characterHairRepository'

View File

@ -1,4 +1,4 @@
import { Request, Response } from 'express' import type { Request, Response } from 'express'
import { BaseController } from '#application/base/baseController' import { BaseController } from '#application/base/baseController'
import Storage from '#application/storage' import Storage from '#application/storage'

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
import { CharacterEquipment } from '#entities/characterEquipment' import { CharacterEquipment } from '#entities/characterEquipment'
import { CharacterHair } from '#entities/characterHair' import { CharacterHair } from '#entities/characterHair'
import { CharacterItem } from '#entities/characterItem' import { CharacterItem } from '#entities/characterItem'

View File

@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto'
import { Enum, ManyToOne, PrimaryKey } from '@mikro-orm/core' import { Enum, ManyToOne, PrimaryKey } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { CharacterEquipmentSlotType } from '#application/enums' import { CharacterEquipmentSlotType } from '#application/enums'
import { UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import { CharacterItem } from '#entities/characterItem' import { CharacterItem } from '#entities/characterItem'

View File

@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto'
import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { CharacterGender } from '#application/enums' import { CharacterGender } from '#application/enums'
import { UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import { Sprite } from '#entities/sprite' import { Sprite } from '#entities/sprite'

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import { CharacterEquipment } from '#entities/characterEquipment' import { CharacterEquipment } from '#entities/characterEquipment'
import { Item } from '#entities/item' import { Item } from '#entities/item'

View File

@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto'
import { Collection, Entity, Enum, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' 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 { BaseEntity } from '#application/base/baseEntity'
import { CharacterGender, CharacterRace } from '#application/enums' import { CharacterGender, CharacterRace } from '#application/enums'
import { UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import { Sprite } from '#entities/sprite' import { Sprite } from '#entities/sprite'

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core' import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import { Map } from '#entities/map' import { Map } from '#entities/map'

View File

@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto'
import { Collection, Entity, Enum, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' 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 { BaseEntity } from '#application/base/baseEntity'
import { ItemType, ItemRarity } from '#application/enums' import { ItemType, ItemRarity } from '#application/enums'
import { UUID } from '#application/types'
import { CharacterItem } from '#entities/characterItem' import { CharacterItem } from '#entities/characterItem'
import { Sprite } from '#entities/sprite' import { Sprite } from '#entities/sprite'

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
import { MapEffect } from '#entities/mapEffect' import { MapEffect } from '#entities/mapEffect'
import { MapEventTile } from '#entities/mapEventTile' import { MapEventTile } from '#entities/mapEventTile'
import { PlacedMapObject } from '#entities/placedMapObject' import { PlacedMapObject } from '#entities/placedMapObject'

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core' import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
import { Map } from '#entities/map' import { Map } from '#entities/map'
export class BaseMapEffect extends BaseEntity { export class BaseMapEffect extends BaseEntity {

View File

@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto'
import { Entity, Enum, ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core' import { Entity, Enum, ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { MapEventTileType } from '#application/enums' import { MapEventTileType } from '#application/enums'
import { UUID } from '#application/types'
import { Map } from '#entities/map' import { Map } from '#entities/map'
import { MapEventTileTeleport } from '#entities/mapEventTileTeleport' import { MapEventTileTeleport } from '#entities/mapEventTileTeleport'

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { Entity, ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core' import { Entity, ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
import { Map } from '#entities/map' import { Map } from '#entities/map'
import { MapEventTile } from '#entities/mapEventTile' import { MapEventTile } from '#entities/mapEventTile'

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { Entity, PrimaryKey, Property } from '@mikro-orm/core' import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
export class BaseMapObject extends BaseEntity { export class BaseMapObject extends BaseEntity {
@PrimaryKey() @PrimaryKey()

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core' import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
import { User } from '#entities/user' import { User } from '#entities/user'
export class BasePasswordResetToken extends BaseEntity { export class BasePasswordResetToken extends BaseEntity {

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core' import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
import { Map } from '#entities/map' import { Map } from '#entities/map'
import { MapObject } from '#entities/mapObject' import { MapObject } from '#entities/mapObject'

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
import { SpriteAction } from '#entities/spriteAction' import { SpriteAction } from '#entities/spriteAction'
export class BaseSprite extends BaseEntity { export class BaseSprite extends BaseEntity {

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core' import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
import { Sprite } from '#entities/sprite' import { Sprite } from '#entities/sprite'
export interface SpriteImage { export interface SpriteImage {

View File

@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
import { Entity, PrimaryKey, Property } from '@mikro-orm/core' import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
export class BaseTile extends BaseEntity { export class BaseTile extends BaseEntity {
@PrimaryKey() @PrimaryKey()

View File

@ -3,8 +3,9 @@ import { randomUUID } from 'node:crypto'
import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core' import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import bcrypt from 'bcryptjs' import bcrypt from 'bcryptjs'
import type { UUID } from '#application/types'
import { BaseEntity } from '#application/base/baseEntity' import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import { PasswordResetToken } from '#entities/passwordResetToken' import { PasswordResetToken } from '#entities/passwordResetToken'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import MapManager from '#managers/mapManager' import MapManager from '#managers/mapManager'
import CharacterHairRepository from '#repositories/characterHairRepository' import CharacterHairRepository from '#repositories/characterHairRepository'
import CharacterRepository from '#repositories/characterRepository' import CharacterRepository from '#repositories/characterRepository'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import CharacterRepository from '#repositories/characterRepository' import CharacterRepository from '#repositories/characterRepository'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import MapManager from '#managers/mapManager' import MapManager from '#managers/mapManager'
import MapRepository from '#repositories/mapRepository' import MapRepository from '#repositories/mapRepository'
import TeleportService from '#services/characterTeleportService' import TeleportService from '#services/characterTeleportService'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import CharacterHairRepository from '#repositories/characterHairRepository' import CharacterHairRepository from '#repositories/characterHairRepository'
interface IPayload { interface IPayload {

View File

@ -1,6 +1,7 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { CharacterGender } from '#application/enums' import { CharacterGender } from '#application/enums'
import { UUID } from '#application/types'
import CharacterHairRepository from '#repositories/characterHairRepository' import CharacterHairRepository from '#repositories/characterHairRepository'
import SpriteRepository from '#repositories/spriteRepository' import SpriteRepository from '#repositories/spriteRepository'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import CharacterTypeRepository from '#repositories/characterTypeRepository' import CharacterTypeRepository from '#repositories/characterTypeRepository'
interface IPayload { interface IPayload {

View File

@ -1,6 +1,7 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { CharacterGender, CharacterRace } from '#application/enums' import { CharacterGender, CharacterRace } from '#application/enums'
import { UUID } from '#application/types'
import CharacterTypeRepository from '#repositories/characterTypeRepository' import CharacterTypeRepository from '#repositories/characterTypeRepository'
import SpriteRepository from '#repositories/spriteRepository' import SpriteRepository from '#repositories/spriteRepository'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import ItemRepository from '#repositories/itemRepository' import ItemRepository from '#repositories/itemRepository'
interface IPayload { interface IPayload {

View File

@ -1,6 +1,7 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { ItemType, ItemRarity } from '#application/enums' import { ItemType, ItemRarity } from '#application/enums'
import { UUID } from '#application/types'
import ItemRepository from '#repositories/itemRepository' import ItemRepository from '#repositories/itemRepository'
import SpriteRepository from '#repositories/spriteRepository' import SpriteRepository from '#repositories/spriteRepository'

View File

@ -1,8 +1,9 @@
import fs from 'fs' import fs from 'fs'
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import Storage from '#application/storage' import Storage from '#application/storage'
import { UUID } from '#application/types'
import MapObjectRepository from '#repositories/mapObjectRepository' import MapObjectRepository from '#repositories/mapObjectRepository'
interface IPayload { interface IPayload {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import MapObjectRepository from '#repositories/mapObjectRepository' import MapObjectRepository from '#repositories/mapObjectRepository'
type Payload = { type Payload = {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import { Sprite } from '#entities/sprite' import { Sprite } from '#entities/sprite'
import SpriteRepository from '#repositories/spriteRepository' import SpriteRepository from '#repositories/spriteRepository'

View File

@ -1,8 +1,9 @@
import fs from 'fs' import fs from 'fs'
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import Storage from '#application/storage' import Storage from '#application/storage'
import { UUID } from '#application/types'
import SpriteRepository from '#repositories/spriteRepository' import SpriteRepository from '#repositories/spriteRepository'
type Payload = { type Payload = {

View File

@ -2,8 +2,9 @@ import fs from 'fs'
import sharp from 'sharp' import sharp from 'sharp'
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import { SpriteAction } from '#entities/spriteAction' import { SpriteAction } from '#entities/spriteAction'
import SpriteRepository from '#repositories/spriteRepository' import SpriteRepository from '#repositories/spriteRepository'

View File

@ -1,8 +1,9 @@
import fs from 'fs/promises' import fs from 'fs/promises'
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import Storage from '#application/storage' import Storage from '#application/storage'
import { UUID } from '#application/types'
import TileRepository from '#repositories/tileRepository' import TileRepository from '#repositories/tileRepository'
type Payload = { type Payload = {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import TileRepository from '#repositories/tileRepository' import TileRepository from '#repositories/tileRepository'
type Payload = { type Payload = {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import MapRepository from '#repositories/mapRepository' import MapRepository from '#repositories/mapRepository'
type Payload = { type Payload = {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { UUID } from '#application/types'
import { Map } from '#entities/map' import { Map } from '#entities/map'
import MapRepository from '#repositories/mapRepository' import MapRepository from '#repositories/mapRepository'

View File

@ -1,6 +1,7 @@
import type { UUID } from '#application/types'
import { BaseEvent } from '#application/base/baseEvent' import { BaseEvent } from '#application/base/baseEvent'
import { MapEventTileType } from '#application/enums' import { MapEventTileType } from '#application/enums'
import { UUID } from '#application/types'
import { Map } from '#entities/map' import { Map } from '#entities/map'
import { MapEffect } from '#entities/mapEffect' import { MapEffect } from '#entities/mapEffect'
import { MapEventTile } from '#entities/mapEventTile' import { MapEventTile } from '#entities/mapEventTile'

View File

@ -1,6 +1,6 @@
import { Server as SocketServer } from 'socket.io' import { Server as SocketServer } from 'socket.io'
import { TSocket } from '#application/types' import type { TSocket } from '#application/types'
export default class SomeJob { export default class SomeJob {
constructor(private params: any) {} constructor(private params: any) {}

View File

@ -1,5 +1,6 @@
import cors from 'cors' import cors from 'cors'
import { Application } from 'express'
import type { Application } from 'express'
import config from '#application/config' import config from '#application/config'
import { AuthController } from '#controllers/auth' import { AuthController } from '#controllers/auth'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import Logger, { LoggerType } from '#application/logger' import Logger, { LoggerType } from '#application/logger'
import { UUID } from '#application/types'
import { Map } from '#entities/map' import { Map } from '#entities/map'
import LoadedMap from '#models/loadedMap' import LoadedMap from '#models/loadedMap'
import MapCharacter from '#models/mapCharacter' import MapCharacter from '#models/mapCharacter'

View File

@ -4,10 +4,11 @@ import { Job, Queue, Worker } from 'bullmq'
import IORedis from 'ioredis' import IORedis from 'ioredis'
import { Server as SocketServer } from 'socket.io' import { Server as SocketServer } from 'socket.io'
import type { TSocket } from '#application/types'
import config from '#application/config' import config from '#application/config'
import Logger, { LoggerType } from '#application/logger' import Logger, { LoggerType } from '#application/logger'
import Storage from '#application/storage' import Storage from '#application/storage'
import { TSocket } from '#application/types'
import SocketManager from '#managers/socketManager' import SocketManager from '#managers/socketManager'
class QueueManager { class QueueManager {

View File

@ -2,12 +2,13 @@ import fs from 'fs'
import { Server as HTTPServer } from 'http' import { Server as HTTPServer } from 'http'
import { pathToFileURL } from 'url' import { pathToFileURL } from 'url'
import { Application } from 'express'
import { Server as SocketServer } from 'socket.io' 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 Logger, { LoggerType } from '#application/logger'
import Storage from '#application/storage' import Storage from '#application/storage'
import { TSocket, UUID } from '#application/types'
import { Authentication } from '#middleware/authentication' import { Authentication } from '#middleware/authentication'
class SocketManager { class SocketManager {

View File

@ -1,8 +1,9 @@
import jwt from 'jsonwebtoken' import jwt from 'jsonwebtoken'
import type { TSocket } from '#application/types'
import config from '#application/config' import config from '#application/config'
import Logger, { LoggerType } from '#application/logger' import Logger, { LoggerType } from '#application/logger'
import { TSocket } from '#application/types'
class SocketAuthenticator { class SocketAuthenticator {
private socket: TSocket private socket: TSocket

View File

@ -1,4 +1,5 @@
import { UUID } from '#application/types' import type { UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import { Map } from '#entities/map' import { Map } from '#entities/map'
import MapCharacter from '#models/mapCharacter' import MapCharacter from '#models/mapCharacter'

View File

@ -1,9 +1,9 @@
import { Server } from 'socket.io' import { Server } from 'socket.io'
import { TSocket, UUID } from '#application/types' import type { TSocket, UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import MapManager from '#managers/mapManager' import MapManager from '#managers/mapManager'
import SocketManager from '#managers/socketManager'
import TeleportService from '#services/characterTeleportService' import TeleportService from '#services/characterTeleportService'
class MapCharacter { class MapCharacter {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { CharacterHair } from '#entities/characterHair' import { CharacterHair } from '#entities/characterHair'
class CharacterHairRepository extends BaseRepository { class CharacterHairRepository extends BaseRepository {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
class CharacterRepository extends BaseRepository { class CharacterRepository extends BaseRepository {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { CharacterType } from '#entities/characterType' import { CharacterType } from '#entities/characterType'
class CharacterTypeRepository extends BaseRepository { class CharacterTypeRepository extends BaseRepository {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { Chat } from '#entities/chat' import { Chat } from '#entities/chat'
class ChatRepository extends BaseRepository { class ChatRepository extends BaseRepository {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { Item } from '#entities/item' import { Item } from '#entities/item'
class ItemRepository extends BaseRepository { class ItemRepository extends BaseRepository {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { MapEventTile } from '#entities/mapEventTile' import { MapEventTile } from '#entities/mapEventTile'
class MapEventTileRepository extends BaseRepository { class MapEventTileRepository extends BaseRepository {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { MapObject } from '#entities/mapObject' import { MapObject } from '#entities/mapObject'
class MapObjectRepository extends BaseRepository { class MapObjectRepository extends BaseRepository {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { Map } from '#entities/map' import { Map } from '#entities/map'
import { MapEventTile } from '#entities/mapEventTile' import { MapEventTile } from '#entities/mapEventTile'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { PasswordResetToken } from '#entities/passwordResetToken' import { PasswordResetToken } from '#entities/passwordResetToken'
class PasswordResetTokenRepository extends BaseRepository { class PasswordResetTokenRepository extends BaseRepository {

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { Sprite } from '#entities/sprite' import { Sprite } from '#entities/sprite'
class SpriteRepository extends BaseRepository { class SpriteRepository extends BaseRepository {

View File

@ -1,7 +1,6 @@
import { FilterValue } from '@mikro-orm/core' import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { unduplicateArray } from '#application/utilities' import { unduplicateArray } from '#application/utilities'
import { Map } from '#entities/map' import { Map } from '#entities/map'
import { Tile } from '#entities/tile' import { Tile } from '#entities/tile'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseRepository } from '#application/base/baseRepository' import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { User } from '#entities/user' import { User } from '#entities/user'
class UserRepository extends BaseRepository { class UserRepository extends BaseRepository {

View File

@ -2,7 +2,9 @@ import 'reflect-metadata'
import { createServer as httpServer, Server as HTTPServer } from 'http' import { createServer as httpServer, Server as HTTPServer } from 'http'
import cors from 'cors' import cors from 'cors'
import express, { Application } from 'express' import express from 'express'
import type { Application } from 'express'
import config from '#application/config' import config from '#application/config'
import Database from '#application/database' import Database from '#application/database'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseService } from '#application/base/baseService' import { BaseService } from '#application/base/baseService'
import { UUID } from '#application/types'
import MapManager from '#managers/mapManager' import MapManager from '#managers/mapManager'
import SocketManager from '#managers/socketManager' import SocketManager from '#managers/socketManager'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import Logger, { LoggerType } from '#application/logger' import Logger, { LoggerType } from '#application/logger'
import { UUID } from '#application/types'
import { Character } from '#entities/character' import { Character } from '#entities/character'
import MapManager from '#managers/mapManager' import MapManager from '#managers/mapManager'
import SocketManager from '#managers/socketManager' import SocketManager from '#managers/socketManager'

View File

@ -1,5 +1,6 @@
import type { UUID } from '#application/types'
import { BaseService } from '#application/base/baseService' import { BaseService } from '#application/base/baseService'
import { UUID } from '#application/types'
import { Chat } from '#entities/chat' import { Chat } from '#entities/chat'
import SocketManager from '#managers/socketManager' import SocketManager from '#managers/socketManager'
import CharacterRepository from '#repositories/characterRepository' import CharacterRepository from '#repositories/characterRepository'

View File

@ -1,24 +1,27 @@
{ {
"compilerOptions": { "compilerOptions": {
// Enable latest features // Base options
"lib": ["ESNext"], "esModuleInterop": true,
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "node",
"declaration": true,
"noImplicitAny": true,
"isolatedModules": true,
"sourceMap": true,
// Best practices
"strict": true,
"skipLibCheck": 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", "baseUrl": "./src",
"rootDir": "./src", "rootDir": "./src",
"outDir": "./dist", "outDir": "./dist",
"sourceMap": true,
"paths": { "paths": {
"#root/*": ["./*"], "#root/*": ["./*"],
@ -39,7 +42,6 @@
"typeRoots": ["./node_modules/@types"], "typeRoots": ["./node_modules/@types"],
// Other options // Other options
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true, "forceConsistentCasingInFileNames": true,
"experimentalDecorators": true, "experimentalDecorators": true,
"emitDecoratorMetadata": true, "emitDecoratorMetadata": true,