UNPKG

6.09 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../../src/targets/nsis/nsisUtil.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { Arch, log } from \"builder-util\"\nimport { PackageFileInfo } from \"builder-util-runtime\"\nimport { getBinFromGithub } from \"builder-util/out/binDownload\"\nimport { copyFile } from \"builder-util/out/fs\"\nimport { unlink } from \"fs-extra-p\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { getTemplatePath } from \"../../util/pathManager\"\nimport { NsisTarget } from \"./NsisTarget\"\n\nexport const nsisTemplatesDir = getTemplatePath(\"nsis\")\n\nexport const NSIS_PATH = new Lazy(() => {\n const custom = process.env.ELECTRON_BUILDER_NSIS_DIR\n if (custom != null && custom.length > 0) {\n return Promise.resolve(custom.trim())\n }\n // noinspection SpellCheckingInspection\n return getBinFromGithub(\"nsis\", \"3.0.3.1\", \"rYRTO0OqNStw1uFP1RJ4aCGyK+GCz4AIy4uSO3g/sPmuONYDPhp8B0Q6xUx4aTb8hLaFeWyvo7tsp++9nrMoSw==\")\n})\n\nexport class AppPackageHelper {\n private readonly archToFileInfo = new Map<Arch, Promise<PackageFileInfo>>()\n private readonly infoToIsDelete = new Map<PackageFileInfo, boolean>()\n\n /** @private */\n refCount = 0\n\n constructor(private readonly elevateHelper: CopyElevateHelper) {\n }\n\n async packArch(arch: Arch, target: NsisTarget): Promise<PackageFileInfo> {\n let infoPromise = this.archToFileInfo.get(arch)\n if (infoPromise == null) {\n const appOutDir = target.archs.get(arch)!\n infoPromise = this.elevateHelper.copy(appOutDir, target)\n .then(() => target.buildAppPackage(appOutDir, arch))\n this.archToFileInfo.set(arch, infoPromise)\n }\n\n const info = await infoPromise\n if (target.isWebInstaller) {\n this.infoToIsDelete.set(info, false)\n }\n else if (!this.infoToIsDelete.has(info)) {\n this.infoToIsDelete.set(info, true)\n }\n return info\n }\n\n async finishBuild(): Promise<any> {\n if (--this.refCount > 0) {\n return\n }\n\n const filesToDelete: Array<string> = []\n for (const [info, isDelete] of this.infoToIsDelete.entries()) {\n if (isDelete) {\n filesToDelete.push(info.path)\n }\n }\n\n await BluebirdPromise.map(filesToDelete, it => unlink(it))\n }\n}\n\nexport class CopyElevateHelper {\n private readonly copied = new Map<string, Promise<any>>()\n\n copy(appOutDir: string, target: NsisTarget): Promise<any> {\n let isPackElevateHelper = target.options.packElevateHelper\n if (isPackElevateHelper === false && target.options.perMachine === true) {\n isPackElevateHelper = true\n log.warn(\"`packElevateHelper = false` is ignored, because `perMachine` is set to `true`\")\n }\n\n if (isPackElevateHelper === false) {\n return Promise.resolve()\n }\n\n let promise = this.copied.get(appOutDir)\n if (promise != null) {\n return promise\n }\n\n promise = NSIS_PATH.value\n .then(it => {\n const outFile = path.join(appOutDir, \"resources\", \"elevate.exe\")\n const promise = copyFile(path.join(it, \"elevate.exe\"), outFile, false)\n if (target.packager.platformSpecificBuildOptions.signAndEditExecutable !== false) {\n return promise.then(() => target.packager.sign(outFile))\n }\n return promise\n })\n this.copied.set(appOutDir, promise)\n return promise\n }\n}"],"sourceRoot":""}