This repository has been archived on 2026-08-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openclaw/tools/node/npm/lib/node_modules/clawhub/dist/homedir.js
T

29 lines
1.0 KiB
JavaScript

import { homedir } from "node:os";
import { win32 } from "node:path";
/**
* Resolve the user's home directory, preferring environment variables over
* os.homedir(). On Linux, os.homedir() reads from /etc/passwd which can
* return a stale path after a user rename (usermod -l). The $HOME env var
* is set by the login process and reflects the current session.
*/
export function resolveHome() {
if (process.platform === "win32") {
return normalizeHome(process.env.USERPROFILE) || normalizeHome(process.env.HOME) || homedir();
}
return normalizeHome(process.env.HOME) || homedir();
}
function normalizeHome(value) {
const trimmed = value?.trim();
if (!trimmed)
return "";
if (process.platform === "win32") {
const root = win32.parse(trimmed).root;
if (trimmed === root)
return trimmed;
return trimmed.replace(/[\\/]+$/, "");
}
if (trimmed === "/")
return "/";
return trimmed.replace(/\/+$/, "");
}
//# sourceMappingURL=homedir.js.map