UNPKG

6.25 kBSource Map (JSON)View Raw
1{"version":3,"file":"tmp.js","sourceRoot":"","sources":["../src/tmp.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { mkdirs, mkdtemp, remove, removeSync } from \"fs-extra-p\"\nimport { tmpdir } from \"os\"\nimport * as path from \"path\"\nimport { CONCURRENCY } from \"./fs\"\nimport { warn } from \"./log\"\nimport { getTempName } from \"./util\"\n\nprocess.setMaxListeners(30)\n\nlet tempDirPromise: Promise<string> | null\nlet tempDir: string | null\n\nfunction getTempDir() {\n if (tempDirPromise == null) {\n let promise: Promise<string>\n const systemTmpDir = process.env.TEST_DIR || tmpdir()\n if (mkdtemp == null) {\n const dir = path.join(systemTmpDir, getTempName(\"electron-builder\"))\n promise = mkdirs(dir, {mode: 448}).then(() => dir)\n }\n else {\n promise = mkdtemp(`${path.join(systemTmpDir, \"electron-builder\")}-`)\n }\n\n tempDirPromise = promise\n .then(dir => {\n tempDir = dir\n const cleanup = () => {\n if (tempDir == null) {\n return\n }\n\n tempDir = null\n try {\n removeSync(dir)\n }\n catch (e) {\n if (e.code !== \"EPERM\") {\n warn(`Cannot delete temporary dir \"${dir}\": ${(e.stack || e).toString()}`)\n }\n }\n }\n process.once(\"beforeExit\", () => {\n if (tempDir == null) {\n return\n }\n\n tempDir = null\n try {\n remove(dir)\n }\n catch (e) {\n if (e.code !== \"EPERM\") {\n warn(`Cannot delete temporary dir \"${dir}\": ${(e.stack || e).toString()}`)\n }\n }\n })\n process.on(\"exit\", cleanup)\n process.on(\"uncaughtException\", cleanup)\n process.on(\"SIGINT\", cleanup)\n return dir\n })\n }\n\n return tempDirPromise\n}\n\nlet tmpFileCounter = 0\n\nexport class TmpDir {\n private tempPrefixPromise: Promise<string> | null\n private tempFiles: Array<string> = []\n\n getTempFile(suffix: string): Promise<string> {\n if (this.tempPrefixPromise == null) {\n this.tempPrefixPromise = getTempDir().then(it => path.join(it, (tmpFileCounter++).toString(16)))\n }\n\n return this.tempPrefixPromise\n .then(it => {\n const result = `${it}-${(tmpFileCounter++).toString(16)}${suffix.length === 0 || suffix.startsWith(\".\") ? suffix : `-${suffix}`}`\n this.tempFiles.push(result)\n return result\n })\n }\n\n cleanup(): Promise<any> {\n const tempFiles = this.tempFiles\n if (tempFiles.length === 0) {\n return BluebirdPromise.resolve()\n }\n\n this.tempFiles = []\n this.tempPrefixPromise = null\n\n return BluebirdPromise.map(tempFiles, it => {\n remove(it)\n .catch(e => {\n if (e.code !== \"EPERM\") {\n warn(`Cannot delete temporary dir \"${it}\": ${(e.stack || e).toString()}`)\n }\n })\n }, CONCURRENCY)\n }\n}\n"]}