4ca94c17ca
Node 單檔服務(非 arcrun workflow,跑客戶端機器):chokidar watch 事件驅動、debounce 合併批次 commit、.md passthrough(非 md 格式誠實丟 NotImplemented 待 T4 Markitdown)、 刪檔→target repo 移除對應檔(deprecated 標記留給 ingest workflow,collector 只管檔案鏡像)。 已驗(雲端 sandbox scratch 環境,非真實客戶環境):node --check 全過;起 scratch watch dir + scratch git repo + bare remote,實測 add/change/delete 三種事件皆正確偵測、debounce 正確 合併成一次 commit、git push 真的送達 remote(git log 驗證)、非 md 格式正確跳過並警告。 端到端待本機/客戶環境驗(README.md 已列):真實 NAS/VM watch、真實 Gitea remote+憑證、 Gitea push webhook 真觸發 ingest、systemd 常駐穩定性。
21 lines
622 B
JavaScript
21 lines
622 B
JavaScript
function requireEnv(name) {
|
|
const v = process.env[name];
|
|
if (!v) {
|
|
throw new Error(`collector: 缺少環境變數 ${name}(見 README.md 設定表)`);
|
|
}
|
|
return v;
|
|
}
|
|
|
|
function loadConfig() {
|
|
return {
|
|
watchDir: requireEnv('WATCH_DIR'),
|
|
targetRepoDir: requireEnv('TARGET_REPO_DIR'),
|
|
targetSubdir: process.env.TARGET_SUBDIR || 'collected/',
|
|
debounceMs: parseInt(process.env.DEBOUNCE_MS || '3000', 10),
|
|
gitAuthorName: process.env.GIT_AUTHOR_NAME || 'collector',
|
|
gitAuthorEmail: process.env.GIT_AUTHOR_EMAIL || 'collector@localhost',
|
|
};
|
|
}
|
|
|
|
module.exports = { loadConfig, requireEnv };
|