UNPKG

21.1 kBSource Map (JSON)View Raw
1{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { red, yellow } from \"chalk\"\nimport { ChildProcess, execFile, spawn as _spawn, SpawnOptions } from \"child_process\"\nimport { createHash } from \"crypto\"\nimport _debug from \"debug\"\nimport { homedir, tmpdir } from \"os\"\nimport * as path from \"path\"\nimport \"source-map-support/register\"\n\nexport { TmpDir } from \"temp-file\"\nexport { log, warn, task, subTask } from \"./log\"\nexport { isMacOsSierra } from \"./macosVersion\"\nexport { execWine, prepareWindowsExecutableArgs } from \"./wine\"\nexport { Arch, toLinuxArchString, getArchSuffix, ArchType, archFromString } from \"./arch\"\n\nexport const debug = _debug(\"electron-builder\")\nexport const debug7z = _debug(\"electron-builder:7z\")\n\nexport interface BaseExecOptions {\n cwd?: string\n env?: any\n stdio?: any\n}\n\nexport interface ExecOptions extends BaseExecOptions {\n customFds?: any\n encoding?: string\n timeout?: number\n maxBuffer?: number\n killSignal?: string\n}\n\nexport function removePassword(input: string) {\n return input.replace(/(-String |-P |pass:| \\/p |-pass )([^ ]+)/g, (match, p1, p2) => {\n return `${p1}${createHash(\"sha256\").update(p2).digest(\"hex\")} (sha256 hash)`\n })\n}\n\nexport function exec(file: string, args?: Array<string> | null, options?: ExecOptions, isLogOutIfDebug = true): Promise<string> {\n if (debug.enabled) {\n debug(`Executing ${file} ${args == null ? \"\" : removePassword(args.join(\" \"))}`)\n if (options != null && 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 debug(`env: ${safeStringifyJson(diffEnv)}`)\n }\n if (options != null && options.cwd != null) {\n debug(`cwd: ${options.cwd}`)\n }\n }\n\n return new BluebirdPromise<string>((resolve, reject) => {\n execFile(file, args as any, options, (error, stdout, stderr) => {\n if (error == null) {\n if (isLogOutIfDebug && debug.enabled) {\n if (stderr.length !== 0) {\n debug(stderr)\n }\n if (stdout.length !== 0) {\n debug(stdout)\n }\n }\n resolve(stdout.toString())\n }\n else {\n let message = red(removePassword(`Exit code: ${(error as any).code}. ${error.message}`))\n if (stdout.length !== 0) {\n message += `\\n${yellow(stdout.toString())}`\n }\n if (stderr.length !== 0) {\n message += `\\n${red(stderr.toString())}`\n }\n\n reject(new Error(message))\n }\n })\n })\n}\n\nexport interface ExtraSpawnOptions {\n isDebugEnabled?: boolean\n isPipeInput?: boolean\n}\n\nexport function doSpawn(command: string, args: Array<string>, options?: SpawnOptions, extraOptions?: ExtraSpawnOptions): ChildProcess {\n if (options == null) {\n options = {}\n }\n\n const isDebugEnabled = extraOptions == null || extraOptions.isDebugEnabled == null ? debug.enabled : extraOptions.isDebugEnabled\n if (options.stdio == null) {\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\"]\n }\n\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 (debug.enabled) {\n const argsString = args.join(\" \")\n debug(`Spawning ${command} ${command === \"docker\" ? argsString : removePassword(argsString)}`)\n if (options != null && options.cwd != null) {\n debug(`cwd: ${options.cwd}`)\n }\n }\n\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, isDebugEnabled: boolean = false) {\n const childProcess = doSpawn(command, args, options, {isPipeInput: true, isDebugEnabled})\n const timeout = setTimeout(() => childProcess.kill(), 4 * 60 * 1000)\n return new BluebirdPromise<any>((resolve, reject) => {\n handleProcess(\"close\", childProcess, command, () => {\n try {\n clearTimeout(timeout)\n }\n finally {\n resolve()\n }\n }, error => {\n try {\n clearTimeout(timeout)\n }\n finally {\n reject(error.stack || error.toString())\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 BluebirdPromise<any>((resolve, reject) => {\n handleProcess(\"close\", doSpawn(command, args || [], options, extraOptions), command, resolve, reject)\n })\n}\n\nexport function 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 (!debug.enabled && 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 (code === 0 && debug.enabled) {\n debug(`${command} (${childProcess.pid}) exited with exit code 0`)\n }\n\n if (code === 0) {\n if (resolve != null) {\n resolve()\n }\n }\n else {\n function formatOut(text: string, title: string) {\n return text.length === 0 ? \"\" : `\\n${title}:\\n${text}`\n }\n\n reject(new Error(`${command} exited with code ${code}${formatOut(out, \"Output\")}${formatOut(errorOut, \"Error output\")}`))\n }\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 debug7zArgs(command: \"a\" | \"x\"): Array<string> {\n const args = [command, \"-bd\"]\n if (debug7z.enabled) {\n args.push(\"-bb3\")\n }\n else if (!debug.enabled) {\n args.push(\"-bb0\")\n }\n return args\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 asArray<T>(v: null | undefined | T | Array<T>): Array<T> {\n if (v == null) {\n return []\n }\n else if (Array.isArray(v)) {\n return v\n }\n else {\n return [v]\n }\n}\nexport function getCacheDirectory(): string {\n const env = process.env.ELECTRON_BUILDER_CACHE\n if (!isEmptyOrSpaces(env)) {\n return env!\n }\n\n if (process.platform === \"darwin\") {\n return path.join(homedir(), \"Library\", \"Caches\", \"electron-builder\")\n }\n\n const localappdata = process.env.LOCALAPPDATA\n if (process.platform === \"win32\" && localappdata != null) {\n // https://github.com/electron-userland/electron-builder/issues/1164\n if (localappdata.toLowerCase().includes(\"\\\\windows\\\\system32\\\\\") || (process.env.USERNAME || \"\").toLowerCase() === \"system\") {\n return path.join(tmpdir(), \"electron-builder-cache\")\n }\n return path.join(localappdata, \"electron-builder\", \"cache\")\n }\n\n return path.join(homedir(), \".cache\", \"electron-builder\")\n}\n\n// fpm bug - rpm build --description is not escaped, well... decided to replace quite to smart quote\n// http://leancrew.com/all-this/2010/11/smart-quotes-in-javascript/\nexport function smarten(s: string): string {\n // opening singles\n s = s.replace(/(^|[-\\u2014\\s(\\[\"])'/g, \"$1\\u2018\")\n // closing singles & apostrophes\n s = s.replace(/'/g, \"\\u2019\")\n // opening doubles\n s = s.replace(/(^|[-\\u2014/\\[(\\u2018\\s])\"/g, \"$1\\u201c\")\n // closing doubles\n s = s.replace(/\"/g, \"\\u201d\")\n return s\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) {\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.CI_PULL_REQUEST) || isSet(process.env.CI_PULL_REQUESTS) || isSet(process.env.BITRISE_PULL_REQUEST) || isSet(process.env.APPVEYOR_PULL_REQUEST_NUMBER)\n}\n\nexport function safeStringifyJson(data: any, skippedNames?: Set<string>) {\n return JSON.stringify(data, (name, value) => {\n if (name.endsWith(\"Password\") || name.endsWith(\"PASSWORD\") || name.endsWith(\"Token\") || name.includes(\"password\") || name.includes(\"token\") || (skippedNames != null && skippedNames.has(name))) {\n return \"<stripped sensitive data>\"\n }\n return value\n }, 2)\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}"]}