UNPKG

14.2 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/electron/electronMac.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { asArray, getPlatformIconFileName, InvalidConfigurationError, log } from \"builder-util\"\nimport { copyOrLinkFile, unlinkIfExists } from \"builder-util/out/fs\"\nimport { readFile, rename, utimes, writeFile } from \"fs-extra-p\"\nimport * as path from \"path\"\nimport { build as buildPlist, parse as parsePlist } from \"plist\"\nimport { orIfFileNotExist } from \"builder-util/out/promise\"\nimport { filterCFBundleIdentifier } from \"../appInfo\"\nimport { AsarIntegrity } from \"../asar/integrity\"\nimport MacPackager from \"../macPackager\"\nimport { normalizeExt } from \"../platformPackager\"\n\nfunction doRename(basePath: string, oldName: string, newName: string) {\n return rename(path.join(basePath, oldName), path.join(basePath, newName))\n}\n\nfunction moveHelpers(frameworksPath: string, appName: string, prefix: string): Promise<any> {\n return BluebirdPromise.map([\" Helper\", \" Helper EH\", \" Helper NP\"], suffix => {\n const executableBasePath = path.join(frameworksPath, `${prefix}${suffix}.app`, \"Contents\", \"MacOS\")\n return doRename(executableBasePath, `${prefix}${suffix}`, appName + suffix)\n .then(() => doRename(frameworksPath, `${prefix}${suffix}.app`, `${appName}${suffix}.app`))\n })\n}\n\n/** @internal */\nexport async function createMacApp(packager: MacPackager, appOutDir: string, asarIntegrity: AsarIntegrity | null) {\n const appInfo = packager.appInfo\n const appFilename = appInfo.productFilename\n\n const contentsPath = path.join(appOutDir, packager.info.framework.distMacOsAppName, \"Contents\")\n const frameworksPath = path.join(contentsPath, \"Frameworks\")\n const loginItemPath = path.join(contentsPath, \"Library\", \"LoginItems\")\n\n const appPlistFilename = path.join(contentsPath, \"Info.plist\")\n const helperPlistFilename = path.join(frameworksPath, `${packager.electronDistMacOsExecutableName} Helper.app`, \"Contents\", \"Info.plist\")\n const helperEHPlistFilename = path.join(frameworksPath, `${packager.electronDistMacOsExecutableName} Helper EH.app`, \"Contents\", \"Info.plist\")\n const helperNPPlistFilename = path.join(frameworksPath, `${packager.electronDistMacOsExecutableName} Helper NP.app`, \"Contents\", \"Info.plist\")\n const helperLoginPlistFilename = path.join(loginItemPath, `${packager.electronDistMacOsExecutableName} Login Helper.app`, \"Contents\", \"Info.plist\")\n\n const buildMetadata = packager.config!\n const fileContents: Array<string | null> = await BluebirdPromise.map([\n appPlistFilename,\n helperPlistFilename,\n helperEHPlistFilename,\n helperNPPlistFilename,\n helperLoginPlistFilename,\n (buildMetadata as any)[\"extend-info\"]\n ], it => it == null ? it : orIfFileNotExist(readFile(it, \"utf8\"), null))\n const appPlist = parsePlist(fileContents[0]!!)\n const helperPlist = parsePlist(fileContents[1]!!)\n const helperEHPlist = parsePlist(fileContents[2]!!)\n const helperNPPlist = parsePlist(fileContents[3]!!)\n const helperLoginPlist = fileContents[4] == null ? null : parsePlist(fileContents[4]!!)\n\n // if an extend-info file was supplied, copy its contents in first\n if (fileContents[5] != null) {\n Object.assign(appPlist, parsePlist(fileContents[5]!!))\n }\n\n const oldHelperBundleId = (buildMetadata as any)[\"helper-bundle-id\"]\n if (oldHelperBundleId != null) {\n log.warn(\"build.helper-bundle-id is deprecated, please set as build.mac.helperBundleId\")\n }\n const helperBundleIdentifier = filterCFBundleIdentifier(packager.platformSpecificBuildOptions.helperBundleId || oldHelperBundleId || `${appInfo.macBundleIdentifier}.helper`)\n\n await packager.applyCommonInfo(appPlist, contentsPath)\n\n helperPlist.CFBundleExecutable = `${appFilename} Helper`\n helperEHPlist.CFBundleExecutable = `${appFilename} Helper EH`\n helperNPPlist.CFBundleExecutable = `${appFilename} Helper NP`\n if (helperLoginPlist != null) {\n helperLoginPlist.CFBundleExecutable = `${appFilename} Login Helper`\n }\n\n helperPlist.CFBundleDisplayName = `${appInfo.productName} Helper`\n helperEHPlist.CFBundleDisplayName = `${appInfo.productName} Helper EH`\n helperNPPlist.CFBundleDisplayName = `${appInfo.productName} Helper NP`\n if (helperLoginPlist != null) {\n helperLoginPlist.CFBundleDisplayName = `${appInfo.productName} Login Helper`\n }\n\n helperPlist.CFBundleIdentifier = helperBundleIdentifier\n helperEHPlist.CFBundleIdentifier = `${helperBundleIdentifier}.EH`\n helperNPPlist.CFBundleIdentifier = `${helperBundleIdentifier}.NP`\n if (helperLoginPlist != null) {\n // noinspection SpellCheckingInspection\n helperLoginPlist.CFBundleIdentifier = `${appInfo.macBundleIdentifier}.loginhelper`\n }\n\n helperPlist.CFBundleVersion = appPlist.CFBundleVersion\n helperEHPlist.CFBundleVersion = appPlist.CFBundleVersion\n helperNPPlist.CFBundleVersion = appPlist.CFBundleVersion\n if (helperLoginPlist != null) {\n helperLoginPlist.CFBundleVersion = appPlist.CFBundleVersion\n }\n\n const protocols = asArray(buildMetadata.protocols).concat(asArray(packager.platformSpecificBuildOptions.protocols))\n if (protocols.length > 0) {\n appPlist.CFBundleURLTypes = protocols.map(protocol => {\n const schemes = asArray(protocol.schemes)\n if (schemes.length === 0) {\n throw new InvalidConfigurationError(`Protocol \"${protocol.name}\": must be at least one scheme specified`)\n }\n return {\n CFBundleURLName: protocol.name,\n CFBundleTypeRole: protocol.role || \"Editor\",\n CFBundleURLSchemes: schemes.slice()\n }\n })\n }\n\n const resourcesPath = path.join(contentsPath, \"Resources\")\n\n const fileAssociations = packager.fileAssociations\n if (fileAssociations.length > 0) {\n appPlist.CFBundleDocumentTypes = await BluebirdPromise.map(fileAssociations, async fileAssociation => {\n const extensions = asArray(fileAssociation.ext).map(normalizeExt)\n const customIcon = await packager.getResource(getPlatformIconFileName(fileAssociation.icon, true), `${extensions[0]}.icns`)\n let iconFile = appPlist.CFBundleIconFile\n if (customIcon != null) {\n iconFile = path.basename(customIcon)\n await copyOrLinkFile(customIcon, path.join(resourcesPath, iconFile))\n }\n\n const result = {\n CFBundleTypeExtensions: extensions,\n CFBundleTypeName: fileAssociation.name || extensions[0],\n CFBundleTypeRole: fileAssociation.role || \"Editor\",\n CFBundleTypeIconFile: iconFile\n } as any\n\n if (fileAssociation.isPackage) {\n result.LSTypeIsPackage = true\n }\n return result\n })\n }\n\n if (asarIntegrity != null) {\n appPlist.AsarIntegrity = JSON.stringify(asarIntegrity)\n }\n\n await Promise.all([\n writeFile(appPlistFilename, buildPlist(appPlist)),\n writeFile(helperPlistFilename, buildPlist(helperPlist)),\n writeFile(helperEHPlistFilename, buildPlist(helperEHPlist)),\n writeFile(helperNPPlistFilename, buildPlist(helperNPPlist)),\n helperLoginPlist == null ? Promise.resolve() : writeFile(helperLoginPlistFilename, buildPlist(helperLoginPlist)),\n doRename(path.join(contentsPath, \"MacOS\"), packager.electronDistMacOsExecutableName, appPlist.CFBundleExecutable),\n unlinkIfExists(path.join(appOutDir, \"LICENSE\")),\n unlinkIfExists(path.join(appOutDir, \"LICENSES.chromium.html\")),\n ])\n\n await moveHelpers(frameworksPath, appFilename, packager.electronDistMacOsExecutableName)\n\n if (helperLoginPlist != null) {\n const prefix = packager.electronDistMacOsExecutableName\n const suffix = \" Login Helper\"\n const executableBasePath = path.join(loginItemPath, `${prefix}${suffix}.app`, \"Contents\", \"MacOS\")\n await doRename(executableBasePath, `${prefix}${suffix}`, appFilename + suffix)\n .then(() => doRename(loginItemPath, `${prefix}${suffix}.app`, `${appFilename}${suffix}.app`))\n }\n const appPath = path.join(appOutDir, `${appFilename}.app`)\n await rename(path.dirname(contentsPath), appPath)\n // https://github.com/electron-userland/electron-builder/issues/840\n const now = Date.now() / 1000\n await utimes(appPath, now, now)\n}"],"sourceRoot":""}