fix(ext/node): export geteuid from node:process (#23840)

Fixes https://github.com/denoland/deno/issues/23827
This commit is contained in:
Divy Srivastava 2024-05-15 22:02:11 -07:00 committed by GitHub
parent f6c6e768c8
commit a31b81394b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 9 deletions

View File

@ -301,6 +301,16 @@ export function kill(pid: number, sig: string | number = "SIGTERM") {
return true;
}
let getgid, getuid, geteuid;
if (!isWindows) {
getgid = () => Deno.gid();
getuid = () => Deno.uid();
geteuid = () => op_geteuid();
}
export { geteuid, getgid, getuid };
// deno-lint-ignore no-explicit-any
function uncaughtExceptionHandler(err: any, origin: string) {
// The origin parameter can be 'unhandledRejection' or 'uncaughtException'
@ -638,19 +648,13 @@ class Process extends EventEmitter {
}
/** This method is removed on Windows */
getgid?(): number {
return Deno.gid()!;
}
getgid = getgid;
/** This method is removed on Windows */
getuid?(): number {
return Deno.uid()!;
}
getuid = getuid;
/** This method is removed on Windows */
geteuid?(): number {
return op_geteuid();
}
geteuid = geteuid;
// TODO(kt3k): Implement this when we added -e option to node compat mode
_eval: string | undefined = undefined;

View File

@ -6,6 +6,7 @@ import process, {
argv,
argv0 as importedArgv0,
env,
geteuid,
pid as importedPid,
platform as importedPlatform,
} from "node:process";
@ -879,6 +880,7 @@ Deno.test("process.geteuid", () => {
if (Deno.build.os === "windows") {
assertEquals(process.geteuid, undefined);
} else {
assert(geteuid);
assert(typeof process.geteuid?.() === "number");
}
});