diff --git a/app/index.js b/app/index.js index 19044ed..3b809b6 100644 --- a/app/index.js +++ b/app/index.js @@ -1,5 +1,6 @@ // 進入點:載入設定、建立 Gitea 客戶端,依序清理舊成品與孤立 tag。 +import { pathToFileURL } from 'node:url' import { loadConfig } from './config.js' import { GiteaClient } from './gitea-client.js' import { cleanupReleases } from './releases.js' @@ -25,7 +26,8 @@ export async function main() { } // 僅在直接以 `node index.js` 執行時啟動主流程;被測試 import 時不自動執行,方便撰寫整合測試。 -if (import.meta.url === `file://${process.argv[1]}`) { +// 以 pathToFileURL 正確處理含空白/特殊字元的路徑與跨平台差異,避免手動拼接 file:// 的脆弱性。 +if (import.meta.url === pathToFileURL(process.argv[1]).href) { main().catch((error) => { failError(error) process.exit(1)