UNPKG

10.6 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/main.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { ensureDir, mkdtemp, realpath, remove, removeSync, unlink, unlinkSync } from \"fs-extra-p\"\nimport { Lazy } from \"lazy-val\"\nimport { tmpdir } from \"os\"\nimport * as path from \"path\"\n\nlet tmpFileCounter = 0\nconst tmpDirManagers = new Set<TmpDir>()\n\n// add date to avoid use stale temp dir\nconst tempDirPrefix = `${process.pid.toString(36)}-${Date.now().toString(36)}`\n\nexport function getTempName(prefix?: string | null | undefined): string {\n return `${prefix == null ? \"\" : `${prefix}-`}${tempDirPrefix}-${(tmpFileCounter++).toString(36)}`\n}\n\nconst tempDir = new Lazy<string>(() => {\n let promise: Promise<string>\n const systemTmpDir = process.env.TEST_TMP_DIR || process.env.ELECTRON_BUILDER_TMP_DIR || process.env.ELECTRON_BUILDER_TEST_DIR || tmpdir()\n const isEnsureRemovedOnExit = process.env.TMP_DIR_MANAGER_ENSURE_REMOVED_ON_EXIT !== \"false\"\n if (!isEnsureRemovedOnExit) {\n promise = Promise.resolve(systemTmpDir)\n }\n else if (mkdtemp == null) {\n const dir = path.join(systemTmpDir, getTempName(\"temp-files\"))\n promise = ensureDir(dir, {mode: 448}).then(() => dir)\n }\n else {\n promise = mkdtemp(`${path.join(systemTmpDir, \"temp-dir\")}-`)\n }\n\n return promise\n .then(it => realpath(it))\n .then(dir => {\n if (isEnsureRemovedOnExit) {\n addExitHook(dir)\n }\n return dir\n })\n})\n\nfunction addExitHook(dir: string) {\n require(\"async-exit-hook\")((callback: (() => void) | null) => {\n const managers = Array.from(tmpDirManagers)\n tmpDirManagers.clear()\n\n if (callback == null) {\n for (const manager of managers) {\n manager.cleanupSync()\n }\n\n try {\n removeSync(dir)\n }\n catch (e) {\n handleError(e, dir)\n }\n return\n }\n\n // each instead of map to avoid fs overload\n BluebirdPromise.each(managers, it => it.cleanup())\n .then(() => remove(dir))\n .then(() => callback())\n .catch(e => {\n try {\n handleError(e, dir)\n }\n finally {\n callback()\n }\n })\n })\n}\n\nfunction handleError(e: any, file: string) {\n if (e.code !== \"EPERM\" && e.code !== \"ENOENT\") {\n // use only console.* instead of our warn on exit (otherwise nodeEmoji can be required on request)\n console.warn(`Cannot delete temporary \"${file}\": ${(e.stack || e).toString()}`)\n }\n}\n\ninterface TempFileInfo {\n isDir: boolean\n path: string\n disposer?: ((file: string) => Promise<void>) | null\n}\n\nexport interface GetTempFileOptions {\n prefix?: string | null\n suffix?: string | null\n\n disposer?: ((file: string) => Promise<void>) | null\n}\n\nexport class TmpDir {\n private tempFiles: Array<TempFileInfo> = []\n private registered = false\n\n constructor(private readonly debugName: string = \"\") {\n }\n\n // noinspection JSMethodCanBeStatic\n // noinspection JSUnusedGlobalSymbols\n get rootTempDir(): Promise<string> {\n return tempDir.value\n }\n\n getTempDir(options?: GetTempFileOptions): Promise<string> {\n return this.getTempFile(options, true)\n }\n\n createTempDir(options?: GetTempFileOptions): Promise<string> {\n return this.getTempFile(options, true)\n .then(it => ensureDir(it).then(() => it))\n }\n\n getTempFile(options?: GetTempFileOptions, isDir = false): Promise<string> {\n return tempDir.value\n .then(it => {\n if (!this.registered) {\n this.registered = true\n tmpDirManagers.add(this)\n }\n\n const prefix = nullize(options == null ? null : options.prefix)\n const suffix = nullize(options == null ? null : options.suffix)\n const namePrefix = prefix == null ? \"\" : `${prefix}-`\n const nameSuffix = suffix == null ? \"\" : (suffix.startsWith(\".\") ? suffix : `-${suffix}`)\n const result = `${it}${path.sep}${namePrefix}${(tmpFileCounter++).toString(36)}${nameSuffix}`\n this.tempFiles.push({\n path: result,\n isDir,\n disposer: options == null ? null : options.disposer,\n })\n return result\n })\n }\n\n cleanupSync() {\n const tempFiles = this.tempFiles\n tmpDirManagers.delete(this)\n this.registered = false\n if (tempFiles.length === 0) {\n return\n }\n\n this.tempFiles = []\n\n for (const file of tempFiles) {\n if (file.disposer != null) {\n // noinspection JSIgnoredPromiseFromCall\n file.disposer(file.path)\n continue\n }\n\n try {\n if (file.isDir) {\n removeSync(file.path)\n }\n else {\n unlinkSync(file.path)\n }\n }\n catch (e) {\n handleError(e, file.path)\n }\n }\n }\n\n cleanup(): Promise<any> {\n const tempFiles = this.tempFiles\n tmpDirManagers.delete(this)\n this.registered = false\n if (tempFiles.length === 0) {\n return Promise.resolve()\n }\n\n this.tempFiles = []\n\n return BluebirdPromise.map(tempFiles, it => {\n if (it.disposer != null) {\n return it.disposer(it.path)\n }\n\n return (it.isDir ? remove(it.path) : unlink(it.path))\n .catch(e => {\n handleError(e, it.path)\n })\n }, {concurrency: 8})\n }\n\n toString() {\n return this.debugName\n }\n}\n\nfunction nullize(s?: string | null) {\n return s == null || s.length === 0 ? null : s\n}"],"sourceRoot":""}