diff --git a/.eslintrc.js b/.eslintrc.js index db9e7ce0..6ac87925 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,13 +1,19 @@ module.exports = { extends: ['@innei-util/eslint-config-ts'], - plugins: ['unused-imports'], + root: true, + plugins: ['unused-imports', '@typescript-eslint'], rules: { 'no-empty': 'warn', 'no-fallthrough': 'error', 'no-unused-vars': 'off', // or "@typescript-eslint/no-unused-vars": "off", '@typescript-eslint/no-unused-vars': 'off', 'unused-imports/no-unused-imports': 'error', - '@typescript-eslint/consistent-type-imports': 'warn', + '@typescript-eslint/consistent-type-imports': [ + 'warn', + { + prefer: 'no-type-imports', + }, + ], 'unused-imports/no-unused-vars': [ 'warn', { diff --git a/package.json b/package.json index 3567031a..462ec548 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "@socket.io/redis-adapter": "7.1.0", "@socket.io/redis-emitter": "4.1.1", "@typegoose/auto-increment": "1.3.0", - "@typegoose/typegoose": "9.7.1", + "@typegoose/typegoose": "9.8.0", "algoliasearch": "4.13.0", "axios": "*", "axios-retry": "3.2.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 146a2cc9..c3c90c4d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,7 +30,7 @@ specifiers: '@socket.io/redis-adapter': 7.1.0 '@socket.io/redis-emitter': 4.1.1 '@typegoose/auto-increment': 1.3.0 - '@typegoose/typegoose': 9.7.1 + '@typegoose/typegoose': 9.8.0 '@types/babel__core': 7.1.19 '@types/bcrypt': 5.0.0 '@types/cache-manager': 3.4.3 @@ -138,7 +138,7 @@ dependencies: '@socket.io/redis-adapter': 7.1.0 '@socket.io/redis-emitter': 4.1.1 '@typegoose/auto-increment': 1.3.0_mongoose@6.3.0 - '@typegoose/typegoose': 9.7.1_mongoose@6.3.0 + '@typegoose/typegoose': 9.8.0_mongoose@6.3.0 algoliasearch: 4.13.0 axios: 0.26.1 axios-retry: 3.2.4 @@ -1179,7 +1179,7 @@ packages: nopt: 5.0.0 npmlog: 4.1.2 rimraf: 3.0.2 - semver: 7.3.5 + semver: 7.3.7 tar: 6.1.11 transitivePeerDependencies: - encoding @@ -1582,17 +1582,17 @@ packages: tslib: 2.3.1 dev: false - /@typegoose/typegoose/9.7.1_mongoose@6.3.0: - resolution: {integrity: sha512-4KaM/YvoqDTweAlfTryLnHhw608R4a23dZqILbFjskQVZ47hXpo9xAcNdxVBJFwb+nLXg303gQyVMET0ArC5Ng==} + /@typegoose/typegoose/9.8.0_mongoose@6.3.0: + resolution: {integrity: sha512-YMwyy2jHMVy4T9cIdwpNcg4VmBsGe7ijIsSJz1hDxmYo4JeXhqCPl4fS1+rig4bXCYIupCiBujLdVp385FJdOQ==} engines: {node: '>=12.22.0'} peerDependencies: - mongoose: ~6.2.3 + mongoose: ~6.3.0 dependencies: lodash: 4.17.21 loglevel: 1.8.0 mongoose: 6.3.0 reflect-metadata: 0.1.13 - semver: 7.3.5 + semver: 7.3.7 tslib: 2.3.1 dev: false @@ -2004,7 +2004,7 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.5 + semver: 7.3.7 tsutils: 3.21.0_typescript@4.6.3 typescript: 4.6.3 transitivePeerDependencies: @@ -2025,7 +2025,7 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.5 + semver: 7.3.7 tsutils: 3.21.0_typescript@4.6.3 typescript: 4.6.3 transitivePeerDependencies: @@ -3049,7 +3049,7 @@ packages: make-dir: 3.1.0 onetime: 5.1.2 pkg-up: 3.1.0 - semver: 7.3.5 + semver: 7.3.7 dev: false /consola/2.15.3: @@ -4050,7 +4050,7 @@ packages: proxy-addr: 2.0.7 rfdc: 1.3.0 secure-json-parse: 2.4.0 - semver: 7.3.5 + semver: 7.3.7 tiny-lru: 8.0.1 transitivePeerDependencies: - supports-color @@ -5356,7 +5356,7 @@ packages: jest-util: 27.5.1 natural-compare: 1.4.0 pretty-format: 27.5.1 - semver: 7.3.5 + semver: 7.3.7 transitivePeerDependencies: - supports-color dev: true @@ -7080,6 +7080,13 @@ packages: dependencies: lru-cache: 6.0.0 + /semver/7.3.7: + resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + /send/0.17.2: resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} engines: {node: '>= 0.8.0'} diff --git a/src/app.controller.ts b/src/app.controller.ts index b33c6c94..dcf9c02e 100644 --- a/src/app.controller.ts +++ b/src/app.controller.ts @@ -13,12 +13,11 @@ import { InjectModel } from '~/transformers/model.transformer' import PKG from '../package.json' import { Auth } from './common/decorator/auth.decorator' import { HttpCache } from './common/decorator/cache.decorator' -import type { IpRecord } from './common/decorator/ip.decorator' -import { IpLocation } from './common/decorator/ip.decorator' +import { IpLocation, IpRecord } from './common/decorator/ip.decorator' import { AllowAllCorsInterceptor } from './common/interceptors/allow-all-cors.interceptor' import { RedisKeys } from './constants/cache.constant' import { OptionModel } from './modules/configs/configs.model' -import type { CacheService } from './processors/cache/cache.service' +import { CacheService } from './processors/cache/cache.service' import { getRedisKey } from './utils/redis.util' @Controller() diff --git a/src/app.module.ts b/src/app.module.ts index 8b91000b..c82d22e3 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -1,5 +1,4 @@ -import type { MiddlewareConsumer, NestModule, Type } from '@nestjs/common' -import { Module } from '@nestjs/common' +import { MiddlewareConsumer, Module, NestModule, Type } from '@nestjs/common' import { APP_FILTER, APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core' import { AppController } from './app.controller' diff --git a/src/bootstrap.ts b/src/bootstrap.ts index e1ad60d5..5dc581e0 100644 --- a/src/bootstrap.ts +++ b/src/bootstrap.ts @@ -1,10 +1,9 @@ import cluster from 'cluster' import { performance } from 'perf_hooks' -import type { LogLevel } from '@nestjs/common' -import { Logger, RequestMethod, ValidationPipe } from '@nestjs/common' +import { LogLevel, Logger, RequestMethod, ValidationPipe } from '@nestjs/common' import { NestFactory } from '@nestjs/core' -import type { NestFastifyApplication } from '@nestjs/platform-fastify' +import { NestFastifyApplication } from '@nestjs/platform-fastify' import { API_VERSION, CROSS_DOMAIN, PORT, isMainProcess } from './app.config' import { AppModule } from './app.module' diff --git a/src/common/adapters/fastify.adapter.ts b/src/common/adapters/fastify.adapter.ts index 64289491..2a5d85dd 100644 --- a/src/common/adapters/fastify.adapter.ts +++ b/src/common/adapters/fastify.adapter.ts @@ -1,4 +1,4 @@ -import type { FastifyRequest } from 'fastify' +import { FastifyRequest } from 'fastify' import fastifyCookie from 'fastify-cookie' import FastifyMultipart from 'fastify-multipart' diff --git a/src/common/decorator/cookie.decorator.ts b/src/common/decorator/cookie.decorator.ts index 7bead2bf..447b2a8d 100644 --- a/src/common/decorator/cookie.decorator.ts +++ b/src/common/decorator/cookie.decorator.ts @@ -1,7 +1,6 @@ -import type { FastifyRequest } from 'fastify' +import { FastifyRequest } from 'fastify' -import type { ExecutionContext } from '@nestjs/common' -import { createParamDecorator } from '@nestjs/common' +import { ExecutionContext, createParamDecorator } from '@nestjs/common' export const Cookies = createParamDecorator( (data: string, ctx: ExecutionContext) => { diff --git a/src/common/decorator/current-user.decorator.ts b/src/common/decorator/current-user.decorator.ts index 711ab5ff..4526408c 100644 --- a/src/common/decorator/current-user.decorator.ts +++ b/src/common/decorator/current-user.decorator.ts @@ -1,5 +1,4 @@ -import type { ExecutionContext } from '@nestjs/common' -import { createParamDecorator } from '@nestjs/common' +import { ExecutionContext, createParamDecorator } from '@nestjs/common' import { getNestExecutionContextRequest } from '~/transformers/get-req.transformer' diff --git a/src/common/decorator/ip.decorator.ts b/src/common/decorator/ip.decorator.ts index 1baa8f06..6d17a2c1 100644 --- a/src/common/decorator/ip.decorator.ts +++ b/src/common/decorator/ip.decorator.ts @@ -6,10 +6,9 @@ * @FilePath: /mx-server/src/core/decorators/ip.decorator.ts * @Coding with Love */ -import type { FastifyRequest } from 'fastify' +import { FastifyRequest } from 'fastify' -import type { ExecutionContext } from '@nestjs/common' -import { createParamDecorator } from '@nestjs/common' +import { ExecutionContext, createParamDecorator } from '@nestjs/common' import { getIp } from '~/utils/ip.util' diff --git a/src/common/decorator/role.decorator.ts b/src/common/decorator/role.decorator.ts index 9ad1427c..b8597033 100644 --- a/src/common/decorator/role.decorator.ts +++ b/src/common/decorator/role.decorator.ts @@ -1,5 +1,4 @@ -import type { ExecutionContext } from '@nestjs/common' -import { createParamDecorator } from '@nestjs/common' +import { ExecutionContext, createParamDecorator } from '@nestjs/common' import { getNestExecutionContextRequest } from '~/transformers/get-req.transformer' diff --git a/src/common/decorator/update-count.decorator.ts b/src/common/decorator/update-count.decorator.ts index 5a91ad45..dfc962c2 100644 --- a/src/common/decorator/update-count.decorator.ts +++ b/src/common/decorator/update-count.decorator.ts @@ -1,6 +1,6 @@ import { SetMetadata } from '@nestjs/common' -import type { ArticleType } from '~/constants/article.constant' +import { ArticleType } from '~/constants/article.constant' import { HTTP_RES_UPDATE_DOC_COUNT_TYPE } from '~/constants/meta.constant' export const VisitDocument: ( diff --git a/src/common/exceptions/business.exception.ts b/src/common/exceptions/business.exception.ts index 6d03a2d3..495baa9f 100644 --- a/src/common/exceptions/business.exception.ts +++ b/src/common/exceptions/business.exception.ts @@ -1,7 +1,6 @@ import { HttpException } from '@nestjs/common' -import type { ErrorCodeEnum } from '~/constants/error-code.constant' -import { ErrorCode } from '~/constants/error-code.constant' +import { ErrorCode, ErrorCodeEnum } from '~/constants/error-code.constant' export class BusinessException extends HttpException { constructor(code: ErrorCodeEnum) { diff --git a/src/common/filters/any-exception.filter.ts b/src/common/filters/any-exception.filter.ts index 93426a25..3e144fae 100644 --- a/src/common/filters/any-exception.filter.ts +++ b/src/common/filters/any-exception.filter.ts @@ -1,16 +1,17 @@ -import type { FastifyReply, FastifyRequest } from 'fastify' -import type { WriteStream } from 'fs' +import { FastifyReply, FastifyRequest } from 'fastify' +import { WriteStream } from 'fs' import { resolve } from 'path' -import type { ArgumentsHost, ExceptionFilter } from '@nestjs/common' import { + ArgumentsHost, Catch, + ExceptionFilter, HttpException, HttpStatus, Inject, Logger, } from '@nestjs/common' -import type { Reflector } from '@nestjs/core' +import { Reflector } from '@nestjs/core' import { HTTP_REQUEST_TIME } from '~/constants/meta.constant' import { LOG_DIR } from '~/constants/path.constant' diff --git a/src/common/guard/auth.guard.ts b/src/common/guard/auth.guard.ts index e7621192..a717cf03 100644 --- a/src/common/guard/auth.guard.ts +++ b/src/common/guard/auth.guard.ts @@ -1,5 +1,4 @@ -import type { CanActivate, ExecutionContext } from '@nestjs/common' -import { Injectable } from '@nestjs/common' +import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common' import { AuthGuard as _AuthGuard } from '@nestjs/passport' import { isTest } from '~/global/env.global' diff --git a/src/common/guard/roles.guard.ts b/src/common/guard/roles.guard.ts index 3004eb9b..118eec63 100644 --- a/src/common/guard/roles.guard.ts +++ b/src/common/guard/roles.guard.ts @@ -6,12 +6,12 @@ * @FilePath: /server/apps/server/src/auth/roles.guard.ts * Mark: Coding with Love */ -import type { CanActivate, ExecutionContext } from '@nestjs/common' +import { CanActivate, ExecutionContext } from '@nestjs/common' import { Injectable } from '@nestjs/common' import { AuthGuard } from '@nestjs/passport' import { isTest } from '~/global/env.global' -import type { AuthService } from '~/modules/auth/auth.service' +import { AuthService } from '~/modules/auth/auth.service' import { getNestExecutionContextRequest } from '~/transformers/get-req.transformer' /** diff --git a/src/common/guard/spider.guard.ts b/src/common/guard/spider.guard.ts index f0c87eae..7ed058d0 100644 --- a/src/common/guard/spider.guard.ts +++ b/src/common/guard/spider.guard.ts @@ -3,10 +3,14 @@ * @description 禁止爬虫的守卫 * @author Innei */ -import type { Observable } from 'rxjs' +import { Observable } from 'rxjs' -import type { CanActivate, ExecutionContext } from '@nestjs/common' -import { ForbiddenException, Injectable } from '@nestjs/common' +import { + CanActivate, + ExecutionContext, + ForbiddenException, + Injectable, +} from '@nestjs/common' import { isDev } from '~/global/env.global' import { getNestExecutionContextRequest } from '~/transformers/get-req.transformer' diff --git a/src/common/interceptors/allow-all-cors.interceptor.ts b/src/common/interceptors/allow-all-cors.interceptor.ts index 66ca9361..76658058 100644 --- a/src/common/interceptors/allow-all-cors.interceptor.ts +++ b/src/common/interceptors/allow-all-cors.interceptor.ts @@ -1,11 +1,11 @@ -import type { FastifyReply } from 'fastify' +import { FastifyReply } from 'fastify' -import type { +import { CallHandler, ExecutionContext, NestInterceptor, + RequestMethod, } from '@nestjs/common' -import { RequestMethod } from '@nestjs/common' export class AllowAllCorsInterceptor implements NestInterceptor { intercept(context: ExecutionContext, next: CallHandler) { diff --git a/src/common/interceptors/analyze.interceptor.ts b/src/common/interceptors/analyze.interceptor.ts index 6e64896a..b4b0ac5a 100644 --- a/src/common/interceptors/analyze.interceptor.ts +++ b/src/common/interceptors/analyze.interceptor.ts @@ -5,22 +5,22 @@ * @author Innei */ import isbot from 'isbot' -import type { Observable } from 'rxjs' +import { Observable } from 'rxjs' import UAParser from 'ua-parser-js' import { URL } from 'url' -import type { +import { CallHandler, ExecutionContext, + Injectable, NestInterceptor, } from '@nestjs/common' -import { Injectable } from '@nestjs/common' -import type { ReturnModelType } from '@typegoose/typegoose' +import { ReturnModelType } from '@typegoose/typegoose' import { RedisKeys } from '~/constants/cache.constant' import { AnalyzeModel } from '~/modules/analyze/analyze.model' import { OptionModel } from '~/modules/configs/configs.model' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' import { getNestExecutionContextRequest } from '~/transformers/get-req.transformer' import { InjectModel } from '~/transformers/model.transformer' import { getIp } from '~/utils/ip.util' diff --git a/src/common/interceptors/cache.interceptor.ts b/src/common/interceptors/cache.interceptor.ts index 590ce9cc..dac24bce 100644 --- a/src/common/interceptors/cache.interceptor.ts +++ b/src/common/interceptors/cache.interceptor.ts @@ -5,23 +5,25 @@ * @author Surmon * @author Innei */ -import type { Observable } from 'rxjs' +import { Observable } from 'rxjs' import { of } from 'rxjs' import { tap } from 'rxjs/operators' -import type { +import { CallHandler, ExecutionContext, HttpAdapterHost, + Inject, + Injectable, NestInterceptor, + RequestMethod, } from '@nestjs/common' -import { Inject, Injectable, RequestMethod } from '@nestjs/common' -import type { Reflector } from '@nestjs/core' +import { Reflector } from '@nestjs/core' import { REDIS } from '~/app.config' import * as META from '~/constants/meta.constant' import * as SYSTEM from '~/constants/system.constant' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' import { getNestExecutionContextRequest } from '~/transformers/get-req.transformer' /** diff --git a/src/common/interceptors/counting.interceptor.ts b/src/common/interceptors/counting.interceptor.ts index 6dbb443c..6f0f9fac 100644 --- a/src/common/interceptors/counting.interceptor.ts +++ b/src/common/interceptors/counting.interceptor.ts @@ -4,16 +4,16 @@ */ import { map } from 'rxjs' -import type { +import { CallHandler, ExecutionContext, + Injectable, NestInterceptor, } from '@nestjs/common' -import { Injectable } from '@nestjs/common' -import type { Reflector } from '@nestjs/core' +import { Reflector } from '@nestjs/core' import { HTTP_RES_UPDATE_DOC_COUNT_TYPE } from '~/constants/meta.constant' -import type { CountingService } from '~/processors/helper/helper.counting.service' +import { CountingService } from '~/processors/helper/helper.counting.service' import { getNestExecutionContextRequest } from '~/transformers/get-req.transformer' import { getIp } from '~/utils/ip.util' diff --git a/src/common/interceptors/json-serialize.interceptor.ts b/src/common/interceptors/json-serialize.interceptor.ts index cda0d525..b585974b 100644 --- a/src/common/interceptors/json-serialize.interceptor.ts +++ b/src/common/interceptors/json-serialize.interceptor.ts @@ -3,17 +3,16 @@ * @author Innei */ import { isArrayLike, isObjectLike } from 'lodash' -import type { Observable } from 'rxjs' -import { map } from 'rxjs' +import { Observable, map } from 'rxjs' import snakecaseKeys from 'snakecase-keys' -import type { +import { CallHandler, ExecutionContext, + Injectable, NestInterceptor, } from '@nestjs/common' -import { Injectable } from '@nestjs/common' -import type { Reflector } from '@nestjs/core' +import { Reflector } from '@nestjs/core' import { RESPONSE_PASSTHROUGH_METADATA } from '~/constants/system.constant' diff --git a/src/common/interceptors/logging.interceptor.ts b/src/common/interceptors/logging.interceptor.ts index f5677ce3..cbc31366 100644 --- a/src/common/interceptors/logging.interceptor.ts +++ b/src/common/interceptors/logging.interceptor.ts @@ -5,15 +5,17 @@ * @author Surmon * @author Innei */ -import type { Observable } from 'rxjs' +import { Observable } from 'rxjs' import { tap } from 'rxjs/operators' -import type { +import { CallHandler, ExecutionContext, + Injectable, + Logger, NestInterceptor, + SetMetadata, } from '@nestjs/common' -import { Injectable, Logger, SetMetadata } from '@nestjs/common' import { HTTP_REQUEST_TIME } from '~/constants/meta.constant' import { getNestExecutionContextRequest } from '~/transformers/get-req.transformer' diff --git a/src/common/interceptors/query.interceptor.ts b/src/common/interceptors/query.interceptor.ts index 27350e6e..c5ae7826 100644 --- a/src/common/interceptors/query.interceptor.ts +++ b/src/common/interceptors/query.interceptor.ts @@ -1,12 +1,12 @@ import qs from 'qs' -import type { Observable } from 'rxjs' +import { Observable } from 'rxjs' -import type { +import { CallHandler, ExecutionContext, + Injectable, NestInterceptor, } from '@nestjs/common' -import { Injectable } from '@nestjs/common' import { getNestExecutionContextRequest } from '~/transformers/get-req.transformer' diff --git a/src/common/interceptors/response.interceptor.ts b/src/common/interceptors/response.interceptor.ts index acfc18cf..92dce7b6 100644 --- a/src/common/interceptors/response.interceptor.ts +++ b/src/common/interceptors/response.interceptor.ts @@ -3,16 +3,16 @@ * @author Innei */ import { isArrayLike } from 'lodash' -import type { Observable } from 'rxjs' +import { Observable } from 'rxjs' import { map } from 'rxjs/operators' -import type { +import { CallHandler, ExecutionContext, + Injectable, NestInterceptor, } from '@nestjs/common' -import { Injectable } from '@nestjs/common' -import type { Reflector } from '@nestjs/core' +import { Reflector } from '@nestjs/core' import { HTTP_RES_TRANSFORM_PAGINATE } from '~/constants/meta.constant' import * as SYSTEM from '~/constants/system.constant' diff --git a/src/common/middlewares/attach-auth.middleware.ts b/src/common/middlewares/attach-auth.middleware.ts index 98efe02e..3d0008f6 100644 --- a/src/common/middlewares/attach-auth.middleware.ts +++ b/src/common/middlewares/attach-auth.middleware.ts @@ -2,10 +2,9 @@ * 把 URL Search 上的 `token` 附加到 Header Authorization 上 * @author Innei */ -import type { IncomingMessage, ServerResponse } from 'http' +import { IncomingMessage, ServerResponse } from 'http' -import type { NestMiddleware } from '@nestjs/common' -import { Injectable } from '@nestjs/common' +import { Injectable, NestMiddleware } from '@nestjs/common' import { parseRelativeUrl } from '~/utils/ip.util' diff --git a/src/mock/user.mock.ts b/src/mock/user.mock.ts index c38df174..a663f473 100644 --- a/src/mock/user.mock.ts +++ b/src/mock/user.mock.ts @@ -1,4 +1,4 @@ -import type { UserModel } from '~/modules/user/user.model' +import { UserModel } from '~/modules/user/user.model' export const mockUser1: UserModel = { id: '1', diff --git a/src/modules/aggregate/aggregate.controller.ts b/src/modules/aggregate/aggregate.controller.ts index 83d84ab5..73e12615 100644 --- a/src/modules/aggregate/aggregate.controller.ts +++ b/src/modules/aggregate/aggregate.controller.ts @@ -8,10 +8,10 @@ import { ApiName } from '~/common/decorator/openapi.decorator' import { IsMaster } from '~/common/decorator/role.decorator' import { CacheKeys } from '~/constants/cache.constant' -import type { AnalyzeService } from '../analyze/analyze.service' -import type { ConfigsService } from '../configs/configs.service' -import type { TimelineQueryDto, TopQueryDto } from './aggregate.dto' -import type { AggregateService } from './aggregate.service' +import { AnalyzeService } from '../analyze/analyze.service' +import { ConfigsService } from '../configs/configs.service' +import { TimelineQueryDto, TopQueryDto } from './aggregate.dto' +import { AggregateService } from './aggregate.service' @Controller('aggregate') @ApiName diff --git a/src/modules/aggregate/aggregate.service.ts b/src/modules/aggregate/aggregate.service.ts index 6a8459d9..6e6ec18a 100644 --- a/src/modules/aggregate/aggregate.service.ts +++ b/src/modules/aggregate/aggregate.service.ts @@ -1,36 +1,36 @@ import dayjs from 'dayjs' import { pick } from 'lodash' -import type { FilterQuery } from 'mongoose' +import { FilterQuery } from 'mongoose' import { URL } from 'url' import { Inject, Injectable, forwardRef } from '@nestjs/common' import { OnEvent } from '@nestjs/event-emitter' -import type { DocumentType, ReturnModelType } from '@typegoose/typegoose' -import type { AnyParamConstructor } from '@typegoose/typegoose/lib/types' +import { DocumentType, ReturnModelType } from '@typegoose/typegoose' +import { AnyParamConstructor } from '@typegoose/typegoose/lib/types' import { CacheKeys, RedisKeys } from '~/constants/cache.constant' import { EventBusEvents } from '~/constants/event-bus.constant' -import type { CacheService } from '~/processors/cache/cache.service' -import type { WebEventsGateway } from '~/processors/gateway/web/events.gateway' +import { CacheService } from '~/processors/cache/cache.service' +import { WebEventsGateway } from '~/processors/gateway/web/events.gateway' import { addYearCondition } from '~/transformers/db-query.transformer' import { getRedisKey } from '~/utils/redis.util' import { getShortDate } from '~/utils/time.util' -import type { CategoryModel } from '../category/category.model' +import { CategoryModel } from '../category/category.model' import { CategoryService } from '../category/category.service' import { CommentState } from '../comment/comment.model' import { CommentService } from '../comment/comment.service' -import type { ConfigsService } from '../configs/configs.service' +import { ConfigsService } from '../configs/configs.service' import { LinkState } from '../link/link.model' import { LinkService } from '../link/link.service' -import type { NoteModel } from '../note/note.model' +import { NoteModel } from '../note/note.model' import { NoteService } from '../note/note.service' import { PageService } from '../page/page.service' import { PostService } from '../post/post.service' import { RecentlyService } from '../recently/recently.service' import { SayService } from '../say/say.service' import { TimelineType } from './aggregate.dto' -import type { RSSProps } from './aggregate.interface' +import { RSSProps } from './aggregate.interface' @Injectable() export class AggregateService { diff --git a/src/modules/analyze/analyze.controller.ts b/src/modules/analyze/analyze.controller.ts index 88933961..63f76ed1 100644 --- a/src/modules/analyze/analyze.controller.ts +++ b/src/modules/analyze/analyze.controller.ts @@ -6,13 +6,13 @@ import { Auth } from '~/common/decorator/auth.decorator' import { Paginator } from '~/common/decorator/http.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { RedisKeys } from '~/constants/cache.constant' -import type { CacheService } from '~/processors/cache/cache.service' -import type { PagerDto } from '~/shared/dto/pager.dto' +import { CacheService } from '~/processors/cache/cache.service' +import { PagerDto } from '~/shared/dto/pager.dto' import { getRedisKey } from '~/utils/redis.util' import { getTodayEarly, getWeekStart } from '~/utils/time.util' -import type { AnalyzeDto } from './analyze.dto' -import type { AnalyzeService } from './analyze.service' +import { AnalyzeDto } from './analyze.dto' +import { AnalyzeService } from './analyze.service' @Controller({ path: 'analyze', scope: Scope.REQUEST }) @ApiName diff --git a/src/modules/analyze/analyze.model.ts b/src/modules/analyze/analyze.model.ts index 787cc5b8..5dac949e 100644 --- a/src/modules/analyze/analyze.model.ts +++ b/src/modules/analyze/analyze.model.ts @@ -1,5 +1,5 @@ import { SchemaTypes } from 'mongoose' -import type { UAParser } from 'ua-parser-js' +import { UAParser } from 'ua-parser-js' import { ApiHideProperty } from '@nestjs/swagger' import { Severity, index, modelOptions, prop } from '@typegoose/typegoose' diff --git a/src/modules/analyze/analyze.service.ts b/src/modules/analyze/analyze.service.ts index 94976ddb..46d26a35 100644 --- a/src/modules/analyze/analyze.service.ts +++ b/src/modules/analyze/analyze.service.ts @@ -1,12 +1,12 @@ import dayjs from 'dayjs' import { merge } from 'lodash' -import type { PipelineStage } from 'mongoose' +import { PipelineStage } from 'mongoose' import { Injectable } from '@nestjs/common' -import type { ReturnModelType } from '@typegoose/typegoose' +import { ReturnModelType } from '@typegoose/typegoose' import { RedisKeys } from '~/constants/cache.constant' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' import { InjectModel } from '~/transformers/model.transformer' import { getRedisKey } from '~/utils/redis.util' diff --git a/src/modules/auth/auth.controller.ts b/src/modules/auth/auth.controller.ts index 2ffec80d..8b60b9c1 100644 --- a/src/modules/auth/auth.controller.ts +++ b/src/modules/auth/auth.controller.ts @@ -17,16 +17,16 @@ import { Query, Scope, } from '@nestjs/common' -import type { EventEmitter2 } from '@nestjs/event-emitter' +import { EventEmitter2 } from '@nestjs/event-emitter' import { ApiBearerAuth, ApiOperation } from '@nestjs/swagger' import { Auth } from '~/common/decorator/auth.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { IsMaster as Master } from '~/common/decorator/role.decorator' import { EventBusEvents } from '~/constants/event-bus.constant' -import type { MongoIdDto } from '~/shared/dto/id.dto' +import { MongoIdDto } from '~/shared/dto/id.dto' -import type { AuthService } from './auth.service' +import { AuthService } from './auth.service' export class TokenDto { @IsDate() diff --git a/src/modules/auth/auth.service.ts b/src/modules/auth/auth.service.ts index d001f08d..7ae1a7a1 100644 --- a/src/modules/auth/auth.service.ts +++ b/src/modules/auth/auth.service.ts @@ -3,20 +3,20 @@ import { isDate, omit } from 'lodash' import { customAlphabet } from 'nanoid/async' import { Injectable } from '@nestjs/common' -import type { JwtService } from '@nestjs/jwt' -import type { ReturnModelType } from '@typegoose/typegoose' +import { JwtService } from '@nestjs/jwt' +import { ReturnModelType } from '@typegoose/typegoose' import { MasterLostException } from '~/common/exceptions/master-lost.exception' -import type { +import { TokenModel, + UserModel as User, UserDocument, UserModel, } from '~/modules/user/user.model' -import { UserModel as User } from '~/modules/user/user.model' import { InjectModel } from '~/transformers/model.transformer' -import type { TokenDto } from './auth.controller' -import type { JwtPayload } from './interfaces/jwt-payload.interface' +import { TokenDto } from './auth.controller' +import { JwtPayload } from './interfaces/jwt-payload.interface' @Injectable() export class AuthService { diff --git a/src/modules/auth/jwt.strategy.ts b/src/modules/auth/jwt.strategy.ts index 5115360f..45c26faf 100644 --- a/src/modules/auth/jwt.strategy.ts +++ b/src/modules/auth/jwt.strategy.ts @@ -6,15 +6,15 @@ * @FilePath: /mx-server/src/auth/jwt.strategy.ts * @Coding with Love */ -import type { StrategyOptions } from 'passport-jwt' +import { StrategyOptions } from 'passport-jwt' import { ExtractJwt, Strategy } from 'passport-jwt' import { Injectable, UnauthorizedException } from '@nestjs/common' import { PassportStrategy } from '@nestjs/passport' import { __secret } from './auth.module' -import type { AuthService } from './auth.service' -import type { JwtPayload } from './interfaces/jwt-payload.interface' +import { AuthService } from './auth.service' +import { JwtPayload } from './interfaces/jwt-payload.interface' @Injectable() export class JwtStrategy extends PassportStrategy(Strategy) { diff --git a/src/modules/backup/backup.controller.ts b/src/modules/backup/backup.controller.ts index 13b408c0..af7f9608 100644 --- a/src/modules/backup/backup.controller.ts +++ b/src/modules/backup/backup.controller.ts @@ -1,4 +1,4 @@ -import type { FastifyRequest } from 'fastify' +import { FastifyRequest } from 'fastify' import { Readable } from 'stream' import { @@ -20,10 +20,10 @@ import { ApiProperty, ApiResponseProperty } from '@nestjs/swagger' import { Auth } from '~/common/decorator/auth.decorator' import { HTTPDecorators } from '~/common/decorator/http.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' -import type { UploadService } from '~/processors/helper/helper.upload.service' +import { UploadService } from '~/processors/helper/helper.upload.service' import { getMediumDateTime } from '~/utils' -import type { BackupService } from './backup.service' +import { BackupService } from './backup.service' @Controller({ path: 'backups', scope: Scope.REQUEST }) @ApiName diff --git a/src/modules/backup/backup.service.ts b/src/modules/backup/backup.service.ts index 15e97811..bf22a8ad 100644 --- a/src/modules/backup/backup.service.ts +++ b/src/modules/backup/backup.service.ts @@ -15,12 +15,12 @@ import { import { MONGO_DB } from '~/app.config' import { BusinessEvents, EventScope } from '~/constants/business-event.constant' import { BACKUP_DIR, DATA_DIR } from '~/constants/path.constant' -import type { CacheService } from '~/processors/cache/cache.service' -import type { EventManagerService } from '~/processors/helper/helper.event.service' +import { CacheService } from '~/processors/cache/cache.service' +import { EventManagerService } from '~/processors/helper/helper.event.service' import { getMediumDateTime } from '~/utils' import { getFolderSize } from '~/utils/system.util' -import type { ConfigsService } from '../configs/configs.service' +import { ConfigsService } from '../configs/configs.service' @Injectable() export class BackupService { diff --git a/src/modules/category/category.controller.ts b/src/modules/category/category.controller.ts index f55b3e95..7b5c1d34 100644 --- a/src/modules/category/category.controller.ts +++ b/src/modules/category/category.controller.ts @@ -21,17 +21,20 @@ import { Auth } from '~/common/decorator/auth.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { IsMaster } from '~/common/decorator/role.decorator' import { CannotFindException } from '~/common/exceptions/cant-find.exception' -import type { MongoIdDto } from '~/shared/dto/id.dto' +import { MongoIdDto } from '~/shared/dto/id.dto' import { PostService } from '../post/post.service' -import type { +import { MultiCategoriesQueryDto, MultiQueryTagAndCategoryDto, SlugOrIdDto, } from './category.dto' -import type { CategoryModel, PartialCategoryModel } from './category.model' -import { CategoryType } from './category.model' -import type { CategoryService } from './category.service' +import { + CategoryModel, + CategoryType, + PartialCategoryModel, +} from './category.model' +import { CategoryService } from './category.service' @Controller({ path: 'categories' }) @ApiName diff --git a/src/modules/category/category.model.ts b/src/modules/category/category.model.ts index 4eaf53cc..36df9933 100644 --- a/src/modules/category/category.model.ts +++ b/src/modules/category/category.model.ts @@ -1,8 +1,7 @@ import { IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator' import { PartialType } from '@nestjs/mapped-types' -import type { DocumentType } from '@typegoose/typegoose' -import { index, modelOptions, prop } from '@typegoose/typegoose' +import { DocumentType, index, modelOptions, prop } from '@typegoose/typegoose' import { BaseModel } from '~/shared/model/base.model' diff --git a/src/modules/category/category.service.ts b/src/modules/category/category.service.ts index f0d7e4df..3d738d53 100644 --- a/src/modules/category/category.service.ts +++ b/src/modules/category/category.service.ts @@ -1,13 +1,13 @@ import { omit } from 'lodash' -import type { FilterQuery } from 'mongoose' +import { FilterQuery } from 'mongoose' import { Inject, Injectable, forwardRef } from '@nestjs/common' -import type { DocumentType, ReturnModelType } from '@typegoose/typegoose' +import { DocumentType, ReturnModelType } from '@typegoose/typegoose' import { CannotFindException } from '~/common/exceptions/cant-find.exception' import { InjectModel } from '~/transformers/model.transformer' -import type { PostModel } from '../post/post.model' +import { PostModel } from '../post/post.model' import { PostService } from '../post/post.service' import { CategoryModel, CategoryType } from './category.model' diff --git a/src/modules/comment/comment.controller.ts b/src/modules/comment/comment.controller.ts index 21da2360..5184a04f 100644 --- a/src/modules/comment/comment.controller.ts +++ b/src/modules/comment/comment.controller.ts @@ -13,33 +13,31 @@ import { UseInterceptors, } from '@nestjs/common' import { ApiOperation, ApiParam } from '@nestjs/swagger' -import type { DocumentType } from '@typegoose/typegoose' +import { DocumentType } from '@typegoose/typegoose' import { Auth } from '~/common/decorator/auth.decorator' import { CurrentUser } from '~/common/decorator/current-user.decorator' -import type { IpRecord } from '~/common/decorator/ip.decorator' -import { IpLocation } from '~/common/decorator/ip.decorator' +import { IpLocation, IpRecord } from '~/common/decorator/ip.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { IsMaster } from '~/common/decorator/role.decorator' import { CannotFindException } from '~/common/exceptions/cant-find.exception' import { BusinessEvents, EventScope } from '~/constants/business-event.constant' import { ReplyMailType } from '~/processors/helper/helper.email.service' -import type { EventManagerService } from '~/processors/helper/helper.event.service' -import type { MongoIdDto } from '~/shared/dto/id.dto' -import type { PagerDto } from '~/shared/dto/pager.dto' +import { EventManagerService } from '~/processors/helper/helper.event.service' +import { MongoIdDto } from '~/shared/dto/id.dto' +import { PagerDto } from '~/shared/dto/pager.dto' import { transformDataToPaginate } from '~/transformers/paginate.transformer' -import type { UserModel } from '../user/user.model' -import type { +import { UserModel } from '../user/user.model' +import { CommentDto, CommentRefTypesDto, StateDto, TextOnlyDto, } from './comment.dto' import { CommentFilterEmailInterceptor } from './comment.interceptor' -import type { CommentModel } from './comment.model' -import { CommentState } from './comment.model' -import type { CommentService } from './comment.service' +import { CommentModel, CommentState } from './comment.model' +import { CommentService } from './comment.service' @Controller({ path: 'comments' }) @UseInterceptors(CommentFilterEmailInterceptor) diff --git a/src/modules/comment/comment.interceptor.ts b/src/modules/comment/comment.interceptor.ts index 8ae823ba..e26b2c07 100644 --- a/src/modules/comment/comment.interceptor.ts +++ b/src/modules/comment/comment.interceptor.ts @@ -2,12 +2,12 @@ import { isDefined } from 'class-validator' import { cloneDeep, isArrayLike, isObjectLike } from 'lodash' import { map } from 'rxjs' -import type { +import { CallHandler, ExecutionContext, + Injectable, NestInterceptor, } from '@nestjs/common' -import { Injectable } from '@nestjs/common' import { getNestExecutionContextRequest } from '~/transformers/get-req.transformer' import { getAvatar } from '~/utils' diff --git a/src/modules/comment/comment.model.ts b/src/modules/comment/comment.model.ts index 26fb43ad..e3503123 100644 --- a/src/modules/comment/comment.model.ts +++ b/src/modules/comment/comment.model.ts @@ -1,10 +1,14 @@ -import type { Query } from 'mongoose' -import { Types } from 'mongoose' +import { Query, Types } from 'mongoose' import { URL } from 'url' -import type { DocumentType, Ref } from '@typegoose/typegoose' -import { modelOptions, pre, prop } from '@typegoose/typegoose' -import type { BeAnObject } from '@typegoose/typegoose/lib/types' +import { + DocumentType, + Ref, + modelOptions, + pre, + prop, +} from '@typegoose/typegoose' +import { BeAnObject } from '@typegoose/typegoose/lib/types' import { BaseModel } from '~/shared/model/base.model' import { getAvatar } from '~/utils' diff --git a/src/modules/comment/comment.service.ts b/src/modules/comment/comment.service.ts index a18b73aa..10b0142f 100644 --- a/src/modules/comment/comment.service.ts +++ b/src/modules/comment/comment.service.ts @@ -1,28 +1,26 @@ -import type { LeanDocument } from 'mongoose' -import { Types } from 'mongoose' +import { LeanDocument, Types } from 'mongoose' import { URL } from 'url' import { BadRequestException, Injectable, Logger } from '@nestjs/common' -import type { DocumentType } from '@typegoose/typegoose' -import type { - BeAnObject, - ReturnModelType, -} from '@typegoose/typegoose/lib/types' +import { DocumentType } from '@typegoose/typegoose' +import { BeAnObject, ReturnModelType } from '@typegoose/typegoose/lib/types' import { CannotFindException } from '~/common/exceptions/cant-find.exception' import { MasterLostException } from '~/common/exceptions/master-lost.exception' -import type { DatabaseService } from '~/processors/database/database.service' -import type { EmailService } from '~/processors/helper/helper.email.service' -import { ReplyMailType } from '~/processors/helper/helper.email.service' -import type { WriteBaseModel } from '~/shared/model/base.model' +import { DatabaseService } from '~/processors/database/database.service' +import { + EmailService, + ReplyMailType, +} from '~/processors/helper/helper.email.service' +import { WriteBaseModel } from '~/shared/model/base.model' import { InjectModel } from '~/transformers/model.transformer' import { hasChinese } from '~/utils' -import type { ConfigsService } from '../configs/configs.service' -import type { NoteModel } from '../note/note.model' -import type { PageModel } from '../page/page.model' -import type { PostModel } from '../post/post.model' -import type { UserService } from '../user/user.service' +import { ConfigsService } from '../configs/configs.service' +import { NoteModel } from '../note/note.model' +import { PageModel } from '../page/page.model' +import { PostModel } from '../post/post.model' +import { UserService } from '../user/user.service' import BlockedKeywords from './block-keywords.json' import { CommentModel, CommentRefTypes } from './comment.model' diff --git a/src/modules/configs/configs.jsonschema.decorator.ts b/src/modules/configs/configs.jsonschema.decorator.ts index b5edb766..569f420f 100644 --- a/src/modules/configs/configs.jsonschema.decorator.ts +++ b/src/modules/configs/configs.jsonschema.decorator.ts @@ -1,5 +1,5 @@ import { JSONSchema } from 'class-validator-jsonschema' -import type { DecoratorSchema } from 'class-validator-jsonschema/build/decorators' +import { DecoratorSchema } from 'class-validator-jsonschema/build/decorators' export const JSONSchemaPasswordField = ( title: string, diff --git a/src/modules/configs/configs.service.ts b/src/modules/configs/configs.service.ts index 5728d272..7b67900c 100644 --- a/src/modules/configs/configs.service.ts +++ b/src/modules/configs/configs.service.ts @@ -1,11 +1,9 @@ import camelcaseKeys from 'camelcase-keys' -import type { ClassConstructor } from 'class-transformer' -import { plainToInstance } from 'class-transformer' -import type { ValidatorOptions } from 'class-validator' -import { validateSync } from 'class-validator' +import { ClassConstructor, plainToInstance } from 'class-transformer' +import { ValidatorOptions, validateSync } from 'class-validator' import cluster from 'cluster' import { cloneDeep, mergeWith } from 'lodash' -import type { LeanDocument } from 'mongoose' +import { LeanDocument } from 'mongoose' import { BadRequestException, @@ -13,24 +11,26 @@ import { Logger, ValidationPipe, } from '@nestjs/common' -import type { EventEmitter2 } from '@nestjs/event-emitter' -import type { DocumentType, ReturnModelType } from '@typegoose/typegoose' -import type { BeAnObject } from '@typegoose/typegoose/lib/types' +import { EventEmitter2 } from '@nestjs/event-emitter' +import { DocumentType, ReturnModelType } from '@typegoose/typegoose' +import { BeAnObject } from '@typegoose/typegoose/lib/types' import { RedisKeys } from '~/constants/cache.constant' import { EventBusEvents } from '~/constants/event-bus.constant' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' import { InjectModel } from '~/transformers/model.transformer' import { sleep } from '~/utils' import { getRedisKey } from '~/utils/redis.util' import * as optionDtos from '../configs/configs.dto' -import type { UserModel } from '../user/user.model' -import type { UserService } from '../user/user.service' -import type { BackupOptionsDto } from './configs.dto' -import { AlgoliaSearchOptionsDto, MailOptionsDto } from './configs.dto' -import type { IConfigKeys } from './configs.interface' -import { IConfig } from './configs.interface' +import { UserModel } from '../user/user.model' +import { UserService } from '../user/user.service' +import { + AlgoliaSearchOptionsDto, + BackupOptionsDto, + MailOptionsDto, +} from './configs.dto' +import { IConfig, IConfigKeys } from './configs.interface' import { OptionModel } from './configs.model' const allOptionKeys: Set = new Set() diff --git a/src/modules/debug/debug.controller.ts b/src/modules/debug/debug.controller.ts index 76d0b90f..f70d8cd2 100644 --- a/src/modules/debug/debug.controller.ts +++ b/src/modules/debug/debug.controller.ts @@ -9,13 +9,12 @@ import { } from '@nestjs/common' import { HTTPDecorators } from '~/common/decorator/http.decorator' -import type { BusinessEvents } from '~/constants/business-event.constant' -import { EventScope } from '~/constants/business-event.constant' -import type { EventManagerService } from '~/processors/helper/helper.event.service' -import type { PagerDto } from '~/shared/dto/pager.dto' +import { BusinessEvents, EventScope } from '~/constants/business-event.constant' +import { EventManagerService } from '~/processors/helper/helper.event.service' +import { PagerDto } from '~/shared/dto/pager.dto' import { createMockedContextResponse } from '../serverless/mock-response.util' -import type { ServerlessService } from '../serverless/serverless.service' +import { ServerlessService } from '../serverless/serverless.service' import { SnippetModel, SnippetType } from '../snippet/snippet.model' @Controller('debug') diff --git a/src/modules/feed/feed.controller.ts b/src/modules/feed/feed.controller.ts index 70863fc5..73926ab6 100644 --- a/src/modules/feed/feed.controller.ts +++ b/src/modules/feed/feed.controller.ts @@ -6,9 +6,9 @@ import { HTTPDecorators } from '~/common/decorator/http.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { CacheKeys } from '~/constants/cache.constant' -import type { AggregateService } from '../aggregate/aggregate.service' -import type { ConfigsService } from '../configs/configs.service' -import type { MarkdownService } from '../markdown/markdown.service' +import { AggregateService } from '../aggregate/aggregate.service' +import { ConfigsService } from '../configs/configs.service' +import { MarkdownService } from '../markdown/markdown.service' @Controller('feed') @ApiName diff --git a/src/modules/health/health.controller.ts b/src/modules/health/health.controller.ts index b87a739d..dbe3c006 100644 --- a/src/modules/health/health.controller.ts +++ b/src/modules/health/health.controller.ts @@ -1,7 +1,7 @@ -import type { FastifyReply } from 'fastify' +import { FastifyReply } from 'fastify' import { isFunction, isString } from 'lodash' import { resolve } from 'path' -import type { Readable } from 'stream' +import { Readable } from 'stream' import { BadRequestException, @@ -15,8 +15,8 @@ import { Scope, UnprocessableEntityException, } from '@nestjs/common' -import type { Reflector } from '@nestjs/core' -import type { SchedulerRegistry } from '@nestjs/schedule' +import { Reflector } from '@nestjs/core' +import { SchedulerRegistry } from '@nestjs/schedule' import { Auth } from '~/common/decorator/auth.decorator' import { HTTPDecorators } from '~/common/decorator/http.decorator' @@ -25,11 +25,11 @@ import { CRON_DESCRIPTION } from '~/constants/meta.constant' import { LOG_DIR } from '~/constants/path.constant' import { SCHEDULE_CRON_OPTIONS } from '~/constants/system.constant' import { getTodayLogFilePath } from '~/global/consola.global' -import type { CronService } from '~/processors/helper/helper.cron.service' -import type { TaskQueueService } from '~/processors/helper/helper.tq.service' +import { CronService } from '~/processors/helper/helper.cron.service' +import { TaskQueueService } from '~/processors/helper/helper.tq.service' import { formatByteSize } from '~/utils' -import type { LogQueryDto, LogTypeDto } from './health.dto' +import { LogQueryDto, LogTypeDto } from './health.dto' @Controller({ path: 'health', diff --git a/src/modules/init/init.controller.ts b/src/modules/init/init.controller.ts index 7052303e..060e47ad 100644 --- a/src/modules/init/init.controller.ts +++ b/src/modules/init/init.controller.ts @@ -12,9 +12,9 @@ import { import { ApiName } from '~/common/decorator/openapi.decorator' -import type { ConfigsService } from '../configs/configs.service' -import type { ConfigKeyDto } from '../option/dtos/config.dto' -import type { InitService } from './init.service' +import { ConfigsService } from '../configs/configs.service' +import { ConfigKeyDto } from '../option/dtos/config.dto' +import { InitService } from './init.service' @Controller({ path: '/init', diff --git a/src/modules/init/init.service.ts b/src/modules/init/init.service.ts index 33eb5d00..77f0f540 100644 --- a/src/modules/init/init.service.ts +++ b/src/modules/init/init.service.ts @@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common' import { DATA_DIR, TEMP_DIR } from '~/constants/path.constant' -import type { UserService } from '../user/user.service' +import { UserService } from '../user/user.service' @Injectable() export class InitService { diff --git a/src/modules/link/link.controller.ts b/src/modules/link/link.controller.ts index 20ca1069..2e5c6c6e 100644 --- a/src/modules/link/link.controller.ts +++ b/src/modules/link/link.controller.ts @@ -1,4 +1,4 @@ -import type mongoose from 'mongoose' +import mongoose from 'mongoose' import { Body, @@ -16,13 +16,15 @@ import { Auth } from '~/common/decorator/auth.decorator' import { Paginator } from '~/common/decorator/http.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { IsMaster } from '~/common/decorator/role.decorator' -import type { PagerDto } from '~/shared/dto/pager.dto' -import type { BaseCrudModuleType } from '~/transformers/crud-factor.transformer' -import { BaseCrudFactory } from '~/transformers/crud-factor.transformer' +import { PagerDto } from '~/shared/dto/pager.dto' +import { + BaseCrudFactory, + BaseCrudModuleType, +} from '~/transformers/crud-factor.transformer' -import type { LinkDto } from './link.dto' +import { LinkDto } from './link.dto' import { LinkModel, LinkState } from './link.model' -import type { LinkService } from './link.service' +import { LinkService } from './link.service' const paths = ['links', 'friends'] @Controller(paths) diff --git a/src/modules/link/link.service.ts b/src/modules/link/link.service.ts index 79cf2532..ed4bfeb5 100644 --- a/src/modules/link/link.service.ts +++ b/src/modules/link/link.service.ts @@ -7,13 +7,15 @@ import { import { BusinessEvents, EventScope } from '~/constants/business-event.constant' import { isDev } from '~/global/env.global' -import type { EmailService } from '~/processors/helper/helper.email.service' -import { LinkApplyEmailType } from '~/processors/helper/helper.email.service' -import type { EventManagerService } from '~/processors/helper/helper.event.service' -import type { HttpService } from '~/processors/helper/helper.http.service' +import { + EmailService, + LinkApplyEmailType, +} from '~/processors/helper/helper.email.service' +import { EventManagerService } from '~/processors/helper/helper.event.service' +import { HttpService } from '~/processors/helper/helper.http.service' import { InjectModel } from '~/transformers/model.transformer' -import type { ConfigsService } from '../configs/configs.service' +import { ConfigsService } from '../configs/configs.service' import { LinkModel, LinkState, LinkType } from './link.model' @Injectable() diff --git a/src/modules/markdown/markdown.controller.ts b/src/modules/markdown/markdown.controller.ts index 64329926..d133a1d7 100644 --- a/src/modules/markdown/markdown.controller.ts +++ b/src/modules/markdown/markdown.controller.ts @@ -28,21 +28,21 @@ import { HTTPDecorators } from '~/common/decorator/http.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { IsMaster } from '~/common/decorator/role.decorator' import { ArticleTypeEnum } from '~/constants/article.constant' -import type { MongoIdDto } from '~/shared/dto/id.dto' +import { MongoIdDto } from '~/shared/dto/id.dto' import { getShortDateTime } from '~/utils' -import type { CategoryModel } from '../category/category.model' -import type { ConfigsService } from '../configs/configs.service' -import type { NoteModel } from '../note/note.model' -import type { PageModel } from '../page/page.model' -import type { PostModel } from '../post/post.model' -import type { +import { CategoryModel } from '../category/category.model' +import { ConfigsService } from '../configs/configs.service' +import { NoteModel } from '../note/note.model' +import { PageModel } from '../page/page.model' +import { PostModel } from '../post/post.model' +import { DataListDto, ExportMarkdownQueryDto, MarkdownPreviewDto, } from './markdown.dto' -import type { MarkdownYAMLProperty } from './markdown.interface' -import type { MarkdownService } from './markdown.service' +import { MarkdownYAMLProperty } from './markdown.interface' +import { MarkdownService } from './markdown.service' @Controller('markdown') @ApiName diff --git a/src/modules/markdown/markdown.service.ts b/src/modules/markdown/markdown.service.ts index 32645774..9dbe80d9 100644 --- a/src/modules/markdown/markdown.service.ts +++ b/src/modules/markdown/markdown.service.ts @@ -11,18 +11,18 @@ import { InternalServerErrorException, Logger, } from '@nestjs/common' -import type { ReturnModelType } from '@typegoose/typegoose' +import { ReturnModelType } from '@typegoose/typegoose' -import type { DatabaseService } from '~/processors/database/database.service' -import type { AssetService } from '~/processors/helper/helper.asset.service' +import { DatabaseService } from '~/processors/database/database.service' +import { AssetService } from '~/processors/helper/helper.asset.service' import { InjectModel } from '~/transformers/model.transformer' import { CategoryModel } from '../category/category.model' import { NoteModel } from '../note/note.model' import { PageModel } from '../page/page.model' import { PostModel } from '../post/post.model' -import type { DatatypeDto } from './markdown.dto' -import type { MarkdownYAMLProperty } from './markdown.interface' +import { DatatypeDto } from './markdown.dto' +import { MarkdownYAMLProperty } from './markdown.interface' @Injectable() export class MarkdownService { diff --git a/src/modules/note/note.controller.ts b/src/modules/note/note.controller.ts index 21e69273..781c4bb1 100644 --- a/src/modules/note/note.controller.ts +++ b/src/modules/note/note.controller.ts @@ -16,27 +16,26 @@ import { ApiOperation } from '@nestjs/swagger' import { Auth } from '~/common/decorator/auth.decorator' import { Paginator } from '~/common/decorator/http.decorator' -import type { IpRecord } from '~/common/decorator/ip.decorator' -import { IpLocation } from '~/common/decorator/ip.decorator' +import { IpLocation, IpRecord } from '~/common/decorator/ip.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { IsMaster } from '~/common/decorator/role.decorator' import { VisitDocument } from '~/common/decorator/update-count.decorator' import { CannotFindException } from '~/common/exceptions/cant-find.exception' -import type { CountingService } from '~/processors/helper/helper.counting.service' -import type { IntIdOrMongoIdDto, MongoIdDto } from '~/shared/dto/id.dto' +import { CountingService } from '~/processors/helper/helper.counting.service' +import { IntIdOrMongoIdDto, MongoIdDto } from '~/shared/dto/id.dto' import { addHidePasswordAndHideCondition, addYearCondition, } from '~/transformers/db-query.transformer' -import type { +import { ListQueryDto, NidType, NoteQueryDto, PasswordQueryDto, } from './note.dto' -import type { NoteModel, PartialNoteModel } from './note.model' -import type { NoteService } from './note.service' +import { NoteModel, PartialNoteModel } from './note.model' +import { NoteService } from './note.service' @ApiName @Controller({ path: 'notes' }) diff --git a/src/modules/note/note.model.ts b/src/modules/note/note.model.ts index c027fd70..2c5924fa 100644 --- a/src/modules/note/note.model.ts +++ b/src/modules/note/note.model.ts @@ -13,7 +13,7 @@ import { PartialType } from '@nestjs/mapped-types' import { AutoIncrementID } from '@typegoose/auto-increment' import { index, modelOptions, plugin, prop } from '@typegoose/typegoose' -import type { Paginator } from '~/shared/interface/paginator.interface' +import { Paginator } from '~/shared/interface/paginator.interface' import { CountMixed, WriteBaseModel } from '~/shared/model/base.model' @modelOptions({ schemaOptions: { id: false, _id: false } }) diff --git a/src/modules/note/note.service.ts b/src/modules/note/note.service.ts index 4376f175..12445a91 100644 --- a/src/modules/note/note.service.ts +++ b/src/modules/note/note.service.ts @@ -1,15 +1,14 @@ import { isDefined, isMongoId } from 'class-validator' -import type { FilterQuery } from 'mongoose' +import { FilterQuery } from 'mongoose' import { Injectable } from '@nestjs/common' -import type { EventEmitter2 } from '@nestjs/event-emitter' -import type { DocumentType } from '@typegoose/typegoose' +import { DocumentType } from '@typegoose/typegoose' import { CannotFindException } from '~/common/exceptions/cant-find.exception' import { BusinessEvents, EventScope } from '~/constants/business-event.constant' import { EventBusEvents } from '~/constants/event-bus.constant' -import type { EventManagerService } from '~/processors/helper/helper.event.service' -import type { ImageService } from '~/processors/helper/helper.image.service' +import { EventManagerService } from '~/processors/helper/helper.event.service' +import { ImageService } from '~/processors/helper/helper.image.service' import { InjectModel } from '~/transformers/model.transformer' import { deleteKeys } from '~/utils' @@ -22,7 +21,6 @@ export class NoteService { private readonly noteModel: MongooseModel, private readonly imageService: ImageService, private readonly eventManager: EventManagerService, - private readonly eventEmitter: EventEmitter2, ) { this.needCreateDefult() } diff --git a/src/modules/option/controllers/base.option.controller.ts b/src/modules/option/controllers/base.option.controller.ts index 3d552191..b941fd43 100644 --- a/src/modules/option/controllers/base.option.controller.ts +++ b/src/modules/option/controllers/base.option.controller.ts @@ -11,10 +11,10 @@ import { import { HTTPDecorators } from '~/common/decorator/http.decorator' import { IConfig } from '~/modules/configs/configs.interface' -import type { ConfigsService } from '~/modules/configs/configs.service' +import { ConfigsService } from '~/modules/configs/configs.service' import { classToJsonSchema } from '~/utils/jsonschema.util' -import type { ConfigKeyDto } from '../dtos/config.dto' +import { ConfigKeyDto } from '../dtos/config.dto' import { OptionController } from '../option.decorator' @OptionController() diff --git a/src/modules/option/controllers/email.option.controller.ts b/src/modules/option/controllers/email.option.controller.ts index 109ede63..9be91589 100644 --- a/src/modules/option/controllers/email.option.controller.ts +++ b/src/modules/option/controllers/email.option.controller.ts @@ -1,12 +1,12 @@ import { Body, Delete, Get, Put, Query } from '@nestjs/common' -import type { +import { EmailService, EmailTemplateRenderProps, + ReplyMailType, } from '~/processors/helper/helper.email.service' -import { ReplyMailType } from '~/processors/helper/helper.email.service' -import type { ReplyEmailBodyDto, ReplyEmailTypeDto } from '../dtos/email.dto' +import { ReplyEmailBodyDto, ReplyEmailTypeDto } from '../dtos/email.dto' import { OptionController } from '../option.decorator' @OptionController('Email', 'email') diff --git a/src/modules/option/dtos/config.dto.ts b/src/modules/option/dtos/config.dto.ts index 97da9e45..80da41ca 100644 --- a/src/modules/option/dtos/config.dto.ts +++ b/src/modules/option/dtos/config.dto.ts @@ -1,6 +1,6 @@ import { IsNotEmpty, IsString } from 'class-validator' -import type { IConfig } from '~/modules/configs/configs.interface' +import { IConfig } from '~/modules/configs/configs.interface' export class ConfigKeyDto { @IsString() diff --git a/src/modules/page/page.controller.ts b/src/modules/page/page.controller.ts index e10421ec..4589fe9a 100644 --- a/src/modules/page/page.controller.ts +++ b/src/modules/page/page.controller.ts @@ -16,11 +16,11 @@ import { Auth } from '~/common/decorator/auth.decorator' import { Paginator } from '~/common/decorator/http.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { CannotFindException } from '~/common/exceptions/cant-find.exception' -import type { MongoIdDto } from '~/shared/dto/id.dto' +import { MongoIdDto } from '~/shared/dto/id.dto' -import type { PageQueryDto } from './page.dto' -import type { PageModel, PartialPageModel } from './page.model' -import type { PageService } from './page.service' +import { PageQueryDto } from './page.dto' +import { PageModel, PartialPageModel } from './page.model' +import { PageService } from './page.service' @Controller('pages') @ApiName diff --git a/src/modules/page/page.service.ts b/src/modules/page/page.service.ts index 6635cad6..4a0fc072 100644 --- a/src/modules/page/page.service.ts +++ b/src/modules/page/page.service.ts @@ -5,8 +5,8 @@ import slugify from 'slugify' import { Injectable } from '@nestjs/common' import { BusinessEvents, EventScope } from '~/constants/business-event.constant' -import type { EventManagerService } from '~/processors/helper/helper.event.service' -import type { ImageService } from '~/processors/helper/helper.image.service' +import { EventManagerService } from '~/processors/helper/helper.event.service' +import { ImageService } from '~/processors/helper/helper.image.service' import { InjectModel } from '~/transformers/model.transformer' import { PageModel } from './page.model' diff --git a/src/modules/pageproxy/pageproxy.controller.ts b/src/modules/pageproxy/pageproxy.controller.ts index 6c6b9848..f7af1b90 100644 --- a/src/modules/pageproxy/pageproxy.controller.ts +++ b/src/modules/pageproxy/pageproxy.controller.ts @@ -1,4 +1,4 @@ -import type { FastifyReply, FastifyRequest } from 'fastify' +import { FastifyReply, FastifyRequest } from 'fastify' import { createReadStream, existsSync, statSync } from 'fs' import fs from 'fs/promises' import { isNull } from 'lodash' @@ -19,12 +19,12 @@ import { HTTPDecorators } from '~/common/decorator/http.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { RedisKeys } from '~/constants/cache.constant' import { LOCAL_ADMIN_ASSET_PATH } from '~/constants/path.constant' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' import { getRedisKey } from '~/utils/redis.util' import { dashboard } from '../../../package.json' -import type { PageProxyDebugDto } from './pageproxy.dto' -import type { PageProxyService } from './pageproxy.service' +import { PageProxyDebugDto } from './pageproxy.dto' +import { PageProxyService } from './pageproxy.service' @Controller('/') @ApiName diff --git a/src/modules/pageproxy/pageproxy.service.ts b/src/modules/pageproxy/pageproxy.service.ts index 451ac6ae..a32d04a3 100644 --- a/src/modules/pageproxy/pageproxy.service.ts +++ b/src/modules/pageproxy/pageproxy.service.ts @@ -6,8 +6,8 @@ import { Injectable, InternalServerErrorException } from '@nestjs/common' import PKG from '~/../package.json' import { API_VERSION } from '~/app.config' -import type { ConfigsService } from '../configs/configs.service' -import type { InitService } from '../init/init.service' +import { ConfigsService } from '../configs/configs.service' +import { InitService } from '../init/init.service' @Injectable() export class PageProxyService { diff --git a/src/modules/post/post.controller.ts b/src/modules/post/post.controller.ts index 24362102..c507ba10 100644 --- a/src/modules/post/post.controller.ts +++ b/src/modules/post/post.controller.ts @@ -18,19 +18,18 @@ import { ApiOperation } from '@nestjs/swagger' import { Auth } from '~/common/decorator/auth.decorator' import { Paginator } from '~/common/decorator/http.decorator' -import type { IpRecord } from '~/common/decorator/ip.decorator' -import { IpLocation } from '~/common/decorator/ip.decorator' +import { IpLocation, IpRecord } from '~/common/decorator/ip.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { IsMaster } from '~/common/decorator/role.decorator' import { VisitDocument } from '~/common/decorator/update-count.decorator' import { CannotFindException } from '~/common/exceptions/cant-find.exception' -import type { CountingService } from '~/processors/helper/helper.counting.service' -import type { MongoIdDto } from '~/shared/dto/id.dto' +import { CountingService } from '~/processors/helper/helper.counting.service' +import { MongoIdDto } from '~/shared/dto/id.dto' import { addYearCondition } from '~/transformers/db-query.transformer' -import type { CategoryAndSlugDto, PostQueryDto } from './post.dto' -import type { PartialPostModel, PostModel } from './post.model' -import type { PostService } from './post.service' +import { CategoryAndSlugDto, PostQueryDto } from './post.dto' +import { PartialPostModel, PostModel } from './post.model' +import { PostService } from './post.service' @Controller('posts') @ApiName diff --git a/src/modules/post/post.model.ts b/src/modules/post/post.model.ts index 117a5ee0..b109c11d 100644 --- a/src/modules/post/post.model.ts +++ b/src/modules/post/post.model.ts @@ -6,15 +6,22 @@ import { IsOptional, IsString, } from 'class-validator' -import type { Query } from 'mongoose' +import { Query } from 'mongoose' import { PartialType } from '@nestjs/mapped-types' import { ApiHideProperty, ApiProperty } from '@nestjs/swagger' -import type { DocumentType, Ref } from '@typegoose/typegoose' -import { Severity, index, modelOptions, pre, prop } from '@typegoose/typegoose' -import type { BeAnObject } from '@typegoose/typegoose/lib/types' +import { + DocumentType, + Ref, + Severity, + index, + modelOptions, + pre, + prop, +} from '@typegoose/typegoose' +import { BeAnObject } from '@typegoose/typegoose/lib/types' -import type { Paginator } from '~/shared/interface/paginator.interface' +import { Paginator } from '~/shared/interface/paginator.interface' import { CountMixed as Count, WriteBaseModel } from '~/shared/model/base.model' import { CategoryModel as Category } from '../category/category.model' diff --git a/src/modules/post/post.service.ts b/src/modules/post/post.service.ts index a09e3e96..ac93af76 100644 --- a/src/modules/post/post.service.ts +++ b/src/modules/post/post.service.ts @@ -1,6 +1,6 @@ import { isDefined } from 'class-validator' import { omit } from 'lodash' -import type { FilterQuery, PaginateOptions } from 'mongoose' +import { FilterQuery, PaginateOptions } from 'mongoose' import slugify from 'slugify' import { @@ -14,8 +14,8 @@ import { BusinessException } from '~/common/exceptions/business.exception' import { BusinessEvents, EventScope } from '~/constants/business-event.constant' import { ErrorCodeEnum } from '~/constants/error-code.constant' import { EventBusEvents } from '~/constants/event-bus.constant' -import type { EventManagerService } from '~/processors/helper/helper.event.service' -import type { ImageService } from '~/processors/helper/helper.image.service' +import { EventManagerService } from '~/processors/helper/helper.event.service' +import { ImageService } from '~/processors/helper/helper.image.service' import { InjectModel } from '~/transformers/model.transformer' import { CategoryService } from '../category/category.service' diff --git a/src/modules/pty/pty.controller.ts b/src/modules/pty/pty.controller.ts index e49e36f8..5a75160e 100644 --- a/src/modules/pty/pty.controller.ts +++ b/src/modules/pty/pty.controller.ts @@ -2,7 +2,7 @@ import { Controller, Get, Scope } from '@nestjs/common' import { Auth } from '~/common/decorator/auth.decorator' -import type { PTYService } from './pty.service' +import { PTYService } from './pty.service' @Auth() @Controller({ path: 'pty', scope: Scope.REQUEST }) diff --git a/src/modules/pty/pty.gateway.ts b/src/modules/pty/pty.gateway.ts index ac38d605..0792e7cb 100644 --- a/src/modules/pty/pty.gateway.ts +++ b/src/modules/pty/pty.gateway.ts @@ -1,23 +1,23 @@ import { isNil } from 'lodash' import { nanoid } from 'nanoid' -import type { IPty } from 'node-pty' -import { spawn } from 'node-pty' -import type { Socket } from 'socket.io' +import { IPty, spawn } from 'node-pty' +import { Socket } from 'socket.io' -import type { JwtService } from '@nestjs/jwt' -import type { +import { JwtService } from '@nestjs/jwt' +import { GatewayMetadata, OnGatewayConnection, OnGatewayDisconnect, + SubscribeMessage, + WebSocketGateway, } from '@nestjs/websockets' -import { SubscribeMessage, WebSocketGateway } from '@nestjs/websockets' import { BusinessEvents } from '~/constants/business-event.constant' import { RedisKeys } from '~/constants/cache.constant' import { DATA_DIR } from '~/constants/path.constant' -import type { AuthService } from '~/modules/auth/auth.service' -import type { ConfigsService } from '~/modules/configs/configs.service' -import type { CacheService } from '~/processors/cache/cache.service' +import { AuthService } from '~/modules/auth/auth.service' +import { ConfigsService } from '~/modules/configs/configs.service' +import { CacheService } from '~/processors/cache/cache.service' import { createAuthGateway } from '~/processors/gateway/shared/auth.gateway' import { getIp, getRedisKey } from '~/utils' diff --git a/src/modules/pty/pty.service.ts b/src/modules/pty/pty.service.ts index b89284fa..e4e60237 100644 --- a/src/modules/pty/pty.service.ts +++ b/src/modules/pty/pty.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common' import { RedisKeys } from '~/constants/cache.constant' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' import { getRedisKey } from '~/utils' @Injectable() diff --git a/src/modules/recently/recently.controller.ts b/src/modules/recently/recently.controller.ts index ebff36e3..cf78e161 100644 --- a/src/modules/recently/recently.controller.ts +++ b/src/modules/recently/recently.controller.ts @@ -11,11 +11,11 @@ import { import { Auth } from '~/common/decorator/auth.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' -import type { MongoIdDto } from '~/shared/dto/id.dto' -import type { OffsetDto } from '~/shared/dto/pager.dto' +import { MongoIdDto } from '~/shared/dto/id.dto' +import { OffsetDto } from '~/shared/dto/pager.dto' -import type { RecentlyModel } from './recently.model' -import type { RecentlyService } from './recently.service' +import { RecentlyModel } from './recently.model' +import { RecentlyService } from './recently.service' @Controller(['recently', 'shorthand']) @ApiName diff --git a/src/modules/recently/recently.service.ts b/src/modules/recently/recently.service.ts index 31bfb61e..e0cb7f21 100644 --- a/src/modules/recently/recently.service.ts +++ b/src/modules/recently/recently.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common' import { BusinessEvents, EventScope } from '~/constants/business-event.constant' -import type { EventManagerService } from '~/processors/helper/helper.event.service' +import { EventManagerService } from '~/processors/helper/helper.event.service' import { InjectModel } from '~/transformers/model.transformer' import { RecentlyModel } from './recently.model' diff --git a/src/modules/search/search.controller.ts b/src/modules/search/search.controller.ts index f4279b48..aaa4ca39 100644 --- a/src/modules/search/search.controller.ts +++ b/src/modules/search/search.controller.ts @@ -9,9 +9,9 @@ import { import { HttpCache } from '~/common/decorator/cache.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { IsMaster } from '~/common/decorator/role.decorator' -import type { SearchDto } from '~/modules/search/search.dto' +import { SearchDto } from '~/modules/search/search.dto' -import type { SearchService } from './search.service' +import { SearchService } from './search.service' @Controller('search') @ApiName diff --git a/src/modules/search/search.service.ts b/src/modules/search/search.service.ts index bfdb2e50..5b23fd3c 100644 --- a/src/modules/search/search.service.ts +++ b/src/modules/search/search.service.ts @@ -1,6 +1,6 @@ import algoliasearch from 'algoliasearch' -import type { SearchResponse } from '@algolia/client-search' +import { SearchResponse } from '@algolia/client-search' import { BadRequestException, Inject, @@ -8,12 +8,12 @@ import { forwardRef, } from '@nestjs/common' -import type { SearchDto } from '~/modules/search/search.dto' -import type { DatabaseService } from '~/processors/database/database.service' -import type { Pagination } from '~/shared/interface/paginator.interface' +import { SearchDto } from '~/modules/search/search.dto' +import { DatabaseService } from '~/processors/database/database.service' +import { Pagination } from '~/shared/interface/paginator.interface' import { transformDataToPaginate } from '~/transformers/paginate.transformer' -import type { ConfigsService } from '../configs/configs.service' +import { ConfigsService } from '../configs/configs.service' import { NoteService } from '../note/note.service' import { PostService } from '../post/post.service' diff --git a/src/modules/serverless/function.types.ts b/src/modules/serverless/function.types.ts index 50e878e1..bc9c7b02 100644 --- a/src/modules/serverless/function.types.ts +++ b/src/modules/serverless/function.types.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/no-empty-interface */ -import type { FastifyRequest } from 'fastify' +import { FastifyRequest } from 'fastify' export interface FunctionContextRequest extends FastifyRequest {} diff --git a/src/modules/serverless/mock-response.util.ts b/src/modules/serverless/mock-response.util.ts index ff4efa9e..05b5b6f5 100644 --- a/src/modules/serverless/mock-response.util.ts +++ b/src/modules/serverless/mock-response.util.ts @@ -1,8 +1,8 @@ -import type { FastifyReply } from 'fastify' +import { FastifyReply } from 'fastify' import { HttpException } from '@nestjs/common' -import type { FunctionContextResponse } from './function.types' +import { FunctionContextResponse } from './function.types' export const createMockedContextResponse = ( reply: FastifyReply, diff --git a/src/modules/serverless/serverless.controller.ts b/src/modules/serverless/serverless.controller.ts index 8564f3d5..7a44d5b1 100644 --- a/src/modules/serverless/serverless.controller.ts +++ b/src/modules/serverless/serverless.controller.ts @@ -1,4 +1,4 @@ -import type { FastifyReply, FastifyRequest } from 'fastify' +import { FastifyReply, FastifyRequest } from 'fastify' import { CacheTTL, @@ -19,8 +19,8 @@ import { IsMaster } from '~/common/decorator/role.decorator' import { SnippetType } from '../snippet/snippet.model' import { createMockedContextResponse } from './mock-response.util' -import type { ServerlessReferenceDto } from './serverless.dto' -import type { ServerlessService } from './serverless.service' +import { ServerlessReferenceDto } from './serverless.dto' +import { ServerlessService } from './serverless.service' @ApiName @Controller('serverless') diff --git a/src/modules/serverless/serverless.service.ts b/src/modules/serverless/serverless.service.ts index fce72a4f..df9c02a3 100644 --- a/src/modules/serverless/serverless.service.ts +++ b/src/modules/serverless/serverless.service.ts @@ -4,10 +4,9 @@ import { cloneDeep } from 'lodash' import path from 'path' import { nextTick } from 'process' -import type { TransformOptions } from '@babel/core' -import { parseAsync, transformAsync } from '@babel/core' +import { TransformOptions, parseAsync, transformAsync } from '@babel/core' import * as t from '@babel/types' -import type { VariableDeclaration } from '@babel/types' +import { VariableDeclaration } from '@babel/types' import { Injectable, InternalServerErrorException, @@ -17,19 +16,19 @@ import { Interval } from '@nestjs/schedule' import { RedisKeys } from '~/constants/cache.constant' import { DATA_DIR, NODE_REQUIRE_PATH } from '~/constants/path.constant' -import type { CacheService } from '~/processors/cache/cache.service' -import type { DatabaseService } from '~/processors/database/database.service' -import type { AssetService } from '~/processors/helper/helper.asset.service' -import type { HttpService } from '~/processors/helper/helper.http.service' +import { CacheService } from '~/processors/cache/cache.service' +import { DatabaseService } from '~/processors/database/database.service' +import { AssetService } from '~/processors/helper/helper.asset.service' +import { HttpService } from '~/processors/helper/helper.http.service' import { InjectModel } from '~/transformers/model.transformer' -import type { UniqueArray } from '~/ts-hepler/unique' +import { UniqueArray } from '~/ts-hepler/unique' import { getRedisKey, safePathJoin } from '~/utils' import { safeEval } from '~/utils/safe-eval.util' import { isBuiltinModule } from '~/utils/system.util' import PKG from '../../../package.json' import { SnippetModel } from '../snippet/snippet.model' -import type { +import { FunctionContextRequest, FunctionContextResponse, } from './function.types' diff --git a/src/modules/sitemap/sitemap.controller.ts b/src/modules/sitemap/sitemap.controller.ts index c3dd781b..e049bd40 100644 --- a/src/modules/sitemap/sitemap.controller.ts +++ b/src/modules/sitemap/sitemap.controller.ts @@ -4,7 +4,7 @@ import { HTTPDecorators } from '~/common/decorator/http.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { CacheKeys } from '~/constants/cache.constant' -import type { AggregateService } from '../aggregate/aggregate.service' +import { AggregateService } from '../aggregate/aggregate.service' @Controller('sitemap') @ApiName diff --git a/src/modules/snippet/snippet.controller.ts b/src/modules/snippet/snippet.controller.ts index c4391a41..839b834c 100644 --- a/src/modules/snippet/snippet.controller.ts +++ b/src/modules/snippet/snippet.controller.ts @@ -15,15 +15,14 @@ import { HTTPDecorators } from '~/common/decorator/http.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { IsMaster } from '~/common/decorator/role.decorator' import { DATA_DIR } from '~/constants/path.constant' -import type { MongoIdDto } from '~/shared/dto/id.dto' -import type { PagerDto } from '~/shared/dto/pager.dto' +import { MongoIdDto } from '~/shared/dto/id.dto' +import { PagerDto } from '~/shared/dto/pager.dto' import { transformDataToPaginate } from '~/transformers/paginate.transformer' import { installPKG } from '~/utils' -import type { SnippetMoreDto } from './snippet.dto' -import type { SnippetModel } from './snippet.model' -import { SnippetType } from './snippet.model' -import type { SnippetService } from './snippet.service' +import { SnippetMoreDto } from './snippet.dto' +import { SnippetModel, SnippetType } from './snippet.model' +import { SnippetService } from './snippet.service' @ApiName @Controller('snippets') diff --git a/src/modules/snippet/snippet.service.ts b/src/modules/snippet/snippet.service.ts index d45f2ee1..fa1ff9d5 100644 --- a/src/modules/snippet/snippet.service.ts +++ b/src/modules/snippet/snippet.service.ts @@ -9,7 +9,7 @@ import { } from '@nestjs/common' import { RedisKeys } from '~/constants/cache.constant' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' import { InjectModel } from '~/transformers/model.transformer' import { getRedisKey } from '~/utils' diff --git a/src/modules/tool/tool.controller.ts b/src/modules/tool/tool.controller.ts index 80508e9b..c1711204 100644 --- a/src/modules/tool/tool.controller.ts +++ b/src/modules/tool/tool.controller.ts @@ -4,12 +4,12 @@ import { Auth } from '~/common/decorator/auth.decorator' import { HttpCache } from '~/common/decorator/cache.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { RedisKeys } from '~/constants/cache.constant' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' import { getRedisKey } from '~/utils/redis.util' -import type { ConfigsService } from '../configs/configs.service' -import type { GaodeMapLocationDto, GaodeMapSearchDto, IpDto } from './tool.dto' -import type { ToolService } from './tool.service' +import { ConfigsService } from '../configs/configs.service' +import { GaodeMapLocationDto, GaodeMapSearchDto, IpDto } from './tool.dto' +import { ToolService } from './tool.service' @Controller('tools') @ApiName diff --git a/src/modules/tool/tool.service.ts b/src/modules/tool/tool.service.ts index 4becc227..50fc02f4 100644 --- a/src/modules/tool/tool.service.ts +++ b/src/modules/tool/tool.service.ts @@ -8,10 +8,10 @@ import { UnprocessableEntityException, } from '@nestjs/common' -import type { HttpService } from '~/processors/helper/helper.http.service' +import { HttpService } from '~/processors/helper/helper.http.service' -import type { ConfigsService } from '../configs/configs.service' -import type { IP } from './tool.interface' +import { ConfigsService } from '../configs/configs.service' +import { IP } from './tool.interface' @Injectable() export class ToolService { diff --git a/src/modules/user/user.controller.ts b/src/modules/user/user.controller.ts index baca7396..115f061c 100644 --- a/src/modules/user/user.controller.ts +++ b/src/modules/user/user.controller.ts @@ -4,16 +4,15 @@ import { ApiOperation } from '@nestjs/swagger' import { Auth } from '~/common/decorator/auth.decorator' import { HttpCache } from '~/common/decorator/cache.decorator' import { CurrentUser } from '~/common/decorator/current-user.decorator' -import type { IpRecord } from '~/common/decorator/ip.decorator' -import { IpLocation } from '~/common/decorator/ip.decorator' +import { IpLocation, IpRecord } from '~/common/decorator/ip.decorator' import { ApiName } from '~/common/decorator/openapi.decorator' import { IsMaster } from '~/common/decorator/role.decorator' import { getAvatar } from '~/utils' -import type { AuthService } from '../auth/auth.service' -import type { LoginDto, UserDto, UserPatchDto } from './user.dto' -import type { UserDocument, UserModel } from './user.model' -import type { UserService } from './user.service' +import { AuthService } from '../auth/auth.service' +import { LoginDto, UserDto, UserPatchDto } from './user.dto' +import { UserDocument, UserModel } from './user.model' +import { UserService } from './user.service' @ApiName @Controller(['master', 'user']) diff --git a/src/modules/user/user.model.ts b/src/modules/user/user.model.ts index 5a370efc..85a9d721 100644 --- a/src/modules/user/user.model.ts +++ b/src/modules/user/user.model.ts @@ -1,8 +1,12 @@ import { hashSync } from 'bcrypt' import { Schema } from 'mongoose' -import type { DocumentType } from '@typegoose/typegoose' -import { Severity, modelOptions, prop } from '@typegoose/typegoose' +import { + DocumentType, + Severity, + modelOptions, + prop, +} from '@typegoose/typegoose' import { BaseModel } from '~/shared/model/base.model' diff --git a/src/modules/user/user.service.ts b/src/modules/user/user.service.ts index b27d7d30..911091c9 100644 --- a/src/modules/user/user.service.ts +++ b/src/modules/user/user.service.ts @@ -9,18 +9,17 @@ import { Logger, UnprocessableEntityException, } from '@nestjs/common' -import type { ReturnModelType } from '@typegoose/typegoose' +import { ReturnModelType } from '@typegoose/typegoose' import { MasterLostException } from '~/common/exceptions/master-lost.exception' import { RedisKeys } from '~/constants/cache.constant' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' import { InjectModel } from '~/transformers/model.transformer' import { getAvatar, sleep } from '~/utils' import { getRedisKey } from '~/utils/redis.util' -import type { AuthService } from '../auth/auth.service' -import type { UserDocument } from './user.model' -import { UserModel } from './user.model' +import { AuthService } from '../auth/auth.service' +import { UserDocument, UserModel } from './user.model' @Injectable() export class UserService { diff --git a/src/processors/cache/cache.config.service.ts b/src/processors/cache/cache.config.service.ts index ebdf10a1..4b2d06fe 100755 --- a/src/processors/cache/cache.config.service.ts +++ b/src/processors/cache/cache.config.service.ts @@ -5,10 +5,13 @@ * @author Surmon */ import redisStore from 'cache-manager-ioredis' -import type { RedisOptions } from 'ioredis' +import { RedisOptions } from 'ioredis' -import type { CacheModuleOptions, CacheOptionsFactory } from '@nestjs/common' -import { Injectable } from '@nestjs/common' +import { + CacheModuleOptions, + CacheOptionsFactory, + Injectable, +} from '@nestjs/common' import { REDIS } from '~/app.config' diff --git a/src/processors/cache/cache.service.ts b/src/processors/cache/cache.service.ts index d205270a..f1f32196 100755 --- a/src/processors/cache/cache.service.ts +++ b/src/processors/cache/cache.service.ts @@ -1,11 +1,11 @@ -import type { Cache } from 'cache-manager' -import type { Redis } from 'ioredis' +import { Cache } from 'cache-manager' +import { Redis } from 'ioredis' import { CACHE_MANAGER, Inject, Injectable, Logger } from '@nestjs/common' import { getRedisKey } from '~/utils/redis.util' -import type { RedisSubPub } from '../../utils/redis-subpub.util' +import { RedisSubPub } from '../../utils/redis-subpub.util' // Cache 客户端管理器 diff --git a/src/processors/database/database.service.ts b/src/processors/database/database.service.ts index da5c9f00..40c64001 100644 --- a/src/processors/database/database.service.ts +++ b/src/processors/database/database.service.ts @@ -1,5 +1,5 @@ import { Inject, Injectable } from '@nestjs/common' -import type { ReturnModelType, mongoose } from '@typegoose/typegoose' +import { ReturnModelType, mongoose } from '@typegoose/typegoose' import { DB_CONNECTION_TOKEN } from '~/constants/system.constant' import { NoteModel } from '~/modules/note/note.model' diff --git a/src/processors/gateway/admin/events.gateway.ts b/src/processors/gateway/admin/events.gateway.ts index 47aa291a..ecfe0002 100644 --- a/src/processors/gateway/admin/events.gateway.ts +++ b/src/processors/gateway/admin/events.gateway.ts @@ -1,21 +1,21 @@ import { resolve } from 'path' -import type { Socket } from 'socket.io' -import type SocketIO from 'socket.io' +import SocketIO, { Socket } from 'socket.io' -import type { JwtService } from '@nestjs/jwt' -import type { +import { JwtService } from '@nestjs/jwt' +import { GatewayMetadata, OnGatewayConnection, OnGatewayDisconnect, + SubscribeMessage, + WebSocketGateway, } from '@nestjs/websockets' -import { SubscribeMessage, WebSocketGateway } from '@nestjs/websockets' import { LOG_DIR } from '~/constants/path.constant' import { getTodayLogFilePath } from '~/global/consola.global' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' import { BusinessEvents } from '../../../constants/business-event.constant' -import type { AuthService } from '../../../modules/auth/auth.service' +import { AuthService } from '../../../modules/auth/auth.service' import { createAuthGateway } from '../shared/auth.gateway' const AuthGateway = createAuthGateway({ namespace: 'admin', authway: 'jwt' }) diff --git a/src/processors/gateway/base.gateway.ts b/src/processors/gateway/base.gateway.ts index 69e0ffcf..3565426e 100644 --- a/src/processors/gateway/base.gateway.ts +++ b/src/processors/gateway/base.gateway.ts @@ -1,4 +1,4 @@ -import type { Socket } from 'socket.io' +import { Socket } from 'socket.io' import { BusinessEvents } from '~/constants/business-event.constant' diff --git a/src/processors/gateway/shared/auth.gateway.ts b/src/processors/gateway/shared/auth.gateway.ts index cd1469c3..332719e4 100644 --- a/src/processors/gateway/shared/auth.gateway.ts +++ b/src/processors/gateway/shared/auth.gateway.ts @@ -1,17 +1,17 @@ -import type { Namespace, Socket } from 'socket.io' +import { Namespace, Socket } from 'socket.io' import { OnEvent } from '@nestjs/event-emitter' -import type { JwtService } from '@nestjs/jwt' -import type { +import { JwtService } from '@nestjs/jwt' +import { OnGatewayConnection, OnGatewayDisconnect, + WebSocketServer, } from '@nestjs/websockets' -import { WebSocketServer } from '@nestjs/websockets' import { Emitter } from '@socket.io/redis-emitter' import { EventBusEvents } from '~/constants/event-bus.constant' -import type { AuthService } from '~/modules/auth/auth.service' -import type { CacheService } from '~/processors/cache/cache.service' +import { AuthService } from '~/modules/auth/auth.service' +import { CacheService } from '~/processors/cache/cache.service' import { BusinessEvents } from '../../../constants/business-event.constant' import { BoardcastBaseGateway } from '../base.gateway' diff --git a/src/processors/gateway/shared/events.gateway.ts b/src/processors/gateway/shared/events.gateway.ts index 4a08c47e..c1dbe1ab 100644 --- a/src/processors/gateway/shared/events.gateway.ts +++ b/src/processors/gateway/shared/events.gateway.ts @@ -1,9 +1,9 @@ import { Injectable } from '@nestjs/common' -import type { BusinessEvents } from '~/constants/business-event.constant' +import { BusinessEvents } from '~/constants/business-event.constant' -import type { AdminEventsGateway } from '../admin/events.gateway' -import type { WebEventsGateway } from '../web/events.gateway' +import { AdminEventsGateway } from '../admin/events.gateway' +import { WebEventsGateway } from '../web/events.gateway' @Injectable() export class SharedGateway { diff --git a/src/processors/gateway/system/events.gateway.ts b/src/processors/gateway/system/events.gateway.ts index 1be08cbb..50414e44 100644 --- a/src/processors/gateway/system/events.gateway.ts +++ b/src/processors/gateway/system/events.gateway.ts @@ -1,14 +1,14 @@ -import type { JwtService } from '@nestjs/jwt' -import type { +import { JwtService } from '@nestjs/jwt' +import { GatewayMetadata, OnGatewayConnection, OnGatewayDisconnect, + WebSocketGateway, } from '@nestjs/websockets' -import { WebSocketGateway } from '@nestjs/websockets' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' -import type { AuthService } from '../../../modules/auth/auth.service' +import { AuthService } from '../../../modules/auth/auth.service' import { createAuthGateway } from '../shared/auth.gateway' const AuthGateway = createAuthGateway({ diff --git a/src/processors/gateway/web/events.gateway.ts b/src/processors/gateway/web/events.gateway.ts index ff82d9c7..88947f1e 100644 --- a/src/processors/gateway/web/events.gateway.ts +++ b/src/processors/gateway/web/events.gateway.ts @@ -1,16 +1,14 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion */ import { plainToClass } from 'class-transformer' import { validate } from 'class-validator' -import type SocketIO from 'socket.io' +import SocketIO from 'socket.io' -import type { - GatewayMetadata, - OnGatewayConnection, - OnGatewayDisconnect, -} from '@nestjs/websockets' import { ConnectedSocket, + GatewayMetadata, MessageBody, + OnGatewayConnection, + OnGatewayDisconnect, SubscribeMessage, WebSocketGateway, WebSocketServer, @@ -19,7 +17,7 @@ import { Emitter } from '@socket.io/redis-emitter' import { BusinessEvents } from '~/constants/business-event.constant' import { RedisKeys } from '~/constants/cache.constant' -import type { CacheService } from '~/processors/cache/cache.service' +import { CacheService } from '~/processors/cache/cache.service' import { getRedisKey } from '~/utils/redis.util' import { getShortDate } from '~/utils/time.util' diff --git a/src/processors/helper/helper.asset.service.ts b/src/processors/helper/helper.asset.service.ts index ebf682ca..fbd2ef38 100644 --- a/src/processors/helper/helper.asset.service.ts +++ b/src/processors/helper/helper.asset.service.ts @@ -11,7 +11,7 @@ import { Injectable, Logger } from '@nestjs/common' import { USER_ASSET_DIR } from '~/constants/path.constant' -import type { HttpService } from './helper.http.service' +import { HttpService } from './helper.http.service' // 先从 ASSET_DIR 找用户自定义的资源, 没有就从默认的 ASSET_DIR 找, 没有就从网上拉取, 存到默认的 ASSET_DIR @Injectable() diff --git a/src/processors/helper/helper.counting.service.ts b/src/processors/helper/helper.counting.service.ts index d584b9b4..f9c1e5c2 100644 --- a/src/processors/helper/helper.counting.service.ts +++ b/src/processors/helper/helper.counting.service.ts @@ -1,14 +1,14 @@ import { Injectable, Logger } from '@nestjs/common' -import type { ArticleType } from '~/constants/article.constant' +import { ArticleType } from '~/constants/article.constant' import { RedisKeys } from '~/constants/cache.constant' import { NoteModel } from '~/modules/note/note.model' import { PostModel } from '~/modules/post/post.model' import { InjectModel } from '~/transformers/model.transformer' import { getRedisKey } from '~/utils/redis.util' -import type { CacheService } from '../cache/cache.service' -import type { DatabaseService } from '../database/database.service' +import { CacheService } from '../cache/cache.service' +import { DatabaseService } from '../database/database.service' @Injectable() export class CountingService { diff --git a/src/processors/helper/helper.cron.service.ts b/src/processors/helper/helper.cron.service.ts index a925cb2e..60541c62 100644 --- a/src/processors/helper/helper.cron.service.ts +++ b/src/processors/helper/helper.cron.service.ts @@ -18,7 +18,7 @@ import { LOG_DIR, TEMP_DIR } from '~/constants/path.constant' import { AggregateService } from '~/modules/aggregate/aggregate.service' import { AnalyzeModel } from '~/modules/analyze/analyze.model' import { BackupService } from '~/modules/backup/backup.service' -import type { ConfigsService } from '~/modules/configs/configs.service' +import { ConfigsService } from '~/modules/configs/configs.service' import { NoteService } from '~/modules/note/note.service' import { PageService } from '~/modules/page/page.service' import { PostService } from '~/modules/post/post.service' @@ -26,8 +26,8 @@ import { SearchService } from '~/modules/search/search.service' import { InjectModel } from '~/transformers/model.transformer' import { getRedisKey } from '~/utils/redis.util' -import type { CacheService } from '../cache/cache.service' -import type { HttpService } from './helper.http.service' +import { CacheService } from '../cache/cache.service' +import { HttpService } from './helper.http.service' @Injectable() export class CronService { diff --git a/src/processors/helper/helper.email.service.ts b/src/processors/helper/helper.email.service.ts index 0020ae66..085a3bfa 100644 --- a/src/processors/helper/helper.email.service.ts +++ b/src/processors/helper/helper.email.service.ts @@ -7,10 +7,10 @@ import { Injectable, Logger } from '@nestjs/common' import { OnEvent } from '@nestjs/event-emitter' import { EventBusEvents } from '~/constants/event-bus.constant' -import type { ConfigsService } from '~/modules/configs/configs.service' +import { ConfigsService } from '~/modules/configs/configs.service' -import type { CacheService } from '../cache/cache.service' -import type { AssetService } from './helper.asset.service' +import { CacheService } from '../cache/cache.service' +import { AssetService } from './helper.asset.service' export enum ReplyMailType { Owner = 'owner', diff --git a/src/processors/helper/helper.event.service.ts b/src/processors/helper/helper.event.service.ts index 71d1397d..f9d0afb1 100644 --- a/src/processors/helper/helper.event.service.ts +++ b/src/processors/helper/helper.event.service.ts @@ -3,14 +3,13 @@ import { merge } from 'lodash' import { Injectable, Logger } from '@nestjs/common' import { EventEmitter2 } from '@nestjs/event-emitter' -import type { BusinessEvents } from '~/constants/business-event.constant' -import { EventScope } from '~/constants/business-event.constant' -import type { EventBusEvents } from '~/constants/event-bus.constant' +import { BusinessEvents, EventScope } from '~/constants/business-event.constant' +import { EventBusEvents } from '~/constants/event-bus.constant' -import type { AdminEventsGateway } from '../gateway/admin/events.gateway' +import { AdminEventsGateway } from '../gateway/admin/events.gateway' import { BoardcastBaseGateway } from '../gateway/base.gateway' -import type { SystemEventsGateway } from '../gateway/system/events.gateway' -import type { WebEventsGateway } from '../gateway/web/events.gateway' +import { SystemEventsGateway } from '../gateway/system/events.gateway' +import { WebEventsGateway } from '../gateway/web/events.gateway' export type EventManagerOptions = { scope?: EventScope diff --git a/src/processors/helper/helper.http.service.ts b/src/processors/helper/helper.http.service.ts index a8dc0ee5..9111e833 100644 --- a/src/processors/helper/helper.http.service.ts +++ b/src/processors/helper/helper.http.service.ts @@ -1,5 +1,4 @@ -import type { AxiosInstance } from 'axios' -import axios from 'axios' +import axios, { AxiosInstance } from 'axios' import axiosRetry from 'axios-retry' import { Injectable, Logger } from '@nestjs/common' @@ -9,7 +8,7 @@ import { RedisKeys } from '~/constants/cache.constant' import { getRedisKey } from '~/utils' import { version } from '../../../package.json' -import type { CacheService } from '../cache/cache.service' +import { CacheService } from '../cache/cache.service' @Injectable() export class HttpService { diff --git a/src/processors/helper/helper.image.service.ts b/src/processors/helper/helper.image.service.ts index 485af4fe..51c620fa 100644 --- a/src/processors/helper/helper.image.service.ts +++ b/src/processors/helper/helper.image.service.ts @@ -5,16 +5,13 @@ import { InternalServerErrorException, Logger, } from '@nestjs/common' -import type { ReturnModelType } from '@typegoose/typegoose' +import { ReturnModelType } from '@typegoose/typegoose' -import type { ConfigsService } from '~/modules/configs/configs.service' -import type { - TextImageRecordType, - WriteBaseModel, -} from '~/shared/model/base.model' +import { ConfigsService } from '~/modules/configs/configs.service' +import { TextImageRecordType, WriteBaseModel } from '~/shared/model/base.model' import { getAverageRGB, pickImagesFromMarkdown } from '~/utils/pic.util' -import type { HttpService } from './helper.http.service' +import { HttpService } from './helper.http.service' @Injectable() export class ImageService { diff --git a/src/processors/helper/helper.module.ts b/src/processors/helper/helper.module.ts index cc2c9812..92fd1bf6 100644 --- a/src/processors/helper/helper.module.ts +++ b/src/processors/helper/helper.module.ts @@ -1,5 +1,4 @@ -import type { Provider } from '@nestjs/common' -import { Global, Module, forwardRef } from '@nestjs/common' +import { Global, Module, Provider, forwardRef } from '@nestjs/common' import { EventEmitterModule } from '@nestjs/event-emitter' import { ScheduleModule } from '@nestjs/schedule' diff --git a/src/processors/helper/helper.tq.service.ts b/src/processors/helper/helper.tq.service.ts index e26db7b4..b10fffb9 100644 --- a/src/processors/helper/helper.tq.service.ts +++ b/src/processors/helper/helper.tq.service.ts @@ -1,11 +1,11 @@ -import type { Redis } from 'ioredis' +import { Redis } from 'ioredis' import { isAsyncFunction } from 'util/types' import { Injectable } from '@nestjs/common' import { safeJSONParse } from '~/utils' -import type { CacheService } from '../cache/cache.service' +import { CacheService } from '../cache/cache.service' type ITask = RedisMap< string, diff --git a/src/processors/helper/helper.upload.service.ts b/src/processors/helper/helper.upload.service.ts index 50bf2f7a..3328aac5 100644 --- a/src/processors/helper/helper.upload.service.ts +++ b/src/processors/helper/helper.upload.service.ts @@ -1,5 +1,5 @@ -import type { FastifyRequest } from 'fastify' -import type { MultipartFile } from 'fastify-multipart' +import { FastifyRequest } from 'fastify' +import { MultipartFile } from 'fastify-multipart' import { BadRequestException, Injectable } from '@nestjs/common' diff --git a/src/processors/logger/logger.service.ts b/src/processors/logger/logger.service.ts index b4582010..cd511d1c 100644 --- a/src/processors/logger/logger.service.ts +++ b/src/processors/logger/logger.service.ts @@ -2,8 +2,7 @@ import cluster from 'cluster' import { performance } from 'perf_hooks' -import type { ConsoleLoggerOptions } from '@nestjs/common' -import { ConsoleLogger } from '@nestjs/common' +import { ConsoleLogger, ConsoleLoggerOptions } from '@nestjs/common' export class MyLogger extends ConsoleLogger { constructor(context: string, options: ConsoleLoggerOptions) { diff --git a/src/transformers/crud-factor.transformer.ts b/src/transformers/crud-factor.transformer.ts index c08ee29b..2295412b 100644 --- a/src/transformers/crud-factor.transformer.ts +++ b/src/transformers/crud-factor.transformer.ts @@ -1,6 +1,5 @@ import pluralize from 'pluralize' -import type { Type } from '@nestjs/common' import { Body, Controller, @@ -12,17 +11,18 @@ import { Post, Put, Query, + Type, } from '@nestjs/common' import { ApiTags, PartialType } from '@nestjs/swagger' -import type { AnyParamConstructor } from '@typegoose/typegoose/lib/types' +import { AnyParamConstructor } from '@typegoose/typegoose/lib/types' import { Auth } from '~/common/decorator/auth.decorator' import { Paginator } from '~/common/decorator/http.decorator' import { EventScope } from '~/constants/business-event.constant' -import type { EventManagerService } from '~/processors/helper/helper.event.service' -import type { MongoIdDto } from '~/shared/dto/id.dto' -import type { PagerDto } from '~/shared/dto/pager.dto' -import type { BaseModel } from '~/shared/model/base.model' +import { EventManagerService } from '~/processors/helper/helper.event.service' +import { MongoIdDto } from '~/shared/dto/id.dto' +import { PagerDto } from '~/shared/dto/pager.dto' +import { BaseModel } from '~/shared/model/base.model' import { InjectModel } from '~/transformers/model.transformer' export type BaseCrudModuleType = { diff --git a/src/transformers/get-req.transformer.ts b/src/transformers/get-req.transformer.ts index ea94f9b5..7c4990ea 100644 --- a/src/transformers/get-req.transformer.ts +++ b/src/transformers/get-req.transformer.ts @@ -1,8 +1,8 @@ -import type { FastifyRequest } from 'fastify' +import { FastifyRequest } from 'fastify' -import type { ExecutionContext } from '@nestjs/common' +import { ExecutionContext } from '@nestjs/common' -import type { UserModel } from '~/modules/user/user.model' +import { UserModel } from '~/modules/user/user.model' export function getNestExecutionContextRequest( context: ExecutionContext, diff --git a/src/transformers/model.transformer.ts b/src/transformers/model.transformer.ts index f7fb2544..c1be830d 100644 --- a/src/transformers/model.transformer.ts +++ b/src/transformers/model.transformer.ts @@ -6,10 +6,9 @@ * @link https://github.com/kpfromer/nestjs-typegoose/blob/master/src/typegoose.providers.ts * @author Surmon */ -import type { Connection } from 'mongoose' +import { Connection } from 'mongoose' -import type { Provider } from '@nestjs/common' -import { Inject } from '@nestjs/common' +import { Inject, Provider } from '@nestjs/common' import { getModelForClass } from '@typegoose/typegoose' import { diff --git a/src/transformers/paginate.transformer.ts b/src/transformers/paginate.transformer.ts index 11e362da..0ed82f7d 100644 --- a/src/transformers/paginate.transformer.ts +++ b/src/transformers/paginate.transformer.ts @@ -1,6 +1,6 @@ -import type { mongoose } from '@typegoose/typegoose' +import { mongoose } from '@typegoose/typegoose' -import type { Pagination } from '~/shared/interface/paginator.interface' +import { Pagination } from '~/shared/interface/paginator.interface' export function transformDataToPaginate( data: mongoose.PaginateResult, diff --git a/src/utils/ip.util.ts b/src/utils/ip.util.ts index 6a3d0d6b..3a76f469 100644 --- a/src/utils/ip.util.ts +++ b/src/utils/ip.util.ts @@ -2,8 +2,8 @@ * @module utils/ip * @description IP utility functions */ -import type { FastifyRequest } from 'fastify' -import type { IncomingMessage } from 'http' +import { FastifyRequest } from 'fastify' +import { IncomingMessage } from 'http' import { URL } from 'url' export const getIp = (request: FastifyRequest | IncomingMessage) => { diff --git a/src/utils/jsonschema.util.ts b/src/utils/jsonschema.util.ts index c96bb958..5a298dfc 100644 --- a/src/utils/jsonschema.util.ts +++ b/src/utils/jsonschema.util.ts @@ -2,9 +2,9 @@ import { defaultMetadataStorage } from 'class-transformer/cjs/storage.js' import { ValidationTypes, getMetadataStorage } from 'class-validator' import { targetConstructorToSchema } from 'class-validator-jsonschema' -import type { ISchemaConverters } from 'class-validator-jsonschema/build/defaultConverters' -import type { IOptions } from 'class-validator-jsonschema/build/options' -import type { ValidationMetadata } from 'class-validator/types/metadata/ValidationMetadata' +import { ISchemaConverters } from 'class-validator-jsonschema/build/defaultConverters' +import { IOptions } from 'class-validator-jsonschema/build/options' +import { ValidationMetadata } from 'class-validator/types/metadata/ValidationMetadata' export { JSONSchema as IsSchema } from 'class-validator-jsonschema' diff --git a/src/utils/redis-subpub.util.ts b/src/utils/redis-subpub.util.ts index 3e3b331e..1aeb8f21 100644 --- a/src/utils/redis-subpub.util.ts +++ b/src/utils/redis-subpub.util.ts @@ -1,5 +1,4 @@ -import type { Redis } from 'ioredis' -import IORedis from 'ioredis' +import IORedis, { Redis } from 'ioredis' import { Logger } from '@nestjs/common' diff --git a/src/utils/redis.util.ts b/src/utils/redis.util.ts index 19224eba..5fd5dbba 100644 --- a/src/utils/redis.util.ts +++ b/src/utils/redis.util.ts @@ -1,4 +1,4 @@ -import type { RedisKeys } from '~/constants/cache.constant' +import { RedisKeys } from '~/constants/cache.constant' export const getRedisKey = ( key: T, diff --git a/src/utils/validator/isAllowedUrl.ts b/src/utils/validator/isAllowedUrl.ts index b5d65a90..497a6fbd 100644 --- a/src/utils/validator/isAllowedUrl.ts +++ b/src/utils/validator/isAllowedUrl.ts @@ -1,5 +1,4 @@ -import type { ValidationOptions } from 'class-validator' -import { isURL } from 'class-validator' +import { ValidationOptions, isURL } from 'class-validator' import { validatorFactory } from './simpleValidatorFactory' diff --git a/src/utils/validator/isBooleanOrString.ts b/src/utils/validator/isBooleanOrString.ts index 49e99c4c..82363e1a 100644 --- a/src/utils/validator/isBooleanOrString.ts +++ b/src/utils/validator/isBooleanOrString.ts @@ -6,7 +6,7 @@ * @FilePath: /mx-server/src/common/decorators/isBooleanOrString.ts * @Coding with Love */ -import type { ValidationOptions } from 'class-validator' +import { ValidationOptions } from 'class-validator' import { isString } from 'class-validator' import { isBoolean, merge } from 'lodash' diff --git a/src/utils/validator/isMongoIdOrInt.ts b/src/utils/validator/isMongoIdOrInt.ts index f4841826..fdb9dae0 100644 --- a/src/utils/validator/isMongoIdOrInt.ts +++ b/src/utils/validator/isMongoIdOrInt.ts @@ -6,7 +6,7 @@ * @FilePath: /server/shared/utils/validator-decorators/isMongoIdOrInt.ts * @Mark: Coding with Love */ -import type { ValidationOptions } from 'class-validator' +import { ValidationOptions } from 'class-validator' import { isInt, isMongoId } from 'class-validator' import { merge } from 'lodash' diff --git a/src/utils/validator/isNilOrString.ts b/src/utils/validator/isNilOrString.ts index 3149ac26..29824383 100644 --- a/src/utils/validator/isNilOrString.ts +++ b/src/utils/validator/isNilOrString.ts @@ -1,10 +1,8 @@ -import type { +import { ValidationArguments, ValidationOptions, - ValidatorConstraintInterface, -} from 'class-validator' -import { ValidatorConstraint, + ValidatorConstraintInterface, isString, registerDecorator, } from 'class-validator' diff --git a/src/utils/validator/simpleValidatorFactory.ts b/src/utils/validator/simpleValidatorFactory.ts index 91649cf3..876ce116 100644 --- a/src/utils/validator/simpleValidatorFactory.ts +++ b/src/utils/validator/simpleValidatorFactory.ts @@ -6,7 +6,7 @@ * @FilePath: /mx-server/src/common/decorators/simpleValidatorFactory.ts * @Coding with Love */ -import type { +import { ValidationArguments, ValidationOptions, ValidatorConstraintInterface, diff --git a/test/global.d.ts b/test/global.d.ts index 14d33f86..a8c9f9de 100644 --- a/test/global.d.ts +++ b/test/global.d.ts @@ -1,9 +1,9 @@ -import type { Consola } from 'consola' -import type { Document, PaginateModel } from 'mongoose' +import { Consola } from 'consola' +import { Document, PaginateModel } from 'mongoose' import 'zx-cjs/globals' -import type { ModelType } from '@typegoose/typegoose/lib/types' +import { ModelType } from '@typegoose/typegoose/lib/types' declare global { export type KV = Record diff --git a/test/helper/db-mock.helper.ts b/test/helper/db-mock.helper.ts index a170871a..d769192c 100644 --- a/test/helper/db-mock.helper.ts +++ b/test/helper/db-mock.helper.ts @@ -2,7 +2,7 @@ import { MongoMemoryServer } from 'mongodb-memory-server' import mongoose from 'mongoose' import { getModelForClass } from '@typegoose/typegoose' -import type { +import { AnyParamConstructor, BeAnObject, IModelOptions, diff --git a/test/helper/redis-mock.helper.ts b/test/helper/redis-mock.helper.ts index 72d60101..0db148f6 100644 --- a/test/helper/redis-mock.helper.ts +++ b/test/helper/redis-mock.helper.ts @@ -1,5 +1,4 @@ -import type { Redis } from 'ioredis' -import IORedis from 'ioredis' +import IORedis, { Redis } from 'ioredis' import RedisMemoryServer from 'redis-memory-server' import { CacheService } from '~/processors/cache/cache.service' diff --git a/test/helper/register-app.helper.ts b/test/helper/register-app.helper.ts index a9bd5ed7..6544c663 100644 --- a/test/helper/register-app.helper.ts +++ b/test/helper/register-app.helper.ts @@ -1,6 +1,6 @@ import { ValidationPipe } from '@nestjs/common' -import type { NestFastifyApplication } from '@nestjs/platform-fastify' -import type { TestingModule } from '@nestjs/testing' +import { NestFastifyApplication } from '@nestjs/platform-fastify' +import { TestingModule } from '@nestjs/testing' import { fastifyApp } from '~/common/adapters/fastify.adapter' diff --git a/test/src/app.controller.e2e-spec.ts b/test/src/app.controller.e2e-spec.ts index d224fd3f..abc0d8ad 100644 --- a/test/src/app.controller.e2e-spec.ts +++ b/test/src/app.controller.e2e-spec.ts @@ -1,4 +1,4 @@ -import type { NestFastifyApplication } from '@nestjs/platform-fastify' +import { NestFastifyApplication } from '@nestjs/platform-fastify' import { Test } from '@nestjs/testing' import { AppController } from '~/app.controller' diff --git a/test/src/common/attach-auth.middleware.e2e-spec.ts b/test/src/common/attach-auth.middleware.e2e-spec.ts index ddc20cd6..85142f48 100644 --- a/test/src/common/attach-auth.middleware.e2e-spec.ts +++ b/test/src/common/attach-auth.middleware.e2e-spec.ts @@ -1,7 +1,14 @@ -import type { MiddlewareConsumer, NestModule } from '@nestjs/common' -import { Controller, Get, Module, Req, UseGuards } from '@nestjs/common' +import { + Controller, + Get, + MiddlewareConsumer, + Module, + NestModule, + Req, + UseGuards, +} from '@nestjs/common' import { AuthGuard } from '@nestjs/passport' -import type { NestFastifyApplication } from '@nestjs/platform-fastify' +import { NestFastifyApplication } from '@nestjs/platform-fastify' import { Test } from '@nestjs/testing' import { fastifyApp } from '~/common/adapters/fastify.adapter' diff --git a/test/src/modules/configs/configs.service.spec.ts b/test/src/modules/configs/configs.service.spec.ts index 99e51817..d53d7859 100644 --- a/test/src/modules/configs/configs.service.spec.ts +++ b/test/src/modules/configs/configs.service.spec.ts @@ -1,6 +1,5 @@ import { dbHelper } from 'test/helper/db-mock.helper' -import type { MockCacheService } from 'test/helper/redis-mock.helper' -import { redisHelper } from 'test/helper/redis-mock.helper' +import { MockCacheService, redisHelper } from 'test/helper/redis-mock.helper' import { BadRequestException } from '@nestjs/common' import { EventEmitter2 } from '@nestjs/event-emitter' diff --git a/test/src/modules/snippet/snippet.controller.e2e-spec.ts b/test/src/modules/snippet/snippet.controller.e2e-spec.ts index 06b060a8..ba4d6a1b 100644 --- a/test/src/modules/snippet/snippet.controller.e2e-spec.ts +++ b/test/src/modules/snippet/snippet.controller.e2e-spec.ts @@ -1,9 +1,8 @@ import { dbHelper } from 'test/helper/db-mock.helper' -import type { MockCacheService } from 'test/helper/redis-mock.helper' -import { redisHelper } from 'test/helper/redis-mock.helper' +import { MockCacheService, redisHelper } from 'test/helper/redis-mock.helper' import { setupE2EApp } from 'test/helper/register-app.helper' -import type { NestFastifyApplication } from '@nestjs/platform-fastify' +import { NestFastifyApplication } from '@nestjs/platform-fastify' import { Test } from '@nestjs/testing' import { getModelForClass } from '@typegoose/typegoose' diff --git a/test/src/modules/user/user.controller.e2e-spec.ts b/test/src/modules/user/user.controller.e2e-spec.ts index 982d93e2..638dba5b 100644 --- a/test/src/modules/user/user.controller.e2e-spec.ts +++ b/test/src/modules/user/user.controller.e2e-spec.ts @@ -1,7 +1,7 @@ import { dbHelper } from 'test/helper/db-mock.helper' import { redisHelper } from 'test/helper/redis-mock.helper' -import type { NestFastifyApplication } from '@nestjs/platform-fastify' +import { NestFastifyApplication } from '@nestjs/platform-fastify' import { Test } from '@nestjs/testing' import { fastifyApp } from '~/common/adapters/fastify.adapter'