CH-J Server Manager透過 SSH 管理伺服器
選單
已發布的原始碼

CH-J Server Manager

瀏覽特定應用程式版本的目錄與檔案。

下載原始碼 ZIP
CH-J / Server Manager 377 個檔案
core-20261019T111616Z-160a00bfcddc 新增時間: · 建置時間:
atomicFile.js 新增時間: 未記錄日期 1.2 KB · 36 行
程式碼 下載檔案
1"use strict";
3const crypto = require("node:crypto");
4const fs = require("node:fs");
5const path = require("node:path");
7function atomicWriteFile(filePath, content, options = {}) {
8 fs.mkdirSync(path.dirname(filePath), { recursive: true });
9 const tempPath = `${filePath}.tmp-${crypto.randomBytes(6).toString("hex")}`;
10 const backupPath = `${filePath}.replace-backup`;
11 fs.writeFileSync(tempPath, content, { mode: options.mode || 0o600, encoding: options.encoding });
12 try {
13 if (process.platform === "win32" && fs.existsSync(filePath)) {
14 try { fs.unlinkSync(backupPath); } catch {}
15 fs.renameSync(filePath, backupPath);
16 try {
17 fs.renameSync(tempPath, filePath);
18 fs.unlinkSync(backupPath);
19 } catch (error) {
20 try { fs.renameSync(backupPath, filePath); } catch {}
21 throw error;
22 }
23 } else {
24 fs.renameSync(tempPath, filePath);
25 }
26 } catch (error) {
27 try { fs.unlinkSync(tempPath); } catch {}
28 throw error;
29 }
32function atomicWriteJson(filePath, value) {
33 atomicWriteFile(filePath, `${JSON.stringify(value, null, 2)}\n`, { encoding: "utf8", mode: 0o600 });
36module.exports = { atomicWriteFile, atomicWriteJson };
SHA-2567aee82e6b371127f5467bd9f5b77e57dfccbe53d8b7eed9a675767ff4c8c5610

CH-J Proprietary Software License 1.14 · 原始碼依 CH-J Proprietary Software License 1.14 提供。公開原始碼不會改變授權條款,也不會授予額外的權利。

壓縮檔 SHA-256a9605c0870a223b6a8542bb0705edd51d8b04f3069582653417a8397fabcc09a
檔案