Skip to content

Commit 8ca75ac

Browse files
authored
Merge pull request #61 from DogeLakeDev/cursor/bc-86b6eaa4-24c0-4632-87dd-c8ce6f7cabd9-ca9f
fix(pack-update): DRY/OCP/DIP 收敛 CF 源编排(审查 005fa99)
2 parents 424b9f4 + c158bad commit 8ca75ac

16 files changed

Lines changed: 244 additions & 488 deletions

File tree

‎bds-tools/package.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@
5959
},
6060
"dependencies": {
6161
"@sfmc-bds/sdk": "^0.1.0",
62-
"cli-progress": "^3.12.0",
6362
"jszip": "^3.10.1",
6463
"node-html-parser": "^9.0.0"
6564
},

‎bds-tools/src/check-update.ts‎

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
createLogger,
1515
createStdoutSink,
1616
createTerminalProgress,
17+
formatDownloadSpeed,
1718
} from "@sfmc-bds/sdk/logs";
1819
import fs from "node:fs";
1920
import os from "node:os";
@@ -317,12 +318,7 @@ export async function runUpdate(): Promise<number> {
317318
const timeDelta = (now - lastTime) / 1000; // 秒
318319
const bytesDelta = dl - lastLoaded;
319320
const speed = timeDelta > 0 ? bytesDelta / timeDelta : 0;
320-
const speedStr =
321-
speed > 1024 * 1024
322-
? `${(speed / 1024 / 1024).toFixed(1)} MB/s`
323-
: speed > 1024
324-
? `${(speed / 1024).toFixed(1)} KB/s`
325-
: `${speed.toFixed(0)} B/s`;
321+
const speedStr = formatDownloadSpeed(speed);
326322
const totalMb = total > 0 ? total / (1024 * 1024) : 0;
327323
const dlMb = dl / (1024 * 1024);
328324
const pct = total > 0 ? (dl / total) * 100 : 0;

‎bds-tools/src/pack-manager.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* 的一部分内嵌起来,而 SEA 是个单 exe (除 Node 内置 + bds-tools 已有依赖外)。
1313
*
1414
* 已有依赖 (bds-tools/package.json):
15-
* - cli-progress: 进度条
15+
* - @sfmc-bds/sdk/logs createTerminalProgress: 进度条(BDS 更新等)
1616
* - node-html-parser: changelog 抓取 (本文件用不到)
1717
* - jszip: zip 解压(模块 zip / BDS server.zip),与 sfmc/wizard 共享同一个库
1818
*

‎configs-default/pack-update.json‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
"pageSize": 10,
1717
"preferredReleaseTypes": ["release", "beta", "alpha"],
1818
"match": {
19-
"byUuidInArchive": true,
20-
"byName": true,
2119
"nameMinScore": 0.6,
2220
"stripFolderTags": true
2321
}

‎docs/guide/pack-update.md‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,6 @@ flowchart TD
9999
"pageSize": 10,
100100
"preferredReleaseTypes": ["release", "beta", "alpha"],
101101
"match": {
102-
"byUuidInArchive": true,
103-
"byName": true,
104102
"nameMinScore": 0.6,
105103
"stripFolderTags": true
106104
}
@@ -129,6 +127,7 @@ flowchart TD
129127
| `baseUrl` | 官方 Core API:getMod / files / download-url。 |
130128
| `searchBaseUrl` | 搜索镜像;官方 search 403 时回退。 |
131129
| `nameMinScore` | 安装后自动绑定的最低相似度阈值。 |
130+
| `stripFolderTags` | 清洗时是否去掉方括号标签(如 `[BP]`/`[玩法]`)。 |
132131

133132
### 3.4 绑定文件示例
134133

‎modules/sdk/@sfmc-sdk/src/logs/index.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ export {
5151
resumeAllProgress,
5252
withProgressPaused,
5353
hasActiveProgress,
54+
formatDownloadSpeed,
5455
} from "./terminal-progress.js";
5556
export type {
5657
TerminalProgressOptions,

‎modules/sdk/@sfmc-sdk/src/logs/terminal-progress.ts‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,14 @@ function isWritableTty(stream: NodeJS.WritableStream): boolean {
9292
return !!(stream as WriteStream).isTTY;
9393
}
9494

95+
/** 下载速度文案(BDS / CF 等共用,避免各处复制阈值分支) */
96+
export function formatDownloadSpeed(bytesPerSec: number): string {
97+
const speed = Number.isFinite(bytesPerSec) ? Math.max(0, bytesPerSec) : 0;
98+
if (speed > 1024 * 1024) return `${(speed / 1024 / 1024).toFixed(1)} MB/s`;
99+
if (speed > 1024) return `${(speed / 1024).toFixed(1)} KB/s`;
100+
return `${speed.toFixed(0)} B/s`;
101+
}
102+
95103
function renderBarLine(
96104
value: number,
97105
total: number,

‎package-lock.json‎

Lines changed: 1 addition & 68 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)