UNPKG

admina

Version:

Detect root/admin/sudo and execute commands as it if available

57 lines 3.54 kB
import { default as isAdminWindowsOrig } from "./is-admin.mjs"; import { isRoot } from "./root.mjs"; /** * Check if the process is running as administrator on Windows. * * @example * * ```js * import { isAdminWindows } from "admina" * * console.log(await isAdminWindows()) * //=> false * ``` * * @returns Whether the process is running as administrator. */ export const isAdminWindows = isAdminWindowsOrig; /** * Detect if the process has root privilege on Posix. * * @example * * ```js * import { isAdminPosix } from "admina" * * console.log(isAdminPosix()) * //=> false * ``` * * @returns Whether the process is running as root. */ export const isAdminPosix = isRoot; /** * Detect if the code is running as admin/root * * On Windows, it checks for admin access, and on Posix, it checks for root access * * @example * * ```js * import { isAdmin } from "admina" * * console.log(isAdmin()) * //=> false * ``` * * @returns Whether the process is running as root or admin. */ export function isAdmin() { if (process.platform === "win32") { return isAdminWindows(); } else { return isRoot(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4ubWpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FkbWluLm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxJQUFJLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVuQzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFBO0FBRWhEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFBO0FBRWxDOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSxPQUFPO0lBQ3JCLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxPQUFPLGNBQWMsRUFBRSxDQUFBO0lBQ3pCLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxNQUFNLEVBQUUsQ0FBQTtJQUNqQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHQgYXMgaXNBZG1pbldpbmRvd3NPcmlnIH0gZnJvbSBcIi4vaXMtYWRtaW4ubWpzXCJcbmltcG9ydCB7IGlzUm9vdCB9IGZyb20gXCIuL3Jvb3QubWpzXCJcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgcHJvY2VzcyBpcyBydW5uaW5nIGFzIGFkbWluaXN0cmF0b3Igb24gV2luZG93cy5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBpc0FkbWluV2luZG93cyB9IGZyb20gXCJhZG1pbmFcIlxuICpcbiAqIGNvbnNvbGUubG9nKGF3YWl0IGlzQWRtaW5XaW5kb3dzKCkpXG4gKiAvLz0+IGZhbHNlXG4gKiBgYGBcbiAqXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcgYXMgYWRtaW5pc3RyYXRvci5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzQWRtaW5XaW5kb3dzID0gaXNBZG1pbldpbmRvd3NPcmlnXG5cbi8qKlxuICogRGV0ZWN0IGlmIHRoZSBwcm9jZXNzIGhhcyByb290IHByaXZpbGVnZSBvbiBQb3NpeC5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBpc0FkbWluUG9zaXggfSBmcm9tIFwiYWRtaW5hXCJcbiAqXG4gKiBjb25zb2xlLmxvZyhpc0FkbWluUG9zaXgoKSlcbiAqIC8vPT4gZmFsc2VcbiAqIGBgYFxuICpcbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHByb2Nlc3MgaXMgcnVubmluZyBhcyByb290LlxuICovXG5leHBvcnQgY29uc3QgaXNBZG1pblBvc2l4ID0gaXNSb290XG5cbi8qKlxuICogRGV0ZWN0IGlmIHRoZSBjb2RlIGlzIHJ1bm5pbmcgYXMgYWRtaW4vcm9vdFxuICpcbiAqIE9uIFdpbmRvd3MsIGl0IGNoZWNrcyBmb3IgYWRtaW4gYWNjZXNzLCBhbmQgb24gUG9zaXgsIGl0IGNoZWNrcyBmb3Igcm9vdCBhY2Nlc3NcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBpc0FkbWluIH0gZnJvbSBcImFkbWluYVwiXG4gKlxuICogY29uc29sZS5sb2coaXNBZG1pbigpKVxuICogLy89PiBmYWxzZVxuICogYGBgXG4gKlxuICogQHJldHVybnMgV2hldGhlciB0aGUgcHJvY2VzcyBpcyBydW5uaW5nIGFzIHJvb3Qgb3IgYWRtaW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0FkbWluKCkge1xuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiKSB7XG4gICAgcmV0dXJuIGlzQWRtaW5XaW5kb3dzKClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaXNSb290KClcbiAgfVxufVxuIl19