{"mappings":"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,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aACA;QACA,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;QACT,QAAO;IACP;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;QACT,QAAO;IACP;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;QACT,QAAO;IACP;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP,aAAY;QACZ,UAAS;IACT;IACA;QACA,MAAK;QACL,QAAO;QACP,QAAO;QACP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","sources":["node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js","node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js","node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js","src/index.mts","src/root.mts","node_modules/.pnpm/which@4.0.0/node_modules/which/lib/index.js","node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/mjs/index.js","node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/src/index.ts","node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/mjs/posix.js","node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/src/posix.ts","src/compat/fs/promises.mts","node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/mjs/win32.js","node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/src/win32.ts","node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/src/options.ts","node_modules/.pnpm/execa@7.2.0/node_modules/execa/index.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/index.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/parse.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/resolveCommand.js","node_modules/.pnpm/which@2.0.2/node_modules/which/which.js","node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js","node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/escape.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/readShebang.js","node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js","node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/enoent.js","node_modules/.pnpm/strip-final-newline@3.0.0/node_modules/strip-final-newline/index.js","node_modules/.pnpm/npm-run-path@5.2.0/node_modules/npm-run-path/index.js","node_modules/.pnpm/path-key@4.0.0/node_modules/path-key/index.js","node_modules/.pnpm/onetime@6.0.0/node_modules/onetime/index.js","node_modules/.pnpm/mimic-fn@4.0.0/node_modules/mimic-fn/index.js","node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/error.js","node_modules/.pnpm/human-signals@4.3.1/node_modules/human-signals/build/src/main.js","node_modules/.pnpm/human-signals@4.3.1/node_modules/human-signals/build/src/realtime.js","node_modules/.pnpm/human-signals@4.3.1/node_modules/human-signals/build/src/signals.js","node_modules/.pnpm/human-signals@4.3.1/node_modules/human-signals/build/src/core.js","node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/stdio.js","node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/kill.js","node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js","node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/pipe.js","node_modules/.pnpm/is-stream@3.0.0/node_modules/is-stream/index.js","node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/stream.js","node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js","node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js","node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js","node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/promise.js","node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/command.js","node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/verbose.js","src/admin.mts","src/is-admin.mts","src/user-access.mts"],"sourcesContent":["module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n  var pathext = options.pathExt !== undefined ?\n    options.pathExt : process.env.PATHEXT\n\n  if (!pathext) {\n    return true\n  }\n\n  pathext = pathext.split(';')\n  if (pathext.indexOf('') !== -1) {\n    return true\n  }\n  for (var i = 0; i < pathext.length; i++) {\n    var p = pathext[i].toLowerCase()\n    if (p && path.substr(-p.length).toLowerCase() === p) {\n      return true\n    }\n  }\n  return false\n}\n\nfunction checkStat (stat, path, options) {\n  if (!stat.isSymbolicLink() && !stat.isFile()) {\n    return false\n  }\n  return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n  fs.stat(path, function (er, stat) {\n    cb(er, er ? false : checkStat(stat, path, options))\n  })\n}\n\nfunction sync (path, options) {\n  return checkStat(fs.statSync(path), path, options)\n}\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n  fs.stat(path, function (er, stat) {\n    cb(er, er ? false : checkStat(stat, options))\n  })\n}\n\nfunction sync (path, options) {\n  return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n  return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n  var mod = stat.mode\n  var uid = stat.uid\n  var gid = stat.gid\n\n  var myUid = options.uid !== undefined ?\n    options.uid : process.getuid && process.getuid()\n  var myGid = options.gid !== undefined ?\n    options.gid : process.getgid && process.getgid()\n\n  var u = parseInt('100', 8)\n  var g = parseInt('010', 8)\n  var o = parseInt('001', 8)\n  var ug = u | g\n\n  var ret = (mod & o) ||\n    (mod & g) && gid === myGid ||\n    (mod & u) && uid === myUid ||\n    (mod & ug) && myUid === 0\n\n  return ret\n}\n","// This is not the set of all possible signals.\n//\n// It IS, however, the set of all signals that trigger\n// an exit on either Linux or BSD systems.  Linux is a\n// superset of the signal names supported on BSD, and\n// the unknown signals just fail to register, so we can\n// catch that easily enough.\n//\n// Don't bother with SIGKILL.  It's uncatchable, which\n// means that we can't fire any callbacks anyway.\n//\n// If a user does happen to register a handler on a non-\n// fatal signal like SIGWINCH or something, and then\n// exit, it'll end up firing `process.emit('exit')`, so\n// the handler will be fired anyway.\n//\n// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n// artificially, inherently leave the process in a\n// state from which it is not safe to try and enter JS\n// listeners.\nmodule.exports = [\n  'SIGABRT',\n  'SIGALRM',\n  'SIGHUP',\n  'SIGINT',\n  'SIGTERM'\n]\n\nif (process.platform !== 'win32') {\n  module.exports.push(\n    'SIGVTALRM',\n    'SIGXCPU',\n    'SIGXFSZ',\n    'SIGUSR2',\n    'SIGTRAP',\n    'SIGSYS',\n    'SIGQUIT',\n    'SIGIOT'\n    // should detect profiler and enable/disable accordingly.\n    // see #21\n    // 'SIGPROF'\n  )\n}\n\nif (process.platform === 'linux') {\n  module.exports.push(\n    'SIGIO',\n    'SIGPOLL',\n    'SIGPWR',\n    'SIGSTKFLT',\n    'SIGUNUSED'\n  )\n}\n","export * from \"./root.mjs\"\nexport * from \"./admin.mjs\"\nexport * from \"./user-access.mjs\"\n","import which from \"which\"\nimport {\n  execa,\n  execaCommand,\n  execaCommandSync,\n  execaSync,\n  type SyncOptions as ExecaSyncOptions,\n  type ExecaSyncReturnValue,\n  type Options as ExecaOptions,\n  type ExecaChildProcess,\n} from \"execa\"\n\n/** Detect if sudo is available */\nexport function hasSudo(): boolean {\n  return which.sync(\"sudo\", { nothrow: true }) !== null\n}\n\n/**\n * Detect if the process has root privilege on Posix.\n *\n * @example\n *\n * ```js\n * import { isRoot } from \"admina\"\n *\n * console.log(isRoot())\n * //=> false\n * ```\n *\n * @returns Whether the process is running as root.\n */\nexport function isRoot(): boolean {\n  // TODO not all CI systems are root\n  return process.getuid?.() === 0 || Boolean(process.env.CI)\n}\n\n/** Detect if sudo is available and the user has root privileges */\nexport function isSudo(): boolean {\n  return isRoot() && hasSudo()\n}\n\n/** Prepend `sudo` to the command if sudo is available */\nexport function prependSudo(command: string) {\n  if (isSudo()) {\n    return `sudo ${command}`\n  }\n  return command\n}\n\n/** Default exec options `{ stdio: \"inherit\", shell: true }` */\nexport const defaultExecOptions: ExecaSyncOptions = {\n  stdio: \"inherit\",\n  shell: true,\n}\n\n/**\n * Execute a command as root if sudo is available. Otherwise executes the command normally without sudo.\n *\n * @param program The program to spawn\n * @param args The command arguments\n * @param execOptions The options passed to `execa`. Defaults to `{ stdio: \"inherit\", shell: true }`\n * @returns The execution result\n */\nexport function execRootSync(\n  program: string,\n  args: string[] = [],\n  execOptions: ExecaSyncOptions = defaultExecOptions,\n): ExecaSyncReturnValue<string> {\n  if (isSudo()) {\n    const command = getSudoCommand(program, args)\n    return execaCommandSync(command, execOptions)\n  } else {\n    return execaSync(program, args, execOptions)\n  }\n}\n\n/**\n * Asynchronously execute a command as root if sudo is available. Otherwise executes the command normally without sudo.\n *\n * @param program The program to spawn\n * @param args The command arguments\n * @param execOptions The options passed to `execa`. Defaults to `{ stdio: \"inherit\", shell: true }`\n * @returns A promise to the execution result\n */\nexport function execRoot(\n  program: string,\n  args: string[] = [],\n  execOptions: ExecaOptions = defaultExecOptions,\n): ExecaChildProcess<string> {\n  if (isSudo()) {\n    const command = getSudoCommand(program, args)\n    return execaCommand(command, execOptions)\n  } else {\n    return execa(program, args, execOptions)\n  }\n}\n\nfunction getSudoCommand(program: string, args: string[]) {\n  return `sudo ${quote([program, ...args]).join(\" \")}`\n}\n\nfunction quote(strings: string[]) {\n  return strings.map((str) => (isQuoted(str) ? str : `'${str}'`))\n}\n\nfunction isQuoted(str: string) {\n  if (str.length < 2) {\n    return false\n  }\n  const first = str[0]\n  const last = str[str.length - 1]\n  return (first === \"'\" && last === \"'\") || (first === '\"' && last === '\"')\n}\n","const { isexe, sync: isexeSync } = require('isexe')\nconst { join, delimiter, sep, posix } = require('path')\n\nconst isWindows = process.platform === 'win32'\n\n// used to check for slashed in commands passed in. always checks for the posix\n// seperator on all platforms, and checks for the current separator when not on\n// a posix platform. don't use the isWindows check for this since that is mocked\n// in tests but we still need the code to actually work when called. that is also\n// why it is ignored from coverage.\n/* istanbul ignore next */\nconst rSlash = new RegExp(`[${posix.sep}${sep === posix.sep ? '' : sep}]`.replace(/(\\\\)/g, '\\\\$1'))\nconst rRel = new RegExp(`^\\\\.${rSlash.source}`)\n\nconst getNotFoundError = (cmd) =>\n  Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, {\n  path: optPath = process.env.PATH,\n  pathExt: optPathExt = process.env.PATHEXT,\n  delimiter: optDelimiter = delimiter,\n}) => {\n  // If it has a slash, then we don't bother searching the pathenv.\n  // just check the file itself, and that's it.\n  const pathEnv = cmd.match(rSlash) ? [''] : [\n    // windows always checks the cwd first\n    ...(isWindows ? [process.cwd()] : []),\n    ...(optPath || /* istanbul ignore next: very unusual */ '').split(optDelimiter),\n  ]\n\n  if (isWindows) {\n    const pathExtExe = optPathExt ||\n      ['.EXE', '.CMD', '.BAT', '.COM'].join(optDelimiter)\n    const pathExt = pathExtExe.split(optDelimiter).flatMap((item) => [item, item.toLowerCase()])\n    if (cmd.includes('.') && pathExt[0] !== '') {\n      pathExt.unshift('')\n    }\n    return { pathEnv, pathExt, pathExtExe }\n  }\n\n  return { pathEnv, pathExt: [''] }\n}\n\nconst getPathPart = (raw, cmd) => {\n  const pathPart = /^\".*\"$/.test(raw) ? raw.slice(1, -1) : raw\n  const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : ''\n  return prefix + join(pathPart, cmd)\n}\n\nconst which = async (cmd, opt = {}) => {\n  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n  const found = []\n\n  for (const envPart of pathEnv) {\n    const p = getPathPart(envPart, cmd)\n\n    for (const ext of pathExt) {\n      const withExt = p + ext\n      const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true })\n      if (is) {\n        if (!opt.all) {\n          return withExt\n        }\n        found.push(withExt)\n      }\n    }\n  }\n\n  if (opt.all && found.length) {\n    return found\n  }\n\n  if (opt.nothrow) {\n    return null\n  }\n\n  throw getNotFoundError(cmd)\n}\n\nconst whichSync = (cmd, opt = {}) => {\n  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n  const found = []\n\n  for (const pathEnvPart of pathEnv) {\n    const p = getPathPart(pathEnvPart, cmd)\n\n    for (const ext of pathExt) {\n      const withExt = p + ext\n      const is = isexeSync(withExt, { pathExt: pathExtExe, ignoreErrors: true })\n      if (is) {\n        if (!opt.all) {\n          return withExt\n        }\n        found.push(withExt)\n      }\n    }\n  }\n\n  if (opt.all && found.length) {\n    return found\n  }\n\n  if (opt.nothrow) {\n    return null\n  }\n\n  throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n",null,"import * as posix from './posix.js'\nimport * as win32 from './win32.js'\nexport * from './options.js'\nexport { win32, posix }\n\nconst platform = process.env._ISEXE_TEST_PLATFORM_ || process.platform\nconst impl = platform === 'win32' ? win32 : posix\n\n/**\n * Determine whether a path is executable on the current platform.\n */\nexport const isexe = impl.isexe\n/**\n * Synchronously determine whether a path is executable on the\n * current platform.\n */\nexport const sync = impl.sync\n",null,"/**\n * This is the Posix implementation of isexe, which uses the file\n * mode and uid/gid values.\n *\n * @module\n */\n\nimport { Stats, statSync } from 'fs'\nimport { stat } from 'fs/promises'\nimport { IsexeOptions } from './options'\n\n/**\n * Determine whether a path is executable according to the mode and\n * current (or specified) user and group IDs.\n */\nexport const isexe = async (\n  path: string,\n  options: IsexeOptions = {}\n): Promise<boolean> => {\n  const { ignoreErrors = false } = options\n  try {\n    return checkStat(await stat(path), options)\n  } catch (e) {\n    const er = e as NodeJS.ErrnoException\n    if (ignoreErrors || er.code === 'EACCES') return false\n    throw er\n  }\n}\n\n/**\n * Synchronously determine whether a path is executable according to\n * the mode and current (or specified) user and group IDs.\n */\nexport const sync = (\n  path: string,\n  options: IsexeOptions = {}\n): boolean => {\n  const { ignoreErrors = false } = options\n  try {\n    return checkStat(statSync(path), options)\n  } catch (e) {\n    const er = e as NodeJS.ErrnoException\n    if (ignoreErrors || er.code === 'EACCES') return false\n    throw er\n  }\n}\n\nconst checkStat = (stat: Stats, options: IsexeOptions) =>\n  stat.isFile() && checkMode(stat, options)\n\nconst checkMode = (stat: Stats, options: IsexeOptions) => {\n  const myUid = options.uid ?? process.getuid?.()\n  const myGroups = options.groups ?? process.getgroups?.() ?? []\n  const myGid = options.gid ?? process.getgid?.() ?? myGroups[0]\n  if (myUid === undefined || myGid === undefined) {\n    throw new Error('cannot get uid or gid')\n  }\n\n  const groups = new Set([myGid, ...myGroups])\n\n  const mod = stat.mode\n  const uid = stat.uid\n  const gid = stat.gid\n\n  const u = parseInt('100', 8)\n  const g = parseInt('010', 8)\n  const o = parseInt('001', 8)\n  const ug = u | g\n\n  return !!(\n    mod & o ||\n    (mod & g && groups.has(gid)) ||\n    (mod & u && uid === myUid) ||\n    (mod & ug && myUid === 0)\n  )\n}\n","import { promises } from \"fs\"\nexport default promises\n\nexport const {\n  access,\n  appendFile,\n  chmod,\n  chown,\n  copyFile,\n  lchmod,\n  lchown,\n  link,\n  lstat,\n  mkdir,\n  mkdtemp,\n  open,\n  readdir,\n  readFile,\n  readlink,\n  realpath,\n  rename,\n  rmdir,\n  stat,\n  symlink,\n  truncate,\n  unlink,\n  utimes,\n  writeFile,\n} = promises\n",null,"/**\n * This is the Windows implementation of isexe, which uses the file\n * extension and PATHEXT setting.\n *\n * @module\n */\n\nimport { Stats, statSync } from 'fs'\nimport { stat } from 'fs/promises'\nimport { IsexeOptions } from './options'\n\n/**\n * Determine whether a path is executable based on the file extension\n * and PATHEXT environment variable (or specified pathExt option)\n */\nexport const isexe = async (\n  path: string,\n  options: IsexeOptions = {}\n): Promise<boolean> => {\n  const { ignoreErrors = false } = options\n  try {\n    return checkStat(await stat(path), path, options)\n  } catch (e) {\n    const er = e as NodeJS.ErrnoException\n    if (ignoreErrors || er.code === 'EACCES') return false\n    throw er\n  }\n}\n\n/**\n * Synchronously determine whether a path is executable based on the file\n * extension and PATHEXT environment variable (or specified pathExt option)\n */\nexport const sync = (\n  path: string,\n  options: IsexeOptions = {}\n): boolean => {\n  const { ignoreErrors = false } = options\n  try {\n    return checkStat(statSync(path), path, options)\n  } catch (e) {\n    const er = e as NodeJS.ErrnoException\n    if (ignoreErrors || er.code === 'EACCES') return false\n    throw er\n  }\n}\n\nconst checkPathExt = (path: string, options: IsexeOptions) => {\n  const { pathExt = process.env.PATHEXT || '' } = options\n  const peSplit = pathExt.split(';')\n  if (peSplit.indexOf('') !== -1) {\n    return true\n  }\n\n  for (let i = 0; i < peSplit.length; i++) {\n    const p = peSplit[i].toLowerCase()\n    const ext = path.substring(path.length - p.length).toLowerCase()\n\n    if (p && ext === p) {\n      return true\n    }\n  }\n  return false\n}\n\nconst checkStat = (stat: Stats, path: string, options: IsexeOptions) =>\n  stat.isFile() && checkPathExt(path, options)\n","export interface IsexeOptions {\n  /**\n   * Ignore errors arising from attempting to get file access status\n   * Note that EACCES is always ignored, because that just means\n   * it's not executable. If this is not set, then attempting to check\n   * the executable-ness of a nonexistent file will raise ENOENT, for\n   * example.\n   */\n  ignoreErrors?: boolean\n\n  /**\n   * effective uid when checking executable mode flags on posix\n   * Defaults to process.getuid()\n   */\n  uid?: number\n\n  /**\n   * effective gid when checking executable mode flags on posix\n   * Defaults to process.getgid()\n   */\n  gid?: number\n\n  /**\n   * effective group ID list to use when checking executable mode flags\n   * on posix\n   * Defaults to process.getgroups()\n   */\n  groups?: number[]\n\n  /**\n   * The ;-delimited path extension list for win32 implementation.\n   * Defaults to process.env.PATHEXT\n   */\n  pathExt?: string\n}\n","import {Buffer} from 'node:buffer';\nimport path from 'node:path';\nimport childProcess from 'node:child_process';\nimport process from 'node:process';\nimport crossSpawn from 'cross-spawn';\nimport stripFinalNewline from 'strip-final-newline';\nimport {npmRunPathEnv} from 'npm-run-path';\nimport onetime from 'onetime';\nimport {makeError} from './lib/error.js';\nimport {normalizeStdio, normalizeStdioNode} from './lib/stdio.js';\nimport {spawnedKill, spawnedCancel, setupTimeout, validateTimeout, setExitHandler} from './lib/kill.js';\nimport {addPipeMethods} from './lib/pipe.js';\nimport {handleInput, getSpawnedResult, makeAllStream, handleInputSync} from './lib/stream.js';\nimport {mergePromise, getSpawnedPromise} from './lib/promise.js';\nimport {joinCommand, parseCommand, parseTemplates, getEscapedCommand} from './lib/command.js';\nimport {logCommand, verboseDefault} from './lib/verbose.js';\n\nconst DEFAULT_MAX_BUFFER = 1000 * 1000 * 100;\n\nconst getEnv = ({env: envOption, extendEnv, preferLocal, localDir, execPath}) => {\n\tconst env = extendEnv ? {...process.env, ...envOption} : envOption;\n\n\tif (preferLocal) {\n\t\treturn npmRunPathEnv({env, cwd: localDir, execPath});\n\t}\n\n\treturn env;\n};\n\nconst handleArguments = (file, args, options = {}) => {\n\tconst parsed = crossSpawn._parse(file, args, options);\n\tfile = parsed.command;\n\targs = parsed.args;\n\toptions = parsed.options;\n\n\toptions = {\n\t\tmaxBuffer: DEFAULT_MAX_BUFFER,\n\t\tbuffer: true,\n\t\tstripFinalNewline: true,\n\t\textendEnv: true,\n\t\tpreferLocal: false,\n\t\tlocalDir: options.cwd || process.cwd(),\n\t\texecPath: process.execPath,\n\t\tencoding: 'utf8',\n\t\treject: true,\n\t\tcleanup: true,\n\t\tall: false,\n\t\twindowsHide: true,\n\t\tverbose: verboseDefault,\n\t\t...options,\n\t};\n\n\toptions.env = getEnv(options);\n\n\toptions.stdio = normalizeStdio(options);\n\n\tif (process.platform === 'win32' && path.basename(file, '.exe') === 'cmd') {\n\t\t// #116\n\t\targs.unshift('/q');\n\t}\n\n\treturn {file, args, options, parsed};\n};\n\nconst handleOutput = (options, value, error) => {\n\tif (typeof value !== 'string' && !Buffer.isBuffer(value)) {\n\t\t// When `execaSync()` errors, we normalize it to '' to mimic `execa()`\n\t\treturn error === undefined ? undefined : '';\n\t}\n\n\tif (options.stripFinalNewline) {\n\t\treturn stripFinalNewline(value);\n\t}\n\n\treturn value;\n};\n\nexport function execa(file, args, options) {\n\tconst parsed = handleArguments(file, args, options);\n\tconst command = joinCommand(file, args);\n\tconst escapedCommand = getEscapedCommand(file, args);\n\tlogCommand(escapedCommand, parsed.options);\n\n\tvalidateTimeout(parsed.options);\n\n\tlet spawned;\n\ttry {\n\t\tspawned = childProcess.spawn(parsed.file, parsed.args, parsed.options);\n\t} catch (error) {\n\t\t// Ensure the returned error is always both a promise and a child process\n\t\tconst dummySpawned = new childProcess.ChildProcess();\n\t\tconst errorPromise = Promise.reject(makeError({\n\t\t\terror,\n\t\t\tstdout: '',\n\t\t\tstderr: '',\n\t\t\tall: '',\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\tparsed,\n\t\t\ttimedOut: false,\n\t\t\tisCanceled: false,\n\t\t\tkilled: false,\n\t\t}));\n\t\tmergePromise(dummySpawned, errorPromise);\n\t\treturn dummySpawned;\n\t}\n\n\tconst spawnedPromise = getSpawnedPromise(spawned);\n\tconst timedPromise = setupTimeout(spawned, parsed.options, spawnedPromise);\n\tconst processDone = setExitHandler(spawned, parsed.options, timedPromise);\n\n\tconst context = {isCanceled: false};\n\n\tspawned.kill = spawnedKill.bind(null, spawned.kill.bind(spawned));\n\tspawned.cancel = spawnedCancel.bind(null, spawned, context);\n\n\tconst handlePromise = async () => {\n\t\tconst [{error, exitCode, signal, timedOut}, stdoutResult, stderrResult, allResult] = await getSpawnedResult(spawned, parsed.options, processDone);\n\t\tconst stdout = handleOutput(parsed.options, stdoutResult);\n\t\tconst stderr = handleOutput(parsed.options, stderrResult);\n\t\tconst all = handleOutput(parsed.options, allResult);\n\n\t\tif (error || exitCode !== 0 || signal !== null) {\n\t\t\tconst returnedError = makeError({\n\t\t\t\terror,\n\t\t\t\texitCode,\n\t\t\t\tsignal,\n\t\t\t\tstdout,\n\t\t\t\tstderr,\n\t\t\t\tall,\n\t\t\t\tcommand,\n\t\t\t\tescapedCommand,\n\t\t\t\tparsed,\n\t\t\t\ttimedOut,\n\t\t\t\tisCanceled: context.isCanceled || (parsed.options.signal ? parsed.options.signal.aborted : false),\n\t\t\t\tkilled: spawned.killed,\n\t\t\t});\n\n\t\t\tif (!parsed.options.reject) {\n\t\t\t\treturn returnedError;\n\t\t\t}\n\n\t\t\tthrow returnedError;\n\t\t}\n\n\t\treturn {\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\texitCode: 0,\n\t\t\tstdout,\n\t\t\tstderr,\n\t\t\tall,\n\t\t\tfailed: false,\n\t\t\ttimedOut: false,\n\t\t\tisCanceled: false,\n\t\t\tkilled: false,\n\t\t};\n\t};\n\n\tconst handlePromiseOnce = onetime(handlePromise);\n\n\thandleInput(spawned, parsed.options);\n\n\tspawned.all = makeAllStream(spawned, parsed.options);\n\n\taddPipeMethods(spawned);\n\tmergePromise(spawned, handlePromiseOnce);\n\treturn spawned;\n}\n\nexport function execaSync(file, args, options) {\n\tconst parsed = handleArguments(file, args, options);\n\tconst command = joinCommand(file, args);\n\tconst escapedCommand = getEscapedCommand(file, args);\n\tlogCommand(escapedCommand, parsed.options);\n\n\tconst input = handleInputSync(parsed.options);\n\n\tlet result;\n\ttry {\n\t\tresult = childProcess.spawnSync(parsed.file, parsed.args, {...parsed.options, input});\n\t} catch (error) {\n\t\tthrow makeError({\n\t\t\terror,\n\t\t\tstdout: '',\n\t\t\tstderr: '',\n\t\t\tall: '',\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\tparsed,\n\t\t\ttimedOut: false,\n\t\t\tisCanceled: false,\n\t\t\tkilled: false,\n\t\t});\n\t}\n\n\tconst stdout = handleOutput(parsed.options, result.stdout, result.error);\n\tconst stderr = handleOutput(parsed.options, result.stderr, result.error);\n\n\tif (result.error || result.status !== 0 || result.signal !== null) {\n\t\tconst error = makeError({\n\t\t\tstdout,\n\t\t\tstderr,\n\t\t\terror: result.error,\n\t\t\tsignal: result.signal,\n\t\t\texitCode: result.status,\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\tparsed,\n\t\t\ttimedOut: result.error && result.error.code === 'ETIMEDOUT',\n\t\t\tisCanceled: false,\n\t\t\tkilled: result.signal !== null,\n\t\t});\n\n\t\tif (!parsed.options.reject) {\n\t\t\treturn error;\n\t\t}\n\n\t\tthrow error;\n\t}\n\n\treturn {\n\t\tcommand,\n\t\tescapedCommand,\n\t\texitCode: 0,\n\t\tstdout,\n\t\tstderr,\n\t\tfailed: false,\n\t\ttimedOut: false,\n\t\tisCanceled: false,\n\t\tkilled: false,\n\t};\n}\n\nconst normalizeScriptStdin = ({input, inputFile, stdio}) => input === undefined && inputFile === undefined && stdio === undefined\n\t? {stdin: 'inherit'}\n\t: {};\n\nconst normalizeScriptOptions = (options = {}) => ({\n\tpreferLocal: true,\n\t...normalizeScriptStdin(options),\n\t...options,\n});\n\nfunction create$(options) {\n\tfunction $(templatesOrOptions, ...expressions) {\n\t\tif (!Array.isArray(templatesOrOptions)) {\n\t\t\treturn create$({...options, ...templatesOrOptions});\n\t\t}\n\n\t\tconst [file, ...args] = parseTemplates(templatesOrOptions, expressions);\n\t\treturn execa(file, args, normalizeScriptOptions(options));\n\t}\n\n\t$.sync = (templates, ...expressions) => {\n\t\tif (!Array.isArray(templates)) {\n\t\t\tthrow new TypeError('Please use $(options).sync`command` instead of $.sync(options)`command`.');\n\t\t}\n\n\t\tconst [file, ...args] = parseTemplates(templates, expressions);\n\t\treturn execaSync(file, args, normalizeScriptOptions(options));\n\t};\n\n\treturn $;\n}\n\nexport const $ = create$();\n\nexport function execaCommand(command, options) {\n\tconst [file, ...args] = parseCommand(command);\n\treturn execa(file, args, options);\n}\n\nexport function execaCommandSync(command, options) {\n\tconst [file, ...args] = parseCommand(command);\n\treturn execaSync(file, args, options);\n}\n\nexport function execaNode(scriptPath, args, options = {}) {\n\tif (args && !Array.isArray(args) && typeof args === 'object') {\n\t\toptions = args;\n\t\targs = [];\n\t}\n\n\tconst stdio = normalizeStdioNode(options);\n\tconst defaultExecArgv = process.execArgv.filter(arg => !arg.startsWith('--inspect'));\n\n\tconst {\n\t\tnodePath = process.execPath,\n\t\tnodeOptions = defaultExecArgv,\n\t} = options;\n\n\treturn execa(\n\t\tnodePath,\n\t\t[\n\t\t\t...nodeOptions,\n\t\t\tscriptPath,\n\t\t\t...(Array.isArray(args) ? args : []),\n\t\t],\n\t\t{\n\t\t\t...options,\n\t\t\tstdin: undefined,\n\t\t\tstdout: undefined,\n\t\t\tstderr: undefined,\n\t\t\tstdio,\n\t\t\tshell: false,\n\t\t},\n\t);\n}\n","'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n    // Parse the arguments\n    const parsed = parse(command, args, options);\n\n    // Spawn the child process\n    const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n    // Hook into child process \"exit\" event to emit an error if the command\n    // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n    enoent.hookChildProcess(spawned, parsed);\n\n    return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n    // Parse the arguments\n    const parsed = parse(command, args, options);\n\n    // Spawn the child process\n    const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n    // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n    result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n    return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n","'use strict';\n\nconst path = require('path');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\nfunction detectShebang(parsed) {\n    parsed.file = resolveCommand(parsed);\n\n    const shebang = parsed.file && readShebang(parsed.file);\n\n    if (shebang) {\n        parsed.args.unshift(parsed.file);\n        parsed.command = shebang;\n\n        return resolveCommand(parsed);\n    }\n\n    return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n    if (!isWin) {\n        return parsed;\n    }\n\n    // Detect & add support for shebangs\n    const commandFile = detectShebang(parsed);\n\n    // We don't need a shell if the command filename is an executable\n    const needsShell = !isExecutableRegExp.test(commandFile);\n\n    // If a shell is required, use cmd.exe and take care of escaping everything correctly\n    // Note that `forceShell` is an hidden option used only in tests\n    if (parsed.options.forceShell || needsShell) {\n        // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n        // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n        // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n        // we need to double escape them\n        const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n        // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n        // This is necessary otherwise it will always fail with ENOENT in those cases\n        parsed.command = path.normalize(parsed.command);\n\n        // Escape command & arguments\n        parsed.command = escape.command(parsed.command);\n        parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n        const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n        parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n        parsed.command = process.env.comspec || 'cmd.exe';\n        parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n    }\n\n    return parsed;\n}\n\nfunction parse(command, args, options) {\n    // Normalize arguments, similar to nodejs\n    if (args && !Array.isArray(args)) {\n        options = args;\n        args = null;\n    }\n\n    args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n    options = Object.assign({}, options); // Clone object to avoid changing the original\n\n    // Build our parsed object\n    const parsed = {\n        command,\n        args,\n        options,\n        file: undefined,\n        original: {\n            command,\n            args,\n        },\n    };\n\n    // Delegate further parsing to shell or non-shell\n    return options.shell ? parsed : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n","'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst getPathKey = require('path-key');\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n    const env = parsed.options.env || process.env;\n    const cwd = process.cwd();\n    const hasCustomCwd = parsed.options.cwd != null;\n    // Worker threads do not have process.chdir()\n    const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n\n    // If a custom `cwd` was specified, we need to change the process cwd\n    // because `which` will do stat calls but does not support a custom cwd\n    if (shouldSwitchCwd) {\n        try {\n            process.chdir(parsed.options.cwd);\n        } catch (err) {\n            /* Empty */\n        }\n    }\n\n    let resolved;\n\n    try {\n        resolved = which.sync(parsed.command, {\n            path: env[getPathKey({ env })],\n            pathExt: withoutPathExt ? path.delimiter : undefined,\n        });\n    } catch (e) {\n        /* Empty */\n    } finally {\n        if (shouldSwitchCwd) {\n            process.chdir(cwd);\n        }\n    }\n\n    // If we successfully resolved, ensure that an absolute path is returned\n    // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n    if (resolved) {\n        resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n    }\n\n    return resolved;\n}\n\nfunction resolveCommand(parsed) {\n    return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n","const isWindows = process.platform === 'win32' ||\n    process.env.OSTYPE === 'cygwin' ||\n    process.env.OSTYPE === 'msys'\n\nconst path = require('path')\nconst COLON = isWindows ? ';' : ':'\nconst isexe = require('isexe')\n\nconst getNotFoundError = (cmd) =>\n  Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, opt) => {\n  const colon = opt.colon || COLON\n\n  // If it has a slash, then we don't bother searching the pathenv.\n  // just check the file itself, and that's it.\n  const pathEnv = cmd.match(/\\//) || isWindows && cmd.match(/\\\\/) ? ['']\n    : (\n      [\n        // windows always checks the cwd first\n        ...(isWindows ? [process.cwd()] : []),\n        ...(opt.path || process.env.PATH ||\n          /* istanbul ignore next: very unusual */ '').split(colon),\n      ]\n    )\n  const pathExtExe = isWindows\n    ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'\n    : ''\n  const pathExt = isWindows ? pathExtExe.split(colon) : ['']\n\n  if (isWindows) {\n    if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n      pathExt.unshift('')\n  }\n\n  return {\n    pathEnv,\n    pathExt,\n    pathExtExe,\n  }\n}\n\nconst which = (cmd, opt, cb) => {\n  if (typeof opt === 'function') {\n    cb = opt\n    opt = {}\n  }\n  if (!opt)\n    opt = {}\n\n  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n  const found = []\n\n  const step = i => new Promise((resolve, reject) => {\n    if (i === pathEnv.length)\n      return opt.all && found.length ? resolve(found)\n        : reject(getNotFoundError(cmd))\n\n    const ppRaw = pathEnv[i]\n    const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n    const pCmd = path.join(pathPart, cmd)\n    const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n      : pCmd\n\n    resolve(subStep(p, i, 0))\n  })\n\n  const subStep = (p, i, ii) => new Promise((resolve, reject) => {\n    if (ii === pathExt.length)\n      return resolve(step(i + 1))\n    const ext = pathExt[ii]\n    isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {\n      if (!er && is) {\n        if (opt.all)\n          found.push(p + ext)\n        else\n          return resolve(p + ext)\n      }\n      return resolve(subStep(p, i, ii + 1))\n    })\n  })\n\n  return cb ? step(0).then(res => cb(null, res), cb) : step(0)\n}\n\nconst whichSync = (cmd, opt) => {\n  opt = opt || {}\n\n  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n  const found = []\n\n  for (let i = 0; i < pathEnv.length; i ++) {\n    const ppRaw = pathEnv[i]\n    const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n    const pCmd = path.join(pathPart, cmd)\n    const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n      : pCmd\n\n    for (let j = 0; j < pathExt.length; j ++) {\n      const cur = p + pathExt[j]\n      try {\n        const is = isexe.sync(cur, { pathExt: pathExtExe })\n        if (is) {\n          if (opt.all)\n            found.push(cur)\n          else\n            return cur\n        }\n      } catch (ex) {}\n    }\n  }\n\n  if (opt.all && found.length)\n    return found\n\n  if (opt.nothrow)\n    return null\n\n  throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n","var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n  core = require('./windows.js')\n} else {\n  core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n  if (typeof options === 'function') {\n    cb = options\n    options = {}\n  }\n\n  if (!cb) {\n    if (typeof Promise !== 'function') {\n      throw new TypeError('callback not provided')\n    }\n\n    return new Promise(function (resolve, reject) {\n      isexe(path, options || {}, function (er, is) {\n        if (er) {\n          reject(er)\n        } else {\n          resolve(is)\n        }\n      })\n    })\n  }\n\n  core(path, options || {}, function (er, is) {\n    // ignore EACCES because that just means we aren't allowed to run it\n    if (er) {\n      if (er.code === 'EACCES' || options && options.ignoreErrors) {\n        er = null\n        is = false\n      }\n    }\n    cb(er, is)\n  })\n}\n\nfunction sync (path, options) {\n  // my kingdom for a filtered catch\n  try {\n    return core.sync(path, options || {})\n  } catch (er) {\n    if (options && options.ignoreErrors || er.code === 'EACCES') {\n      return false\n    } else {\n      throw er\n    }\n  }\n}\n","'use strict';\n\nconst pathKey = (options = {}) => {\n\tconst environment = options.env || process.env;\n\tconst platform = options.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(environment).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n};\n\nmodule.exports = pathKey;\n// TODO: Remove this for the next major release\nmodule.exports.default = pathKey;\n","'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n    // Escape meta chars\n    arg = arg.replace(metaCharsRegExp, '^$1');\n\n    return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n    // Convert to string\n    arg = `${arg}`;\n\n    // Algorithm below is based on https://qntm.org/cmd\n\n    // Sequence of backslashes followed by a double quote:\n    // double up all the backslashes and escape the double quote\n    arg = arg.replace(/(\\\\*)\"/g, '$1$1\\\\\"');\n\n    // Sequence of backslashes followed by the end of the string\n    // (which will become a double quote later):\n    // double up all the backslashes\n    arg = arg.replace(/(\\\\*)$/, '$1$1');\n\n    // All other backslashes occur literally\n\n    // Quote the whole thing:\n    arg = `\"${arg}\"`;\n\n    // Escape meta chars\n    arg = arg.replace(metaCharsRegExp, '^$1');\n\n    // Double escape meta chars if necessary\n    if (doubleEscapeMetaChars) {\n        arg = arg.replace(metaCharsRegExp, '^$1');\n    }\n\n    return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n","'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n    // Read the first 150 bytes from the file\n    const size = 150;\n    const buffer = Buffer.alloc(size);\n\n    let fd;\n\n    try {\n        fd = fs.openSync(command, 'r');\n        fs.readSync(fd, buffer, 0, size, 0);\n        fs.closeSync(fd);\n    } catch (e) { /* Empty */ }\n\n    // Attempt to extract shebang (null is returned if not a shebang)\n    return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n","'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n","'use strict';\nmodule.exports = /^#!(.*)/;\n","'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n    return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n        code: 'ENOENT',\n        errno: 'ENOENT',\n        syscall: `${syscall} ${original.command}`,\n        path: original.command,\n        spawnargs: original.args,\n    });\n}\n\nfunction hookChildProcess(cp, parsed) {\n    if (!isWin) {\n        return;\n    }\n\n    const originalEmit = cp.emit;\n\n    cp.emit = function (name, arg1) {\n        // If emitting \"exit\" event and exit code is 1, we need to check if\n        // the command exists and emit an \"error\" instead\n        // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n        if (name === 'exit') {\n            const err = verifyENOENT(arg1, parsed, 'spawn');\n\n            if (err) {\n                return originalEmit.call(cp, 'error', err);\n            }\n        }\n\n        return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n    };\n}\n\nfunction verifyENOENT(status, parsed) {\n    if (isWin && status === 1 && !parsed.file) {\n        return notFoundError(parsed.original, 'spawn');\n    }\n\n    return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n    if (isWin && status === 1 && !parsed.file) {\n        return notFoundError(parsed.original, 'spawnSync');\n    }\n\n    return null;\n}\n\nmodule.exports = {\n    hookChildProcess,\n    verifyENOENT,\n    verifyENOENTSync,\n    notFoundError,\n};\n","export default function stripFinalNewline(input) {\n\tconst LF = typeof input === 'string' ? '\\n' : '\\n'.charCodeAt();\n\tconst CR = typeof input === 'string' ? '\\r' : '\\r'.charCodeAt();\n\n\tif (input[input.length - 1] === LF) {\n\t\tinput = input.slice(0, -1);\n\t}\n\n\tif (input[input.length - 1] === CR) {\n\t\tinput = input.slice(0, -1);\n\t}\n\n\treturn input;\n}\n","import process from 'node:process';\nimport path from 'node:path';\nimport url from 'node:url';\nimport pathKey from 'path-key';\n\nexport function npmRunPath(options = {}) {\n\tconst {\n\t\tcwd = process.cwd(),\n\t\tpath: path_ = process.env[pathKey()],\n\t\texecPath = process.execPath,\n\t} = options;\n\n\tlet previous;\n\tconst execPathString = execPath instanceof URL ? url.fileURLToPath(execPath) : execPath;\n\tconst cwdString = cwd instanceof URL ? url.fileURLToPath(cwd) : cwd;\n\tlet cwdPath = path.resolve(cwdString);\n\tconst result = [];\n\n\twhile (previous !== cwdPath) {\n\t\tresult.push(path.join(cwdPath, 'node_modules/.bin'));\n\t\tprevious = cwdPath;\n\t\tcwdPath = path.resolve(cwdPath, '..');\n\t}\n\n\t// Ensure the running `node` binary is used.\n\tresult.push(path.resolve(cwdString, execPathString, '..'));\n\n\treturn [...result, path_].join(path.delimiter);\n}\n\nexport function npmRunPathEnv({env = process.env, ...options} = {}) {\n\tenv = {...env};\n\n\tconst path = pathKey({env});\n\toptions.path = env[path];\n\tenv[path] = npmRunPath(options);\n\n\treturn env;\n}\n","export default function pathKey(options = {}) {\n\tconst {\n\t\tenv = process.env,\n\t\tplatform = process.platform\n\t} = options;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(env).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n}\n","import mimicFunction from 'mimic-fn';\n\nconst calledFunctions = new WeakMap();\n\nconst onetime = (function_, options = {}) => {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError('Expected a function');\n\t}\n\n\tlet returnValue;\n\tlet callCount = 0;\n\tconst functionName = function_.displayName || function_.name || '<anonymous>';\n\n\tconst onetime = function (...arguments_) {\n\t\tcalledFunctions.set(onetime, ++callCount);\n\n\t\tif (callCount === 1) {\n\t\t\treturnValue = function_.apply(this, arguments_);\n\t\t\tfunction_ = null;\n\t\t} else if (options.throw === true) {\n\t\t\tthrow new Error(`Function \\`${functionName}\\` can only be called once`);\n\t\t}\n\n\t\treturn returnValue;\n\t};\n\n\tmimicFunction(onetime, function_);\n\tcalledFunctions.set(onetime, callCount);\n\n\treturn onetime;\n};\n\nonetime.callCount = function_ => {\n\tif (!calledFunctions.has(function_)) {\n\t\tthrow new Error(`The given function \\`${function_.name}\\` is not wrapped by the \\`onetime\\` package`);\n\t}\n\n\treturn calledFunctions.get(function_);\n};\n\nexport default onetime;\n","const copyProperty = (to, from, property, ignoreNonConfigurable) => {\n\t// `Function#length` should reflect the parameters of `to` not `from` since we keep its body.\n\t// `Function#prototype` is non-writable and non-configurable so can never be modified.\n\tif (property === 'length' || property === 'prototype') {\n\t\treturn;\n\t}\n\n\t// `Function#arguments` and `Function#caller` should not be copied. They were reported to be present in `Reflect.ownKeys` for some devices in React Native (#41), so we explicitly ignore them here.\n\tif (property === 'arguments' || property === 'caller') {\n\t\treturn;\n\t}\n\n\tconst toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n\tconst fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n\n\tif (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n\t\treturn;\n\t}\n\n\tObject.defineProperty(to, property, fromDescriptor);\n};\n\n// `Object.defineProperty()` throws if the property exists, is not configurable and either:\n// - one its descriptors is changed\n// - it is non-writable and its value is changed\nconst canCopyProperty = function (toDescriptor, fromDescriptor) {\n\treturn toDescriptor === undefined || toDescriptor.configurable || (\n\t\ttoDescriptor.writable === fromDescriptor.writable &&\n\t\ttoDescriptor.enumerable === fromDescriptor.enumerable &&\n\t\ttoDescriptor.configurable === fromDescriptor.configurable &&\n\t\t(toDescriptor.writable || toDescriptor.value === fromDescriptor.value)\n\t);\n};\n\nconst changePrototype = (to, from) => {\n\tconst fromPrototype = Object.getPrototypeOf(from);\n\tif (fromPrototype === Object.getPrototypeOf(to)) {\n\t\treturn;\n\t}\n\n\tObject.setPrototypeOf(to, fromPrototype);\n};\n\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\\n${fromBody}`;\n\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, 'toString');\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, 'name');\n\n// We call `from.toString()` early (not lazily) to ensure `from` can be garbage collected.\n// We use `bind()` instead of a closure for the same reason.\n// Calling `from.toString()` early also allows caching it in case `to.toString()` is called several times.\nconst changeToString = (to, from, name) => {\n\tconst withName = name === '' ? '' : `with ${name.trim()}() `;\n\tconst newToString = wrappedToString.bind(null, withName, from.toString());\n\t// Ensure `to.toString.toString` is non-enumerable and has the same `same`\n\tObject.defineProperty(newToString, 'name', toStringName);\n\tObject.defineProperty(to, 'toString', {...toStringDescriptor, value: newToString});\n};\n\nexport default function mimicFunction(to, from, {ignoreNonConfigurable = false} = {}) {\n\tconst {name} = to;\n\n\tfor (const property of Reflect.ownKeys(from)) {\n\t\tcopyProperty(to, from, property, ignoreNonConfigurable);\n\t}\n\n\tchangePrototype(to, from);\n\tchangeToString(to, from, name);\n\n\treturn to;\n}\n","import process from 'node:process';\nimport {signalsByName} from 'human-signals';\n\nconst getErrorPrefix = ({timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled}) => {\n\tif (timedOut) {\n\t\treturn `timed out after ${timeout} milliseconds`;\n\t}\n\n\tif (isCanceled) {\n\t\treturn 'was canceled';\n\t}\n\n\tif (errorCode !== undefined) {\n\t\treturn `failed with ${errorCode}`;\n\t}\n\n\tif (signal !== undefined) {\n\t\treturn `was killed with ${signal} (${signalDescription})`;\n\t}\n\n\tif (exitCode !== undefined) {\n\t\treturn `failed with exit code ${exitCode}`;\n\t}\n\n\treturn 'failed';\n};\n\nexport const makeError = ({\n\tstdout,\n\tstderr,\n\tall,\n\terror,\n\tsignal,\n\texitCode,\n\tcommand,\n\tescapedCommand,\n\ttimedOut,\n\tisCanceled,\n\tkilled,\n\tparsed: {options: {timeout, cwd = process.cwd()}},\n}) => {\n\t// `signal` and `exitCode` emitted on `spawned.on('exit')` event can be `null`.\n\t// We normalize them to `undefined`\n\texitCode = exitCode === null ? undefined : exitCode;\n\tsignal = signal === null ? undefined : signal;\n\tconst signalDescription = signal === undefined ? undefined : signalsByName[signal].description;\n\n\tconst errorCode = error && error.code;\n\n\tconst prefix = getErrorPrefix({timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled});\n\tconst execaMessage = `Command ${prefix}: ${command}`;\n\tconst isError = Object.prototype.toString.call(error) === '[object Error]';\n\tconst shortMessage = isError ? `${execaMessage}\\n${error.message}` : execaMessage;\n\tconst message = [shortMessage, stderr, stdout].filter(Boolean).join('\\n');\n\n\tif (isError) {\n\t\terror.originalMessage = error.message;\n\t\terror.message = message;\n\t} else {\n\t\terror = new Error(message);\n\t}\n\n\terror.shortMessage = shortMessage;\n\terror.command = command;\n\terror.escapedCommand = escapedCommand;\n\terror.exitCode = exitCode;\n\terror.signal = signal;\n\terror.signalDescription = signalDescription;\n\terror.stdout = stdout;\n\terror.stderr = stderr;\n\terror.cwd = cwd;\n\n\tif (all !== undefined) {\n\t\terror.all = all;\n\t}\n\n\tif ('bufferedData' in error) {\n\t\tdelete error.bufferedData;\n\t}\n\n\terror.failed = true;\n\terror.timedOut = Boolean(timedOut);\n\terror.isCanceled = isCanceled;\n\terror.killed = killed && !timedOut;\n\n\treturn error;\n};\n","import{constants}from\"node:os\";\n\nimport{SIGRTMAX}from\"./realtime.js\";\nimport{getSignals}from\"./signals.js\";\n\n\n\nconst getSignalsByName=()=>{\nconst signals=getSignals();\nreturn Object.fromEntries(signals.map(getSignalByName));\n};\n\nconst getSignalByName=({\nname,\nnumber,\ndescription,\nsupported,\naction,\nforced,\nstandard\n})=>[name,{name,number,description,supported,action,forced,standard}];\n\nexport const signalsByName=getSignalsByName();\n\n\n\n\nconst getSignalsByNumber=()=>{\nconst signals=getSignals();\nconst length=SIGRTMAX+1;\nconst signalsA=Array.from({length},(value,number)=>\ngetSignalByNumber(number,signals));\n\nreturn Object.assign({},...signalsA);\n};\n\nconst getSignalByNumber=(number,signals)=>{\nconst signal=findSignalByNumber(number,signals);\n\nif(signal===undefined){\nreturn{};\n}\n\nconst{name,description,supported,action,forced,standard}=signal;\nreturn{\n[number]:{\nname,\nnumber,\ndescription,\nsupported,\naction,\nforced,\nstandard\n}\n};\n};\n\n\n\nconst findSignalByNumber=(number,signals)=>{\nconst signal=signals.find(({name})=>constants.signals[name]===number);\n\nif(signal!==undefined){\nreturn signal;\n}\n\nreturn signals.find((signalA)=>signalA.number===number);\n};\n\nexport const signalsByNumber=getSignalsByNumber();","\nexport const getRealtimeSignals=()=>{\nconst length=SIGRTMAX-SIGRTMIN+1;\nreturn Array.from({length},getRealtimeSignal);\n};\n\nconst getRealtimeSignal=(value,index)=>({\nname:`SIGRT${index+1}`,\nnumber:SIGRTMIN+index,\naction:\"terminate\",\ndescription:\"Application-specific signal (realtime)\",\nstandard:\"posix\"\n});\n\nconst SIGRTMIN=34;\nexport const SIGRTMAX=64;","import{constants}from\"node:os\";\n\nimport{SIGNALS}from\"./core.js\";\nimport{getRealtimeSignals}from\"./realtime.js\";\n\n\n\nexport const getSignals=()=>{\nconst realtimeSignals=getRealtimeSignals();\nconst signals=[...SIGNALS,...realtimeSignals].map(normalizeSignal);\nreturn signals;\n};\n\n\n\n\n\n\n\nconst normalizeSignal=({\nname,\nnumber:defaultNumber,\ndescription,\naction,\nforced=false,\nstandard\n})=>{\nconst{\nsignals:{[name]:constantSignal}\n}=constants;\nconst supported=constantSignal!==undefined;\nconst number=supported?constantSignal:defaultNumber;\nreturn{name,number,description,supported,action,forced,standard};\n};","\n\nexport const SIGNALS=[\n{\nname:\"SIGHUP\",\nnumber:1,\naction:\"terminate\",\ndescription:\"Terminal closed\",\nstandard:\"posix\"\n},\n{\nname:\"SIGINT\",\nnumber:2,\naction:\"terminate\",\ndescription:\"User interruption with CTRL-C\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGQUIT\",\nnumber:3,\naction:\"core\",\ndescription:\"User interruption with CTRL-\\\\\",\nstandard:\"posix\"\n},\n{\nname:\"SIGILL\",\nnumber:4,\naction:\"core\",\ndescription:\"Invalid machine instruction\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGTRAP\",\nnumber:5,\naction:\"core\",\ndescription:\"Debugger breakpoint\",\nstandard:\"posix\"\n},\n{\nname:\"SIGABRT\",\nnumber:6,\naction:\"core\",\ndescription:\"Aborted\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGIOT\",\nnumber:6,\naction:\"core\",\ndescription:\"Aborted\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGBUS\",\nnumber:7,\naction:\"core\",\ndescription:\n\"Bus error due to misaligned, non-existing address or paging error\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGEMT\",\nnumber:7,\naction:\"terminate\",\ndescription:\"Command should be emulated but is not implemented\",\nstandard:\"other\"\n},\n{\nname:\"SIGFPE\",\nnumber:8,\naction:\"core\",\ndescription:\"Floating point arithmetic error\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGKILL\",\nnumber:9,\naction:\"terminate\",\ndescription:\"Forced termination\",\nstandard:\"posix\",\nforced:true\n},\n{\nname:\"SIGUSR1\",\nnumber:10,\naction:\"terminate\",\ndescription:\"Application-specific signal\",\nstandard:\"posix\"\n},\n{\nname:\"SIGSEGV\",\nnumber:11,\naction:\"core\",\ndescription:\"Segmentation fault\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGUSR2\",\nnumber:12,\naction:\"terminate\",\ndescription:\"Application-specific signal\",\nstandard:\"posix\"\n},\n{\nname:\"SIGPIPE\",\nnumber:13,\naction:\"terminate\",\ndescription:\"Broken pipe or socket\",\nstandard:\"posix\"\n},\n{\nname:\"SIGALRM\",\nnumber:14,\naction:\"terminate\",\ndescription:\"Timeout or timer\",\nstandard:\"posix\"\n},\n{\nname:\"SIGTERM\",\nnumber:15,\naction:\"terminate\",\ndescription:\"Termination\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGSTKFLT\",\nnumber:16,\naction:\"terminate\",\ndescription:\"Stack is empty or overflowed\",\nstandard:\"other\"\n},\n{\nname:\"SIGCHLD\",\nnumber:17,\naction:\"ignore\",\ndescription:\"Child process terminated, paused or unpaused\",\nstandard:\"posix\"\n},\n{\nname:\"SIGCLD\",\nnumber:17,\naction:\"ignore\",\ndescription:\"Child process terminated, paused or unpaused\",\nstandard:\"other\"\n},\n{\nname:\"SIGCONT\",\nnumber:18,\naction:\"unpause\",\ndescription:\"Unpaused\",\nstandard:\"posix\",\nforced:true\n},\n{\nname:\"SIGSTOP\",\nnumber:19,\naction:\"pause\",\ndescription:\"Paused\",\nstandard:\"posix\",\nforced:true\n},\n{\nname:\"SIGTSTP\",\nnumber:20,\naction:\"pause\",\ndescription:\"Paused using CTRL-Z or \\\"suspend\\\"\",\nstandard:\"posix\"\n},\n{\nname:\"SIGTTIN\",\nnumber:21,\naction:\"pause\",\ndescription:\"Background process cannot read terminal input\",\nstandard:\"posix\"\n},\n{\nname:\"SIGBREAK\",\nnumber:21,\naction:\"terminate\",\ndescription:\"User interruption with CTRL-BREAK\",\nstandard:\"other\"\n},\n{\nname:\"SIGTTOU\",\nnumber:22,\naction:\"pause\",\ndescription:\"Background process cannot write to terminal output\",\nstandard:\"posix\"\n},\n{\nname:\"SIGURG\",\nnumber:23,\naction:\"ignore\",\ndescription:\"Socket received out-of-band data\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGXCPU\",\nnumber:24,\naction:\"core\",\ndescription:\"Process timed out\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGXFSZ\",\nnumber:25,\naction:\"core\",\ndescription:\"File too big\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGVTALRM\",\nnumber:26,\naction:\"terminate\",\ndescription:\"Timeout or timer\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGPROF\",\nnumber:27,\naction:\"terminate\",\ndescription:\"Timeout or timer\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGWINCH\",\nnumber:28,\naction:\"ignore\",\ndescription:\"Terminal window size changed\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGIO\",\nnumber:29,\naction:\"terminate\",\ndescription:\"I/O is available\",\nstandard:\"other\"\n},\n{\nname:\"SIGPOLL\",\nnumber:29,\naction:\"terminate\",\ndescription:\"Watched event\",\nstandard:\"other\"\n},\n{\nname:\"SIGINFO\",\nnumber:29,\naction:\"ignore\",\ndescription:\"Request for process information\",\nstandard:\"other\"\n},\n{\nname:\"SIGPWR\",\nnumber:30,\naction:\"terminate\",\ndescription:\"Device running out of power\",\nstandard:\"systemv\"\n},\n{\nname:\"SIGSYS\",\nnumber:31,\naction:\"core\",\ndescription:\"Invalid system call\",\nstandard:\"other\"\n},\n{\nname:\"SIGUNUSED\",\nnumber:31,\naction:\"terminate\",\ndescription:\"Invalid system call\",\nstandard:\"other\"\n}];","const aliases = ['stdin', 'stdout', 'stderr'];\n\nconst hasAlias = options => aliases.some(alias => options[alias] !== undefined);\n\nexport const normalizeStdio = options => {\n\tif (!options) {\n\t\treturn;\n\t}\n\n\tconst {stdio} = options;\n\n\tif (stdio === undefined) {\n\t\treturn aliases.map(alias => options[alias]);\n\t}\n\n\tif (hasAlias(options)) {\n\t\tthrow new Error(`It's not possible to provide \\`stdio\\` in combination with one of ${aliases.map(alias => `\\`${alias}\\``).join(', ')}`);\n\t}\n\n\tif (typeof stdio === 'string') {\n\t\treturn stdio;\n\t}\n\n\tif (!Array.isArray(stdio)) {\n\t\tthrow new TypeError(`Expected \\`stdio\\` to be of type \\`string\\` or \\`Array\\`, got \\`${typeof stdio}\\``);\n\t}\n\n\tconst length = Math.max(stdio.length, aliases.length);\n\treturn Array.from({length}, (value, index) => stdio[index]);\n};\n\n// `ipc` is pushed unless it is already present\nexport const normalizeStdioNode = options => {\n\tconst stdio = normalizeStdio(options);\n\n\tif (stdio === 'ipc') {\n\t\treturn 'ipc';\n\t}\n\n\tif (stdio === undefined || typeof stdio === 'string') {\n\t\treturn [stdio, stdio, stdio, 'ipc'];\n\t}\n\n\tif (stdio.includes('ipc')) {\n\t\treturn stdio;\n\t}\n\n\treturn [...stdio, 'ipc'];\n};\n","import os from 'node:os';\nimport onExit from 'signal-exit';\n\nconst DEFAULT_FORCE_KILL_TIMEOUT = 1000 * 5;\n\n// Monkey-patches `childProcess.kill()` to add `forceKillAfterTimeout` behavior\nexport const spawnedKill = (kill, signal = 'SIGTERM', options = {}) => {\n\tconst killResult = kill(signal);\n\tsetKillTimeout(kill, signal, options, killResult);\n\treturn killResult;\n};\n\nconst setKillTimeout = (kill, signal, options, killResult) => {\n\tif (!shouldForceKill(signal, options, killResult)) {\n\t\treturn;\n\t}\n\n\tconst timeout = getForceKillAfterTimeout(options);\n\tconst t = setTimeout(() => {\n\t\tkill('SIGKILL');\n\t}, timeout);\n\n\t// Guarded because there's no `.unref()` when `execa` is used in the renderer\n\t// process in Electron. This cannot be tested since we don't run tests in\n\t// Electron.\n\t// istanbul ignore else\n\tif (t.unref) {\n\t\tt.unref();\n\t}\n};\n\nconst shouldForceKill = (signal, {forceKillAfterTimeout}, killResult) => isSigterm(signal) && forceKillAfterTimeout !== false && killResult;\n\nconst isSigterm = signal => signal === os.constants.signals.SIGTERM\n\t\t|| (typeof signal === 'string' && signal.toUpperCase() === 'SIGTERM');\n\nconst getForceKillAfterTimeout = ({forceKillAfterTimeout = true}) => {\n\tif (forceKillAfterTimeout === true) {\n\t\treturn DEFAULT_FORCE_KILL_TIMEOUT;\n\t}\n\n\tif (!Number.isFinite(forceKillAfterTimeout) || forceKillAfterTimeout < 0) {\n\t\tthrow new TypeError(`Expected the \\`forceKillAfterTimeout\\` option to be a non-negative integer, got \\`${forceKillAfterTimeout}\\` (${typeof forceKillAfterTimeout})`);\n\t}\n\n\treturn forceKillAfterTimeout;\n};\n\n// `childProcess.cancel()`\nexport const spawnedCancel = (spawned, context) => {\n\tconst killResult = spawned.kill();\n\n\tif (killResult) {\n\t\tcontext.isCanceled = true;\n\t}\n};\n\nconst timeoutKill = (spawned, signal, reject) => {\n\tspawned.kill(signal);\n\treject(Object.assign(new Error('Timed out'), {timedOut: true, signal}));\n};\n\n// `timeout` option handling\nexport const setupTimeout = (spawned, {timeout, killSignal = 'SIGTERM'}, spawnedPromise) => {\n\tif (timeout === 0 || timeout === undefined) {\n\t\treturn spawnedPromise;\n\t}\n\n\tlet timeoutId;\n\tconst timeoutPromise = new Promise((resolve, reject) => {\n\t\ttimeoutId = setTimeout(() => {\n\t\t\ttimeoutKill(spawned, killSignal, reject);\n\t\t}, timeout);\n\t});\n\n\tconst safeSpawnedPromise = spawnedPromise.finally(() => {\n\t\tclearTimeout(timeoutId);\n\t});\n\n\treturn Promise.race([timeoutPromise, safeSpawnedPromise]);\n};\n\nexport const validateTimeout = ({timeout}) => {\n\tif (timeout !== undefined && (!Number.isFinite(timeout) || timeout < 0)) {\n\t\tthrow new TypeError(`Expected the \\`timeout\\` option to be a non-negative integer, got \\`${timeout}\\` (${typeof timeout})`);\n\t}\n};\n\n// `cleanup` option handling\nexport const setExitHandler = async (spawned, {cleanup, detached}, timedPromise) => {\n\tif (!cleanup || detached) {\n\t\treturn timedPromise;\n\t}\n\n\tconst removeExitHandler = onExit(() => {\n\t\tspawned.kill();\n\t});\n\n\treturn timedPromise.finally(() => {\n\t\tremoveExitHandler();\n\t});\n};\n","// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nvar process = global.process\n\nconst processOk = function (process) {\n  return process &&\n    typeof process === 'object' &&\n    typeof process.removeListener === 'function' &&\n    typeof process.emit === 'function' &&\n    typeof process.reallyExit === 'function' &&\n    typeof process.listeners === 'function' &&\n    typeof process.kill === 'function' &&\n    typeof process.pid === 'number' &&\n    typeof process.on === 'function'\n}\n\n// some kind of non-node environment, just no-op\n/* istanbul ignore if */\nif (!processOk(process)) {\n  module.exports = function () {\n    return function () {}\n  }\n} else {\n  var assert = require('assert')\n  var signals = require('./signals.js')\n  var isWin = /^win/i.test(process.platform)\n\n  var EE = require('events')\n  /* istanbul ignore if */\n  if (typeof EE !== 'function') {\n    EE = EE.EventEmitter\n  }\n\n  var emitter\n  if (process.__signal_exit_emitter__) {\n    emitter = process.__signal_exit_emitter__\n  } else {\n    emitter = process.__signal_exit_emitter__ = new EE()\n    emitter.count = 0\n    emitter.emitted = {}\n  }\n\n  // Because this emitter is a global, we have to check to see if a\n  // previous version of this library failed to enable infinite listeners.\n  // I know what you're about to say.  But literally everything about\n  // signal-exit is a compromise with evil.  Get used to it.\n  if (!emitter.infinite) {\n    emitter.setMaxListeners(Infinity)\n    emitter.infinite = true\n  }\n\n  module.exports = function (cb, opts) {\n    /* istanbul ignore if */\n    if (!processOk(global.process)) {\n      return function () {}\n    }\n    assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')\n\n    if (loaded === false) {\n      load()\n    }\n\n    var ev = 'exit'\n    if (opts && opts.alwaysLast) {\n      ev = 'afterexit'\n    }\n\n    var remove = function () {\n      emitter.removeListener(ev, cb)\n      if (emitter.listeners('exit').length === 0 &&\n          emitter.listeners('afterexit').length === 0) {\n        unload()\n      }\n    }\n    emitter.on(ev, cb)\n\n    return remove\n  }\n\n  var unload = function unload () {\n    if (!loaded || !processOk(global.process)) {\n      return\n    }\n    loaded = false\n\n    signals.forEach(function (sig) {\n      try {\n        process.removeListener(sig, sigListeners[sig])\n      } catch (er) {}\n    })\n    process.emit = originalProcessEmit\n    process.reallyExit = originalProcessReallyExit\n    emitter.count -= 1\n  }\n  module.exports.unload = unload\n\n  var emit = function emit (event, code, signal) {\n    /* istanbul ignore if */\n    if (emitter.emitted[event]) {\n      return\n    }\n    emitter.emitted[event] = true\n    emitter.emit(event, code, signal)\n  }\n\n  // { <signal>: <listener fn>, ... }\n  var sigListeners = {}\n  signals.forEach(function (sig) {\n    sigListeners[sig] = function listener () {\n      /* istanbul ignore if */\n      if (!processOk(global.process)) {\n        return\n      }\n      // If there are no other listeners, an exit is coming!\n      // Simplest way: remove us and then re-send the signal.\n      // We know that this will kill the process, so we can\n      // safely emit now.\n      var listeners = process.listeners(sig)\n      if (listeners.length === emitter.count) {\n        unload()\n        emit('exit', null, sig)\n        /* istanbul ignore next */\n        emit('afterexit', null, sig)\n        /* istanbul ignore next */\n        if (isWin && sig === 'SIGHUP') {\n          // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n          // so use a supported signal instead\n          sig = 'SIGINT'\n        }\n        /* istanbul ignore next */\n        process.kill(process.pid, sig)\n      }\n    }\n  })\n\n  module.exports.signals = function () {\n    return signals\n  }\n\n  var loaded = false\n\n  var load = function load () {\n    if (loaded || !processOk(global.process)) {\n      return\n    }\n    loaded = true\n\n    // This is the number of onSignalExit's that are in play.\n    // It's important so that we can count the correct number of\n    // listeners on signals, and don't wait for the other one to\n    // handle it instead of us.\n    emitter.count += 1\n\n    signals = signals.filter(function (sig) {\n      try {\n        process.on(sig, sigListeners[sig])\n        return true\n      } catch (er) {\n        return false\n      }\n    })\n\n    process.emit = processEmit\n    process.reallyExit = processReallyExit\n  }\n  module.exports.load = load\n\n  var originalProcessReallyExit = process.reallyExit\n  var processReallyExit = function processReallyExit (code) {\n    /* istanbul ignore if */\n    if (!processOk(global.process)) {\n      return\n    }\n    process.exitCode = code || /* istanbul ignore next */ 0\n    emit('exit', process.exitCode, null)\n    /* istanbul ignore next */\n    emit('afterexit', process.exitCode, null)\n    /* istanbul ignore next */\n    originalProcessReallyExit.call(process, process.exitCode)\n  }\n\n  var originalProcessEmit = process.emit\n  var processEmit = function processEmit (ev, arg) {\n    if (ev === 'exit' && processOk(global.process)) {\n      /* istanbul ignore else */\n      if (arg !== undefined) {\n        process.exitCode = arg\n      }\n      var ret = originalProcessEmit.apply(this, arguments)\n      /* istanbul ignore next */\n      emit('exit', process.exitCode, null)\n      /* istanbul ignore next */\n      emit('afterexit', process.exitCode, null)\n      /* istanbul ignore next */\n      return ret\n    } else {\n      return originalProcessEmit.apply(this, arguments)\n    }\n  }\n}\n","import {createWriteStream} from 'node:fs';\nimport {ChildProcess} from 'node:child_process';\nimport {isWritableStream} from 'is-stream';\n\nconst isExecaChildProcess = target => target instanceof ChildProcess && typeof target.then === 'function';\n\nconst pipeToTarget = (spawned, streamName, target) => {\n\tif (typeof target === 'string') {\n\t\tspawned[streamName].pipe(createWriteStream(target));\n\t\treturn spawned;\n\t}\n\n\tif (isWritableStream(target)) {\n\t\tspawned[streamName].pipe(target);\n\t\treturn spawned;\n\t}\n\n\tif (!isExecaChildProcess(target)) {\n\t\tthrow new TypeError('The second argument must be a string, a stream or an Execa child process.');\n\t}\n\n\tif (!isWritableStream(target.stdin)) {\n\t\tthrow new TypeError('The target child process\\'s stdin must be available.');\n\t}\n\n\tspawned[streamName].pipe(target.stdin);\n\treturn target;\n};\n\nexport const addPipeMethods = spawned => {\n\tif (spawned.stdout !== null) {\n\t\tspawned.pipeStdout = pipeToTarget.bind(undefined, spawned, 'stdout');\n\t}\n\n\tif (spawned.stderr !== null) {\n\t\tspawned.pipeStderr = pipeToTarget.bind(undefined, spawned, 'stderr');\n\t}\n\n\tif (spawned.all !== undefined) {\n\t\tspawned.pipeAll = pipeToTarget.bind(undefined, spawned, 'all');\n\t}\n};\n","export function isStream(stream) {\n\treturn stream !== null\n\t\t&& typeof stream === 'object'\n\t\t&& typeof stream.pipe === 'function';\n}\n\nexport function isWritableStream(stream) {\n\treturn isStream(stream)\n\t\t&& stream.writable !== false\n\t\t&& typeof stream._write === 'function'\n\t\t&& typeof stream._writableState === 'object';\n}\n\nexport function isReadableStream(stream) {\n\treturn isStream(stream)\n\t\t&& stream.readable !== false\n\t\t&& typeof stream._read === 'function'\n\t\t&& typeof stream._readableState === 'object';\n}\n\nexport function isDuplexStream(stream) {\n\treturn isWritableStream(stream)\n\t\t&& isReadableStream(stream);\n}\n\nexport function isTransformStream(stream) {\n\treturn isDuplexStream(stream)\n\t\t&& typeof stream._transform === 'function';\n}\n","import {createReadStream, readFileSync} from 'node:fs';\nimport {isStream} from 'is-stream';\nimport getStream from 'get-stream';\nimport mergeStream from 'merge-stream';\n\nconst validateInputOptions = input => {\n\tif (input !== undefined) {\n\t\tthrow new TypeError('The `input` and `inputFile` options cannot be both set.');\n\t}\n};\n\nconst getInputSync = ({input, inputFile}) => {\n\tif (typeof inputFile !== 'string') {\n\t\treturn input;\n\t}\n\n\tvalidateInputOptions(input);\n\treturn readFileSync(inputFile);\n};\n\n// `input` and `inputFile` option in sync mode\nexport const handleInputSync = options => {\n\tconst input = getInputSync(options);\n\n\tif (isStream(input)) {\n\t\tthrow new TypeError('The `input` option cannot be a stream in sync mode');\n\t}\n\n\treturn input;\n};\n\nconst getInput = ({input, inputFile}) => {\n\tif (typeof inputFile !== 'string') {\n\t\treturn input;\n\t}\n\n\tvalidateInputOptions(input);\n\treturn createReadStream(inputFile);\n};\n\n// `input` and `inputFile` option in async mode\nexport const handleInput = (spawned, options) => {\n\tconst input = getInput(options);\n\n\tif (input === undefined) {\n\t\treturn;\n\t}\n\n\tif (isStream(input)) {\n\t\tinput.pipe(spawned.stdin);\n\t} else {\n\t\tspawned.stdin.end(input);\n\t}\n};\n\n// `all` interleaves `stdout` and `stderr`\nexport const makeAllStream = (spawned, {all}) => {\n\tif (!all || (!spawned.stdout && !spawned.stderr)) {\n\t\treturn;\n\t}\n\n\tconst mixed = mergeStream();\n\n\tif (spawned.stdout) {\n\t\tmixed.add(spawned.stdout);\n\t}\n\n\tif (spawned.stderr) {\n\t\tmixed.add(spawned.stderr);\n\t}\n\n\treturn mixed;\n};\n\n// On failure, `result.stdout|stderr|all` should contain the currently buffered stream\nconst getBufferedData = async (stream, streamPromise) => {\n\t// When `buffer` is `false`, `streamPromise` is `undefined` and there is no buffered data to retrieve\n\tif (!stream || streamPromise === undefined) {\n\t\treturn;\n\t}\n\n\tstream.destroy();\n\n\ttry {\n\t\treturn await streamPromise;\n\t} catch (error) {\n\t\treturn error.bufferedData;\n\t}\n};\n\nconst getStreamPromise = (stream, {encoding, buffer, maxBuffer}) => {\n\tif (!stream || !buffer) {\n\t\treturn;\n\t}\n\n\tif (encoding) {\n\t\treturn getStream(stream, {encoding, maxBuffer});\n\t}\n\n\treturn getStream.buffer(stream, {maxBuffer});\n};\n\n// Retrieve result of child process: exit code, signal, error, streams (stdout/stderr/all)\nexport const getSpawnedResult = async ({stdout, stderr, all}, {encoding, buffer, maxBuffer}, processDone) => {\n\tconst stdoutPromise = getStreamPromise(stdout, {encoding, buffer, maxBuffer});\n\tconst stderrPromise = getStreamPromise(stderr, {encoding, buffer, maxBuffer});\n\tconst allPromise = getStreamPromise(all, {encoding, buffer, maxBuffer: maxBuffer * 2});\n\n\ttry {\n\t\treturn await Promise.all([processDone, stdoutPromise, stderrPromise, allPromise]);\n\t} catch (error) {\n\t\treturn Promise.all([\n\t\t\t{error, signal: error.signal, timedOut: error.timedOut},\n\t\t\tgetBufferedData(stdout, stdoutPromise),\n\t\t\tgetBufferedData(stderr, stderrPromise),\n\t\t\tgetBufferedData(all, allPromise),\n\t\t]);\n\t}\n};\n","'use strict';\nconst {constants: BufferConstants} = require('buffer');\nconst stream = require('stream');\nconst {promisify} = require('util');\nconst bufferStream = require('./buffer-stream');\n\nconst streamPipelinePromisified = promisify(stream.pipeline);\n\nclass MaxBufferError extends Error {\n\tconstructor() {\n\t\tsuper('maxBuffer exceeded');\n\t\tthis.name = 'MaxBufferError';\n\t}\n}\n\nasync function getStream(inputStream, options) {\n\tif (!inputStream) {\n\t\tthrow new Error('Expected a stream');\n\t}\n\n\toptions = {\n\t\tmaxBuffer: Infinity,\n\t\t...options\n\t};\n\n\tconst {maxBuffer} = options;\n\tconst stream = bufferStream(options);\n\n\tawait new Promise((resolve, reject) => {\n\t\tconst rejectPromise = error => {\n\t\t\t// Don't retrieve an oversized buffer.\n\t\t\tif (error && stream.getBufferedLength() <= BufferConstants.MAX_LENGTH) {\n\t\t\t\terror.bufferedData = stream.getBufferedValue();\n\t\t\t}\n\n\t\t\treject(error);\n\t\t};\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tawait streamPipelinePromisified(inputStream, stream);\n\t\t\t\tresolve();\n\t\t\t} catch (error) {\n\t\t\t\trejectPromise(error);\n\t\t\t}\n\t\t})();\n\n\t\tstream.on('data', () => {\n\t\t\tif (stream.getBufferedLength() > maxBuffer) {\n\t\t\t\trejectPromise(new MaxBufferError());\n\t\t\t}\n\t\t});\n\t});\n\n\treturn stream.getBufferedValue();\n}\n\nmodule.exports = getStream;\nmodule.exports.buffer = (stream, options) => getStream(stream, {...options, encoding: 'buffer'});\nmodule.exports.array = (stream, options) => getStream(stream, {...options, array: true});\nmodule.exports.MaxBufferError = MaxBufferError;\n","'use strict';\nconst {PassThrough: PassThroughStream} = require('stream');\n\nmodule.exports = options => {\n\toptions = {...options};\n\n\tconst {array} = options;\n\tlet {encoding} = options;\n\tconst isBuffer = encoding === 'buffer';\n\tlet objectMode = false;\n\n\tif (array) {\n\t\tobjectMode = !(encoding || isBuffer);\n\t} else {\n\t\tencoding = encoding || 'utf8';\n\t}\n\n\tif (isBuffer) {\n\t\tencoding = null;\n\t}\n\n\tconst stream = new PassThroughStream({objectMode});\n\n\tif (encoding) {\n\t\tstream.setEncoding(encoding);\n\t}\n\n\tlet length = 0;\n\tconst chunks = [];\n\n\tstream.on('data', chunk => {\n\t\tchunks.push(chunk);\n\n\t\tif (objectMode) {\n\t\t\tlength = chunks.length;\n\t\t} else {\n\t\t\tlength += chunk.length;\n\t\t}\n\t});\n\n\tstream.getBufferedValue = () => {\n\t\tif (array) {\n\t\t\treturn chunks;\n\t\t}\n\n\t\treturn isBuffer ? Buffer.concat(chunks, length) : chunks.join('');\n\t};\n\n\tstream.getBufferedLength = () => length;\n\n\treturn stream;\n};\n","'use strict';\n\nconst { PassThrough } = require('stream');\n\nmodule.exports = function (/*streams...*/) {\n  var sources = []\n  var output  = new PassThrough({objectMode: true})\n\n  output.setMaxListeners(0)\n\n  output.add = add\n  output.isEmpty = isEmpty\n\n  output.on('unpipe', remove)\n\n  Array.prototype.slice.call(arguments).forEach(add)\n\n  return output\n\n  function add (source) {\n    if (Array.isArray(source)) {\n      source.forEach(add)\n      return this\n    }\n\n    sources.push(source);\n    source.once('end', remove.bind(null, source))\n    source.once('error', output.emit.bind(output, 'error'))\n    source.pipe(output, {end: false})\n    return this\n  }\n\n  function isEmpty () {\n    return sources.length == 0;\n  }\n\n  function remove (source) {\n    sources = sources.filter(function (it) { return it !== source })\n    if (!sources.length && output.readable) { output.end() }\n  }\n}\n","// eslint-disable-next-line unicorn/prefer-top-level-await\nconst nativePromisePrototype = (async () => {})().constructor.prototype;\n\nconst descriptors = ['then', 'catch', 'finally'].map(property => [\n\tproperty,\n\tReflect.getOwnPropertyDescriptor(nativePromisePrototype, property),\n]);\n\n// The return value is a mixin of `childProcess` and `Promise`\nexport const mergePromise = (spawned, promise) => {\n\tfor (const [property, descriptor] of descriptors) {\n\t\t// Starting the main `promise` is deferred to avoid consuming streams\n\t\tconst value = typeof promise === 'function'\n\t\t\t? (...args) => Reflect.apply(descriptor.value, promise(), args)\n\t\t\t: descriptor.value.bind(promise);\n\n\t\tReflect.defineProperty(spawned, property, {...descriptor, value});\n\t}\n};\n\n// Use promises instead of `child_process` events\nexport const getSpawnedPromise = spawned => new Promise((resolve, reject) => {\n\tspawned.on('exit', (exitCode, signal) => {\n\t\tresolve({exitCode, signal});\n\t});\n\n\tspawned.on('error', error => {\n\t\treject(error);\n\t});\n\n\tif (spawned.stdin) {\n\t\tspawned.stdin.on('error', error => {\n\t\t\treject(error);\n\t\t});\n\t}\n});\n","import {Buffer} from 'node:buffer';\nimport {ChildProcess} from 'node:child_process';\n\nconst normalizeArgs = (file, args = []) => {\n\tif (!Array.isArray(args)) {\n\t\treturn [file];\n\t}\n\n\treturn [file, ...args];\n};\n\nconst NO_ESCAPE_REGEXP = /^[\\w.-]+$/;\nconst DOUBLE_QUOTES_REGEXP = /\"/g;\n\nconst escapeArg = arg => {\n\tif (typeof arg !== 'string' || NO_ESCAPE_REGEXP.test(arg)) {\n\t\treturn arg;\n\t}\n\n\treturn `\"${arg.replace(DOUBLE_QUOTES_REGEXP, '\\\\\"')}\"`;\n};\n\nexport const joinCommand = (file, args) => normalizeArgs(file, args).join(' ');\n\nexport const getEscapedCommand = (file, args) => normalizeArgs(file, args).map(arg => escapeArg(arg)).join(' ');\n\nconst SPACES_REGEXP = / +/g;\n\n// Handle `execaCommand()`\nexport const parseCommand = command => {\n\tconst tokens = [];\n\tfor (const token of command.trim().split(SPACES_REGEXP)) {\n\t\t// Allow spaces to be escaped by a backslash if not meant as a delimiter\n\t\tconst previousToken = tokens[tokens.length - 1];\n\t\tif (previousToken && previousToken.endsWith('\\\\')) {\n\t\t\t// Merge previous token with current one\n\t\t\ttokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n\t\t} else {\n\t\t\ttokens.push(token);\n\t\t}\n\t}\n\n\treturn tokens;\n};\n\nconst parseExpression = expression => {\n\tconst typeOfExpression = typeof expression;\n\n\tif (typeOfExpression === 'string') {\n\t\treturn expression;\n\t}\n\n\tif (typeOfExpression === 'number') {\n\t\treturn String(expression);\n\t}\n\n\tif (\n\t\ttypeOfExpression === 'object'\n\t\t&& expression !== null\n\t\t&& !(expression instanceof ChildProcess)\n\t\t&& 'stdout' in expression\n\t) {\n\t\tconst typeOfStdout = typeof expression.stdout;\n\n\t\tif (typeOfStdout === 'string') {\n\t\t\treturn expression.stdout;\n\t\t}\n\n\t\tif (Buffer.isBuffer(expression.stdout)) {\n\t\t\treturn expression.stdout.toString();\n\t\t}\n\n\t\tthrow new TypeError(`Unexpected \"${typeOfStdout}\" stdout in template expression`);\n\t}\n\n\tthrow new TypeError(`Unexpected \"${typeOfExpression}\" in template expression`);\n};\n\nconst concatTokens = (tokens, nextTokens, isNew) => isNew || tokens.length === 0 || nextTokens.length === 0\n\t? [...tokens, ...nextTokens]\n\t: [\n\t\t...tokens.slice(0, -1),\n\t\t`${tokens[tokens.length - 1]}${nextTokens[0]}`,\n\t\t...nextTokens.slice(1),\n\t];\n\nconst parseTemplate = ({templates, expressions, tokens, index, template}) => {\n\tconst templateString = template ?? templates.raw[index];\n\tconst templateTokens = templateString.split(SPACES_REGEXP).filter(Boolean);\n\tconst newTokens = concatTokens(\n\t\ttokens,\n\t\ttemplateTokens,\n\t\ttemplateString.startsWith(' '),\n\t);\n\n\tif (index === expressions.length) {\n\t\treturn newTokens;\n\t}\n\n\tconst expression = expressions[index];\n\tconst expressionTokens = Array.isArray(expression)\n\t\t? expression.map(expression => parseExpression(expression))\n\t\t: [parseExpression(expression)];\n\treturn concatTokens(\n\t\tnewTokens,\n\t\texpressionTokens,\n\t\ttemplateString.endsWith(' '),\n\t);\n};\n\nexport const parseTemplates = (templates, expressions) => {\n\tlet tokens = [];\n\n\tfor (const [index, template] of templates.entries()) {\n\t\ttokens = parseTemplate({templates, expressions, tokens, index, template});\n\t}\n\n\treturn tokens;\n};\n\n","import {debuglog} from 'node:util';\nimport process from 'node:process';\n\nexport const verboseDefault = debuglog('execa').enabled;\n\nconst padField = (field, padding) => String(field).padStart(padding, '0');\n\nconst getTimestamp = () => {\n\tconst date = new Date();\n\treturn `${padField(date.getHours(), 2)}:${padField(date.getMinutes(), 2)}:${padField(date.getSeconds(), 2)}.${padField(date.getMilliseconds(), 3)}`;\n};\n\nexport const logCommand = (escapedCommand, {verbose}) => {\n\tif (!verbose) {\n\t\treturn;\n\t}\n\n\tprocess.stderr.write(`[${getTimestamp()}] ${escapedCommand}\\n`);\n};\n","import { default as isAdminWindowsOrig } from \"./is-admin.mjs\"\nimport { isRoot } from \"./root.mjs\"\n\n/**\n * Check if the process is running as administrator on Windows.\n *\n * @example\n *\n * ```js\n * import { isAdminWindows } from \"admina\"\n *\n * console.log(await isAdminWindows())\n * //=> false\n * ```\n *\n * @returns Whether the process is running as administrator.\n */\nexport const isAdminWindows = isAdminWindowsOrig\n\n/**\n * Detect if the process has root privilege on Posix.\n *\n * @example\n *\n * ```js\n * import { isAdminPosix } from \"admina\"\n *\n * console.log(isAdminPosix())\n * //=> false\n * ```\n *\n * @returns Whether the process is running as root.\n */\nexport const isAdminPosix = isRoot\n\n/**\n * Detect if the code is running as admin/root\n *\n * On Windows, it checks for admin access, and on Posix, it checks for root access\n *\n * @example\n *\n * ```js\n * import { isAdmin } from \"admina\"\n *\n * console.log(isAdmin())\n * //=> false\n * ```\n *\n * @returns Whether the process is running as root or admin.\n */\nexport function isAdmin() {\n  if (process.platform === \"win32\") {\n    return isAdminWindows()\n  } else {\n    return isRoot()\n  }\n}\n","// From `is-admin`: updated execa\n\nimport { execa } from \"execa\"\n\n// https://stackoverflow.com/a/28268802\nasync function testFltmc() {\n  try {\n    await execa(\"fltmc\")\n    return true\n  } catch {\n    return false\n  }\n}\n\nexport default async function isAdmin() {\n  if (process.platform !== \"win32\") {\n    return false\n  }\n\n  try {\n    // https://stackoverflow.com/a/21295806/1641422\n    await execa(\"fsutil\", [\"dirty\", \"query\", process.env.systemdrive ?? \"\"])\n    return true\n  } catch (error) {\n    if ((error as { code?: string }).code === \"ENOENT\") {\n      return testFltmc()\n    }\n\n    return false\n  }\n}\n","import { isSudo, execRoot, defaultExecOptions } from \"./root.mjs\"\nimport fs from \"fs\"\n\n/**\n * Give the user access to the given path (and its sub-directories if a directory). It changes the owner to the\n * SUDO_USER. This allows the user to use the folder without sudo\n *\n * @param path The path to give the user access to\n */\nexport async function grantUserWriteAccess(path: string) {\n  if (\n    (process.platform === \"linux\" || process.platform === \"darwin\") &&\n    isSudo() &&\n    process.env.SUDO_USER !== undefined\n  ) {\n    const isDirectory = fs.statSync(path).isDirectory()\n    await execRoot(\"chown\", [...(isDirectory ? [\"-R\"] : []), process.env.SUDO_USER, path], defaultExecOptions)\n  }\n}\n"],"names":[],"version":3,"file":"index.deno.mjs.map","sourceRoot":"../"}