Files
Termix/electron/rename-local-path.cjs
T

23 lines
605 B
JavaScript
Raw Normal View History

+17
2026-09-20 14:56:39 -05:00
const fs = require("node:fs");
function renameLocalPath(source, target) {
if (source === target) return;
try {
fs.lstatSync(target);
const error = new Error("A file or folder with that name already exists");
error.code = "EEXIST";
throw error;
} catch (error) {
if (error.code !== "ENOENT") throw error;
}
if (fs.lstatSync(source).isDirectory()) {
fs.renameSync(source, target);
return;
}
// link is exclusive: a destination created concurrently is never replaced.
fs.linkSync(source, target);
fs.unlinkSync(source);
}
module.exports = { renameLocalPath };