diff --git a/app/index.js b/app/index.js index 164709d..227b12f 100644 --- a/app/index.js +++ b/app/index.js @@ -1,3 +1,4 @@ +import { fileURLToPath } from 'node:url'; import { loadInputs, logInputs } from './lib/inputs.js'; import { Git } from './lib/git.js'; import { GiteaClient } from './lib/gitea.js'; @@ -191,9 +192,15 @@ function reportPull(pull, created) { } } -main().catch((err) => { - const detail = err?.stack || err?.message || String(err); - // 錯誤訊息/stack 可能夾帶 token,輸出到 CI 日誌前先遮蔽 - log.error(maskSecrets(detail, [process.env.GITEA_TOKEN])); - process.exit(1); -}); +// 純函式對外匯出,供測試使用(不觸發 main 流程) +export { truncateDiff, fallbackSummary, buildResolveBranchName, buildResolveBody }; + +// 僅在直接以 `node index.js` 執行時才跑主流程;被測試 import 時不執行 +if (process.argv[1] && fileURLToPath(import.meta.url) === process.argv[1]) { + main().catch((err) => { + const detail = err?.stack || err?.message || String(err); + // 錯誤訊息/stack 可能夾帶 token,輸出到 CI 日誌前先遮蔽 + log.error(maskSecrets(detail, [process.env.GITEA_TOKEN])); + process.exit(1); + }); +}