perf(release-cleanup): selectReleasesToDelete 預先計算時間戳

排序前先一次性計算各 release 的 created_at 時間戳,避免在排序比較器中
重複呼叫 Date.parse;排序結果與原行為等價。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jeffery
2026-06-26 11:29:30 +08:00
co-authored by Claude Opus 4.8
parent c0285794ae
commit 87db9030d6
+6 -2
View File
@@ -17,8 +17,12 @@ export function selectReleasesToDelete(releases, keepCount) {
const time = Date.parse(release?.created_at)
return Number.isNaN(time) ? 0 : time
}
const sorted = [...releases].sort((a, b) => createdTime(b) - createdTime(a))
return sorted.slice(keepCount)
// 先一次性計算每筆的時間戳,避免在排序比較中重複呼叫 Date.parse。
return releases
.map((release) => ({ release, time: createdTime(release) }))
.sort((a, b) => b.time - a.time)
.map((entry) => entry.release)
.slice(keepCount)
}
/**