Add publish dry-run mode with request logging
This commit is contained in:
@@ -138,3 +138,14 @@
|
||||
- 通过 tRPC subscription 推送进度更新
|
||||
6. **任一请求失败则取消当前平台的后续所有任务**,不影响另一个平台
|
||||
7. 全部完成或失败后,弹出结果 Modal 显示最终状态(成功数 / 失败数)
|
||||
|
||||
## Dry-run(模拟发布)
|
||||
|
||||
在 `.env.local` 中设置 `PUBLISH_DRY_RUN=1` 后重启开发服务器,发布流程进入模拟模式:
|
||||
|
||||
- 配置解析、版本范围计算、文件读取、multipart 请求组装全部照常执行;
|
||||
- 两个平台的上传请求在 `ModrinthClient.post` / `CurseForgeClient.uploadPost` 内被拦截,**不会发生任何实际上传**;
|
||||
- 每次拦截会把完整请求摘要(metadata JSON、各文件字段名/大小)打印到终端,并追加写入日志文件供人工核对,路径见终端输出;可用环境变量 `PUBLISH_DRY_RUN_LOG_DIR` 指定日志目录,默认为系统临时目录;
|
||||
- 平台返回伪造响应以维持调用链类型校验(Modrinth 为 `{ name: "(dry-run)", ... }`,CurseForge 为 `{ id: 0 }`),并带 1.5 秒模拟延迟,让前端进度条逐个推进。
|
||||
|
||||
实现位置:`src/lib/utils/dryRun.ts`。
|
||||
|
||||
Reference in New Issue
Block a user