Files
calculate-version/app/logger.js
T
JefferyandClaude Opus 4.8 fdf33b41d8 fix(calculate-version): 修復 AI 審查的安全與健全性問題
- Dockerfile 移除 --no-check-certificate,恢復 TLS 憑證檢查以防中間人攻擊
- config 對 GITEA_SERVER_URL 加入 http/https URL 格式驗證
- logger.fail 改為 logger.error(僅輸出不終止行程),退出移至 index 頂層處理
- index.main 改用相依注入並於頂層攔截錯誤後 exit 1,避免 library 內呼叫 process.exit
- releases 將 response.text() 包入 try-catch 並附帶頁碼

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:52:19 +08:00

43 lines
1.3 KiB
JavaScript

'use strict';
// 主分隔線與次分隔線寬度(沿用原 entrypoint.sh 的視覺樣式)
const LINE = '='.repeat(50);
const SUBLINE = '-'.repeat(50);
/**
* 輸出帶標題的區塊段落至標準輸出,標題前後以分隔線包夾,
* 用於在 log 中建立可視的段落區隔。
*
* 輸出格式為:換行 + 主分隔線(50 個 `=`)+ 標題 + 次分隔線(50 個 `-`)。
*
* @param {string} title - 區塊標題文字;會原樣輸出於兩條分隔線之間。
* @returns {void}
*/
function section(title) {
process.stdout.write(`\n${LINE}\n${title}\n${SUBLINE}\n`);
}
/**
* 輸出一般資訊層級的 log 訊息至標準輸出,自動加上 `[info]` 前綴與換行。
*
* @param {string} message - 要輸出的資訊內容。
* @returns {void}
*/
function info(message) {
process.stdout.write(`[info] ${message}\n`);
}
/**
* 輸出錯誤層級的 log 訊息至標準錯誤輸出(stderr),自動加上 `[error]` 前綴與換行。
*
* 僅負責輸出,不終止行程;是否結束由呼叫端(進入點)決定,以利測試與錯誤復原。
*
* @param {string} message - 要輸出的錯誤描述內容。
* @returns {void}
*/
function error(message) {
process.stderr.write(`[error] ${message}\n`);
}
module.exports = { section, info, error };