From ec69b8f11bfd4b20991aef74a72a47182ca79a9d Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sat, 11 Jul 2026 23:40:13 +0800 Subject: [PATCH 01/14] =?UTF-8?q?fix(pipeline):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E6=97=B6=E4=BE=9D=E8=B5=96=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BF=AE=E5=A4=8D=E7=81=AB=E5=B1=B1?= =?UTF-8?q?=E5=BC=95=E6=93=8EDNS=E8=A7=A3=E6=9E=90=E6=8A=A5runtimeDepsServ?= =?UTF-8?q?ice=E6=9C=AA=E5=88=9D=E5=A7=8B=E5=8C=96=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/core/pipeline/src/access/api.ts | 3 - .../core/pipeline/src/access/decorator.ts | 2 +- .../core/pipeline/src/notification/api.ts | 3 - packages/core/pipeline/src/plugin/api.ts | 3 - .../src/user/access/service/access-getter.ts | 19 ++---- .../src/user/access/service/access-service.ts | 18 ++++-- .../libs/lib-server/src/user/addon/api/api.ts | 3 - .../plugin-lib/src/cert/dns-provider/base.ts | 3 - .../controller/user/mine/mine-controller.ts | 6 ++ .../user/pipeline/handle-controller.ts | 8 +-- .../src/modules/auto/auto-load-plugins.ts | 7 +++ .../service/getter/task-service-getter.ts | 3 +- .../modules/plugin/service/plugin-service.ts | 2 + .../runtime-deps/runtime-deps-service.ts | 58 ++++++++++++++++++- .../plugins/plugin-volcengine/cdn-client.ts | 3 +- .../plugins/plugin-volcengine/dns-client.ts | 3 +- .../plugins/plugin-volcengine/ve-client.ts | 8 ++- .../volcengine-dns-provider.ts | 1 + 18 files changed, 105 insertions(+), 48 deletions(-) diff --git a/packages/core/pipeline/src/access/api.ts b/packages/core/pipeline/src/access/api.ts index 8298b1306..d72c71cc5 100644 --- a/packages/core/pipeline/src/access/api.ts +++ b/packages/core/pipeline/src/access/api.ts @@ -62,9 +62,6 @@ export abstract class BaseAccess implements IAccess { if (!this.runtimeDepsService && this.ctx.serviceGetter) { this.runtimeDepsService = await this.ctx.serviceGetter.get("runtimeDepsService"); } - if (this.runtimeDepsService && this.ctx.define?.name) { - await this.runtimeDepsService.ensureRuntimeDependencies({ pluginKeys: `access:${this.ctx.define.name}`, logger: this.ctx.logger }); - } } async onRequest(req: AccessRequestHandleReq) { diff --git a/packages/core/pipeline/src/access/decorator.ts b/packages/core/pipeline/src/access/decorator.ts index 70779561b..549d9999d 100644 --- a/packages/core/pipeline/src/access/decorator.ts +++ b/packages/core/pipeline/src/access/decorator.ts @@ -47,7 +47,7 @@ export function AccessInput(input?: AccessInputDefine): PropertyDecorator { }; } -export async function newAccess(type: string, input: any, accessService: IAccessService, ctx?: AccessContext) { +export async function newAccess(type: string, input: any, accessService: IAccessService, ctx: AccessContext) { const register = accessRegistry.get(type); if (register == null) { throw new Error(`access ${type} not found`); diff --git a/packages/core/pipeline/src/notification/api.ts b/packages/core/pipeline/src/notification/api.ts index 130d12833..c083fe42c 100644 --- a/packages/core/pipeline/src/notification/api.ts +++ b/packages/core/pipeline/src/notification/api.ts @@ -112,9 +112,6 @@ export abstract class BaseNotification implements INotification { if (!this.runtimeDepsService && this.ctx.serviceGetter) { this.runtimeDepsService = await this.ctx.serviceGetter.get("runtimeDepsService"); } - if (this.runtimeDepsService && this.ctx.define?.name) { - await this.runtimeDepsService.ensureRuntimeDependencies({ pluginKeys: `notification:${this.ctx.define.name}`, logger: this.logger }); - } } setDefine = (define: NotificationDefine) => { this.define = define; diff --git a/packages/core/pipeline/src/plugin/api.ts b/packages/core/pipeline/src/plugin/api.ts index b04d457a6..c01ae3795 100644 --- a/packages/core/pipeline/src/plugin/api.ts +++ b/packages/core/pipeline/src/plugin/api.ts @@ -181,9 +181,6 @@ export abstract class AbstractTaskPlugin implements ITaskPlugin { if (!this.runtimeDepsService && this.ctx.serviceGetter) { this.runtimeDepsService = await this.ctx.serviceGetter.get("runtimeDepsService"); } - if (this.runtimeDepsService && this.ctx.define?.name) { - await this.runtimeDepsService.ensureRuntimeDependencies({ pluginKeys: `plugin:${this.ctx.define.name}`, logger: this.logger }); - } // 将证书加入secret // @ts-ignore if (this.cert && this.cert.crt && this.cert.key) { diff --git a/packages/libs/lib-server/src/user/access/service/access-getter.ts b/packages/libs/lib-server/src/user/access/service/access-getter.ts index d84686406..d89765c9a 100644 --- a/packages/libs/lib-server/src/user/access/service/access-getter.ts +++ b/packages/libs/lib-server/src/user/access/service/access-getter.ts @@ -1,29 +1,20 @@ -import { IAccessService, IRuntimeDepsService } from "@certd/pipeline"; - -export type AccessRuntimeDepsService = IRuntimeDepsService; +import { IAccessService } from "@certd/pipeline"; export class AccessGetter implements IAccessService { userId: number; projectId?: number; - runtimeDepsService?: AccessRuntimeDepsService; - getter: (id: any, userId?: number, projectId?: number, ignorePermission?: boolean, runtimeDepsService?: AccessRuntimeDepsService) => Promise; - constructor( - userId: number, - projectId: number, - getter: (id: any, userId: number, projectId?: number, ignorePermission?: boolean, runtimeDepsService?: AccessRuntimeDepsService) => Promise, - runtimeDepsService?: AccessRuntimeDepsService - ) { + getter: (id: any, userId?: number, projectId?: number, ignorePermission?: boolean) => Promise; + constructor(userId: number, projectId: number, getter: (id: any, userId: number, projectId?: number, ignorePermission?: boolean) => Promise) { this.userId = userId; this.projectId = projectId; this.getter = getter; - this.runtimeDepsService = runtimeDepsService; } async getById(id: any) { - return await this.getter(id, this.userId, this.projectId, false, this.runtimeDepsService); + return await this.getter(id, this.userId, this.projectId, false); } async getCommonById(id: any) { - return await this.getter(id, 0, null, false, this.runtimeDepsService); + return await this.getter(id, 0, null, false); } } diff --git a/packages/libs/lib-server/src/user/access/service/access-service.ts b/packages/libs/lib-server/src/user/access/service/access-service.ts index 44be1c588..9292ef965 100644 --- a/packages/libs/lib-server/src/user/access/service/access-service.ts +++ b/packages/libs/lib-server/src/user/access/service/access-service.ts @@ -1,8 +1,8 @@ -import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core"; +import { ApplicationContext, Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core"; +import type { IMidwayContainer } from "@midwayjs/core"; import { InjectEntityModel } from "@midwayjs/typeorm"; import { In, Repository } from "typeorm"; import { AccessGetter, BaseService, PageReq, PermissionException, ValidateException } from "../../../index.js"; -import type { AccessRuntimeDepsService } from "./access-getter.js"; import { AccessEntity } from "../entity/access.js"; import { AccessDefine, accessRegistry, newAccess } from "@certd/pipeline"; import { EncryptService } from "./encrypt-service.js"; @@ -20,6 +20,9 @@ export class AccessService extends BaseService { @Inject() encryptService: EncryptService; + @ApplicationContext() + applicationContext: IMidwayContainer; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore getRepository() { @@ -161,7 +164,7 @@ export class AccessService extends BaseService { }; } - async getAccessById(id: any, checkUserId: boolean, userId?: number, projectId?: number, runtimeDepsService?: AccessRuntimeDepsService): Promise { + async getAccessById(id: any, checkUserId: boolean, userId?: number, projectId?: number): Promise { const entity = await this.info(id); if (entity == null) { throw new Error(`该授权配置不存在,请确认是否已被删除:id=${id}`); @@ -184,20 +187,23 @@ export class AccessService extends BaseService { id: entity.id, ...setting, }; + const taskServiceBuilder: any = await this.applicationContext.getAsync("taskServiceBuilder"); + const serviceGetter = taskServiceBuilder.create({ userId: userId || 0, projectId }); const getAccessById = this.getById.bind(this); - const accessGetter = new AccessGetter(userId, projectId, getAccessById, runtimeDepsService); + const accessGetter = new AccessGetter(userId, projectId, getAccessById); const accessContext = { logger, http, utils, accessService: accessGetter, + serviceGetter, } as any; const access = await newAccess(entity.type, input, accessGetter, accessContext); return access; } - async getById(id: any, userId: number, projectId?: number, _ignorePermission?: boolean, runtimeDepsService?: AccessRuntimeDepsService): Promise { - return await this.getAccessById(id, true, userId, projectId, runtimeDepsService); + async getById(id: any, userId: number, projectId?: number, _ignorePermission?: boolean): Promise { + return await this.getAccessById(id, true, userId, projectId); } decryptAccessEntity(entity: AccessEntity): any { diff --git a/packages/libs/lib-server/src/user/addon/api/api.ts b/packages/libs/lib-server/src/user/addon/api/api.ts index 9d56e3578..b5ccf937f 100644 --- a/packages/libs/lib-server/src/user/addon/api/api.ts +++ b/packages/libs/lib-server/src/user/addon/api/api.ts @@ -121,9 +121,6 @@ export abstract class BaseAddon implements IAddon { if (!this.runtimeDepsService && this.ctx.serviceGetter) { this.runtimeDepsService = await this.ctx.serviceGetter.get("runtimeDepsService"); } - if (this.runtimeDepsService && this.define?.addonType && this.define?.name) { - await this.runtimeDepsService.ensureRuntimeDependencies({ pluginKeys: `addon:${this.define.addonType}:${this.define.name}`, logger: this.logger }); - } } setDefine = (define:AddonDefine) => { this.define = define; diff --git a/packages/plugins/plugin-lib/src/cert/dns-provider/base.ts b/packages/plugins/plugin-lib/src/cert/dns-provider/base.ts index b74df800b..45e1c2933 100644 --- a/packages/plugins/plugin-lib/src/cert/dns-provider/base.ts +++ b/packages/plugins/plugin-lib/src/cert/dns-provider/base.ts @@ -45,9 +45,6 @@ export abstract class AbstractDnsProvider implements IDnsProvider { if (!this.runtimeDepsService && this.ctx.serviceGetter) { this.runtimeDepsService = await this.ctx.serviceGetter.get("runtimeDepsService"); } - if (this.runtimeDepsService && this.ctx.define?.name) { - await this.runtimeDepsService.ensureRuntimeDependencies({ pluginKeys: `dnsProvider:${this.ctx.define.name}`, logger: this.logger }); - } } async parseDomain(fullDomain: string) { diff --git a/packages/ui/certd-server/src/controller/user/mine/mine-controller.ts b/packages/ui/certd-server/src/controller/user/mine/mine-controller.ts index 1faefb321..c36837067 100644 --- a/packages/ui/certd-server/src/controller/user/mine/mine-controller.ts +++ b/packages/ui/certd-server/src/controller/user/mine/mine-controller.ts @@ -9,6 +9,7 @@ import { http, logger, utils } from "@certd/basic"; import { ApiTags } from "@midwayjs/swagger"; import { CodeService } from "../../../modules/basic/service/code-service.js"; import { EmailService } from "../../../modules/basic/service/email-service.js"; +import { TaskServiceBuilder } from "../../../modules/pipeline/service/getter/task-service-getter.js"; /** */ @@ -40,6 +41,9 @@ export class MineController extends BaseController { @Inject() emailService: EmailService; + @Inject() + taskServiceBuilder: TaskServiceBuilder; + @Post("/info", { description: Constants.per.authOnly, summary: "查询用户信息" }) public async info() { const userId = this.getUserId(); @@ -176,11 +180,13 @@ export class MineController extends BaseController { const getAccessById = this.accessService.getById.bind(this.accessService); const accessGetter = new AccessGetter(userId, undefined, getAccessById); + const serviceGetter = this.taskServiceBuilder.create({ userId }); const accessContext = { http, logger, utils, accessService: accessGetter, + serviceGetter, define: undefined, } as any; const access = await newAccess("acmeAccount", { caType: "letsencrypt", email: userEmail }, accessGetter, accessContext); diff --git a/packages/ui/certd-server/src/controller/user/pipeline/handle-controller.ts b/packages/ui/certd-server/src/controller/user/pipeline/handle-controller.ts index 021e310c1..9751a0544 100644 --- a/packages/ui/certd-server/src/controller/user/pipeline/handle-controller.ts +++ b/packages/ui/certd-server/src/controller/user/pipeline/handle-controller.ts @@ -8,7 +8,6 @@ import { TaskServiceBuilder } from "../../../modules/pipeline/service/getter/tas import { cloneDeep } from "lodash-es"; import { ApiTags } from "@midwayjs/swagger"; import { AuthService } from "../../../modules/sys/authority/service/auth-service.js"; -import { RuntimeDepsService } from "../../../modules/runtime-deps/runtime-deps-service.js"; @Provide() @Controller("/api/pi/handle") @@ -29,9 +28,6 @@ export class HandleController extends BaseController { @Inject() notificationService: NotificationService; - @Inject() - runtimeDepsService: RuntimeDepsService; - @Post("/access", { description: Constants.per.authOnly, summary: "处理授权请求" }) async accessRequest(@Body(ALL) body: AccessRequestHandleReq) { let { projectId, userId } = await this.getProjectUserIdRead(); @@ -64,12 +60,14 @@ export class HandleController extends BaseController { } } const getAccessById = this.accessService.getById.bind(this.accessService); - const accessGetter = new AccessGetter(userId, projectId, getAccessById, this.runtimeDepsService); + const accessGetter = new AccessGetter(userId, projectId, getAccessById); + const serviceGetter = this.taskServiceBuilder.create({ userId, projectId }); const accessContext = { http, logger, utils, accessService: accessGetter, + serviceGetter, define: undefined, } as any; const access = await newAccess(body.typeName, inputAccess, accessGetter, accessContext); diff --git a/packages/ui/certd-server/src/modules/auto/auto-load-plugins.ts b/packages/ui/certd-server/src/modules/auto/auto-load-plugins.ts index 7ea7b0bb1..3b9ed1b84 100644 --- a/packages/ui/certd-server/src/modules/auto/auto-load-plugins.ts +++ b/packages/ui/certd-server/src/modules/auto/auto-load-plugins.ts @@ -2,6 +2,7 @@ import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core"; import { logger } from "@certd/basic"; import { PluginService } from "../plugin/service/plugin-service.js"; import { registerPaymentProviders } from "../suite/payments/index.js"; +import { RuntimeDepsService } from "../runtime-deps/runtime-deps-service.js"; @Provide() @Scope(ScopeEnum.Request, { allowDowngrade: true }) @@ -9,6 +10,9 @@ export class AutoLoadPlugins { @Inject() pluginService: PluginService; + @Inject() + runtimeDepsService: RuntimeDepsService; + async init() { logger.info(`加载插件开始,加载模式:${process.env.certd_plugin_loadmode}`); if (process.env.certd_plugin_loadmode === "metadata") { @@ -30,5 +34,8 @@ export class AutoLoadPlugins { await registerPaymentProviders(); logger.info(`加载插件完成,加载模式:${process.env.certd_plugin_loadmode}`); + + // 收集插件 dependPackages 并安装 + await this.runtimeDepsService.refreshPluginDeps(); } } diff --git a/packages/ui/certd-server/src/modules/pipeline/service/getter/task-service-getter.ts b/packages/ui/certd-server/src/modules/pipeline/service/getter/task-service-getter.ts index 4c68bf1cb..2f60acb82 100644 --- a/packages/ui/certd-server/src/modules/pipeline/service/getter/task-service-getter.ts +++ b/packages/ui/certd-server/src/modules/pipeline/service/getter/task-service-getter.ts @@ -66,9 +66,8 @@ export class TaskServiceGetter implements IServiceGetter { async getAccessService(): Promise { const accessService: AccessService = await this.appCtx.getAsync("accessService"); - const runtimeDepsService = await this.getRuntimeDepsService(); const getAccessById = accessService.getById.bind(accessService); - return new AccessGetter(this.userId, this.projectId, getAccessById, runtimeDepsService); + return new AccessGetter(this.userId, this.projectId, getAccessById); } async getCnameProxyService(): Promise { diff --git a/packages/ui/certd-server/src/modules/plugin/service/plugin-service.ts b/packages/ui/certd-server/src/modules/plugin/service/plugin-service.ts index 7b578639b..b7a2f4676 100644 --- a/packages/ui/certd-server/src/modules/plugin/service/plugin-service.ts +++ b/packages/ui/certd-server/src/modules/plugin/service/plugin-service.ts @@ -270,6 +270,7 @@ export class PluginService extends BaseService { return; } await this.registerPlugin(item); + await this.runtimeDepsService.refreshPluginDeps(); } async unRegisterById(id: any) { @@ -297,6 +298,7 @@ export class PluginService extends BaseService { } else { logger.warn(`不支持的插件类型:${item.pluginType}`); } + await this.runtimeDepsService.refreshPluginDeps(); } async update(param: any) { diff --git a/packages/ui/certd-server/src/modules/runtime-deps/runtime-deps-service.ts b/packages/ui/certd-server/src/modules/runtime-deps/runtime-deps-service.ts index af13cb9c0..d6c7ef39b 100644 --- a/packages/ui/certd-server/src/modules/runtime-deps/runtime-deps-service.ts +++ b/packages/ui/certd-server/src/modules/runtime-deps/runtime-deps-service.ts @@ -150,6 +150,11 @@ export class RuntimeDepsService { @Config("runtimeDeps.lazyDependencies") lazyDependencies: Record = {}; + /** + * 从插件 registry 收集到的懒加载依赖,键为包名,值为版本范围 + */ + pluginLazyDependencies: Record = {}; + @Inject() registryResolver!: NpmRegistryResolver; @@ -339,7 +344,8 @@ export class RuntimeDepsService { private async resolveMissingRuntimeSpecifier(specifier: string, runtimeError: any, logger?: ILogger) { const packageName = this.parsePackageName(specifier); - const lazyRange = this.lazyDependencies?.[packageName]; + const mergedDeps = this.getMergedLazyDependencies(); + const lazyRange = mergedDeps[packageName]; if (!lazyRange) { try { return this.resolveProjectSpecifier(specifier, runtimeError).resolved; @@ -565,6 +571,56 @@ export class RuntimeDepsService { }); } + /** + * 合并 package.json 的 lazyDependencies 和插件注册表收集到的 dependPackages + * 插件依赖优先(同名时使用插件声明的版本) + */ + getMergedLazyDependencies(): Record { + return { ...this.lazyDependencies, ...this.pluginLazyDependencies }; + } + + /** + * 从所有插件注册表中收集 dependPackages,合并到 pluginLazyDependencies + */ + collectPluginDeps() { + const registries: Array<{ registry: Registry; keyFormatter?: (name: string) => string }> = [ + { registry: pluginRegistry }, + { registry: accessRegistry }, + { registry: notificationRegistry }, + { registry: dnsProviderRegistry }, + { registry: addonRegistry }, + ]; + + const deps: Record = {}; + for (const { registry } of registries) { + const defineList = registry.getDefineList(); + for (const define of defineList) { + const dependPackages = (define as any).dependPackages as Record | undefined; + if (!dependPackages) { + continue; + } + for (const [pkgName, range] of Object.entries(dependPackages)) { + const existing = deps[pkgName]; + if (existing && !areRangesCompatible(existing, range)) { + logger.warn(`懒加载依赖版本冲突: ${pkgName} => ${existing} vs ${range},保留已有版本`); + continue; + } + deps[pkgName] = range; + } + } + } + + this.pluginLazyDependencies = deps; + logger.info(`从插件注册表收集到 ${Object.keys(deps).length} 个懒加载依赖`); + } + + /** + * 刷新插件懒加载依赖:收集所有插件的 dependPackages 到内存列表,实际安装延迟到 importRuntime 时触发 + */ + async refreshPluginDeps() { + this.collectPluginDeps(); + } + private readInstallState(statePath: string): any { if (!fs.existsSync(statePath)) { return null; diff --git a/packages/ui/certd-server/src/plugins/plugin-volcengine/cdn-client.ts b/packages/ui/certd-server/src/plugins/plugin-volcengine/cdn-client.ts index 148f7185c..3678ede0e 100644 --- a/packages/ui/certd-server/src/plugins/plugin-volcengine/cdn-client.ts +++ b/packages/ui/certd-server/src/plugins/plugin-volcengine/cdn-client.ts @@ -14,7 +14,8 @@ export class VolcengineCdnClient { if (this.service) { return this.service; } - const { cdn } = await this.opts.access.importRuntime("@volcengine/openapi"); + const importRuntime = this.opts.importRuntime || this.opts.access.importRuntime.bind(this.opts.access); + const { cdn } = await importRuntime("@volcengine/openapi"); const service = new cdn.CdnService(); // 设置ak、sk service.setAccessKeyId(this.opts.access.accessKeyId); diff --git a/packages/ui/certd-server/src/plugins/plugin-volcengine/dns-client.ts b/packages/ui/certd-server/src/plugins/plugin-volcengine/dns-client.ts index 7d604ad54..68cd49738 100644 --- a/packages/ui/certd-server/src/plugins/plugin-volcengine/dns-client.ts +++ b/packages/ui/certd-server/src/plugins/plugin-volcengine/dns-client.ts @@ -21,7 +21,8 @@ export class VolcengineDnsClient { } async doRequest(req: VolcengineReq) { - const { Signer } = await this.opts.access.importRuntime("@volcengine/openapi"); + const importRuntime = this.opts.importRuntime || this.opts.access.importRuntime.bind(this.opts.access); + const { Signer } = await importRuntime("@volcengine/openapi"); // http request data const openApiRequestData: any = { diff --git a/packages/ui/certd-server/src/plugins/plugin-volcengine/ve-client.ts b/packages/ui/certd-server/src/plugins/plugin-volcengine/ve-client.ts index 82fd34623..2bd2725ff 100644 --- a/packages/ui/certd-server/src/plugins/plugin-volcengine/ve-client.ts +++ b/packages/ui/certd-server/src/plugins/plugin-volcengine/ve-client.ts @@ -1,10 +1,12 @@ import { VolcengineAccess } from "./access.js"; import { HttpClient, ILogger } from "@certd/basic"; +import { ImportRuntime } from "@certd/pipeline"; export type VolcengineOpts = { access: VolcengineAccess; logger: ILogger; http: HttpClient; + importRuntime?: ImportRuntime; }; export class VolcengineClient { @@ -140,7 +142,8 @@ export class VolcengineClient { } async getTOSService(opts: { region?: string }) { - const { TosClient } = await this.opts.access.importRuntime("@volcengine/tos-sdk"); + const importRuntime = this.opts.importRuntime || this.opts.access.importRuntime.bind(this.opts.access); + const { TosClient } = await importRuntime("@volcengine/tos-sdk"); const client = new TosClient({ accessKeyId: this.opts.access.accessKeyId, @@ -169,7 +172,8 @@ export class VolcengineClient { if (this.CommonService) { return this.CommonService; } - const { Service } = await this.opts.access.importRuntime("@volcengine/openapi"); + const importRuntime = this.opts.importRuntime || this.opts.access.importRuntime.bind(this.opts.access); + const { Service } = await importRuntime("@volcengine/openapi"); class CommonService extends Service { Generic: any; diff --git a/packages/ui/certd-server/src/plugins/plugin-volcengine/volcengine-dns-provider.ts b/packages/ui/certd-server/src/plugins/plugin-volcengine/volcengine-dns-provider.ts index 3bf5b35ee..762a74ae8 100644 --- a/packages/ui/certd-server/src/plugins/plugin-volcengine/volcengine-dns-provider.ts +++ b/packages/ui/certd-server/src/plugins/plugin-volcengine/volcengine-dns-provider.ts @@ -22,6 +22,7 @@ export class VolcengineDnsProvider extends AbstractDnsProvider { access: this.access, logger: this.logger, http: this.http, + importRuntime: this.importRuntime.bind(this), }); } From 8517a0b564ccc1f228d3e94483b8df2a2e2b1be7 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 00:04:06 +0800 Subject: [PATCH 02/14] =?UTF-8?q?refactor(certd-server):=20=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E9=9D=9E=E8=BF=90=E8=A1=8C=E6=97=B6=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E5=88=B0=E5=8A=A8=E6=80=81=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将alipay-sdk、openid-client、otplib、wechatpay-node-v3改为动态导入,从dependencies移到devDependencies?不,是改为通过importRuntime动态加载,移除顶层静态引入,优化启动时依赖加载,减少初始包体积和启动耗时 --- packages/ui/certd-server/package.json | 10 +++++----- .../src/modules/suite/payments/alipay.ts | 2 +- .../src/modules/suite/payments/wxpay.ts | 13 +++++++------ .../plugins/plugin-nginx-proxy-manager/access.ts | 2 +- .../src/plugins/plugin-oauth/oidc/plugin-oidc.ts | 2 +- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/packages/ui/certd-server/package.json b/packages/ui/certd-server/package.json index 8594b22be..9cdd47f2a 100644 --- a/packages/ui/certd-server/package.json +++ b/packages/ui/certd-server/package.json @@ -71,7 +71,6 @@ "@peculiar/x509": "^1.11.0", "@simplewebauthn/browser": "^13.2.2", "@simplewebauthn/server": "^13.2.3", - "alipay-sdk": "^4.13.0", "axios": "^1.9.0", "bcryptjs": "^2.4.3", "better-sqlite3": "^11.1.2", @@ -96,8 +95,6 @@ "nanoid": "^5.0.7", "node-forge": "^1.3.1", "nodemailer": "^6.9.16", - "openid-client": "^6.8.1", - "otplib": "^12.0.1", "pg": "^8.12.0", "psl": "^1.15.0", "punycode.js": "^2.3.1", @@ -113,7 +110,6 @@ "svg-captcha": "^1.4.0", "typeorm": "^0.3.20", "uuid": "^10.0.0", - "wechatpay-node-v3": "^2.2.1", "whoiser": "2.0.0-beta.10", "xml2js": "^0.6.2" }, @@ -170,7 +166,11 @@ "@google-cloud/publicca": "^1.3.0", "basic-ftp": "^5.0.5", "esdk-obs-nodejs": "^3.25.6", - "qiniu": "^7.12.0" + "qiniu": "^7.12.0", + "alipay-sdk": "^4.13.0", + "wechatpay-node-v3": "^2.2.1", + "openid-client": "^6.8.1", + "otplib": "^12.0.1" }, "engines": { "node": ">=20.0.0" diff --git a/packages/ui/certd-server/src/modules/suite/payments/alipay.ts b/packages/ui/certd-server/src/modules/suite/payments/alipay.ts index 19cd19eb4..0e17efea0 100644 --- a/packages/ui/certd-server/src/modules/suite/payments/alipay.ts +++ b/packages/ui/certd-server/src/modules/suite/payments/alipay.ts @@ -105,7 +105,7 @@ export class PaymentAlipay implements IPaymentProvider { } private async createAlipaySdk() { - const AlipaySdk = await import("alipay-sdk"); + const AlipaySdk = await this.access.importRuntime("alipay-sdk"); const alipaySdk = new AlipaySdk.AlipaySdk({ appId: this.access.appId, diff --git a/packages/ui/certd-server/src/modules/suite/payments/wxpay.ts b/packages/ui/certd-server/src/modules/suite/payments/wxpay.ts index 727cfbdef..e9dee7834 100644 --- a/packages/ui/certd-server/src/modules/suite/payments/wxpay.ts +++ b/packages/ui/certd-server/src/modules/suite/payments/wxpay.ts @@ -1,7 +1,6 @@ import { IPaymentProvider, TradeEntity, UpdateTrade, UpdateTradeInfo } from "@certd/commercial-core"; -import WxPay from "wechatpay-node-v3"; import dayjs from "dayjs"; -import { logger } from "@certd/basic"; // 支持使用require +import { logger } from "@certd/basic"; import { WxpayAccess } from "../../../plugins/plugin-plus/wxpay/access.js"; export class PaymentWxpay implements IPaymentProvider { access: WxpayAccess; @@ -26,7 +25,7 @@ export class PaymentWxpay implements IPaymentProvider { * } */ - const pay = this.createSdk(); + const pay = await this.createSdk(); const result: any = await pay.query({ out_trade_no: tradeNo }); logger.info(`微信支付查询订单返回:${JSON.stringify(result)}`); @@ -58,7 +57,7 @@ export class PaymentWxpay implements IPaymentProvider { async createOrder(trade: TradeEntity, opts: { bindUrl: string; clientIp: string }) { const notify_url = `${opts.bindUrl}/api/payment/notify/wxpay`; - const pay = this.createSdk(); + const pay = await this.createSdk(); const params = { description: trade.title, @@ -83,7 +82,9 @@ export class PaymentWxpay implements IPaymentProvider { }; } - private createSdk() { + private async createSdk() { + const WxPayLib = await this.access.importRuntime("wechatpay-node-v3"); + const WxPay = WxPayLib.default; const pay = new WxPay({ appid: this.access.appId, mchid: this.access.mchid, @@ -94,7 +95,7 @@ export class PaymentWxpay implements IPaymentProvider { } async onNotify(notifyData: any, updateTrade: UpdateTrade) { - const pay = this.createSdk(); + const pay = await this.createSdk(); const { ciphertext, associated_data, nonce } = notifyData.resource; logger.info(`微信支付notify:${JSON.stringify(notifyData)}`); const key = this.access.key; diff --git a/packages/ui/certd-server/src/plugins/plugin-nginx-proxy-manager/access.ts b/packages/ui/certd-server/src/plugins/plugin-nginx-proxy-manager/access.ts index df212ad79..1d86f6f34 100644 --- a/packages/ui/certd-server/src/plugins/plugin-nginx-proxy-manager/access.ts +++ b/packages/ui/certd-server/src/plugins/plugin-nginx-proxy-manager/access.ts @@ -1,6 +1,5 @@ import { AccessInput, BaseAccess, IsAccess } from "@certd/pipeline"; import FormData from "form-data"; -import { authenticator } from "otplib"; export interface ProxyHost { id: number; @@ -274,6 +273,7 @@ export class NginxProxyManagerAccess extends BaseAccess { let code: string; try { + const { authenticator } = await this.importRuntime("otplib"); code = authenticator.generate(this.totpSecret); } catch (error) { throw this.describeError(error, "Generating TOTP code"); diff --git a/packages/ui/certd-server/src/plugins/plugin-oauth/oidc/plugin-oidc.ts b/packages/ui/certd-server/src/plugins/plugin-oauth/oidc/plugin-oidc.ts index 1af5a922e..40731ba40 100644 --- a/packages/ui/certd-server/src/plugins/plugin-oauth/oidc/plugin-oidc.ts +++ b/packages/ui/certd-server/src/plugins/plugin-oauth/oidc/plugin-oidc.ts @@ -49,7 +49,7 @@ export class OidcOauthProvider extends BaseAddon implements IOauthProvider { issuerUrl = ""; async getClient() { - const client = await import("openid-client"); + const client = await this.importRuntime("openid-client"); const server = new URL(this.issuerUrl); // Authorization Server's Issuer Identifier const config = await client.discovery(server, this.clientId, this.clientSecretKey); From a524988be66502c30216a0c18fd870966f746a16 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 02:32:49 +0800 Subject: [PATCH 03/14] chore: 1 --- .../src/modules/pipeline/service/pipeline-service.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/ui/certd-server/src/modules/pipeline/service/pipeline-service.ts b/packages/ui/certd-server/src/modules/pipeline/service/pipeline-service.ts index 9d69ba5bd..362eff8d8 100644 --- a/packages/ui/certd-server/src/modules/pipeline/service/pipeline-service.ts +++ b/packages/ui/certd-server/src/modules/pipeline/service/pipeline-service.ts @@ -962,7 +962,7 @@ export class PipelineService extends BaseService { return result; } - async batchDelete(ids: number[], userId?: number, projectId?: number) { + async batchDelete(ids: number[], userId?: number, projectId?: number):Promise { if (!isPlus()) { throw new NeedVIPException("此功能需要升级Certd专业版"); } @@ -974,7 +974,9 @@ export class PipelineService extends BaseService { await this.checkUserId(id, projectId, "projectId"); } await this.delete(id); + ids.push(id); } + return ids.length } async batchUpdateGroup(ids: number[], groupId: number, userId: any, projectId?: number) { From 083df61fcc14e297950f228b62fe646708951f78 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 02:33:34 +0800 Subject: [PATCH 04/14] build: prepare to build --- packages/core/basic/build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/basic/build.md b/packages/core/basic/build.md index 179d3280d..bb6eb5c27 100644 --- a/packages/core/basic/build.md +++ b/packages/core/basic/build.md @@ -1 +1 @@ -23:45 +02:33 From d609ee2b7aaae5ecf4b04a1f1150a76a0d93aa0d Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 02:38:49 +0800 Subject: [PATCH 05/14] =?UTF-8?q?chore(base-service):=20=E5=AE=8C=E5=96=84?= =?UTF-8?q?batchDelete=E6=96=B9=E6=B3=95=E7=9A=84=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=B9=B6=E6=B7=BB=E5=8A=A0=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为batchDelete方法添加明确的Promise返回类型,同时返回实际删除的id数量 --- packages/libs/lib-server/src/basic/base-service.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/libs/lib-server/src/basic/base-service.ts b/packages/libs/lib-server/src/basic/base-service.ts index ca83591df..9538c4861 100644 --- a/packages/libs/lib-server/src/basic/base-service.ts +++ b/packages/libs/lib-server/src/basic/base-service.ts @@ -279,7 +279,7 @@ export abstract class BaseService { return item != null && item != ""; }); } - async batchDelete(ids: number[], userId: number, projectId?: number) { + async batchDelete(ids: number[], userId: number, projectId?: number): Promise { ids = this.filterIds(ids); if (userId != null) { const userProjectQuery = this.buildUserProjectQuery(userId, projectId); @@ -295,6 +295,7 @@ export abstract class BaseService { } await this.delete(ids); + return ids.length; } async findOne(options: FindOneOptions) { From 0ce7808e08ab30ab0b4b3629b8668ebac1381909 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 02:39:50 +0800 Subject: [PATCH 06/14] build: prepare to build --- packages/core/basic/build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/basic/build.md b/packages/core/basic/build.md index bb6eb5c27..acf5e0052 100644 --- a/packages/core/basic/build.md +++ b/packages/core/basic/build.md @@ -1 +1 @@ -02:33 +02:39 From 02d30067ea2c9051bd67ef4c5e964b5b5bdbd12a Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 02:44:16 +0800 Subject: [PATCH 07/14] chore: 1 --- .../metadata/deploy_VolcengineDeployToVOD.yaml | 18 ++---------------- .../monitor/service/site-info-service.ts | 3 ++- .../pipeline/service/template-service.ts | 3 ++- 3 files changed, 6 insertions(+), 18 deletions(-) diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToVOD.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToVOD.yaml index c6182cf26..bd7bfde31 100644 --- a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToVOD.yaml +++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToVOD.yaml @@ -96,24 +96,11 @@ input: label: 点播加速域名 - value: image label: 封面加速域名 + - value: third + label: 自定义源站 value: play required: true order: 0 - sourceStationType: - title: 源站类型 - helper: 选择源站类型 - value: 1 - component: - name: a-select - vModel: value - options: - - value: 1 - label: 点播源站 - - value: 2 - label: 自定义源站 - helper: 注意:封面加速域名不支持自定义源站 - required: false - order: 0 domainList: title: 域名 component: @@ -132,7 +119,6 @@ input: - accessId - spaceName - domainType - - sourceStationType required: true mergeScript: |2- diff --git a/packages/ui/certd-server/src/modules/monitor/service/site-info-service.ts b/packages/ui/certd-server/src/modules/monitor/service/site-info-service.ts index d94caec26..39aa49c93 100644 --- a/packages/ui/certd-server/src/modules/monitor/service/site-info-service.ts +++ b/packages/ui/certd-server/src/modules/monitor/service/site-info-service.ts @@ -805,11 +805,12 @@ export class SiteInfoService extends BaseService { }); } - async batchDelete(ids: number[], userId: number, projectId?: number): Promise { + async batchDelete(ids: number[], userId: number, projectId?: number): Promise { const userProjectQuery = this.buildUserProjectQuery(userId, projectId); await this.repository.delete({ id: In(ids), ...userProjectQuery, }); + return ids.length; } } diff --git a/packages/ui/certd-server/src/modules/pipeline/service/template-service.ts b/packages/ui/certd-server/src/modules/pipeline/service/template-service.ts index b4db0ce0b..ade3e691a 100644 --- a/packages/ui/certd-server/src/modules/pipeline/service/template-service.ts +++ b/packages/ui/certd-server/src/modules/pipeline/service/template-service.ts @@ -87,7 +87,7 @@ export class TemplateService extends BaseService { }; } - async batchDelete(ids: number[], userId: number, projectId?: number) { + async batchDelete(ids: number[], userId: number, projectId?: number): Promise { const where: any = { id: In(ids), }; @@ -102,6 +102,7 @@ export class TemplateService extends BaseService { const pipelineIds = list.map(item => item.pipelineId); await this.delete(ids); await this.pipelineService.batchDelete(pipelineIds, userId, projectId); + return ids.length; } async createPipelineByTemplate(body: PipelineEntity) { From 20ffe3163843533c778df5b61b93c55dbde79c77 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 02:45:04 +0800 Subject: [PATCH 08/14] build: prepare to build --- packages/core/basic/build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/basic/build.md b/packages/core/basic/build.md index acf5e0052..376926ba0 100644 --- a/packages/core/basic/build.md +++ b/packages/core/basic/build.md @@ -1 +1 @@ -02:39 +02:45 From 268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 02:47:26 +0800 Subject: [PATCH 09/14] v1.42.4 --- CHANGELOG.md | 8 ++++++ lerna.json | 2 +- packages/core/acme-client/CHANGELOG.md | 4 +++ packages/core/acme-client/package.json | 4 +-- packages/core/basic/CHANGELOG.md | 4 +++ packages/core/basic/package.json | 2 +- packages/core/pipeline/CHANGELOG.md | 6 +++++ packages/core/pipeline/package.json | 6 ++--- packages/libs/lib-huawei/CHANGELOG.md | 4 +++ packages/libs/lib-huawei/package.json | 2 +- packages/libs/lib-iframe/CHANGELOG.md | 4 +++ packages/libs/lib-iframe/package.json | 2 +- packages/libs/lib-jdcloud/CHANGELOG.md | 4 +++ packages/libs/lib-jdcloud/package.json | 2 +- packages/libs/lib-k8s/CHANGELOG.md | 4 +++ packages/libs/lib-k8s/package.json | 4 +-- packages/libs/lib-server/CHANGELOG.md | 6 +++++ packages/libs/lib-server/package.json | 12 ++++----- packages/libs/midway-flyway-js/CHANGELOG.md | 4 +++ packages/libs/midway-flyway-js/package.json | 2 +- packages/plugins/plugin-cert/CHANGELOG.md | 4 +++ packages/plugins/plugin-cert/package.json | 4 +-- packages/plugins/plugin-lib/CHANGELOG.md | 6 +++++ packages/plugins/plugin-lib/package.json | 8 +++--- packages/ui/certd-client/CHANGELOG.md | 4 +++ packages/ui/certd-client/package.json | 6 ++--- packages/ui/certd-server/CHANGELOG.md | 8 ++++++ packages/ui/certd-server/package.json | 28 ++++++++++----------- 28 files changed, 112 insertions(+), 42 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4be9e74f..eb638d909 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +### Bug Fixes + +* 修复火山引擎查不到自定义源站域名的问题 ([02dabe1](https://github.com/certd/certd/commit/02dabe11db3e9b13ca4621ce9ddd2b808bfca390)) +* 修复火山引擎自定义源站域名查询不到的问题 ([e44bf9d](https://github.com/certd/certd/commit/e44bf9d77375d48ac7fd1582e69fae02dfd248fa)) +* **pipeline:** 重构运行时依赖加载逻辑,修复火山引擎DNS解析报runtimeDepsService未初始化的bug ([ec69b8f](https://github.com/certd/certd/commit/ec69b8f11bfd4b20991aef74a72a47182ca79a9d)) + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) ### Bug Fixes diff --git a/lerna.json b/lerna.json index 5a54607e4..12ec730e2 100644 --- a/lerna.json +++ b/lerna.json @@ -9,5 +9,5 @@ } }, "npmClient": "pnpm", - "version": "1.42.3" + "version": "1.42.4" } diff --git a/packages/core/acme-client/CHANGELOG.md b/packages/core/acme-client/CHANGELOG.md index 8c6fdf289..8b01a4871 100644 --- a/packages/core/acme-client/CHANGELOG.md +++ b/packages/core/acme-client/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/publishlab/node-acme-client/compare/v1.42.3...v1.42.4) (2026-07-11) + +**Note:** Version bump only for package @certd/acme-client + ## [1.42.3](https://github.com/publishlab/node-acme-client/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/acme-client diff --git a/packages/core/acme-client/package.json b/packages/core/acme-client/package.json index 4f06ec90e..a9bf13b00 100644 --- a/packages/core/acme-client/package.json +++ b/packages/core/acme-client/package.json @@ -3,7 +3,7 @@ "description": "Simple and unopinionated ACME client", "private": false, "author": "nmorsman", - "version": "1.42.3", + "version": "1.42.4", "type": "module", "module": "./dist/index.js", "main": "./dist/index.js", @@ -18,7 +18,7 @@ "types" ], "dependencies": { - "@certd/basic": "^1.42.3", + "@certd/basic": "^1.42.4", "@peculiar/x509": "^1.11.0", "asn1js": "^3.0.5", "axios": "^1.9.0", diff --git a/packages/core/basic/CHANGELOG.md b/packages/core/basic/CHANGELOG.md index 94a7361c4..802c41db0 100644 --- a/packages/core/basic/CHANGELOG.md +++ b/packages/core/basic/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +**Note:** Version bump only for package @certd/basic + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/basic diff --git a/packages/core/basic/package.json b/packages/core/basic/package.json index fae4a9342..0048b9978 100644 --- a/packages/core/basic/package.json +++ b/packages/core/basic/package.json @@ -1,7 +1,7 @@ { "name": "@certd/basic", "private": false, - "version": "1.42.3", + "version": "1.42.4", "type": "module", "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/core/pipeline/CHANGELOG.md b/packages/core/pipeline/CHANGELOG.md index c99fa5612..09aa981e2 100644 --- a/packages/core/pipeline/CHANGELOG.md +++ b/packages/core/pipeline/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +### Bug Fixes + +* **pipeline:** 重构运行时依赖加载逻辑,修复火山引擎DNS解析报runtimeDepsService未初始化的bug ([ec69b8f](https://github.com/certd/certd/commit/ec69b8f11bfd4b20991aef74a72a47182ca79a9d)) + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/pipeline diff --git a/packages/core/pipeline/package.json b/packages/core/pipeline/package.json index ed14813d9..8118e299f 100644 --- a/packages/core/pipeline/package.json +++ b/packages/core/pipeline/package.json @@ -1,7 +1,7 @@ { "name": "@certd/pipeline", "private": false, - "version": "1.42.3", + "version": "1.42.4", "type": "module", "main": "./dist/index.js", "module": "./dist/index.js", @@ -21,8 +21,8 @@ "lint": "eslint --fix" }, "dependencies": { - "@certd/basic": "^1.42.3", - "@certd/plus-core": "^1.42.3", + "@certd/basic": "^1.42.4", + "@certd/plus-core": "^1.42.4", "dayjs": "^1.11.7", "lodash-es": "^4.17.21", "reflect-metadata": "^0.2.2" diff --git a/packages/libs/lib-huawei/CHANGELOG.md b/packages/libs/lib-huawei/CHANGELOG.md index a201dfc75..83f932c7e 100644 --- a/packages/libs/lib-huawei/CHANGELOG.md +++ b/packages/libs/lib-huawei/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +**Note:** Version bump only for package @certd/lib-huawei + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/lib-huawei diff --git a/packages/libs/lib-huawei/package.json b/packages/libs/lib-huawei/package.json index 8af4da08a..4e4421b05 100644 --- a/packages/libs/lib-huawei/package.json +++ b/packages/libs/lib-huawei/package.json @@ -1,7 +1,7 @@ { "name": "@certd/lib-huawei", "private": false, - "version": "1.42.3", + "version": "1.42.4", "main": "./dist/bundle.js", "module": "./dist/bundle.js", "types": "./dist/d/index.d.ts", diff --git a/packages/libs/lib-iframe/CHANGELOG.md b/packages/libs/lib-iframe/CHANGELOG.md index 28926719b..31324ea78 100644 --- a/packages/libs/lib-iframe/CHANGELOG.md +++ b/packages/libs/lib-iframe/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +**Note:** Version bump only for package @certd/lib-iframe + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/lib-iframe diff --git a/packages/libs/lib-iframe/package.json b/packages/libs/lib-iframe/package.json index 173f0b394..d63c2d935 100644 --- a/packages/libs/lib-iframe/package.json +++ b/packages/libs/lib-iframe/package.json @@ -1,7 +1,7 @@ { "name": "@certd/lib-iframe", "private": false, - "version": "1.42.3", + "version": "1.42.4", "type": "module", "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/libs/lib-jdcloud/CHANGELOG.md b/packages/libs/lib-jdcloud/CHANGELOG.md index daf6e94a1..f2fe238bf 100644 --- a/packages/libs/lib-jdcloud/CHANGELOG.md +++ b/packages/libs/lib-jdcloud/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +**Note:** Version bump only for package @certd/jdcloud + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/jdcloud diff --git a/packages/libs/lib-jdcloud/package.json b/packages/libs/lib-jdcloud/package.json index fdc7a76d9..45940e080 100644 --- a/packages/libs/lib-jdcloud/package.json +++ b/packages/libs/lib-jdcloud/package.json @@ -1,6 +1,6 @@ { "name": "@certd/jdcloud", - "version": "1.42.3", + "version": "1.42.4", "description": "jdcloud openApi sdk", "main": "./dist/bundle.js", "module": "./dist/bundle.js", diff --git a/packages/libs/lib-k8s/CHANGELOG.md b/packages/libs/lib-k8s/CHANGELOG.md index a2f1eccae..7fe0455e0 100644 --- a/packages/libs/lib-k8s/CHANGELOG.md +++ b/packages/libs/lib-k8s/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +**Note:** Version bump only for package @certd/lib-k8s + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/lib-k8s diff --git a/packages/libs/lib-k8s/package.json b/packages/libs/lib-k8s/package.json index 808b2b23d..c746c6517 100644 --- a/packages/libs/lib-k8s/package.json +++ b/packages/libs/lib-k8s/package.json @@ -1,7 +1,7 @@ { "name": "@certd/lib-k8s", "private": false, - "version": "1.42.3", + "version": "1.42.4", "type": "module", "main": "./dist/index.js", "module": "./dist/index.js", @@ -21,7 +21,7 @@ "lint": "eslint --fix" }, "dependencies": { - "@certd/basic": "^1.42.3", + "@certd/basic": "^1.42.4", "@kubernetes/client-node": "0.21.0" }, "devDependencies": { diff --git a/packages/libs/lib-server/CHANGELOG.md b/packages/libs/lib-server/CHANGELOG.md index 4c720e170..8eacd7fc9 100644 --- a/packages/libs/lib-server/CHANGELOG.md +++ b/packages/libs/lib-server/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +### Bug Fixes + +* **pipeline:** 重构运行时依赖加载逻辑,修复火山引擎DNS解析报runtimeDepsService未初始化的bug ([ec69b8f](https://github.com/certd/certd/commit/ec69b8f11bfd4b20991aef74a72a47182ca79a9d)) + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/lib-server diff --git a/packages/libs/lib-server/package.json b/packages/libs/lib-server/package.json index fac990758..7ad7a9226 100644 --- a/packages/libs/lib-server/package.json +++ b/packages/libs/lib-server/package.json @@ -1,6 +1,6 @@ { "name": "@certd/lib-server", - "version": "1.42.3", + "version": "1.42.4", "description": "midway with flyway, sql upgrade way ", "private": false, "type": "module", @@ -29,11 +29,11 @@ ], "license": "AGPL", "dependencies": { - "@certd/acme-client": "^1.42.3", - "@certd/basic": "^1.42.3", - "@certd/pipeline": "^1.42.3", - "@certd/plugin-lib": "^1.42.3", - "@certd/plus-core": "^1.42.3", + "@certd/acme-client": "^1.42.4", + "@certd/basic": "^1.42.4", + "@certd/pipeline": "^1.42.4", + "@certd/plugin-lib": "^1.42.4", + "@certd/plus-core": "^1.42.4", "@midwayjs/cache": "3.14.0", "@midwayjs/core": "3.20.11", "@midwayjs/i18n": "3.20.13", diff --git a/packages/libs/midway-flyway-js/CHANGELOG.md b/packages/libs/midway-flyway-js/CHANGELOG.md index d47e33278..4387d3279 100644 --- a/packages/libs/midway-flyway-js/CHANGELOG.md +++ b/packages/libs/midway-flyway-js/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +**Note:** Version bump only for package @certd/midway-flyway-js + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/midway-flyway-js diff --git a/packages/libs/midway-flyway-js/package.json b/packages/libs/midway-flyway-js/package.json index d88ec6a84..aabd9c42d 100644 --- a/packages/libs/midway-flyway-js/package.json +++ b/packages/libs/midway-flyway-js/package.json @@ -1,6 +1,6 @@ { "name": "@certd/midway-flyway-js", - "version": "1.42.3", + "version": "1.42.4", "description": "midway with flyway, sql upgrade way ", "private": false, "type": "module", diff --git a/packages/plugins/plugin-cert/CHANGELOG.md b/packages/plugins/plugin-cert/CHANGELOG.md index c4d7b7296..883cd55a5 100644 --- a/packages/plugins/plugin-cert/CHANGELOG.md +++ b/packages/plugins/plugin-cert/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +**Note:** Version bump only for package @certd/plugin-cert + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/plugin-cert diff --git a/packages/plugins/plugin-cert/package.json b/packages/plugins/plugin-cert/package.json index e8ae001df..df75538f2 100644 --- a/packages/plugins/plugin-cert/package.json +++ b/packages/plugins/plugin-cert/package.json @@ -1,7 +1,7 @@ { "name": "@certd/plugin-cert", "private": false, - "version": "1.42.3", + "version": "1.42.4", "type": "module", "main": "./dist/index.js", "types": "./dist/index.d.ts", @@ -20,7 +20,7 @@ "lint": "eslint --fix" }, "dependencies": { - "@certd/plugin-lib": "^1.42.3" + "@certd/plugin-lib": "^1.42.4" }, "devDependencies": { "@types/chai": "^4.3.12", diff --git a/packages/plugins/plugin-lib/CHANGELOG.md b/packages/plugins/plugin-lib/CHANGELOG.md index 07a2f7a48..cc90f9688 100644 --- a/packages/plugins/plugin-lib/CHANGELOG.md +++ b/packages/plugins/plugin-lib/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +### Bug Fixes + +* **pipeline:** 重构运行时依赖加载逻辑,修复火山引擎DNS解析报runtimeDepsService未初始化的bug ([ec69b8f](https://github.com/certd/certd/commit/ec69b8f11bfd4b20991aef74a72a47182ca79a9d)) + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/plugin-lib diff --git a/packages/plugins/plugin-lib/package.json b/packages/plugins/plugin-lib/package.json index 9391739c6..102d486d0 100644 --- a/packages/plugins/plugin-lib/package.json +++ b/packages/plugins/plugin-lib/package.json @@ -1,7 +1,7 @@ { "name": "@certd/plugin-lib", "private": false, - "version": "1.42.3", + "version": "1.42.4", "type": "module", "main": "./dist/index.js", "types": "./dist/index.d.ts", @@ -17,9 +17,9 @@ "lint": "eslint --fix" }, "dependencies": { - "@certd/acme-client": "^1.42.3", - "@certd/basic": "^1.42.3", - "@certd/pipeline": "^1.42.3", + "@certd/acme-client": "^1.42.4", + "@certd/basic": "^1.42.4", + "@certd/pipeline": "^1.42.4", "dayjs": "^1.11.7", "jszip": "^3.10.1", "lodash-es": "^4.17.21", diff --git a/packages/ui/certd-client/CHANGELOG.md b/packages/ui/certd-client/CHANGELOG.md index df6859ac8..55cf22b64 100644 --- a/packages/ui/certd-client/CHANGELOG.md +++ b/packages/ui/certd-client/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +**Note:** Version bump only for package @certd/ui-client + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) **Note:** Version bump only for package @certd/ui-client diff --git a/packages/ui/certd-client/package.json b/packages/ui/certd-client/package.json index f814dae6a..15a72f3d5 100644 --- a/packages/ui/certd-client/package.json +++ b/packages/ui/certd-client/package.json @@ -1,6 +1,6 @@ { "name": "@certd/ui-client", - "version": "1.42.3", + "version": "1.42.4", "private": true, "scripts": { "dev": "vite --open", @@ -105,8 +105,8 @@ "zod-defaults": "^0.1.3" }, "devDependencies": { - "@certd/lib-iframe": "^1.42.3", - "@certd/pipeline": "^1.42.3", + "@certd/lib-iframe": "^1.42.4", + "@certd/pipeline": "^1.42.4", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-node-resolve": "^15.2.3", "@types/chai": "^4.3.12", diff --git a/packages/ui/certd-server/CHANGELOG.md b/packages/ui/certd-server/CHANGELOG.md index 36a79bc81..a3c9b79a1 100644 --- a/packages/ui/certd-server/CHANGELOG.md +++ b/packages/ui/certd-server/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +### Bug Fixes + +* 修复火山引擎查不到自定义源站域名的问题 ([02dabe1](https://github.com/certd/certd/commit/02dabe11db3e9b13ca4621ce9ddd2b808bfca390)) +* 修复火山引擎自定义源站域名查询不到的问题 ([e44bf9d](https://github.com/certd/certd/commit/e44bf9d77375d48ac7fd1582e69fae02dfd248fa)) +* **pipeline:** 重构运行时依赖加载逻辑,修复火山引擎DNS解析报runtimeDepsService未初始化的bug ([ec69b8f](https://github.com/certd/certd/commit/ec69b8f11bfd4b20991aef74a72a47182ca79a9d)) + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) ### Bug Fixes diff --git a/packages/ui/certd-server/package.json b/packages/ui/certd-server/package.json index 9cdd47f2a..a9bc7b9fb 100644 --- a/packages/ui/certd-server/package.json +++ b/packages/ui/certd-server/package.json @@ -1,6 +1,6 @@ { "name": "@certd/ui-server", - "version": "1.42.3", + "version": "1.42.4", "description": "fast-server base midway", "private": true, "type": "module", @@ -41,20 +41,20 @@ "lint1": "eslint --fix" }, "dependencies": { - "@certd/acme-client": "^1.42.3", - "@certd/basic": "^1.42.3", - "@certd/commercial-core": "^1.42.3", + "@certd/acme-client": "^1.42.4", + "@certd/basic": "^1.42.4", + "@certd/commercial-core": "^1.42.4", "@certd/cv4pve-api-javascript": "^8.4.2", - "@certd/jdcloud": "^1.42.3", - "@certd/lib-huawei": "^1.42.3", - "@certd/lib-k8s": "^1.42.3", - "@certd/lib-server": "^1.42.3", - "@certd/midway-flyway-js": "^1.42.3", - "@certd/pipeline": "^1.42.3", - "@certd/plugin-cert": "^1.42.3", - "@certd/plugin-lib": "^1.42.3", - "@certd/plugin-plus": "^1.42.3", - "@certd/plus-core": "^1.42.3", + "@certd/jdcloud": "^1.42.4", + "@certd/lib-huawei": "^1.42.4", + "@certd/lib-k8s": "^1.42.4", + "@certd/lib-server": "^1.42.4", + "@certd/midway-flyway-js": "^1.42.4", + "@certd/pipeline": "^1.42.4", + "@certd/plugin-cert": "^1.42.4", + "@certd/plugin-lib": "^1.42.4", + "@certd/plugin-plus": "^1.42.4", + "@certd/plus-core": "^1.42.4", "@koa/cors": "^5.0.0", "@midwayjs/bootstrap": "3.20.11", "@midwayjs/cache": "3.14.0", From 5fc1d558790c05752961abcead116fcd84028db8 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 02:48:22 +0800 Subject: [PATCH 10/14] build: trigger build image --- trigger/build.trigger | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trigger/build.trigger b/trigger/build.trigger index 78c144b10..f8e0bc578 100644 --- a/trigger/build.trigger +++ b/trigger/build.trigger @@ -1 +1 @@ -23:48 +02:48 From 432c9c6cc19aba3dacaae0e1767289f631a0f64b Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 02:48:34 +0800 Subject: [PATCH 11/14] build: publish --- docs/guide/changelogs/CHANGELOG.md | 8 ++++++++ packages/core/acme-client/package.json | 2 +- packages/core/basic/package.json | 2 +- packages/core/pipeline/package.json | 2 +- packages/libs/lib-huawei/package.json | 2 +- packages/libs/lib-iframe/package.json | 2 +- packages/libs/lib-jdcloud/package.json | 2 +- packages/libs/lib-k8s/package.json | 2 +- packages/libs/lib-server/package.json | 2 +- packages/libs/midway-flyway-js/package.json | 2 +- packages/plugins/plugin-cert/package.json | 2 +- packages/plugins/plugin-lib/package.json | 2 +- 12 files changed, 19 insertions(+), 11 deletions(-) diff --git a/docs/guide/changelogs/CHANGELOG.md b/docs/guide/changelogs/CHANGELOG.md index f4be9e74f..eb638d909 100644 --- a/docs/guide/changelogs/CHANGELOG.md +++ b/docs/guide/changelogs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.42.4](https://github.com/certd/certd/compare/v1.42.3...v1.42.4) (2026-07-11) + +### Bug Fixes + +* 修复火山引擎查不到自定义源站域名的问题 ([02dabe1](https://github.com/certd/certd/commit/02dabe11db3e9b13ca4621ce9ddd2b808bfca390)) +* 修复火山引擎自定义源站域名查询不到的问题 ([e44bf9d](https://github.com/certd/certd/commit/e44bf9d77375d48ac7fd1582e69fae02dfd248fa)) +* **pipeline:** 重构运行时依赖加载逻辑,修复火山引擎DNS解析报runtimeDepsService未初始化的bug ([ec69b8f](https://github.com/certd/certd/commit/ec69b8f11bfd4b20991aef74a72a47182ca79a9d)) + ## [1.42.3](https://github.com/certd/certd/compare/v1.42.2...v1.42.3) (2026-07-08) ### Bug Fixes diff --git a/packages/core/acme-client/package.json b/packages/core/acme-client/package.json index a9bf13b00..c1fa8a21a 100644 --- a/packages/core/acme-client/package.json +++ b/packages/core/acme-client/package.json @@ -75,5 +75,5 @@ "bugs": { "url": "https://github.com/publishlab/node-acme-client/issues" }, - "gitHead": "a6ef6996c3a68ce0c2a4577a0934ed74a53f0515" + "gitHead": "268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7" } diff --git a/packages/core/basic/package.json b/packages/core/basic/package.json index 0048b9978..8c7e91941 100644 --- a/packages/core/basic/package.json +++ b/packages/core/basic/package.json @@ -54,5 +54,5 @@ "tslib": "^2.8.1", "typescript": "^5.4.2" }, - "gitHead": "a6ef6996c3a68ce0c2a4577a0934ed74a53f0515" + "gitHead": "268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7" } diff --git a/packages/core/pipeline/package.json b/packages/core/pipeline/package.json index 8118e299f..218b20c3e 100644 --- a/packages/core/pipeline/package.json +++ b/packages/core/pipeline/package.json @@ -51,5 +51,5 @@ "tslib": "^2.8.1", "typescript": "^5.4.2" }, - "gitHead": "a6ef6996c3a68ce0c2a4577a0934ed74a53f0515" + "gitHead": "268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7" } diff --git a/packages/libs/lib-huawei/package.json b/packages/libs/lib-huawei/package.json index 4e4421b05..5ece06357 100644 --- a/packages/libs/lib-huawei/package.json +++ b/packages/libs/lib-huawei/package.json @@ -30,5 +30,5 @@ "prettier": "3.3.3", "tslib": "^2.8.1" }, - "gitHead": "a6ef6996c3a68ce0c2a4577a0934ed74a53f0515" + "gitHead": "268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7" } diff --git a/packages/libs/lib-iframe/package.json b/packages/libs/lib-iframe/package.json index d63c2d935..1b033f740 100644 --- a/packages/libs/lib-iframe/package.json +++ b/packages/libs/lib-iframe/package.json @@ -37,5 +37,5 @@ "tslib": "^2.8.1", "typescript": "^5.4.2" }, - "gitHead": "a6ef6996c3a68ce0c2a4577a0934ed74a53f0515" + "gitHead": "268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7" } diff --git a/packages/libs/lib-jdcloud/package.json b/packages/libs/lib-jdcloud/package.json index 45940e080..12ecab32b 100644 --- a/packages/libs/lib-jdcloud/package.json +++ b/packages/libs/lib-jdcloud/package.json @@ -62,5 +62,5 @@ "fetch" ] }, - "gitHead": "a6ef6996c3a68ce0c2a4577a0934ed74a53f0515" + "gitHead": "268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7" } diff --git a/packages/libs/lib-k8s/package.json b/packages/libs/lib-k8s/package.json index c746c6517..884c0e94c 100644 --- a/packages/libs/lib-k8s/package.json +++ b/packages/libs/lib-k8s/package.json @@ -38,5 +38,5 @@ "tslib": "^2.8.1", "typescript": "^5.4.2" }, - "gitHead": "a6ef6996c3a68ce0c2a4577a0934ed74a53f0515" + "gitHead": "268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7" } diff --git a/packages/libs/lib-server/package.json b/packages/libs/lib-server/package.json index 7ad7a9226..cf5d3a727 100644 --- a/packages/libs/lib-server/package.json +++ b/packages/libs/lib-server/package.json @@ -69,5 +69,5 @@ "typeorm": "^0.3.20", "typescript": "^5.4.2" }, - "gitHead": "a6ef6996c3a68ce0c2a4577a0934ed74a53f0515" + "gitHead": "268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7" } diff --git a/packages/libs/midway-flyway-js/package.json b/packages/libs/midway-flyway-js/package.json index aabd9c42d..625be1329 100644 --- a/packages/libs/midway-flyway-js/package.json +++ b/packages/libs/midway-flyway-js/package.json @@ -52,5 +52,5 @@ "typeorm": "^0.3.20", "typescript": "^5.4.2" }, - "gitHead": "a6ef6996c3a68ce0c2a4577a0934ed74a53f0515" + "gitHead": "268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7" } diff --git a/packages/plugins/plugin-cert/package.json b/packages/plugins/plugin-cert/package.json index df75538f2..d8e14ad92 100644 --- a/packages/plugins/plugin-cert/package.json +++ b/packages/plugins/plugin-cert/package.json @@ -38,5 +38,5 @@ "tslib": "^2.8.1", "typescript": "^5.4.2" }, - "gitHead": "a6ef6996c3a68ce0c2a4577a0934ed74a53f0515" + "gitHead": "268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7" } diff --git a/packages/plugins/plugin-lib/package.json b/packages/plugins/plugin-lib/package.json index 102d486d0..a01889b31 100644 --- a/packages/plugins/plugin-lib/package.json +++ b/packages/plugins/plugin-lib/package.json @@ -45,5 +45,5 @@ "tslib": "^2.8.1", "typescript": "^5.4.2" }, - "gitHead": "a6ef6996c3a68ce0c2a4577a0934ed74a53f0515" + "gitHead": "268cd6cc9cb4f1f3d5d5d77859a82f18f0cb6db7" } From fe09e75b800ded5ad46fd7d705752f73720c627b Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 03:10:52 +0800 Subject: [PATCH 12/14] =?UTF-8?q?refactor(nginx-proxy-manager):=20?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E7=9B=B4=E6=8E=A5=E5=8A=A8=E6=80=81=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E4=B8=BA=E8=BF=90=E8=A1=8C=E6=97=B6=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将插件中直接使用的动态导入改为通过runtimeDepsService统一处理,同时重构导入方式为runtimeImport变量,移除冗余的form-data和otplib直接导入,统一导入逻辑 --- .../modules/mine/service/two-factor-service.ts | 9 ++++++--- .../nginxProxyManager.yaml | 15 +++++++++------ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/packages/ui/certd-server/src/modules/mine/service/two-factor-service.ts b/packages/ui/certd-server/src/modules/mine/service/two-factor-service.ts index 1e0a7f764..8075afc62 100644 --- a/packages/ui/certd-server/src/modules/mine/service/two-factor-service.ts +++ b/packages/ui/certd-server/src/modules/mine/service/two-factor-service.ts @@ -2,6 +2,7 @@ import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core"; import { UserSettingsService } from "./user-settings-service.js"; import { UserTwoFactorSetting } from "./models.js"; import { UserService } from "../../sys/authority/service/user-service.js"; +import { RuntimeDepsService } from "../../runtime-deps/runtime-deps-service.js"; /** * 授权 @@ -13,13 +14,15 @@ export class TwoFactorService { userSettingsService: UserSettingsService; @Inject() userService: UserService; + @Inject() + runtimeDepsService: RuntimeDepsService; async getAuthenticatorQrCode(userId: any) { const setting = await this.getSetting(userId); const authenticatorSetting = setting.authenticator; if (!authenticatorSetting.secret) { - const { authenticator } = await import("otplib"); + const { authenticator } = await this.runtimeDepsService.importRuntime("otplib"); authenticatorSetting.secret = authenticator.generateSecret(); await this.userSettingsService.saveSetting(userId, null, setting); @@ -38,7 +41,7 @@ export class TwoFactorService { async saveAuthenticator(req: { userId: any; verifyCode: any }) { const userId = req.userId; - const { authenticator } = await import("otplib"); + const { authenticator } = await this.runtimeDepsService.importRuntime("otplib"); const setting = await this.getSetting(userId); const authenticatorSetting = setting.authenticator; @@ -77,7 +80,7 @@ export class TwoFactorService { } async verifyAuthenticatorCode(userId: any, verifyCode: string) { - const { authenticator } = await import("otplib"); + const { authenticator } = await this.runtimeDepsService.importRuntime("otplib"); const setting = await this.getSetting(userId); if (!setting.authenticator.enabled) { throw new Error("authenticator 未开启"); diff --git a/packages/ui/certd-server/src/plugins/plugin-nginx-proxy-manager/nginxProxyManager.yaml b/packages/ui/certd-server/src/plugins/plugin-nginx-proxy-manager/nginxProxyManager.yaml index f9398a200..59932d6df 100644 --- a/packages/ui/certd-server/src/plugins/plugin-nginx-proxy-manager/nginxProxyManager.yaml +++ b/packages/ui/certd-server/src/plugins/plugin-nginx-proxy-manager/nginxProxyManager.yaml @@ -57,12 +57,12 @@ input: action: TestRequest helper: 测试登录并拉取代理主机列表。 content: | - const { BaseAccess } = await import("@certd/pipeline"); - const httpsModule = await import("node:https"); - const { URL } = await import("node:url"); - const axiosModule = await import("axios"); - const formDataModule = await import("form-data"); - const { authenticator } = await import("otplib"); + const runtimeImport = import; + const { BaseAccess } = await runtimeImport("@certd/pipeline"); + const httpsModule = await runtimeImport("node:https"); + const { URL } = await runtimeImport("node:url"); + const axiosModule = await runtimeImport("axios"); + const formDataModule = await runtimeImport("form-data"); const https = httpsModule.default ?? httpsModule; const axios = axiosModule.default ?? axiosModule; @@ -114,6 +114,7 @@ content: | class NginxProxyManagerClient { constructor(options) { this.options = options; + this.importFn = options.importFn; this.endpoint = normalizeEndpoint(options.endpoint); this.apiBaseUrl = `${this.endpoint}/api`; this.token = undefined; @@ -267,6 +268,7 @@ content: | let code; try { + const { authenticator } = await this.importFn("otplib"); code = authenticator.generate(this.options.totpSecret); } catch (error) { throw describeError(error, "Generating TOTP code"); @@ -327,6 +329,7 @@ content: | password: this.password, totpSecret: this.totpSecret || undefined, ignoreTls: this.ignoreTls === true, + importFn: this.importRuntime.bind(this), }); } From 2312c444efd47b3eb5ea365c73934151ca621384 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 03:36:09 +0800 Subject: [PATCH 13/14] build: release --- trigger/release.trigger | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trigger/release.trigger b/trigger/release.trigger index e4dc5b58d..aa00dfc21 100644 --- a/trigger/release.trigger +++ b/trigger/release.trigger @@ -1 +1 @@ -00:00 +03:36 From 584b7b6f45f3239756562f30a52f2279aae2c748 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 12 Jul 2026 03:41:59 +0800 Subject: [PATCH 14/14] build: release --- trigger/release.trigger | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trigger/release.trigger b/trigger/release.trigger index aa00dfc21..4c82fa5e8 100644 --- a/trigger/release.trigger +++ b/trigger/release.trigger @@ -1 +1 @@ -03:36 +03:41