fix(calculate-version): 強化片段截斷與 repository 驗證健全性

- releases 改以 Array.from 依字元截斷回應片段,避免拆分多位元組字元造成亂碼,並標記片段內容
- config assertRepository 加入每段長度上限,並將 valid 更名為語義明確的 isRepoFormatValid

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jeffery
2026-06-26 14:05:08 +08:00
co-authored by Claude Opus 4.8
parent 32e528988b
commit da83f4fc30
2 changed files with 8 additions and 6 deletions
+3 -3
View File
@@ -63,9 +63,9 @@ async function fetchReleases(baseUrl, options = {}) {
try {
pageJson = JSON.parse(text);
} catch {
// 附上截斷回傳內容片段,便於除錯回傳格式異常
const snippet = text.slice(0, 200);
throw new Error(`release API 回傳資料無法解析 (page=${page}): ${snippet}`);
// 以字元(而非 UTF-16 碼元)截斷回傳內容片段,避免拆分多位元組字元造成亂碼
const contentSnippet = Array.from(text).slice(0, 200).join('');
throw new Error(`release API 回傳資料無法解析 (page=${page}),回應內容片段:「${contentSnippet}`);
}
if (pageJson === null) {