util.js.map 23.4 KB
{"version":3,"sources":["../src/util.ts"],"names":[],"mappings":"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","sourcesContent":["import { path7za } from \"7zip-bin\"\nimport { appBuilderPath } from \"app-builder-bin\"\nimport { safeStringifyJson } from \"builder-util-runtime\"\nimport chalk from \"chalk\"\nimport { ChildProcess, execFile, ExecFileOptions, spawn as _spawn, SpawnOptions } from \"child_process\"\nimport { createHash } from \"crypto\"\nimport _debug from \"debug\"\nimport { dump } from \"js-yaml\"\nimport * as path from \"path\"\nimport sourceMapSupport from \"source-map-support\"\nimport { debug, log } from \"./log\"\n\nif (process.env.JEST_WORKER_ID == null) {\n  sourceMapSupport.install()\n}\n\nexport { safeStringifyJson } from \"builder-util-runtime\"\nexport { TmpDir } from \"temp-file\"\nexport { log, debug } from \"./log\"\nexport { Arch, getArchCliNames, toLinuxArchString, getArchSuffix, ArchType, archFromString, defaultArchFromString } from \"./arch\"\nexport { AsyncTaskManager } from \"./asyncTaskManager\"\nexport { DebugLogger } from \"./DebugLogger\"\n\nexport { copyFile, exists } from \"./fs\"\nexport { asArray } from \"builder-util-runtime\"\n\nexport { deepAssign } from \"./deepAssign\"\n\nexport const debug7z = _debug(\"electron-builder:7z\")\n\nexport function serializeToYaml(object: any, skipInvalid = false, noRefs = false) {\n  return dump(object, {\n    lineWidth: 8000,\n    skipInvalid,\n    noRefs,\n  })\n}\n\nexport function removePassword(input: string) {\n  return input.replace(/(-String |-P |pass:| \\/p |-pass |--secretKey |--accessKey |-p )([^ ]+)/g, (match, p1, p2) => {\n    if (p1.trim() === \"/p\" && p2.startsWith(\"\\\\\\\\Mac\\\\Host\\\\\\\\\")) {\n      // appx /p\n      return `${p1}${p2}`\n    }\n    return `${p1}${createHash(\"sha256\").update(p2).digest(\"hex\")} (sha256 hash)`\n  })\n}\n\nfunction getProcessEnv(env: { [key: string]: string | undefined } | undefined | null): NodeJS.ProcessEnv | undefined {\n  if (process.platform === \"win32\") {\n    return env == null ? undefined : env\n  }\n\n  const finalEnv = {\n    ...(env || process.env)\n  }\n\n  // without LC_CTYPE dpkg can returns encoded unicode symbols\n  // set LC_CTYPE to avoid crash https://github.com/electron-userland/electron-builder/issues/503 Even \"en_DE.UTF-8\" leads to error.\n  const locale = process.platform === \"linux\" ? (process.env.LANG || \"C.UTF-8\") : \"en_US.UTF-8\"\n  finalEnv.LANG = locale\n  finalEnv.LC_CTYPE = locale\n  finalEnv.LC_ALL = locale\n  return finalEnv\n}\n\nexport function exec(file: string, args?: Array<string> | null, options?: ExecFileOptions, isLogOutIfDebug = true): Promise<string> {\n  if (log.isDebugEnabled) {\n    const logFields: any = {\n      file,\n      args: args == null ? \"\" : removePassword(args.join(\" \")),\n    }\n    if (options != null) {\n      if (options.cwd != null) {\n        logFields.cwd = options.cwd\n      }\n\n      if (options.env != null) {\n        const diffEnv = {...options.env}\n        for (const name of Object.keys(process.env)) {\n          if (process.env[name] === options.env[name]) {\n            delete diffEnv[name]\n          }\n        }\n        logFields.env = safeStringifyJson(diffEnv)\n      }\n    }\n\n    log.debug(logFields, \"executing\")\n  }\n\n  return new Promise<string>((resolve, reject) => {\n    execFile(file, args, {\n    ...options,\n    maxBuffer: 1000 * 1024 * 1024,\n    env: getProcessEnv(options == null ? null : options.env),\n  }, (error, stdout, stderr) => {\n      if (error == null) {\n        if (isLogOutIfDebug && log.isDebugEnabled) {\n          const logFields: any = {\n            file,\n          }\n          if (stdout.length > 0) {\n            logFields.stdout = stdout\n          }\n          if (stderr.length > 0) {\n            logFields.stderr = stderr\n          }\n\n          log.debug(logFields, \"executed\")\n        }\n        resolve(stdout.toString())\n      }\n      else {\n        let message = chalk.red(removePassword(`Exit code: ${(error as any).code}. ${error.message}`))\n        if (stdout.length !== 0) {\n          if (file.endsWith(\"wine\")) {\n            stdout = stdout.toString()\n          }\n          message += `\\n${chalk.yellow(stdout.toString())}`\n        }\n        if (stderr.length !== 0) {\n          if (file.endsWith(\"wine\")) {\n            stderr = stderr.toString()\n          }\n          message += `\\n${chalk.red(stderr.toString())}`\n        }\n\n        reject(new Error(message))\n      }\n    })\n  })\n}\n\nexport interface ExtraSpawnOptions {\n  isPipeInput?: boolean\n}\n\nfunction logSpawn(command: string, args: Array<string>, options: SpawnOptions) {\n  // use general debug.enabled to log spawn, because it doesn't produce a lot of output (the only line), but important in any case\n  if (!log.isDebugEnabled) {\n    return\n  }\n\n  const argsString = removePassword(args.join(\" \"))\n  const logFields: any = {\n    command: command + \" \" + (command === \"docker\" ? argsString : removePassword(argsString)),\n  }\n  if (options != null && options.cwd != null) {\n    logFields.cwd = options.cwd\n  }\n  log.debug(logFields, \"spawning\")\n}\n\nexport function doSpawn(command: string, args: Array<string>, options?: SpawnOptions, extraOptions?: ExtraSpawnOptions): ChildProcess {\n  if (options == null) {\n    options = {}\n  }\n\n  options.env = getProcessEnv(options.env)\n\n  if (options.stdio == null) {\n    const isDebugEnabled = debug.enabled\n    // do not ignore stdout/stderr if not debug, because in this case we will read into buffer and print on error\n    options.stdio = [extraOptions != null && extraOptions.isPipeInput ? \"pipe\" : \"ignore\", isDebugEnabled ? \"inherit\" : \"pipe\", isDebugEnabled ? \"inherit\" : \"pipe\"] as any\n  }\n\n  logSpawn(command, args, options)\n  try {\n    return _spawn(command, args, options)\n  }\n  catch (e) {\n    throw new Error(`Cannot spawn ${command}: ${e.stack || e}`)\n  }\n}\n\nexport function spawnAndWrite(command: string, args: Array<string>, data: string, options?: SpawnOptions) {\n  const childProcess = doSpawn(command, args, options, {isPipeInput: true})\n  const timeout = setTimeout(() => childProcess.kill(), 4 * 60 * 1000)\n  return new Promise<any>((resolve, reject) => {\n    handleProcess(\"close\", childProcess, command, () => {\n      try {\n        clearTimeout(timeout)\n      }\n      finally {\n        resolve(undefined)\n      }\n    }, error => {\n      try {\n        clearTimeout(timeout)\n      }\n      finally {\n        reject(error)\n      }\n    })\n\n    childProcess.stdin!!.end(data)\n  })\n}\n\nexport function spawn(command: string, args?: Array<string> | null, options?: SpawnOptions, extraOptions?: ExtraSpawnOptions): Promise<any> {\n  return new Promise<any>((resolve, reject) => {\n    handleProcess(\"close\", doSpawn(command, args || [], options, extraOptions), command, resolve, reject)\n  })\n}\n\nfunction handleProcess(event: string, childProcess: ChildProcess, command: string, resolve: ((value?: any) => void) | null, reject: (reason?: any) => void) {\n  childProcess.on(\"error\", reject)\n\n  let out = \"\"\n  if (childProcess.stdout != null) {\n    childProcess.stdout.on(\"data\", (data: string) => {\n      out += data\n    })\n  }\n\n  let errorOut = \"\"\n  if (childProcess.stderr != null) {\n    childProcess.stderr.on(\"data\", (data: string) => {\n      errorOut += data\n    })\n  }\n\n  childProcess.once(event, (code: number) => {\n    if (log.isDebugEnabled) {\n      const fields: any = {\n        command: path.basename(command),\n        code,\n        pid: childProcess.pid,\n      }\n      if (out.length > 0) {\n        fields.out = out\n      }\n      log.debug(fields, \"exited\")\n    }\n\n    if (code === 0) {\n      if (resolve != null) {\n        resolve(out)\n      }\n    }\n    else {\n      reject(new ExecError(command, code, formatOut(out, \"Output\"), formatOut(errorOut, \"Error output\")))\n    }\n  })\n}\n\nfunction formatOut(text: string, title: string) {\n  return text.length === 0 ? \"\" : `\\n${title}:\\n${text}`\n}\n\nexport class ExecError extends Error {\n  alreadyLogged = false\n\n  constructor(command: string, readonly exitCode: number, out: string, errorOut: string, code: string = \"ERR_ELECTRON_BUILDER_CANNOT_EXECUTE\") {\n    super(`${command} exited with code ${code}${formatOut(out, \"Output\")}${formatOut(errorOut, \"Error output\")}`);\n\n    (this as NodeJS.ErrnoException).code = code\n  }\n}\n\nexport function use<T, R>(value: T | null, task: (it: T) => R): R | null {\n  return value == null ? null : task(value)\n}\n\nexport function isEmptyOrSpaces(s: string | null | undefined): s is \"\" | null | undefined {\n  return s == null || s.trim().length === 0\n}\n\nexport function isTokenCharValid(token: string) {\n  return /^[.\\w/=+-]+$/.test(token)\n}\n\nexport function addValue<K, T>(map: Map<K, Array<T>>, key: K, value: T) {\n  const list = map.get(key)\n  if (list == null) {\n    map.set(key, [value])\n  }\n  else if (!list.includes(value)) {\n    list.push(value)\n  }\n}\n\nexport function replaceDefault(inList: Array<string> | null | undefined, defaultList: Array<string>): Array<string> {\n  if (inList == null || (inList.length === 1 && inList[0] === \"default\")) {\n    return defaultList\n  }\n\n  const index = inList.indexOf(\"default\")\n  if (index >= 0) {\n    const list = inList.slice(0, index)\n    list.push(...defaultList)\n    if (index !== (inList.length - 1)) {\n      list.push(...inList.slice(index + 1))\n    }\n    inList = list\n  }\n  return inList\n}\n\nexport function getPlatformIconFileName(value: string | null | undefined, isMac: boolean) {\n  if (value === undefined) {\n    return undefined\n  }\n  if (value === null) {\n    return null\n  }\n\n  if (!value.includes(\".\")) {\n    return `${value}.${isMac ? \"icns\" : \"ico\"}`\n  }\n\n  return value.replace(isMac ? \".ico\" : \".icns\", isMac ? \".icns\" : \".ico\")\n}\n\nexport function isPullRequest() {\n  // TRAVIS_PULL_REQUEST is set to the pull request number if the current job is a pull request build, or false if it’s not.\n  function isSet(value: string | undefined) {\n    // value can be or null, or empty string\n    return value && value !== \"false\"\n  }\n\n  return isSet(process.env.TRAVIS_PULL_REQUEST) || isSet(process.env.CIRCLE_PULL_REQUEST) || isSet(process.env.BITRISE_PULL_REQUEST) || isSet(process.env.APPVEYOR_PULL_REQUEST_NUMBER)\n}\n\nexport function isEnvTrue(value: string | null | undefined) {\n  if (value != null) {\n    value = value.trim()\n  }\n  return value === \"true\" || value === \"\" || value === \"1\"\n}\n\nexport class InvalidConfigurationError extends Error {\n  constructor(message: string, code: string = \"ERR_ELECTRON_BUILDER_INVALID_CONFIGURATION\") {\n    super(message);\n\n    (this as NodeJS.ErrnoException).code = code\n  }\n}\n\nexport function executeAppBuilder(args: Array<string>, childProcessConsumer?: (childProcess: ChildProcess) => void, extraOptions: SpawnOptions = {}, maxRetries = 0): Promise<string> {\n  const command = appBuilderPath\n  const env: any = {\n    ...process.env,\n    SZA_PATH: path7za,\n    FORCE_COLOR: chalk.level === 0 ? \"0\" : \"1\",\n  }\n  const cacheEnv = process.env.ELECTRON_BUILDER_CACHE\n  if (cacheEnv != null && cacheEnv.length > 0) {\n    env.ELECTRON_BUILDER_CACHE = path.resolve(cacheEnv)\n  }\n\n  if (extraOptions.env != null) {\n    Object.assign(env, extraOptions.env)\n  }\n\n  function runCommand() {\n    return new Promise<string>((resolve, reject) => {\n      const childProcess = doSpawn(command, args, {\n        env,\n        stdio: [\"ignore\", \"pipe\", process.stdout],\n        ...extraOptions\n      })\n      if (childProcessConsumer != null) {\n        childProcessConsumer(childProcess)\n      }\n      handleProcess(\"close\", childProcess, command, resolve, error => {\n        if (error instanceof ExecError && error.exitCode === 2) {\n          error.alreadyLogged = true\n        }\n        reject(error)\n      })\n    })\n  }\n\n  if (maxRetries === 0) {\n    return runCommand()\n  }\n  else {\n    return retry(runCommand, maxRetries, 1000)\n  }\n}\n\nexport async function retry<T>(task: () => Promise<T>, retriesLeft: number, interval: number): Promise<T> {\n  try {\n    return await task()\n  }\n  catch (error) {\n    log.info(`Above command failed, retrying ${retriesLeft} more times`)\n    if (retriesLeft > 0) {\n      await new Promise(resolve => setTimeout(resolve, interval))\n      return await retry(task, retriesLeft - 1, interval)\n    }\n    else {\n      throw error\n    }\n  }\n}"],"sourceRoot":""}