From 752811d5d47136bbb331b87d2b0352b2818df454 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sat, 15 Aug 2026 01:37:13 +0800 Subject: [PATCH 01/23] fix: prepare packages for typescript 7 --- packages/busboy/src/middleware.ts | 2 +- packages/cache-manager/src/base/store.ts | 2 +- packages/captcha/src/service.ts | 2 +- packages/cos/src/manager.ts | 2 +- packages/express-session/src/middleware/session.ts | 2 +- packages/faas/src/framework.ts | 3 ++- packages/grpc/src/comsumer/clients.ts | 2 +- packages/mock/src/client/http.ts | 2 +- packages/mock/src/creator.ts | 2 +- packages/nextjs/tsconfig.json | 1 - packages/oss/src/manager.ts | 2 +- packages/prometheus/src/decorator/master.ts | 2 +- packages/security/src/middleware/csrf.middleware.ts | 2 +- packages/static-file/src/middleware/static.middleware.ts | 2 +- packages/upload/src/middleware.ts | 2 +- packages/upload/src/parse.ts | 2 +- packages/web-express/src/framework.ts | 2 +- packages/web-koa/src/framework.ts | 4 ++-- packages/ws/src/framework.ts | 2 +- tsconfig.json | 2 +- 20 files changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/busboy/src/middleware.ts b/packages/busboy/src/middleware.ts index 93a436638bd..6c5c5deb981 100644 --- a/packages/busboy/src/middleware.ts +++ b/packages/busboy/src/middleware.ts @@ -31,7 +31,7 @@ import { import { parseMultipart } from './parse'; import { fromBuffer } from 'file-type'; import { formatExt, streamToAsyncIterator } from './utils'; -import * as busboy from 'busboy'; +import busboy from 'busboy'; import { BusboyConfig } from 'busboy'; import { EXT_KEY } from './constants'; diff --git a/packages/cache-manager/src/base/store.ts b/packages/cache-manager/src/base/store.ts index d8366bf528c..829734d27a0 100644 --- a/packages/cache-manager/src/base/store.ts +++ b/packages/cache-manager/src/base/store.ts @@ -1,4 +1,4 @@ -import * as LRUCache from 'lru-cache'; +import LRUCache from 'lru-cache'; import * as cloneDeep from 'lodash.clonedeep'; import { MemoryConfig, MemoryStore, LRU } from './types'; diff --git a/packages/captcha/src/service.ts b/packages/captcha/src/service.ts index 0316e21e14b..179fe0bbb16 100644 --- a/packages/captcha/src/service.ts +++ b/packages/captcha/src/service.ts @@ -7,7 +7,7 @@ import { } from '@midwayjs/core'; import { CachingFactory, MidwayCache } from '@midwayjs/cache-manager'; import * as svgCaptcha from 'svg-captcha-fixed'; -import * as svgBase64 from 'mini-svg-data-uri'; +import svgBase64 from 'mini-svg-data-uri'; import { nanoid } from 'nanoid'; import { FormulaCaptchaOptions, diff --git a/packages/cos/src/manager.ts b/packages/cos/src/manager.ts index 8dd06a99aac..9a12191b9b7 100644 --- a/packages/cos/src/manager.ts +++ b/packages/cos/src/manager.ts @@ -12,7 +12,7 @@ import { MidwayTraceService, } from '@midwayjs/core'; import * as assert from 'assert'; -import * as COS from 'cos-nodejs-sdk-v5'; +import COS from 'cos-nodejs-sdk-v5'; @Provide() @Scope(ScopeEnum.Singleton) diff --git a/packages/express-session/src/middleware/session.ts b/packages/express-session/src/middleware/session.ts index 2283163271f..c840f545cf7 100644 --- a/packages/express-session/src/middleware/session.ts +++ b/packages/express-session/src/middleware/session.ts @@ -7,7 +7,7 @@ import { MidwayConfigMissingError, MidwayConfigService, } from '@midwayjs/core'; -import * as session from 'express-session'; +import session from 'express-session'; import * as cookieSession from 'cookie-session'; import { SessionStoreManager } from '../store'; diff --git a/packages/faas/src/framework.ts b/packages/faas/src/framework.ts index c6f71c16f44..a8fea3f36c2 100644 --- a/packages/faas/src/framework.ts +++ b/packages/faas/src/framework.ts @@ -439,7 +439,8 @@ export class MidwayFaaSFramework extends BaseFramework< } else { encoded = true; // data is reserved as buffer - context.body = Buffer.from(data).toString('base64'); + const buffer = isUint8Array(data) ? data : new Uint8Array(data); + context.body = Buffer.from(buffer).toString('base64'); context.length = data.byteLength; } } else if (typeof data === 'object') { diff --git a/packages/grpc/src/comsumer/clients.ts b/packages/grpc/src/comsumer/clients.ts index adbe7819d52..df00e96ee86 100644 --- a/packages/grpc/src/comsumer/clients.ts +++ b/packages/grpc/src/comsumer/clients.ts @@ -1,4 +1,4 @@ -import * as assert from 'assert'; +import assert from 'assert'; import { Config, Inject, diff --git a/packages/mock/src/client/http.ts b/packages/mock/src/client/http.ts index 86046cf52e3..9603b69b42e 100644 --- a/packages/mock/src/client/http.ts +++ b/packages/mock/src/client/http.ts @@ -1,5 +1,5 @@ import { IMidwayApplication } from '@midwayjs/core'; -import * as request from 'supertest'; +import request from 'supertest'; export function createHttpRequest>( app: T diff --git a/packages/mock/src/creator.ts b/packages/mock/src/creator.ts index d13009ad546..654e2a4bbd6 100644 --- a/packages/mock/src/creator.ts +++ b/packages/mock/src/creator.ts @@ -39,7 +39,7 @@ import { existsSync, readFileSync } from 'fs'; import * as http from 'http'; import * as https from 'https'; import * as yaml from 'js-yaml'; -import * as getRawBody from 'raw-body'; +import getRawBody from 'raw-body'; import { defineConfiguration } from '@midwayjs/core/functional'; import { createSourceModuleLoader } from './sourceLoader'; diff --git a/packages/nextjs/tsconfig.json b/packages/nextjs/tsconfig.json index 38feaa6041f..940227416a7 100644 --- a/packages/nextjs/tsconfig.json +++ b/packages/nextjs/tsconfig.json @@ -5,7 +5,6 @@ "rootDir": "src", "outDir": "dist", "esModuleInterop": true, - "baseUrl": ".", "paths": { "@midwayjs/web-bridge": [ "../web-bridge/dist/index.d.ts" diff --git a/packages/oss/src/manager.ts b/packages/oss/src/manager.ts index 2c76b13982e..e604e638f5c 100644 --- a/packages/oss/src/manager.ts +++ b/packages/oss/src/manager.ts @@ -10,7 +10,7 @@ import { MidwayCommonError, MidwayTraceService, } from '@midwayjs/core'; -import * as OSS from 'ali-oss'; +import OSS from 'ali-oss'; import * as assert from 'assert'; import type { OSSServiceFactoryReturnType, diff --git a/packages/prometheus/src/decorator/master.ts b/packages/prometheus/src/decorator/master.ts index cd6c00f141f..77781f0aab4 100644 --- a/packages/prometheus/src/decorator/master.ts +++ b/packages/prometheus/src/decorator/master.ts @@ -1,5 +1,5 @@ import { DecoratorManager, MetadataManager } from '@midwayjs/core'; -import * as request from 'request'; +import request from 'request'; import * as path from 'path'; import * as os from 'os'; import { isMaster } from '../utils/utils'; diff --git a/packages/security/src/middleware/csrf.middleware.ts b/packages/security/src/middleware/csrf.middleware.ts index 9dea97838f7..b0ad10ef95f 100644 --- a/packages/security/src/middleware/csrf.middleware.ts +++ b/packages/security/src/middleware/csrf.middleware.ts @@ -1,6 +1,6 @@ import { Middleware } from '@midwayjs/core'; import { CSRFError } from '../error'; -import * as CsrfTokens from 'csrf'; +import CsrfTokens from 'csrf'; import { isSafeDomain, parseUrl } from '../utils'; import { BaseMiddleware } from './base'; diff --git a/packages/static-file/src/middleware/static.middleware.ts b/packages/static-file/src/middleware/static.middleware.ts index 75a571c1a86..29656fffe91 100644 --- a/packages/static-file/src/middleware/static.middleware.ts +++ b/packages/static-file/src/middleware/static.middleware.ts @@ -10,7 +10,7 @@ import { } from '@midwayjs/core'; import * as assert from 'assert'; import * as staticCache from 'koa-static-cache'; -import * as LRU from 'ylru'; +import LRU from 'ylru'; import * as range from 'koa-range'; import { DirectoryNotFoundError } from '../error'; import * as fs from 'fs'; diff --git a/packages/upload/src/middleware.ts b/packages/upload/src/middleware.ts index d4bc372ea00..6953fd576a2 100644 --- a/packages/upload/src/middleware.ts +++ b/packages/upload/src/middleware.ts @@ -18,7 +18,7 @@ import { UploadOptions, } from '.'; import { parseFromReadableStream, parseMultipart } from './parse'; -import * as getRawBody from 'raw-body'; +import getRawBody from 'raw-body'; import { fromBuffer } from 'file-type'; import { formatExt } from './utils'; diff --git a/packages/upload/src/parse.ts b/packages/upload/src/parse.ts index 74d71e67191..00f98e9e97d 100644 --- a/packages/upload/src/parse.ts +++ b/packages/upload/src/parse.ts @@ -158,7 +158,7 @@ export const parseFromReadableStream = ( fileInfo.fieldName = head['content-disposition'].name; fileInfo.mimeType = head['content-type']; isTransformFileData = true; - lastChunk = data; + lastChunk = data as typeof lastChunk; allChuns = emptyBuf; this.pause(); resolve({ fileInfo, fields }); diff --git a/packages/web-express/src/framework.ts b/packages/web-express/src/framework.ts index a401ea1d768..277ed1e08c6 100644 --- a/packages/web-express/src/framework.ts +++ b/packages/web-express/src/framework.ts @@ -22,7 +22,7 @@ import { Context, } from './interface'; import type { IRouter, IRouterHandler, Response, NextFunction } from 'express'; -import * as express from 'express'; +import express from 'express'; import { Server } from 'net'; import { wrapAsyncHandler, diff --git a/packages/web-koa/src/framework.ts b/packages/web-koa/src/framework.ts index f39aecf1f8a..bd90471da25 100644 --- a/packages/web-koa/src/framework.ts +++ b/packages/web-koa/src/framework.ts @@ -21,9 +21,9 @@ import { IMidwayKoaConfigurationOptions, IMidwayKoaContext, } from './interface'; -import * as Router from '@koa/router'; +import Router from '@koa/router'; import type { DefaultState, Middleware, Next } from 'koa'; -import * as koa from 'koa'; +import koa from 'koa'; import { Server } from 'http'; import { setupOnError } from './onerror'; import * as qs from 'qs'; diff --git a/packages/ws/src/framework.ts b/packages/ws/src/framework.ts index 0478aa09ca9..2bfb51d6d2f 100644 --- a/packages/ws/src/framework.ts +++ b/packages/ws/src/framework.ts @@ -463,7 +463,7 @@ export class MidwayWSFramework extends BaseFramework< (this.configurationOptions as any)?.tracing?.enable !== false; const traceInjector = (this.configurationOptions as any)?.tracing?.injector; const sendWithTrace = async ( - currentSocket: IMidwayWSContext | WebSocket, + currentSocket: { send: (data: any) => unknown }, payload: any, eventName: string ) => { diff --git a/tsconfig.json b/tsconfig.json index f4489090eaa..7461b4bec3e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,7 +15,7 @@ "moduleResolution": "NodeNext", "target": "ES2022", "lib": ["ES2023"], - "esModuleInterop": false + "types": ["node"] }, "exclude": [ "dist", From 3fe1ecaf7f4075f43ee31aea66df5a114fd2add6 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sat, 15 Aug 2026 12:37:32 +0800 Subject: [PATCH 02/23] fix: handle raw-body interop in fc starter --- packages-serverless/midway-fc-starter/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages-serverless/midway-fc-starter/src/index.ts b/packages-serverless/midway-fc-starter/src/index.ts index 1ba6b06199d..bbecf23820b 100644 --- a/packages-serverless/midway-fc-starter/src/index.ts +++ b/packages-serverless/midway-fc-starter/src/index.ts @@ -3,7 +3,7 @@ import { AbstractBootstrapStarter, IFaaSConfigurationOptions, } from '@midwayjs/faas'; -import * as getRawBody from 'raw-body'; +import getRawBody from 'raw-body'; import { IncomingMessage } from 'http'; import { mockContext } from './mock'; import { InitializeContext } from './interface'; From 84928cff6a300daeb0b0ac636de51d2b0059cf95 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sat, 15 Aug 2026 13:10:53 +0800 Subject: [PATCH 03/23] fix: handle koa body parser interop --- packages/web-koa/src/middleware/bodyparser.middleware.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web-koa/src/middleware/bodyparser.middleware.ts b/packages/web-koa/src/middleware/bodyparser.middleware.ts index 08bb67b4591..baf2485a4d0 100644 --- a/packages/web-koa/src/middleware/bodyparser.middleware.ts +++ b/packages/web-koa/src/middleware/bodyparser.middleware.ts @@ -1,4 +1,4 @@ -import * as koaBodyParser from 'koa-bodyparser'; +import koaBodyParser from 'koa-bodyparser'; import { Config, Middleware } from '@midwayjs/core'; @Middleware() From 443278cade47cd351a24d1a3b65096278f325e1d Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sat, 15 Aug 2026 13:18:06 +0800 Subject: [PATCH 04/23] fix: include jest types in test compilation --- tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index 7461b4bec3e..db3c7b11538 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,7 +15,7 @@ "moduleResolution": "NodeNext", "target": "ES2022", "lib": ["ES2023"], - "types": ["node"] + "types": ["node", "jest"] }, "exclude": [ "dist", From 40da57f4859bb1a7cdbde35d8108ebd000ecb634 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sat, 15 Aug 2026 13:31:15 +0800 Subject: [PATCH 05/23] fix: enable interop for test compilation --- packages-serverless/serverless-http-parser/src/response.ts | 2 +- tsconfig.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages-serverless/serverless-http-parser/src/response.ts b/packages-serverless/serverless-http-parser/src/response.ts index e611cad6a8b..9e51e647f38 100644 --- a/packages-serverless/serverless-http-parser/src/response.ts +++ b/packages-serverless/serverless-http-parser/src/response.ts @@ -1,4 +1,4 @@ -import * as getType from 'cache-content-type'; +import getType from 'cache-content-type'; import * as assert from 'assert'; import * as statuses from 'statuses'; import { is as typeis } from 'type-is'; diff --git a/tsconfig.json b/tsconfig.json index db3c7b11538..22a90d37233 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,6 +15,7 @@ "moduleResolution": "NodeNext", "target": "ES2022", "lib": ["ES2023"], + "esModuleInterop": true, "types": ["node", "jest"] }, "exclude": [ From fa43b14e667de7a2ff8139a0d8efcce80c16dcb5 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sat, 15 Aug 2026 13:44:29 +0800 Subject: [PATCH 06/23] fix: update test interop imports --- .../serverless-http-parser/src/application.ts | 2 +- packages-serverless/serverless-http-parser/src/context.ts | 2 +- .../serverless-http-parser/src/http/req.ts | 2 +- packages-serverless/serverless-http-parser/src/request.ts | 4 ++-- .../serverless-http-parser/src/response.ts | 8 ++++---- .../serverless-http-parser/test/index.test.ts | 4 ++-- packages/core/src/context/managedResolverFactory.ts | 2 +- packages/core/src/service/aspectService.ts | 2 +- packages/core/test/baseFramework.test.ts | 4 ++-- packages/core/test/common/asyncContextManager.test.ts | 2 +- packages/core/test/common/contextManager.test.ts | 2 +- packages/core/test/common/dataSourceManager.test.ts | 2 +- packages/core/test/context/midwayContainer.test.ts | 2 +- packages/core/test/decorator/util/uuid.test.ts | 2 +- .../core/test/fixtures/base-app-aspect/src/aspect/a.ts | 2 +- .../core/test/fixtures/base-app-aspect/src/aspect/b.ts | 2 +- .../core/test/fixtures/base-app-aspect/src/aspect/c.ts | 2 +- .../test/fixtures/base-app-logger/src/configuration.ts | 2 +- packages/core/test/logger.test.ts | 2 +- packages/core/test/proxy.test.ts | 2 +- packages/core/test/response/http.test.ts | 2 +- packages/core/test/service/aspectService.test.ts | 2 +- packages/core/test/service/configService.test.ts | 2 +- packages/core/test/service/middlewareService.test.ts | 2 +- packages/core/test/util.ts | 2 +- packages/core/test/util/path-match.test.ts | 2 +- packages/core/test/util/util.test.ts | 4 ++-- 27 files changed, 34 insertions(+), 34 deletions(-) diff --git a/packages-serverless/serverless-http-parser/src/application.ts b/packages-serverless/serverless-http-parser/src/application.ts index 21a4d689631..3ac0c2fdacd 100644 --- a/packages-serverless/serverless-http-parser/src/application.ts +++ b/packages-serverless/serverless-http-parser/src/application.ts @@ -1,7 +1,7 @@ import { context } from './context'; import { request } from './request'; import { response } from './response'; -import * as only from 'only'; +import only from 'only'; import { EventEmitter } from 'events'; import { format } from 'util'; diff --git a/packages-serverless/serverless-http-parser/src/context.ts b/packages-serverless/serverless-http-parser/src/context.ts index 61de21ddd79..acdaa226bd7 100644 --- a/packages-serverless/serverless-http-parser/src/context.ts +++ b/packages-serverless/serverless-http-parser/src/context.ts @@ -1,5 +1,5 @@ import * as util from 'util'; -import * as createError from 'http-errors'; +import createError from 'http-errors'; import { Cookies } from '@midwayjs/cookies'; const COOKIES = Symbol('context#cookies'); diff --git a/packages-serverless/serverless-http-parser/src/http/req.ts b/packages-serverless/serverless-http-parser/src/http/req.ts index 35933143478..c1ee26e0ffb 100644 --- a/packages-serverless/serverless-http-parser/src/http/req.ts +++ b/packages-serverless/serverless-http-parser/src/http/req.ts @@ -1,6 +1,6 @@ import { is as typeis } from 'type-is'; import * as qs from 'querystring'; -import * as parseurl from 'parseurl'; +import parseurl from 'parseurl'; import { isPlainObject } from '../util'; const EVENT = Symbol.for('ctx#event'); diff --git a/packages-serverless/serverless-http-parser/src/request.ts b/packages-serverless/serverless-http-parser/src/request.ts index e1088d48752..4c756d6be03 100644 --- a/packages-serverless/serverless-http-parser/src/request.ts +++ b/packages-serverless/serverless-http-parser/src/request.ts @@ -1,7 +1,7 @@ import { is as typeis } from 'type-is'; -import * as accepts from 'accepts'; +import accepts from 'accepts'; import * as qs from 'querystring'; -import * as only from 'only'; +import only from 'only'; import { isPlainObject } from './util'; const BODY = Symbol.for('ctx#body'); diff --git a/packages-serverless/serverless-http-parser/src/response.ts b/packages-serverless/serverless-http-parser/src/response.ts index 9e51e647f38..19703336720 100644 --- a/packages-serverless/serverless-http-parser/src/response.ts +++ b/packages-serverless/serverless-http-parser/src/response.ts @@ -2,10 +2,10 @@ import getType from 'cache-content-type'; import * as assert from 'assert'; import * as statuses from 'statuses'; import { is as typeis } from 'type-is'; -import * as encodeUrl from 'encodeurl'; -import * as escape from 'escape-html'; -import * as only from 'only'; -import * as vary from 'vary'; +import encodeUrl from 'encodeurl'; +import escape from 'escape-html'; +import only from 'only'; +import vary from 'vary'; export const response = { _explicitStatus: false, diff --git a/packages-serverless/serverless-http-parser/test/index.test.ts b/packages-serverless/serverless-http-parser/test/index.test.ts index 0487033d4a0..c0aa8d921bb 100644 --- a/packages-serverless/serverless-http-parser/test/index.test.ts +++ b/packages-serverless/serverless-http-parser/test/index.test.ts @@ -1,6 +1,6 @@ -import * as assert from 'assert'; +import assert from 'assert'; import { Application, HTTPRequest, HTTPResponse } from '../src'; -import * as mm from 'mm'; +import mm from 'mm'; import { createReadStream, createWriteStream, readFileSync } from 'fs'; import { join } from 'path'; diff --git a/packages/core/src/context/managedResolverFactory.ts b/packages/core/src/context/managedResolverFactory.ts index 60a916816b5..76342d1fcbc 100644 --- a/packages/core/src/context/managedResolverFactory.ts +++ b/packages/core/src/context/managedResolverFactory.ts @@ -19,7 +19,7 @@ import { ScopeEnum, } from '../interface'; import * as util from 'util'; -import * as EventEmitter from 'events'; +import { EventEmitter } from 'events'; import { MidwayCommonError, MidwayDefinitionNotFoundError, diff --git a/packages/core/src/service/aspectService.ts b/packages/core/src/service/aspectService.ts index 1e70ce26d0d..e5f61b4efcc 100644 --- a/packages/core/src/service/aspectService.ts +++ b/packages/core/src/service/aspectService.ts @@ -1,4 +1,4 @@ -import * as pm from 'picomatch'; +import pm from 'picomatch'; import { IMidwayContainer, AspectMetadata, diff --git a/packages/core/test/baseFramework.test.ts b/packages/core/test/baseFramework.test.ts index 1da66a7e1e8..396b4743464 100644 --- a/packages/core/test/baseFramework.test.ts +++ b/packages/core/test/baseFramework.test.ts @@ -1,6 +1,6 @@ -import * as assert from 'assert'; +import assert from 'assert'; import * as path from 'path'; -import * as mm from 'mm'; +import mm from 'mm'; import { getCurrentApplicationContext, getCurrentMainApp, diff --git a/packages/core/test/common/asyncContextManager.test.ts b/packages/core/test/common/asyncContextManager.test.ts index 27c41068671..b7ca7771ce8 100644 --- a/packages/core/test/common/asyncContextManager.test.ts +++ b/packages/core/test/common/asyncContextManager.test.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import * as assert from 'assert'; +import assert from 'assert'; import { EventEmitter } from 'events'; import { ASYNC_ROOT_CONTEXT, AsyncLocalStorageContextManager } from '../../src/common/asyncContextManager'; diff --git a/packages/core/test/common/contextManager.test.ts b/packages/core/test/common/contextManager.test.ts index cd963952ef2..4b63957436c 100644 --- a/packages/core/test/common/contextManager.test.ts +++ b/packages/core/test/common/contextManager.test.ts @@ -1,4 +1,4 @@ -import * as assert from 'assert'; +import assert from 'assert'; import { NoopContextManager, ASYNC_ROOT_CONTEXT } from '../../src/common/asyncContextManager'; /** Get a key to uniquely identify a context value */ diff --git a/packages/core/test/common/dataSourceManager.test.ts b/packages/core/test/common/dataSourceManager.test.ts index c27e0e4732e..50a333127f1 100644 --- a/packages/core/test/common/dataSourceManager.test.ts +++ b/packages/core/test/common/dataSourceManager.test.ts @@ -1,6 +1,6 @@ import { DataSourceManager, sleep } from '../../src'; import { join } from 'path'; -import * as assert from 'assert'; +import assert from 'assert'; describe('test/common/dataSourceManager.test.ts', () => { diff --git a/packages/core/test/context/midwayContainer.test.ts b/packages/core/test/context/midwayContainer.test.ts index 47b0257f1aa..b819929586f 100644 --- a/packages/core/test/context/midwayContainer.test.ts +++ b/packages/core/test/context/midwayContainer.test.ts @@ -28,7 +28,7 @@ import { } from '../../src'; import { App } from '../fixtures/ts-app-inject/app'; import { TestCons } from '../fixtures/ts-app-inject/test'; -import * as assert from 'assert'; +import assert from 'assert'; import { ComponentConfigurationLoader } from '../../src/context/componentLoader'; import { defineConfiguration } from '../../src/functional'; diff --git a/packages/core/test/decorator/util/uuid.test.ts b/packages/core/test/decorator/util/uuid.test.ts index 2858a1e8dad..ff6a49b2a5e 100644 --- a/packages/core/test/decorator/util/uuid.test.ts +++ b/packages/core/test/decorator/util/uuid.test.ts @@ -1,5 +1,5 @@ import { Utils } from '../../../src'; -import * as assert from 'assert'; +import assert from 'assert'; describe('test/util/uuid.test.ts', () => { diff --git a/packages/core/test/fixtures/base-app-aspect/src/aspect/a.ts b/packages/core/test/fixtures/base-app-aspect/src/aspect/a.ts index d8e42158e14..94eee879f14 100644 --- a/packages/core/test/fixtures/base-app-aspect/src/aspect/a.ts +++ b/packages/core/test/fixtures/base-app-aspect/src/aspect/a.ts @@ -1,6 +1,6 @@ import { Aspect, IMethodAspect, JoinPoint, Provide } from '../../../../../src'; import { Home } from '../home'; -import * as assert from 'assert'; +import assert from 'assert'; @Provide() @Aspect([Home]) diff --git a/packages/core/test/fixtures/base-app-aspect/src/aspect/b.ts b/packages/core/test/fixtures/base-app-aspect/src/aspect/b.ts index 717b412484c..f220ee4845b 100644 --- a/packages/core/test/fixtures/base-app-aspect/src/aspect/b.ts +++ b/packages/core/test/fixtures/base-app-aspect/src/aspect/b.ts @@ -1,6 +1,6 @@ import { Aspect, IMethodAspect, JoinPoint, Provide } from '../../../../../src'; import { Home } from '../home'; -import * as assert from 'assert'; +import assert from 'assert'; @Provide() @Aspect([Home], '*2', 1) diff --git a/packages/core/test/fixtures/base-app-aspect/src/aspect/c.ts b/packages/core/test/fixtures/base-app-aspect/src/aspect/c.ts index 0d2caf4a823..703131cde04 100644 --- a/packages/core/test/fixtures/base-app-aspect/src/aspect/c.ts +++ b/packages/core/test/fixtures/base-app-aspect/src/aspect/c.ts @@ -1,6 +1,6 @@ import { Aspect, IMethodAspect, JoinPoint, Provide } from '../../../../../src'; import { UserController } from '../home'; -import * as assert from 'assert'; +import assert from 'assert'; @Provide() @Aspect([UserController]) diff --git a/packages/core/test/fixtures/base-app-logger/src/configuration.ts b/packages/core/test/fixtures/base-app-logger/src/configuration.ts index 8526f16878c..8086b36c366 100644 --- a/packages/core/test/fixtures/base-app-logger/src/configuration.ts +++ b/packages/core/test/fixtures/base-app-logger/src/configuration.ts @@ -1,5 +1,5 @@ import { Configuration, App, Logger, IMidwayApplication } from '../../../../src'; -import * as assert from 'assert'; +import assert from 'assert'; import { ILogger } from '@midwayjs/logger'; @Configuration() diff --git a/packages/core/test/logger.test.ts b/packages/core/test/logger.test.ts index 4d7a10236b9..1b44e963023 100644 --- a/packages/core/test/logger.test.ts +++ b/packages/core/test/logger.test.ts @@ -1,6 +1,6 @@ import { MidwayContextLogger } from '@midwayjs/logger'; import { join } from 'path'; -import * as mm from 'mm'; +import mm from 'mm'; import { tmpdir } from 'os'; import { existsSync } from 'fs'; import { createLightFramework } from './util'; diff --git a/packages/core/test/proxy.test.ts b/packages/core/test/proxy.test.ts index c139f2ab05a..62bc4bba9e5 100644 --- a/packages/core/test/proxy.test.ts +++ b/packages/core/test/proxy.test.ts @@ -1,4 +1,4 @@ -import * as assert from 'assert'; +import assert from 'assert'; import { extend } from '../src'; describe('/test/proxy.test.ts', () => { diff --git a/packages/core/test/response/http.test.ts b/packages/core/test/response/http.test.ts index 6971b9081e4..be18929a4c1 100644 --- a/packages/core/test/response/http.test.ts +++ b/packages/core/test/response/http.test.ts @@ -1,5 +1,5 @@ // import whyIsNodeRunning from 'why-is-node-running' -import * as EventSource from 'eventsource'; +import EventSource from 'eventsource'; import { HttpServerResponse, ServerSendEventMessage, sleep } from '../../src'; import { createServer, request, ServerResponse } from 'http'; import { join } from 'path'; diff --git a/packages/core/test/service/aspectService.test.ts b/packages/core/test/service/aspectService.test.ts index 5e1e69346e2..8041b7b2dfb 100644 --- a/packages/core/test/service/aspectService.test.ts +++ b/packages/core/test/service/aspectService.test.ts @@ -1,4 +1,4 @@ -import * as assert from 'assert'; +import assert from 'assert'; import { MidwayAspectService, MidwayContainer } from '../../src'; diff --git a/packages/core/test/service/configService.test.ts b/packages/core/test/service/configService.test.ts index b1eac201204..04208999ee6 100644 --- a/packages/core/test/service/configService.test.ts +++ b/packages/core/test/service/configService.test.ts @@ -1,7 +1,7 @@ import assert = require('assert'); import { resolve, join } from 'path'; import { MidwayContainer, MidwayConfigService, MidwayInformationService, MidwayEnvironmentService, MidwayInvalidConfigError } from '../../src'; -import * as mm from 'mm'; +import mm from 'mm'; async function createConfigService(): Promise { const container = new MidwayContainer(); diff --git a/packages/core/test/service/middlewareService.test.ts b/packages/core/test/service/middlewareService.test.ts index e3c58b6213f..1685b5384b9 100644 --- a/packages/core/test/service/middlewareService.test.ts +++ b/packages/core/test/service/middlewareService.test.ts @@ -1,5 +1,5 @@ import { Provide, MidwayMiddlewareService, MidwayContainer, Init, IgnoreMatcher, createMiddleware } from '../../src'; -import * as assert from 'assert'; +import assert from 'assert'; describe('/test/services/middlewareService.test.ts', () => { diff --git a/packages/core/test/util.ts b/packages/core/test/util.ts index 8e64ec7fb5c..15c31e51f88 100644 --- a/packages/core/test/util.ts +++ b/packages/core/test/util.ts @@ -21,7 +21,7 @@ import { } from '../src'; import { join } from 'path'; import * as http from 'http'; -import * as getRawBody from 'raw-body'; +import getRawBody from 'raw-body'; /** * 任意一个数组中的对象,和预期的对象属性一致即可 diff --git a/packages/core/test/util/path-match.test.ts b/packages/core/test/util/path-match.test.ts index 6070738e4f4..51b460ebe0d 100644 --- a/packages/core/test/util/path-match.test.ts +++ b/packages/core/test/util/path-match.test.ts @@ -1,5 +1,5 @@ import { pathMatching as match } from '../../src/'; -import * as assert from 'assert'; +import assert from 'assert'; describe('/test/util/path-matching.test.ts', () => { it('options.match and options.ignore both present should throw', () => { diff --git a/packages/core/test/util/util.test.ts b/packages/core/test/util/util.test.ts index 300dc182549..4619c645bd7 100644 --- a/packages/core/test/util/util.test.ts +++ b/packages/core/test/util/util.test.ts @@ -1,4 +1,4 @@ -import * as assert from 'assert'; +import assert from 'assert'; import { join } from 'path'; import { safeRequire, @@ -14,7 +14,7 @@ import { sleep, } from '../../src/util'; import { PathFileUtils } from '../../src'; -import * as EventEmitter from 'events'; +import { EventEmitter } from 'events'; import { fork } from 'child_process'; describe('/test/util/util.test.ts', () => { From 3dd89e76dce049858f499353399fc9311612e043 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sat, 15 Aug 2026 14:04:51 +0800 Subject: [PATCH 07/23] fix: update remaining coverage test imports --- packages/bootstrap/test/bootstrap.test.ts | 2 +- packages/bootstrap/test/fork/cp.test.ts | 2 +- packages/bootstrap/test/fork/thread.test.ts | 2 +- packages/web/test/custom.test.ts | 2 +- .../enhance/base-app-decorator/src/app/controller/param.ts | 2 +- packages/web/test/logger.test.ts | 2 +- packages/web/test/utils.test.ts | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/bootstrap/test/bootstrap.test.ts b/packages/bootstrap/test/bootstrap.test.ts index 98b62c6ba66..391be4169c5 100644 --- a/packages/bootstrap/test/bootstrap.test.ts +++ b/packages/bootstrap/test/bootstrap.test.ts @@ -1,7 +1,7 @@ import { fork } from 'child_process'; import { join } from 'path'; import { sleep } from '@midwayjs/core'; -import * as request from 'request'; +import request from 'request'; import { io as socketClient } from 'socket.io-client'; describe('/test/bootstrap.test.ts', () => { diff --git a/packages/bootstrap/test/fork/cp.test.ts b/packages/bootstrap/test/fork/cp.test.ts index c8848abddae..d748568394c 100644 --- a/packages/bootstrap/test/fork/cp.test.ts +++ b/packages/bootstrap/test/fork/cp.test.ts @@ -1,6 +1,6 @@ import { ClusterManager } from '../../src'; import { join } from 'path'; -import * as request from 'request'; +import request from 'request'; import { sleep } from '../../src/util'; const cluster = require('cluster'); diff --git a/packages/bootstrap/test/fork/thread.test.ts b/packages/bootstrap/test/fork/thread.test.ts index 2c26d60b93f..a039dc35993 100644 --- a/packages/bootstrap/test/fork/thread.test.ts +++ b/packages/bootstrap/test/fork/thread.test.ts @@ -1,5 +1,5 @@ import { join } from 'path'; -import * as request from 'request'; +import request from 'request'; import { sleep } from '../../src/util'; import { ThreadManager } from '../../src/manager/thread'; const cluster = require('cluster'); diff --git a/packages/web/test/custom.test.ts b/packages/web/test/custom.test.ts index 515f754c987..dd92c72d885 100644 --- a/packages/web/test/custom.test.ts +++ b/packages/web/test/custom.test.ts @@ -1,4 +1,4 @@ -import * as mm from 'mm'; +import mm from 'mm'; import { join } from 'path'; mm(process.env, 'MIDWAY_PROJECT_APPDIR', join(__dirname, './fixtures/feature/base-app-use-custom-egg')); import { closeApp, creatApp, createHttpRequest } from './utils'; diff --git a/packages/web/test/fixtures/enhance/base-app-decorator/src/app/controller/param.ts b/packages/web/test/fixtures/enhance/base-app-decorator/src/app/controller/param.ts index e1915ba83df..fcb1048914d 100644 --- a/packages/web/test/fixtures/enhance/base-app-decorator/src/app/controller/param.ts +++ b/packages/web/test/fixtures/enhance/base-app-decorator/src/app/controller/param.ts @@ -19,7 +19,7 @@ import { import * as path from 'path'; import * as fs from 'fs'; -import * as pump from 'mz-modules/pump'; +import pump from 'mz-modules/pump'; @Provide() @Controller('/param') diff --git a/packages/web/test/logger.test.ts b/packages/web/test/logger.test.ts index 0d4350ea174..4c47db98e91 100644 --- a/packages/web/test/logger.test.ts +++ b/packages/web/test/logger.test.ts @@ -1,5 +1,5 @@ import { creatApp, closeApp, getFilepath, sleep, matchContentTimes } from './utils'; -import * as mm from 'mm'; +import mm from 'mm'; import { join } from 'path'; import { existsSync, readFileSync, writeFileSync, ensureDir, remove } from 'fs-extra'; import { lstatSync } from 'fs'; diff --git a/packages/web/test/utils.test.ts b/packages/web/test/utils.test.ts index 884ae5fefb1..be64763dca1 100644 --- a/packages/web/test/utils.test.ts +++ b/packages/web/test/utils.test.ts @@ -1,5 +1,5 @@ import { getCurrentDateString } from '../src/utils'; -import * as dayjs from 'dayjs'; +import dayjs from 'dayjs'; describe('test/utils.test.ts', function () { From 0e53a3cef422e1f06a00b0c06ae4e90e4a9b5cf5 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sat, 15 Aug 2026 14:08:59 +0800 Subject: [PATCH 08/23] fix: update faas test interop --- packages/faas/test/new.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/faas/test/new.test.ts b/packages/faas/test/new.test.ts index 6cde17edc9f..bd98b4a570a 100644 --- a/packages/faas/test/new.test.ts +++ b/packages/faas/test/new.test.ts @@ -1,5 +1,5 @@ import * as assert from 'assert'; -import * as mm from 'mm'; +import mm from 'mm'; import { createNewStarter, closeApp } from './utils'; import { createLegacyFunctionApp, createHttpRequest } from '@midwayjs/mock'; import { Framework } from '../src'; From f3837bf4532c1d70dd7b2ea733f8fc3801525e70 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 11:50:37 +0800 Subject: [PATCH 09/23] fix: resolve koa coverage imports --- packages/core/package.json | 8 ++++---- packages/web-koa/test/utils.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 91c91ed43df..ee8b44e6616 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -54,14 +54,14 @@ }, "exports": { ".": { + "types": "./dist/index.d.ts", "import": "./dist/index.js", - "require": "./dist/index.js", - "types": "./dist/index.d.ts" + "require": "./dist/index.js" }, "./functional": { + "types": "./dist/functional/index.d.ts", "import": "./dist/functional/index.js", - "require": "./dist/functional/index.js", - "types": "./dist/functional/index.d.ts" + "require": "./dist/functional/index.js" } } } diff --git a/packages/web-koa/test/utils.ts b/packages/web-koa/test/utils.ts index 2623a86c468..d923bdf66b8 100644 --- a/packages/web-koa/test/utils.ts +++ b/packages/web-koa/test/utils.ts @@ -2,7 +2,7 @@ import { IMidwayKoaConfigurationOptions, Framework, IMidwayKoaApplication } from import * as koaModule from '../src'; import { join } from 'path'; import { createLegacyApp, close } from '@midwayjs/mock'; -import * as axios from 'axios'; +import axios from 'axios'; export async function creatApp(name: string, options: IMidwayKoaConfigurationOptions = {}): Promise { return createLegacyApp(join(__dirname, 'fixtures', name), { From 2b6b791d517d46abcb0043c5baea3ac29a1c2945 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 12:04:57 +0800 Subject: [PATCH 10/23] fix: handle mongoose interop --- packages/mongoose/src/manager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongoose/src/manager.ts b/packages/mongoose/src/manager.ts index 469d3526f74..a65e6e0c9cf 100644 --- a/packages/mongoose/src/manager.ts +++ b/packages/mongoose/src/manager.ts @@ -11,7 +11,7 @@ import { Scope, ScopeEnum, } from '@midwayjs/core'; -import * as mongoose from 'mongoose'; +import mongoose from 'mongoose'; @Provide() @Scope(ScopeEnum.Singleton) From 9cbac27035d577f6fd1861cc41e38a02c300e66e Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 12:19:20 +0800 Subject: [PATCH 11/23] fix: wait for redis service subscriptions --- packages/redis/src/extension/serviceDiscovery.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/redis/src/extension/serviceDiscovery.ts b/packages/redis/src/extension/serviceDiscovery.ts index 88f5cf7f206..a368aee9e63 100644 --- a/packages/redis/src/extension/serviceDiscovery.ts +++ b/packages/redis/src/extension/serviceDiscovery.ts @@ -48,7 +48,7 @@ class RedisDataListener extends DataListener { return this.fetchInstancesByKeys(keys); } - onData(setData) { + async onData(setData) { // 订阅当前 serviceName 的变更消息 const channel = `service:change:${this.serviceName}`; const handler = async (channelName, message) => { @@ -66,7 +66,7 @@ class RedisDataListener extends DataListener { this.logger.error('[midway:redis] Error on service change:', err); } }; - this.pubsub.subscribe(channel); + await this.pubsub.subscribe(channel); this.pubsub.on('message', handler); // 提供取消订阅方法 From 08dcd7c1fad6060a63aa495a54d2f46243733a8f Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 12:33:55 +0800 Subject: [PATCH 12/23] fix: handle express session interop --- packages/express-session/src/middleware/session.ts | 2 +- packages/web-express/src/configuration.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/express-session/src/middleware/session.ts b/packages/express-session/src/middleware/session.ts index c840f545cf7..7ee69c81d4b 100644 --- a/packages/express-session/src/middleware/session.ts +++ b/packages/express-session/src/middleware/session.ts @@ -8,7 +8,7 @@ import { MidwayConfigService, } from '@midwayjs/core'; import session from 'express-session'; -import * as cookieSession from 'cookie-session'; +import cookieSession from 'cookie-session'; import { SessionStoreManager } from '../store'; @Middleware() diff --git a/packages/web-express/src/configuration.ts b/packages/web-express/src/configuration.ts index ab2525ade85..0878d5c43f8 100644 --- a/packages/web-express/src/configuration.ts +++ b/packages/web-express/src/configuration.ts @@ -9,7 +9,7 @@ import { } from '@midwayjs/core'; import * as session from '@midwayjs/express-session'; import * as bodyParser from 'body-parser'; -import * as cookieParser from 'cookie-parser'; +import cookieParser from 'cookie-parser'; import * as DefaultConfig from './config/config.default'; import { MidwayExpressFramework } from './framework'; From 75ce0519cf6ed3b1282044b541814ce388fdb0b1 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 12:48:09 +0800 Subject: [PATCH 13/23] fix: handle i18n picomatch interop --- packages/i18n/src/i18nService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/i18n/src/i18nService.ts b/packages/i18n/src/i18nService.ts index 4e283e18235..d2bc96ffe83 100644 --- a/packages/i18n/src/i18nService.ts +++ b/packages/i18n/src/i18nService.ts @@ -8,7 +8,7 @@ import { IMidwayContext, } from '@midwayjs/core'; import { I18N_ATTR_KEY, TranslateOptions } from './interface'; -import * as pm from 'picomatch'; +import pm from 'picomatch'; import { I18nOptions } from './interface'; import { formatLocale, formatWithArray, formatWithObject } from './utils'; From 0ccae8cd6fd4d36f2630996f83d0327e4e038ba1 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 12:49:15 +0800 Subject: [PATCH 14/23] fix: handle security utility interop --- packages/security/src/middleware/helper.ts | 2 +- packages/security/src/utils.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/security/src/middleware/helper.ts b/packages/security/src/middleware/helper.ts index b4ae805b9f9..d296f123e8a 100644 --- a/packages/security/src/middleware/helper.ts +++ b/packages/security/src/middleware/helper.ts @@ -1,5 +1,5 @@ import { IMiddleware, Middleware } from '@midwayjs/core'; -import * as escape from 'escape-html'; +import escape from 'escape-html'; import { filterXSS } from 'xss'; @Middleware() diff --git a/packages/security/src/utils.ts b/packages/security/src/utils.ts index 9242bc2ca4a..d6c59f28135 100644 --- a/packages/security/src/utils.ts +++ b/packages/security/src/utils.ts @@ -1,5 +1,5 @@ import { URL } from 'url'; -import * as pm from 'picomatch'; +import pm from 'picomatch'; export const parseUrl = (url: string, prop?: string) => { try { const parsed = new URL(url); From 09221e2e73321e6fef553b9ef1a2128df5118f33 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 14:55:20 +0800 Subject: [PATCH 15/23] fix: update bullmq assert import --- packages/bullmq/test/index.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bullmq/test/index.test.ts b/packages/bullmq/test/index.test.ts index fa2dc07dd97..13ef6e3a1b4 100644 --- a/packages/bullmq/test/index.test.ts +++ b/packages/bullmq/test/index.test.ts @@ -10,7 +10,7 @@ import { import * as bullmq from '../src'; import { Processor, Application, IProcessor, Context } from '../src'; import { JobsOptions, Job } from 'bullmq'; -import * as assert from 'node:assert'; +import assert from 'node:assert'; describe(`/test/index.test.ts`, () => { it('test auto repeat processor', async () => { From ea6d7d357f8f3af27a5769bb56375647fddaf56e Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 14:56:30 +0800 Subject: [PATCH 16/23] fix: update assert test imports --- packages/busboy/test/express.test.ts | 2 +- packages/busboy/test/faas.test.ts | 2 +- packages/busboy/test/index.test.ts | 2 +- packages/busboy/test/koa.test.ts | 2 +- packages/busboy/test/web.test.ts | 2 +- .../mqtt/test/fixtures/base-app/src/comsumer/userConsumer.ts | 2 +- packages/tags/test/memory.test.ts | 2 +- packages/tags/test/mysql.test.ts | 2 +- packages/upload/test/index.test.ts | 4 ++-- packages/upload/test/koa.test.ts | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/busboy/test/express.test.ts b/packages/busboy/test/express.test.ts index 644c5c26b76..8e00d1eb6f0 100644 --- a/packages/busboy/test/express.test.ts +++ b/packages/busboy/test/express.test.ts @@ -1,6 +1,6 @@ import { createHttpRequest, close, createLegacyApp } from '@midwayjs/mock'; import { join } from 'path'; -import * as assert from 'assert'; +import assert from 'assert'; import { statSync } from 'fs'; describe.skip('test/express.test.ts', function () { diff --git a/packages/busboy/test/faas.test.ts b/packages/busboy/test/faas.test.ts index e6134801dec..dd406b2c941 100644 --- a/packages/busboy/test/faas.test.ts +++ b/packages/busboy/test/faas.test.ts @@ -1,6 +1,6 @@ import { createHttpRequest, close, createLegacyFunctionApp } from '@midwayjs/mock'; import { join } from 'path'; -import * as assert from 'assert'; +import assert from 'assert'; import { existsSync, statSync } from 'fs'; import { Framework } from '@midwayjs/faas'; diff --git a/packages/busboy/test/index.test.ts b/packages/busboy/test/index.test.ts index 9a2009a041d..9ab69ecebeb 100644 --- a/packages/busboy/test/index.test.ts +++ b/packages/busboy/test/index.test.ts @@ -2,7 +2,7 @@ import { createHttpRequest, createLightApp, close } from '@midwayjs/mock'; import * as koa from '@midwayjs/koa'; import { join } from 'path'; import { createWriteStream, statSync, writeFileSync, unlinkSync, existsSync } from 'fs'; -import * as assert from 'assert'; +import assert from 'assert'; import { Controller, createMiddleware, Post } from '@midwayjs/core'; import { tmpdir } from 'os'; import { UploadMiddleware, UploadStreamFileInfo } from '../src'; diff --git a/packages/busboy/test/koa.test.ts b/packages/busboy/test/koa.test.ts index 06c8e212ef1..496a1469007 100644 --- a/packages/busboy/test/koa.test.ts +++ b/packages/busboy/test/koa.test.ts @@ -5,7 +5,7 @@ import * as koa from '@midwayjs/koa'; import * as busboy from '../src'; import { Controller, createMiddleware, Fields, Files, Post, File } from "@midwayjs/core"; import { ensureDir, removeSync } from "fs-extra"; -import * as assert from 'assert'; +import assert from 'assert'; import { tmpdir } from "os"; import { randomUUID } from "node:crypto"; diff --git a/packages/busboy/test/web.test.ts b/packages/busboy/test/web.test.ts index f078bd27c01..0501f230f55 100644 --- a/packages/busboy/test/web.test.ts +++ b/packages/busboy/test/web.test.ts @@ -1,6 +1,6 @@ import { createHttpRequest, close, createLegacyApp } from '@midwayjs/mock'; import { join } from 'path'; -import * as assert from 'assert'; +import assert from 'assert'; import { statSync } from 'fs'; describe.skip('test/web.test.ts', function () { diff --git a/packages/mqtt/test/fixtures/base-app/src/comsumer/userConsumer.ts b/packages/mqtt/test/fixtures/base-app/src/comsumer/userConsumer.ts index ca796e4e9ef..bdbce02ef47 100644 --- a/packages/mqtt/test/fixtures/base-app/src/comsumer/userConsumer.ts +++ b/packages/mqtt/test/fixtures/base-app/src/comsumer/userConsumer.ts @@ -1,6 +1,6 @@ import { ILogger, Inject } from '@midwayjs/core'; import { Context, IMqttSubscriber, MqttSubscriber } from '../../../../../src'; -import * as assert from 'node:assert'; +import assert from 'node:assert'; @MqttSubscriber('test') export class UserConsumer implements IMqttSubscriber { diff --git a/packages/tags/test/memory.test.ts b/packages/tags/test/memory.test.ts index 35c0cb27386..8052184aafb 100644 --- a/packages/tags/test/memory.test.ts +++ b/packages/tags/test/memory.test.ts @@ -1,6 +1,6 @@ import { TAG_ERROR, MATCH_TYPE, TagServiceFactory } from '../src'; import { createLightApp, close } from '@midwayjs/mock'; -import * as assert from 'assert'; +import assert from 'assert'; import { join } from 'path'; describe('memory.test.ts', () => { let tagManager; diff --git a/packages/tags/test/mysql.test.ts b/packages/tags/test/mysql.test.ts index 0794b617fd3..f93b7fed00b 100644 --- a/packages/tags/test/mysql.test.ts +++ b/packages/tags/test/mysql.test.ts @@ -1,5 +1,5 @@ import { MATCH_TYPE, TAG_ERROR, TagServiceFactory } from '../src'; -import * as assert from 'assert'; +import assert from 'assert'; import { createLightApp, close } from '@midwayjs/mock'; import { join } from 'path'; describe('mysql.test.ts', () => { diff --git a/packages/upload/test/index.test.ts b/packages/upload/test/index.test.ts index 3cd59fadabc..67f087da1df 100644 --- a/packages/upload/test/index.test.ts +++ b/packages/upload/test/index.test.ts @@ -2,7 +2,7 @@ import { createHttpRequest, createLightApp, close } from '@midwayjs/mock'; import * as koa from '@midwayjs/koa'; import { join } from 'path'; import { writeFileSync, unlinkSync, existsSync } from 'fs'; -import * as assert from 'assert'; +import assert from 'assert'; import { Controller, Post } from '@midwayjs/core'; import { tmpdir } from 'os'; @@ -140,4 +140,4 @@ describe('/test/index.test.ts', () => { await close(app); }); -}); \ No newline at end of file +}); diff --git a/packages/upload/test/koa.test.ts b/packages/upload/test/koa.test.ts index 5dbd61ce748..f1035564c46 100644 --- a/packages/upload/test/koa.test.ts +++ b/packages/upload/test/koa.test.ts @@ -1,6 +1,6 @@ import { createHttpRequest, close, createLegacyApp } from '@midwayjs/mock'; import { join } from 'path'; -import * as assert from 'assert'; +import assert from 'assert'; import { statSync } from 'fs'; describe('test/koa.test.ts', function () { From d6a6ac925a2390f41d9fb1eb4a2eaf89f099cd0e Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 15:13:28 +0800 Subject: [PATCH 17/23] fix: handle cache manager interop --- packages/cache-manager/src/base/store.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cache-manager/src/base/store.ts b/packages/cache-manager/src/base/store.ts index 829734d27a0..357e6641f31 100644 --- a/packages/cache-manager/src/base/store.ts +++ b/packages/cache-manager/src/base/store.ts @@ -1,5 +1,5 @@ import LRUCache from 'lru-cache'; -import * as cloneDeep from 'lodash.clonedeep'; +import cloneDeep from 'lodash.clonedeep'; import { MemoryConfig, MemoryStore, LRU } from './types'; function clone(object: T): T { From 49f9d6cf314330df8e66a25f2c0dc9f68bde6313 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 15:29:20 +0800 Subject: [PATCH 18/23] fix: handle info service interop --- packages/info/src/infoService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/info/src/infoService.ts b/packages/info/src/infoService.ts index 70f17e328a5..d788c932652 100644 --- a/packages/info/src/infoService.ts +++ b/packages/info/src/infoService.ts @@ -24,7 +24,7 @@ import { totalmem, } from 'os'; import { join } from 'path'; -import * as pm from 'picomatch'; +import pm from 'picomatch'; @Provide() @Scope(ScopeEnum.Singleton) From a8bc9092cd69a2bb6767c54f108bfb7bf57dec76 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 15:45:11 +0800 Subject: [PATCH 19/23] fix: update axios test imports --- packages/axios/test/factory.test.ts | 2 +- packages/axios/test/index.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/axios/test/factory.test.ts b/packages/axios/test/factory.test.ts index f19bb6eeb13..fc389d769b6 100644 --- a/packages/axios/test/factory.test.ts +++ b/packages/axios/test/factory.test.ts @@ -1,7 +1,7 @@ import { join } from 'path'; import { HttpServiceFactory } from '../src'; import { close, createLightApp } from '@midwayjs/mock'; -import * as nock from 'nock'; +import nock from 'nock'; import { MidwayTraceService } from '@midwayjs/core'; describe('/test/factory.test.ts', () => { diff --git a/packages/axios/test/index.test.ts b/packages/axios/test/index.test.ts index 3481f3c030b..a499097901c 100644 --- a/packages/axios/test/index.test.ts +++ b/packages/axios/test/index.test.ts @@ -1,7 +1,7 @@ import { join } from 'path'; import { HttpService, Axios } from '../src'; import { createLightApp } from '@midwayjs/mock'; -import * as nock from 'nock'; +import nock from 'nock'; describe('/test/index.test.ts', () => { let httpService: any; From 3eef62a8ca0422d71a969d18ec9f5f1a5e38e913 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 16:08:56 +0800 Subject: [PATCH 20/23] fix: handle http proxy interop --- packages/http-proxy/src/middleware.ts | 4 ++-- packages/http-proxy/test/express.test.ts | 4 ++-- packages/http-proxy/test/faas.test.ts | 2 +- packages/http-proxy/test/koa.test.ts | 4 ++-- packages/http-proxy/test/web.test.ts | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/http-proxy/src/middleware.ts b/packages/http-proxy/src/middleware.ts index 31d0027a489..379714e912f 100644 --- a/packages/http-proxy/src/middleware.ts +++ b/packages/http-proxy/src/middleware.ts @@ -7,7 +7,7 @@ import { IMidwayApplication, } from '@midwayjs/core'; import { HttpProxyConfig, HttpProxyStrategy } from './interface'; -import * as axios from 'axios'; +import axios from 'axios'; @Middleware() export class HttpProxyMiddleware implements IMiddleware { @@ -79,7 +79,7 @@ export class HttpProxyMiddleware implements IMiddleware { .join('&'); } } - const proxyResponse = await (axios as any)(reqOptions).catch(err => { + const proxyResponse = await axios(reqOptions).catch(err => { if (!err || !err.response) { throw err || new Error('proxy unknown error'); } diff --git a/packages/http-proxy/test/express.test.ts b/packages/http-proxy/test/express.test.ts index 4a8031e11d4..8090a31201f 100644 --- a/packages/http-proxy/test/express.test.ts +++ b/packages/http-proxy/test/express.test.ts @@ -1,7 +1,7 @@ import { createLegacyApp, createHttpRequest, close } from '@midwayjs/mock'; import { join } from 'path'; -import * as assert from 'assert'; -import * as nock from 'nock'; +import assert from 'assert'; +import nock from 'nock'; describe('test/express.test.ts', function () { let app; diff --git a/packages/http-proxy/test/faas.test.ts b/packages/http-proxy/test/faas.test.ts index 440ff0d94e5..8dc910aea34 100644 --- a/packages/http-proxy/test/faas.test.ts +++ b/packages/http-proxy/test/faas.test.ts @@ -1,6 +1,6 @@ import { createHttpRequest, close, createLegacyFunctionApp } from '@midwayjs/mock'; import { join } from 'path'; -import * as nock from 'nock'; +import nock from 'nock'; describe('test/faas.test.ts', function () { let app; diff --git a/packages/http-proxy/test/koa.test.ts b/packages/http-proxy/test/koa.test.ts index 96197ec219b..39948f3e21c 100644 --- a/packages/http-proxy/test/koa.test.ts +++ b/packages/http-proxy/test/koa.test.ts @@ -1,7 +1,7 @@ import { createLegacyApp, createHttpRequest, close } from '@midwayjs/mock'; import { join } from 'path'; -import * as assert from 'assert'; -import * as nock from 'nock'; +import assert from 'assert'; +import nock from 'nock'; describe('test/koa.test.ts', function () { let app; diff --git a/packages/http-proxy/test/web.test.ts b/packages/http-proxy/test/web.test.ts index ee367341494..f7b8b88dead 100644 --- a/packages/http-proxy/test/web.test.ts +++ b/packages/http-proxy/test/web.test.ts @@ -1,7 +1,7 @@ import { createLegacyApp, createHttpRequest, close } from '@midwayjs/mock'; import { join } from 'path'; -import * as assert from 'assert'; -import * as nock from 'nock'; +import assert from 'assert'; +import nock from 'nock'; describe('test/web.test.ts', function () { let app; beforeAll(async () => { From fc87d6f47c3f7d6deee4c1d7451352ae8a240ad3 Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 16:29:50 +0800 Subject: [PATCH 21/23] fix: handle static middleware interop --- packages/static-file/src/middleware/static.middleware.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/static-file/src/middleware/static.middleware.ts b/packages/static-file/src/middleware/static.middleware.ts index 29656fffe91..6793d99bce6 100644 --- a/packages/static-file/src/middleware/static.middleware.ts +++ b/packages/static-file/src/middleware/static.middleware.ts @@ -9,9 +9,9 @@ import { MidwayEnvironmentService, } from '@midwayjs/core'; import * as assert from 'assert'; -import * as staticCache from 'koa-static-cache'; +import staticCache from 'koa-static-cache'; import LRU from 'ylru'; -import * as range from 'koa-range'; +import range from 'koa-range'; import { DirectoryNotFoundError } from '../error'; import * as fs from 'fs'; From 1c00f60ca396b2953a566729ae92ebab68d8e2ef Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 16:31:55 +0800 Subject: [PATCH 22/23] fix: handle process agent interop --- packages/processAgent/src/decorator/primary.ts | 2 +- .../test/fixtures/primary-demo/src/configuration.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/processAgent/src/decorator/primary.ts b/packages/processAgent/src/decorator/primary.ts index 513c469cf38..559df9f3213 100644 --- a/packages/processAgent/src/decorator/primary.ts +++ b/packages/processAgent/src/decorator/primary.ts @@ -1,5 +1,5 @@ import { DecoratorManager, MetadataManager } from '@midwayjs/core'; -import * as request from 'request'; +import request from 'request'; import * as path from 'path'; import * as os from 'os'; import { isPrimary } from '../utils/utils'; diff --git a/packages/processAgent/test/fixtures/primary-demo/src/configuration.ts b/packages/processAgent/test/fixtures/primary-demo/src/configuration.ts index 7bfe7439c7a..027a77ea9c9 100644 --- a/packages/processAgent/test/fixtures/primary-demo/src/configuration.ts +++ b/packages/processAgent/test/fixtures/primary-demo/src/configuration.ts @@ -1,6 +1,6 @@ import { Configuration, MainApp } from '@midwayjs/core'; import { Application } from '@midwayjs/koa'; -import * as bodyParser from 'koa-bodyparser'; +import bodyParser from 'koa-bodyparser'; import * as primary from '../../../../src' @Configuration({ From 1c92caf54f04cb11264942be2096f16a88103c3b Mon Sep 17 00:00:00 2001 From: Harry Chen Date: Sun, 16 Aug 2026 17:16:13 +0800 Subject: [PATCH 23/23] fix: update swagger parser import --- packages/swagger/test/index.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/swagger/test/index.test.ts b/packages/swagger/test/index.test.ts index 1d1c869de0a..f6abbcb8019 100644 --- a/packages/swagger/test/index.test.ts +++ b/packages/swagger/test/index.test.ts @@ -2,7 +2,7 @@ import { close, createLegacyApp, createHttpRequest, createLightApp } from '@midw import * as koa from '@midwayjs/koa'; import { join } from 'path'; import { MidwayWebRouterService } from '@midwayjs/core'; -import * as SwaggerParser from "@apidevtools/swagger-parser"; +import SwaggerParser from '@apidevtools/swagger-parser'; import * as swagger from '../src'; describe('/test/index.test.ts', () => {