CH-J Server Managerpengurusan pelayan melalui SSH
Menu
Sumber yang diterbitkan

CH-J Server Manager

Layari direktori dan fail untuk keluaran aplikasi tertentu.

Muat turun ZIP sumber
CH-J / Server Manager 339 fail
core-20261014T184258Z-3fbed0b93fdf Ditambah: Tarikh tidak direkodkan · Dibina:
atomicFile.js Ditambah: Tarikh tidak direkodkan 1.2 KB · 36 baris
Kod Muat turun fail
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 · Kod sumber disediakan di bawah CH-J Proprietary Software License 1.14. Ketersediaannya tidak mengubah terma lesen atau memberikan hak tambahan.

SHA-256 arkib3df08cf5e899262a6ce92d7ec2caf5c42b683f1f2b57055662b845ff7dde67a8
Fail