From 8ab3e55ee8394ac68588e2a67c3b2f9df9b6dff1 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Thu, 16 Sep 2021 08:36:29 -0500 Subject: [PATCH] feat: add sudo utils --- src/utils/setup/sudo.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/utils/setup/sudo.ts diff --git a/src/utils/setup/sudo.ts b/src/utils/setup/sudo.ts new file mode 100644 index 00000000..3d63afd6 --- /dev/null +++ b/src/utils/setup/sudo.ts @@ -0,0 +1,17 @@ +let _issudo: boolean | undefined = undefined + +export function isRoot(): boolean { + if (_issudo !== undefined) { + return _issudo + } + // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions, @typescript-eslint/no-unnecessary-condition + _issudo = Boolean(process.env.CI) || process.getuid?.() === 0 + return _issudo +} + +export function mightSudo(command: string) { + if (isRoot()) { + return `sudo ${command}` + } + return command +}