app-builder-lib 22.10.4 → 22.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/electron-osx-sign/index.d.ts +2 -0
  2. package/electron-osx-sign/index.js +10 -1
  3. package/electron-osx-sign/sign.js +22 -14
  4. package/electron-osx-sign/util.js +32 -25
  5. package/out/appInfo.d.ts +1 -0
  6. package/out/appInfo.js +3 -2
  7. package/out/appInfo.js.map +1 -1
  8. package/out/asar/asarUtil.js +4 -2
  9. package/out/asar/asarUtil.js.map +1 -1
  10. package/out/asar/unpackDetector.js +12 -12
  11. package/out/asar/unpackDetector.js.map +1 -1
  12. package/out/configuration.d.ts +3 -2
  13. package/out/electron/ElectronFramework.js +21 -8
  14. package/out/electron/ElectronFramework.js.map +1 -1
  15. package/out/electron/electronMac.js +1 -1
  16. package/out/electron/electronMac.js.map +1 -1
  17. package/out/macPackager.js +6 -6
  18. package/out/macPackager.js.map +1 -1
  19. package/out/options/CommonWindowsInstallerConfiguration.js +1 -1
  20. package/out/options/CommonWindowsInstallerConfiguration.js.map +1 -1
  21. package/out/options/PlatformSpecificBuildOptions.d.ts +5 -0
  22. package/out/options/linuxOptions.d.ts +0 -5
  23. package/out/packager.js +1 -1
  24. package/out/platformPackager.d.ts +3 -3
  25. package/out/platformPackager.js +8 -8
  26. package/out/platformPackager.js.map +1 -1
  27. package/out/targets/ArchiveTarget.js +4 -3
  28. package/out/targets/ArchiveTarget.js.map +1 -1
  29. package/out/targets/LinuxTargetHelper.js +1 -2
  30. package/out/targets/LinuxTargetHelper.js.map +1 -1
  31. package/out/targets/fpm.js +1 -1
  32. package/out/targets/fpm.js.map +1 -1
  33. package/out/targets/nsis/nsisLang.js +1 -1
  34. package/out/targets/nsis/nsisLang.js.map +1 -1
  35. package/out/targets/snap.js +1 -1
  36. package/out/targets/snap.js.map +1 -1
  37. package/out/util/config.js +1 -1
  38. package/out/util/macroExpander.js +1 -1
  39. package/out/util/macroExpander.js.map +1 -1
  40. package/package.json +30 -30
  41. package/scheme.json +63 -6
  42. package/templates/nsis/include/extractAppPackage.nsh +48 -49
@@ -1 +1 @@
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 { rename, utimes } from \"fs-extra\"\nimport * as path from \"path\"\nimport { filterCFBundleIdentifier } from \"../appInfo\"\nimport { AsarIntegrity } from \"../asar/integrity\"\nimport MacPackager from \"../macPackager\"\nimport { normalizeExt } from \"../platformPackager\"\nimport { executeAppBuilderAndWriteJson, executeAppBuilderAsJson } from \"../util/appBuilder\"\n\nfunction doRename(basePath: string, oldName: string, newName: string) {\n return rename(path.join(basePath, oldName), path.join(basePath, newName))\n}\n\nfunction moveHelpers(helperSuffixes: Array<string>, frameworksPath: string, appName: string, prefix: string): Promise<any> {\n return BluebirdPromise.map(helperSuffixes, 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\nfunction getAvailableHelperSuffixes(helperEHPlist: string | null, helperNPPlist: string | null, helperRendererPlist: string | null, helperPluginPlist: string | null, helperGPUPlist: string | null) {\n\n const result = [\" Helper\"]\n if (helperEHPlist != null) {\n result.push(\" Helper EH\")\n }\n if (helperNPPlist != null) {\n result.push(\" Helper NP\")\n }\n if (helperRendererPlist != null) {\n result.push(\" Helper (Renderer)\")\n }\n if (helperPluginPlist != null) {\n result.push(\" Helper (Plugin)\")\n }\n if (helperGPUPlist != null) {\n result.push(\" Helper (GPU)\")\n }\n return result\n}\n\n/** @internal */\nexport async function createMacApp(packager: MacPackager, appOutDir: string, asarIntegrity: AsarIntegrity | null, isMas: boolean) {\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, \"Electron Helper.app\", \"Contents\", \"Info.plist\")\n const helperEHPlistFilename = path.join(frameworksPath, \"Electron Helper EH.app\", \"Contents\", \"Info.plist\")\n const helperNPPlistFilename = path.join(frameworksPath, \"Electron Helper NP.app\", \"Contents\", \"Info.plist\")\n const helperRendererPlistFilename = path.join(frameworksPath, \"Electron Helper (Renderer).app\", \"Contents\", \"Info.plist\")\n const helperPluginPlistFilename = path.join(frameworksPath, \"Electron Helper (Plugin).app\", \"Contents\", \"Info.plist\")\n const helperGPUPlistFilename = path.join(frameworksPath, \"Electron Helper (GPU).app\", \"Contents\", \"Info.plist\")\n const helperLoginPlistFilename = path.join(loginItemPath, \"Electron Login Helper.app\", \"Contents\", \"Info.plist\")\n\n const plistContent: Array<any> = await executeAppBuilderAsJson([\"decode-plist\", \"-f\", appPlistFilename, \"-f\", helperPlistFilename, \"-f\", helperEHPlistFilename, \"-f\", helperNPPlistFilename, \"-f\", helperRendererPlistFilename, \"-f\", helperPluginPlistFilename, \"-f\", helperGPUPlistFilename, \"-f\", helperLoginPlistFilename])\n\n if (plistContent[0] == null) {\n throw new Error(\"corrupted Electron dist\")\n }\n\n const appPlist = plistContent[0]!!\n const helperPlist = plistContent[1]!!\n const helperEHPlist = plistContent[2]\n const helperNPPlist = plistContent[3]\n const helperRendererPlist = plistContent[4]\n const helperPluginPlist = plistContent[5]\n const helperGPUPlist = plistContent[6]\n const helperLoginPlist = plistContent[7]\n\n // if an extend-info file was supplied, copy its contents in first\n if (plistContent[8] != null) {\n Object.assign(appPlist, plistContent[8])\n }\n\n const buildMetadata = packager.config!!\n\n /**\n * Configure bundleIdentifier for the generic Electron Helper process\n *\n * This was the only Helper in Electron 5 and before. Allow users to configure\n * the bundleIdentifier for continuity.\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 // required for electron-updater proxy\n if (!isMas) {\n configureLocalhostAts(appPlist)\n }\n\n helperPlist.CFBundleExecutable = `${appFilename} Helper`\n helperPlist.CFBundleDisplayName = `${appInfo.productName} Helper`\n helperPlist.CFBundleIdentifier = helperBundleIdentifier\n helperPlist.CFBundleVersion = appPlist.CFBundleVersion\n\n /**\n * Configure bundleIdentifier for Electron 5+ Helper processes\n *\n * In Electron 6, parts of the generic Electron Helper process were split into\n * individual helper processes. Allow users to configure the bundleIdentifiers\n * for continuity, specifically because macOS keychain access relies on\n * bundleIdentifiers not changing (i.e. across versions of Electron).\n */\n\n function configureHelper(helper: any, postfix: string, userProvidedBundleIdentifier?: string | null) {\n helper.CFBundleExecutable = `${appFilename} Helper ${postfix}`\n helper.CFBundleDisplayName = `${appInfo.productName} Helper ${postfix}`\n helper.CFBundleIdentifier = userProvidedBundleIdentifier\n ? filterCFBundleIdentifier(userProvidedBundleIdentifier)\n : `${helperBundleIdentifier}.${postfix.replace(/[^a-z0-9]/gim, \"\")}`\n helper.CFBundleVersion = appPlist.CFBundleVersion\n }\n\n if (helperRendererPlist != null) {\n configureHelper(helperRendererPlist, \"(Renderer)\", packager.platformSpecificBuildOptions.helperRendererBundleId)\n }\n if (helperPluginPlist != null) {\n configureHelper(helperPluginPlist, \"(Plugin)\", packager.platformSpecificBuildOptions.helperPluginBundleId)\n }\n if (helperGPUPlist != null) {\n configureHelper(helperGPUPlist, \"(GPU)\", packager.platformSpecificBuildOptions.helperGPUBundleId)\n }\n if (helperEHPlist != null) {\n configureHelper(helperEHPlist, \"EH\", packager.platformSpecificBuildOptions.helperEHBundleId)\n }\n if (helperNPPlist != null) {\n configureHelper(helperNPPlist, \"NP\", packager.platformSpecificBuildOptions.helperNPBundleId)\n }\n if (helperLoginPlist != null) {\n helperLoginPlist.CFBundleExecutable = `${appFilename} Login Helper`\n helperLoginPlist.CFBundleDisplayName = `${appInfo.productName} Login Helper`\n // noinspection SpellCheckingInspection\n helperLoginPlist.CFBundleIdentifier = `${appInfo.macBundleIdentifier}.loginhelper`\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 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(path.join(contentsPath, \"Resources\"), iconFile))\n }\n\n const result = {\n CFBundleTypeExtensions: extensions,\n CFBundleTypeName: fileAssociation.name || extensions[0],\n CFBundleTypeRole: fileAssociation.role || \"Editor\",\n LSHandlerRank: fileAssociation.rank || \"Default\",\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 const plistDataToWrite: any = {\n [appPlistFilename]: appPlist,\n [helperPlistFilename]: helperPlist,\n }\n if (helperEHPlist != null) {\n plistDataToWrite[helperEHPlistFilename] = helperEHPlist\n }\n if (helperNPPlist != null) {\n plistDataToWrite[helperNPPlistFilename] = helperNPPlist\n }\n if (helperRendererPlist != null) {\n plistDataToWrite[helperRendererPlistFilename] = helperRendererPlist\n }\n if (helperPluginPlist != null) {\n plistDataToWrite[helperPluginPlistFilename] = helperPluginPlist\n }\n if (helperGPUPlist != null) {\n plistDataToWrite[helperGPUPlistFilename] = helperGPUPlist\n }\n if (helperLoginPlist != null) {\n plistDataToWrite[helperLoginPlistFilename] = helperLoginPlist\n }\n\n await Promise.all([\n executeAppBuilderAndWriteJson([\"encode-plist\"], plistDataToWrite),\n doRename(path.join(contentsPath, \"MacOS\"), \"Electron\", appPlist.CFBundleExecutable),\n unlinkIfExists(path.join(appOutDir, \"LICENSE\")),\n unlinkIfExists(path.join(appOutDir, \"LICENSES.chromium.html\")),\n ])\n\n await moveHelpers(getAvailableHelperSuffixes(helperEHPlist, helperNPPlist, helperRendererPlist, helperPluginPlist, helperGPUPlist), frameworksPath, appFilename, \"Electron\")\n\n if (helperLoginPlist != null) {\n const prefix = \"Electron\"\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\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}\n\nfunction configureLocalhostAts(appPlist: any) {\n // https://bencoding.com/2015/07/20/app-transport-security-and-localhost/\n let ats = appPlist.NSAppTransportSecurity\n if (ats == null) {\n ats = {}\n appPlist.NSAppTransportSecurity = ats\n }\n\n ats.NSAllowsLocalNetworking = true\n // https://github.com/electron-userland/electron-builder/issues/3377#issuecomment-446035814\n ats.NSAllowsArbitraryLoads = true\n\n let exceptionDomains = ats.NSExceptionDomains\n if (exceptionDomains == null) {\n exceptionDomains = {}\n ats.NSExceptionDomains = exceptionDomains\n }\n\n if (exceptionDomains.localhost == null) {\n const allowHttp = {\n NSTemporaryExceptionAllowsInsecureHTTPSLoads: false,\n NSIncludesSubdomains: false,\n NSTemporaryExceptionAllowsInsecureHTTPLoads: true,\n NSTemporaryExceptionMinimumTLSVersion: \"1.0\",\n NSTemporaryExceptionRequiresForwardSecrecy: false\n }\n exceptionDomains.localhost = allowHttp\n exceptionDomains[\"127.0.0.1\"] = allowHttp\n }\n}\n"],"sourceRoot":""}
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 { rename, utimes } from \"fs-extra\"\nimport * as path from \"path\"\nimport { filterCFBundleIdentifier } from \"../appInfo\"\nimport { AsarIntegrity } from \"../asar/integrity\"\nimport MacPackager from \"../macPackager\"\nimport { normalizeExt } from \"../platformPackager\"\nimport { executeAppBuilderAndWriteJson, executeAppBuilderAsJson } from \"../util/appBuilder\"\n\nfunction doRename(basePath: string, oldName: string, newName: string) {\n return rename(path.join(basePath, oldName), path.join(basePath, newName))\n}\n\nfunction moveHelpers(helperSuffixes: Array<string>, frameworksPath: string, appName: string, prefix: string): Promise<any> {\n return BluebirdPromise.map(helperSuffixes, 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\nfunction getAvailableHelperSuffixes(helperEHPlist: string | null, helperNPPlist: string | null, helperRendererPlist: string | null, helperPluginPlist: string | null, helperGPUPlist: string | null) {\n\n const result = [\" Helper\"]\n if (helperEHPlist != null) {\n result.push(\" Helper EH\")\n }\n if (helperNPPlist != null) {\n result.push(\" Helper NP\")\n }\n if (helperRendererPlist != null) {\n result.push(\" Helper (Renderer)\")\n }\n if (helperPluginPlist != null) {\n result.push(\" Helper (Plugin)\")\n }\n if (helperGPUPlist != null) {\n result.push(\" Helper (GPU)\")\n }\n return result\n}\n\n/** @internal */\nexport async function createMacApp(packager: MacPackager, appOutDir: string, asarIntegrity: AsarIntegrity | null, isMas: boolean) {\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, \"Electron Helper.app\", \"Contents\", \"Info.plist\")\n const helperEHPlistFilename = path.join(frameworksPath, \"Electron Helper EH.app\", \"Contents\", \"Info.plist\")\n const helperNPPlistFilename = path.join(frameworksPath, \"Electron Helper NP.app\", \"Contents\", \"Info.plist\")\n const helperRendererPlistFilename = path.join(frameworksPath, \"Electron Helper (Renderer).app\", \"Contents\", \"Info.plist\")\n const helperPluginPlistFilename = path.join(frameworksPath, \"Electron Helper (Plugin).app\", \"Contents\", \"Info.plist\")\n const helperGPUPlistFilename = path.join(frameworksPath, \"Electron Helper (GPU).app\", \"Contents\", \"Info.plist\")\n const helperLoginPlistFilename = path.join(loginItemPath, \"Electron Login Helper.app\", \"Contents\", \"Info.plist\")\n\n const plistContent: Array<any> = await executeAppBuilderAsJson([\"decode-plist\", \"-f\", appPlistFilename, \"-f\", helperPlistFilename, \"-f\", helperEHPlistFilename, \"-f\", helperNPPlistFilename, \"-f\", helperRendererPlistFilename, \"-f\", helperPluginPlistFilename, \"-f\", helperGPUPlistFilename, \"-f\", helperLoginPlistFilename])\n\n if (plistContent[0] == null) {\n throw new Error(\"corrupted Electron dist\")\n }\n\n const appPlist = plistContent[0]!!\n const helperPlist = plistContent[1]!!\n const helperEHPlist = plistContent[2]\n const helperNPPlist = plistContent[3]\n const helperRendererPlist = plistContent[4]\n const helperPluginPlist = plistContent[5]\n const helperGPUPlist = plistContent[6]\n const helperLoginPlist = plistContent[7]\n\n // if an extend-info file was supplied, copy its contents in first\n if (plistContent[8] != null) {\n Object.assign(appPlist, plistContent[8])\n }\n\n const buildMetadata = packager.config!!\n\n /**\n * Configure bundleIdentifier for the generic Electron Helper process\n *\n * This was the only Helper in Electron 5 and before. Allow users to configure\n * the bundleIdentifier for continuity.\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 // required for electron-updater proxy\n if (!isMas) {\n configureLocalhostAts(appPlist)\n }\n\n helperPlist.CFBundleExecutable = `${appFilename} Helper`\n helperPlist.CFBundleDisplayName = `${appInfo.productName} Helper`\n helperPlist.CFBundleIdentifier = helperBundleIdentifier\n helperPlist.CFBundleVersion = appPlist.CFBundleVersion\n\n /**\n * Configure bundleIdentifier for Electron 5+ Helper processes\n *\n * In Electron 6, parts of the generic Electron Helper process were split into\n * individual helper processes. Allow users to configure the bundleIdentifiers\n * for continuity, specifically because macOS keychain access relies on\n * bundleIdentifiers not changing (i.e. across versions of Electron).\n */\n\n function configureHelper(helper: any, postfix: string, userProvidedBundleIdentifier?: string | null) {\n helper.CFBundleExecutable = `${appFilename} Helper ${postfix}`\n helper.CFBundleDisplayName = `${appInfo.productName} Helper ${postfix}`\n helper.CFBundleIdentifier = userProvidedBundleIdentifier\n ? filterCFBundleIdentifier(userProvidedBundleIdentifier)\n : filterCFBundleIdentifier(`${helperBundleIdentifier}.${postfix}`)\n helper.CFBundleVersion = appPlist.CFBundleVersion\n }\n\n if (helperRendererPlist != null) {\n configureHelper(helperRendererPlist, \"(Renderer)\", packager.platformSpecificBuildOptions.helperRendererBundleId)\n }\n if (helperPluginPlist != null) {\n configureHelper(helperPluginPlist, \"(Plugin)\", packager.platformSpecificBuildOptions.helperPluginBundleId)\n }\n if (helperGPUPlist != null) {\n configureHelper(helperGPUPlist, \"(GPU)\", packager.platformSpecificBuildOptions.helperGPUBundleId)\n }\n if (helperEHPlist != null) {\n configureHelper(helperEHPlist, \"EH\", packager.platformSpecificBuildOptions.helperEHBundleId)\n }\n if (helperNPPlist != null) {\n configureHelper(helperNPPlist, \"NP\", packager.platformSpecificBuildOptions.helperNPBundleId)\n }\n if (helperLoginPlist != null) {\n helperLoginPlist.CFBundleExecutable = `${appFilename} Login Helper`\n helperLoginPlist.CFBundleDisplayName = `${appInfo.productName} Login Helper`\n // noinspection SpellCheckingInspection\n helperLoginPlist.CFBundleIdentifier = `${appInfo.macBundleIdentifier}.loginhelper`\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 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(path.join(contentsPath, \"Resources\"), iconFile))\n }\n\n const result = {\n CFBundleTypeExtensions: extensions,\n CFBundleTypeName: fileAssociation.name || extensions[0],\n CFBundleTypeRole: fileAssociation.role || \"Editor\",\n LSHandlerRank: fileAssociation.rank || \"Default\",\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 const plistDataToWrite: any = {\n [appPlistFilename]: appPlist,\n [helperPlistFilename]: helperPlist,\n }\n if (helperEHPlist != null) {\n plistDataToWrite[helperEHPlistFilename] = helperEHPlist\n }\n if (helperNPPlist != null) {\n plistDataToWrite[helperNPPlistFilename] = helperNPPlist\n }\n if (helperRendererPlist != null) {\n plistDataToWrite[helperRendererPlistFilename] = helperRendererPlist\n }\n if (helperPluginPlist != null) {\n plistDataToWrite[helperPluginPlistFilename] = helperPluginPlist\n }\n if (helperGPUPlist != null) {\n plistDataToWrite[helperGPUPlistFilename] = helperGPUPlist\n }\n if (helperLoginPlist != null) {\n plistDataToWrite[helperLoginPlistFilename] = helperLoginPlist\n }\n\n await Promise.all([\n executeAppBuilderAndWriteJson([\"encode-plist\"], plistDataToWrite),\n doRename(path.join(contentsPath, \"MacOS\"), \"Electron\", appPlist.CFBundleExecutable),\n unlinkIfExists(path.join(appOutDir, \"LICENSE\")),\n unlinkIfExists(path.join(appOutDir, \"LICENSES.chromium.html\")),\n ])\n\n await moveHelpers(getAvailableHelperSuffixes(helperEHPlist, helperNPPlist, helperRendererPlist, helperPluginPlist, helperGPUPlist), frameworksPath, appFilename, \"Electron\")\n\n if (helperLoginPlist != null) {\n const prefix = \"Electron\"\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\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}\n\nfunction configureLocalhostAts(appPlist: any) {\n // https://bencoding.com/2015/07/20/app-transport-security-and-localhost/\n let ats = appPlist.NSAppTransportSecurity\n if (ats == null) {\n ats = {}\n appPlist.NSAppTransportSecurity = ats\n }\n\n ats.NSAllowsLocalNetworking = true\n // https://github.com/electron-userland/electron-builder/issues/3377#issuecomment-446035814\n ats.NSAllowsArbitraryLoads = true\n\n let exceptionDomains = ats.NSExceptionDomains\n if (exceptionDomains == null) {\n exceptionDomains = {}\n ats.NSExceptionDomains = exceptionDomains\n }\n\n if (exceptionDomains.localhost == null) {\n const allowHttp = {\n NSTemporaryExceptionAllowsInsecureHTTPSLoads: false,\n NSIncludesSubdomains: false,\n NSTemporaryExceptionAllowsInsecureHTTPLoads: true,\n NSTemporaryExceptionMinimumTLSVersion: \"1.0\",\n NSTemporaryExceptionRequiresForwardSecrecy: false\n }\n exceptionDomains.localhost = allowHttp\n exceptionDomains[\"127.0.0.1\"] = allowHttp\n }\n}\n"],"sourceRoot":""}
@@ -265,22 +265,22 @@ class MacPackager extends _platformPackager().PlatformPackager {
265
265
  switch (arch) {
266
266
  default:
267
267
  {
268
- return super.doPack(outDir, appOutDir, this.platform.nodeName, arch, this.platformSpecificBuildOptions, targets);
268
+ return super.doPack(outDir, appOutDir, platformName, arch, platformSpecificBuildOptions, targets);
269
269
  }
270
270
 
271
271
  case _builderUtil().Arch.universal:
272
272
  {
273
273
  const x64Arch = _builderUtil().Arch.x64;
274
274
 
275
- const x64AppOutDir = appOutDir + '-' + _builderUtil().Arch[x64Arch];
275
+ const x64AppOutDir = appOutDir + '--' + _builderUtil().Arch[x64Arch];
276
276
 
277
- await super.doPack(outDir, x64AppOutDir, platformName, x64Arch, platformSpecificBuildOptions, targets, false);
277
+ await super.doPack(outDir, x64AppOutDir, platformName, x64Arch, platformSpecificBuildOptions, targets, false, true);
278
278
 
279
279
  const arm64Arch = _builderUtil().Arch.arm64;
280
280
 
281
- const arm64AppOutPath = appOutDir + '-' + _builderUtil().Arch[arm64Arch];
281
+ const arm64AppOutPath = appOutDir + '--' + _builderUtil().Arch[arm64Arch];
282
282
 
283
- await super.doPack(outDir, arm64AppOutPath, platformName, arm64Arch, platformSpecificBuildOptions, targets, false);
283
+ await super.doPack(outDir, arm64AppOutPath, platformName, arm64Arch, platformSpecificBuildOptions, targets, false, true);
284
284
  const framework = this.info.framework;
285
285
 
286
286
  _builderUtil().log.info({
@@ -470,7 +470,7 @@ class MacPackager extends _platformPackager().PlatformPackager {
470
470
  const artifactName = this.expandArtifactNamePattern(masOptions, "pkg", arch);
471
471
  const artifactPath = path.join(outDir, artifactName);
472
472
  await this.doFlat(appPath, artifactPath, masInstallerIdentity, keychainFile);
473
- await this.dispatchArtifactCreated(artifactPath, null, _builderUtil().Arch.x64, this.computeSafeArtifactName(artifactName, "pkg", arch));
473
+ await this.dispatchArtifactCreated(artifactPath, null, _builderUtil().Arch.x64, this.computeSafeArtifactName(artifactName, "pkg", arch, true, this.platformSpecificBuildOptions.defaultArch));
474
474
  }
475
475
  }
476
476
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/macPackager.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { deepAssign, Arch, AsyncTaskManager, exec, InvalidConfigurationError, log, use, getArchSuffix } from \"builder-util\"\nimport { signAsync, SignOptions } from \"../electron-osx-sign\"\nimport { mkdirs, readdir } from \"fs-extra\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { copyFile, unlinkIfExists } from \"builder-util/out/fs\"\nimport { orIfFileNotExist } from \"builder-util/out/promise\"\nimport { AppInfo } from \"./appInfo\"\nimport { CertType, CodeSigningInfo, createKeychain, findIdentity, Identity, isSignAllowed, removeKeychain, reportError } from \"./codeSign/macCodeSign\"\nimport { DIR_TARGET, Platform, Target } from \"./core\"\nimport { AfterPackContext, ElectronPlatformName } from \"./index\"\nimport { MacConfiguration, MasConfiguration } from \"./options/macOptions\"\nimport { Packager } from \"./packager\"\nimport { chooseNotNull, PlatformPackager } from \"./platformPackager\"\nimport { ArchiveTarget } from \"./targets/ArchiveTarget\"\nimport { PkgTarget, prepareProductBuildArgs } from \"./targets/pkg\"\nimport { createCommonTarget, NoOpTarget } from \"./targets/targetFactory\"\nimport { isMacOsHighSierra } from \"./util/macosVersion\"\nimport { getTemplatePath } from \"./util/pathManager\"\nimport { promisify } from \"util\"\n\nexport default class MacPackager extends PlatformPackager<MacConfiguration> {\n readonly codeSigningInfo = new Lazy<CodeSigningInfo>(() => {\n const cscLink = this.getCscLink()\n if (cscLink == null || process.platform !== \"darwin\") {\n return Promise.resolve({keychainFile: process.env.CSC_KEYCHAIN || null})\n }\n\n return createKeychain({\n tmpDir: this.info.tempDirManager,\n cscLink,\n cscKeyPassword: this.getCscPassword(),\n cscILink: chooseNotNull(this.platformSpecificBuildOptions.cscInstallerLink, process.env.CSC_INSTALLER_LINK),\n cscIKeyPassword: chooseNotNull(this.platformSpecificBuildOptions.cscInstallerKeyPassword, process.env.CSC_INSTALLER_KEY_PASSWORD),\n currentDir: this.projectDir\n })\n .then(result => {\n const keychainFile = result.keychainFile\n if (keychainFile != null) {\n this.info.disposeOnBuildFinish(() => removeKeychain(keychainFile))\n }\n return result\n })\n })\n\n private _iconPath = new Lazy(() => this.getOrConvertIcon(\"icns\"))\n\n constructor(info: Packager) {\n super(info, Platform.MAC)\n }\n\n get defaultTarget(): Array<string> {\n return this.info.framework.macOsDefaultTargets\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected prepareAppInfo(appInfo: AppInfo): AppInfo {\n return new AppInfo(this.info, this.platformSpecificBuildOptions.bundleVersion, this.platformSpecificBuildOptions)\n }\n\n async getIconPath(): Promise<string | null> {\n return this._iconPath.value\n }\n\n createTargets(targets: Array<string>, mapper: (name: string, factory: (outDir: string) => Target) => void): void {\n for (const name of targets) {\n switch (name) {\n case DIR_TARGET:\n break\n\n case \"dmg\": {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const {DmgTarget} = require(\"dmg-builder\")\n mapper(name, outDir => new DmgTarget(this, outDir))\n break\n }\n\n case \"zip\":\n // https://github.com/electron-userland/electron-builder/issues/2313\n mapper(name, outDir => new ArchiveTarget(name, outDir, this, true))\n break\n\n case \"pkg\":\n mapper(name, outDir => new PkgTarget(this, outDir))\n break\n\n default:\n mapper(name, outDir => name === \"mas\" || name === \"mas-dev\" ? new NoOpTarget(name) : createCommonTarget(name, outDir, this))\n break\n }\n }\n }\n\n protected async doPack(outDir: string, appOutDir: string, platformName: ElectronPlatformName, arch: Arch, platformSpecificBuildOptions: MacConfiguration, targets: Array<Target>): Promise<any> {\n switch (arch) {\n default: {\n return super.doPack(outDir, appOutDir, this.platform.nodeName as ElectronPlatformName, arch, this.platformSpecificBuildOptions, targets);\n }\n case Arch.universal: {\n const x64Arch = Arch.x64;\n const x64AppOutDir = appOutDir + '-' + Arch[x64Arch];\n await super.doPack(outDir, x64AppOutDir, platformName, x64Arch, platformSpecificBuildOptions, targets, false);\n const arm64Arch = Arch.arm64;\n const arm64AppOutPath = appOutDir + '-' + Arch[arm64Arch];\n await super.doPack(outDir, arm64AppOutPath, platformName, arm64Arch, platformSpecificBuildOptions, targets, false);\n const framework = this.info.framework\n log.info({\n platform: platformName,\n arch: Arch[arch],\n [`${framework.name}`]: framework.version,\n appOutDir: log.filePath(appOutDir),\n }, `packaging`)\n const appFile = `${this.appInfo.productFilename}.app`;\n const { makeUniversalApp } = require('@electron/universal');\n await makeUniversalApp({\n x64AppPath: path.join(x64AppOutDir, appFile),\n arm64AppPath: path.join(arm64AppOutPath, appFile),\n outAppPath: path.join(appOutDir, appFile),\n force: true\n });\n const rmdir = promisify(require('fs').rmdir);\n await rmdir(x64AppOutDir, { recursive: true });\n await rmdir(arm64AppOutPath, { recursive: true });\n await this.doSignAfterPack(outDir, appOutDir, platformName, arch, platformSpecificBuildOptions, targets);\n break;\n }\n }\n }\n\n async pack(outDir: string, arch: Arch, targets: Array<Target>, taskManager: AsyncTaskManager): Promise<any> {\n let nonMasPromise: Promise<any> | null = null\n\n const hasMas = targets.length !== 0 && targets.some(it => it.name === \"mas\" || it.name === \"mas-dev\")\n const prepackaged = this.packagerOptions.prepackaged\n\n if (!hasMas || targets.length > 1) {\n const appPath = prepackaged == null ? path.join(this.computeAppOutDir(outDir, arch), `${this.appInfo.productFilename}.app`) : prepackaged\n nonMasPromise = (prepackaged ? Promise.resolve() : this.doPack(outDir, path.dirname(appPath), this.platform.nodeName as ElectronPlatformName, arch, this.platformSpecificBuildOptions, targets))\n .then(() => this.packageInDistributableFormat(appPath, arch, targets, taskManager))\n }\n\n for (const target of targets) {\n const targetName = target.name\n if (!(targetName === \"mas\" || targetName === \"mas-dev\")) {\n continue\n }\n\n const masBuildOptions = deepAssign({}, this.platformSpecificBuildOptions, this.config.mas)\n if (targetName === \"mas-dev\") {\n deepAssign(masBuildOptions, this.config.masDev, {\n type: \"development\",\n })\n }\n\n const targetOutDir = path.join(outDir, `${targetName}${getArchSuffix(arch)}`)\n if (prepackaged == null) {\n await this.doPack(outDir, targetOutDir, \"mas\", arch, masBuildOptions, [target])\n await this.sign(path.join(targetOutDir, `${this.appInfo.productFilename}.app`), targetOutDir, masBuildOptions, arch)\n }\n else {\n await this.sign(prepackaged, targetOutDir, masBuildOptions, arch)\n }\n }\n\n if (nonMasPromise != null) {\n await nonMasPromise\n }\n }\n\n private async sign(appPath: string, outDir: string | null, masOptions: MasConfiguration | null, arch: Arch | null): Promise<void> {\n if (!isSignAllowed()) {\n return\n }\n\n const isMas = masOptions != null\n const options = masOptions == null ? this.platformSpecificBuildOptions : masOptions\n const qualifier = options.identity\n\n if (!isMas && qualifier === null) {\n if (this.forceCodeSigning) {\n throw new InvalidConfigurationError(\"identity explicitly is set to null, but forceCodeSigning is set to true\")\n }\n log.info({reason: \"identity explicitly is set to null\"}, \"skipped macOS code signing\")\n return\n }\n\n const keychainFile = (await this.codeSigningInfo.value).keychainFile\n const explicitType = options.type\n const type = explicitType || \"distribution\"\n const isDevelopment = type === \"development\"\n const certificateType = getCertificateType(isMas, isDevelopment)\n let identity = await findIdentity(certificateType, qualifier, keychainFile)\n if (identity == null) {\n if (!isMas && !isDevelopment && explicitType !== \"distribution\") {\n identity = await findIdentity(\"Mac Developer\", qualifier, keychainFile)\n if (identity != null) {\n log.warn(\"Mac Developer is used to sign app — it is only for development and testing, not for production\")\n }\n }\n\n if (identity == null) {\n await reportError(isMas, certificateType, qualifier, keychainFile, this.forceCodeSigning)\n return\n }\n }\n\n if (!isMacOsHighSierra()) {\n throw new InvalidConfigurationError(\"macOS High Sierra 10.13.6 is required to sign\")\n }\n\n let filter = options.signIgnore\n if (Array.isArray(filter)) {\n if (filter.length == 0) {\n filter = null\n }\n }\n else if (filter != null) {\n filter = filter.length === 0 ? null : [filter]\n }\n\n const filterRe = filter == null ? null : filter.map(it => new RegExp(it))\n\n const signOptions: any = {\n \"identity-validation\": false,\n // https://github.com/electron-userland/electron-builder/issues/1699\n // kext are signed by the chipset manufacturers. You need a special certificate (only available on request) from Apple to be able to sign kext.\n ignore: (file: string) => {\n if (filterRe != null) {\n for (const regExp of filterRe) {\n if (regExp.test(file)) {\n return true\n }\n }\n }\n return file.endsWith(\".kext\") || file.startsWith(\"/Contents/PlugIns\", appPath.length) ||\n file.includes(\"/node_modules/puppeteer/.local-chromium\") || file.includes(\"/node_modules/playwright-firefox/.local-browsers\") || file.includes(\"/node_modules/playwright/.local-browsers\") \n \n /* Those are browser automating modules, browser (chromium, nightly) cannot be signed\n https://github.com/electron-userland/electron-builder/issues/2010 \n https://github.com/electron-userland/electron-builder/issues/5383\n */\n },\n identity: identity!,\n type,\n platform: isMas ? \"mas\" : \"darwin\",\n version: this.config.electronVersion,\n app: appPath,\n keychain: keychainFile || undefined,\n binaries: options.binaries || undefined,\n requirements: isMas || this.platformSpecificBuildOptions.requirements == null ? undefined : await this.getResource(this.platformSpecificBuildOptions.requirements),\n // https://github.com/electron-userland/electron-osx-sign/issues/196\n // will fail on 10.14.5+ because a signed but unnotarized app is also rejected.\n \"gatekeeper-assess\": options.gatekeeperAssess === true,\n // https://github.com/electron-userland/electron-builder/issues/1480\n \"strict-verify\": options.strictVerify,\n hardenedRuntime: isMas ? masOptions && masOptions.hardenedRuntime === true : options.hardenedRuntime !== false,\n }\n\n await this.adjustSignOptions(signOptions, masOptions)\n log.info({\n file: log.filePath(appPath),\n identityName: identity.name,\n identityHash: identity.hash,\n provisioningProfile: signOptions[\"provisioning-profile\"] || \"none\",\n }, \"signing\")\n await this.doSign(signOptions)\n\n // https://github.com/electron-userland/electron-builder/issues/1196#issuecomment-312310209\n if (masOptions != null && !isDevelopment) {\n const certType = isDevelopment ? \"Mac Developer\" : \"3rd Party Mac Developer Installer\"\n const masInstallerIdentity = await findIdentity(certType, masOptions.identity, keychainFile)\n if (masInstallerIdentity == null) {\n throw new InvalidConfigurationError(`Cannot find valid \"${certType}\" identity to sign MAS installer, please see https://electron.build/code-signing`)\n }\n\n // mas uploaded to AppStore, so, use \"-\" instead of space for name\n const artifactName = this.expandArtifactNamePattern(masOptions, \"pkg\", arch)\n const artifactPath = path.join(outDir!, artifactName)\n await this.doFlat(appPath, artifactPath, masInstallerIdentity, keychainFile)\n await this.dispatchArtifactCreated(artifactPath, null, Arch.x64, this.computeSafeArtifactName(artifactName, \"pkg\", arch))\n }\n }\n\n private async adjustSignOptions(signOptions: any, masOptions: MasConfiguration | null) {\n const resourceList = await this.resourceList\n const customSignOptions = masOptions || this.platformSpecificBuildOptions\n const entitlementsSuffix = masOptions == null ? \"mac\" : \"mas\"\n\n let entitlements = customSignOptions.entitlements\n if (entitlements == null) {\n const p = `entitlements.${entitlementsSuffix}.plist`\n if (resourceList.includes(p)) {\n entitlements = path.join(this.info.buildResourcesDir, p)\n }\n else {\n entitlements = getTemplatePath(\"entitlements.mac.plist\")\n }\n }\n signOptions.entitlements = entitlements\n\n let entitlementsInherit = customSignOptions.entitlementsInherit\n if (entitlementsInherit == null) {\n const p = `entitlements.${entitlementsSuffix}.inherit.plist`\n if (resourceList.includes(p)) {\n entitlementsInherit = path.join(this.info.buildResourcesDir, p)\n }\n else {\n entitlementsInherit = getTemplatePath(\"entitlements.mac.plist\")\n }\n }\n signOptions[\"entitlements-inherit\"] = entitlementsInherit\n\n if (customSignOptions.provisioningProfile != null) {\n signOptions[\"provisioning-profile\"] = customSignOptions.provisioningProfile\n }\n signOptions['entitlements-loginhelper'] = customSignOptions.entitlementsLoginHelper\n }\n\n //noinspection JSMethodCanBeStatic\n protected async doSign(opts: SignOptions): Promise<any> {\n return signAsync(opts)\n }\n\n //noinspection JSMethodCanBeStatic\n protected async doFlat(appPath: string, outFile: string, identity: Identity, keychain: string | null | undefined): Promise<any> {\n // productbuild doesn't created directory for out file\n await mkdirs(path.dirname(outFile))\n\n const args = prepareProductBuildArgs(identity, keychain)\n args.push(\"--component\", appPath, \"/Applications\")\n args.push(outFile)\n return await exec(\"productbuild\", args)\n }\n\n public getElectronSrcDir(dist: string) {\n return path.resolve(this.projectDir, dist, this.info.framework.distMacOsAppName)\n }\n\n public getElectronDestinationDir(appOutDir: string) {\n return path.join(appOutDir, this.info.framework.distMacOsAppName)\n }\n\n // todo fileAssociations\n async applyCommonInfo(appPlist: any, contentsPath: string) {\n const appInfo = this.appInfo\n const appFilename = appInfo.productFilename\n\n // https://github.com/electron-userland/electron-builder/issues/1278\n appPlist.CFBundleExecutable = appFilename.endsWith(\" Helper\") ? appFilename.substring(0, appFilename.length - \" Helper\".length) : appFilename\n\n const icon = await this.getIconPath()\n if (icon != null) {\n const oldIcon = appPlist.CFBundleIconFile\n const resourcesPath = path.join(contentsPath, \"Resources\")\n if (oldIcon != null) {\n await unlinkIfExists(path.join(resourcesPath, oldIcon))\n }\n const iconFileName = `${appFilename}.icns`\n appPlist.CFBundleIconFile = iconFileName\n await copyFile(icon, path.join(resourcesPath, iconFileName))\n }\n appPlist.CFBundleName = appInfo.productName\n appPlist.CFBundleDisplayName = appInfo.productName\n\n const minimumSystemVersion = this.platformSpecificBuildOptions.minimumSystemVersion\n if (minimumSystemVersion != null) {\n appPlist.LSMinimumSystemVersion = minimumSystemVersion\n }\n\n appPlist.CFBundleIdentifier = appInfo.macBundleIdentifier\n\n appPlist.CFBundleShortVersionString = this.platformSpecificBuildOptions.bundleShortVersion || appInfo.version\n appPlist.CFBundleVersion = appInfo.buildVersion\n\n use(this.platformSpecificBuildOptions.category || (this.config as any).category, it => appPlist.LSApplicationCategoryType = it)\n appPlist.NSHumanReadableCopyright = appInfo.copyright\n\n if (this.platformSpecificBuildOptions.darkModeSupport) {\n appPlist.NSRequiresAquaSystemAppearance = false\n }\n\n const extendInfo = this.platformSpecificBuildOptions.extendInfo\n if (extendInfo != null) {\n Object.assign(appPlist, extendInfo)\n }\n }\n\n protected async signApp(packContext: AfterPackContext, isAsar: boolean): Promise<any> {\n const appFileName = `${this.appInfo.productFilename}.app`\n\n await BluebirdPromise.map(readdir(packContext.appOutDir), (file: string): any => {\n if (file === appFileName) {\n return this.sign(path.join(packContext.appOutDir, file), null, null, null)\n }\n return null\n })\n\n if (!isAsar) {\n return\n }\n\n const outResourcesDir = path.join(packContext.appOutDir, \"resources\", \"app.asar.unpacked\")\n await BluebirdPromise.map(orIfFileNotExist(readdir(outResourcesDir), []), (file: string): any => {\n if (file.endsWith(\".app\")) {\n return this.sign(path.join(outResourcesDir, file), null, null, null)\n }\n else {\n return null\n }\n })\n }\n}\n\nfunction getCertificateType(isMas: boolean, isDevelopment: boolean): CertType {\n if (isDevelopment) {\n return \"Mac Developer\"\n }\n return isMas ? \"3rd Party Mac Developer Application\" : \"Developer ID Application\"\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["../src/macPackager.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { deepAssign, Arch, AsyncTaskManager, exec, InvalidConfigurationError, log, use, getArchSuffix } from \"builder-util\"\nimport { signAsync, SignOptions } from \"../electron-osx-sign\"\nimport { mkdirs, readdir } from \"fs-extra\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { copyFile, unlinkIfExists } from \"builder-util/out/fs\"\nimport { orIfFileNotExist } from \"builder-util/out/promise\"\nimport { AppInfo } from \"./appInfo\"\nimport { CertType, CodeSigningInfo, createKeychain, findIdentity, Identity, isSignAllowed, removeKeychain, reportError } from \"./codeSign/macCodeSign\"\nimport { DIR_TARGET, Platform, Target } from \"./core\"\nimport { AfterPackContext, ElectronPlatformName } from \"./index\"\nimport { MacConfiguration, MasConfiguration } from \"./options/macOptions\"\nimport { Packager } from \"./packager\"\nimport { chooseNotNull, PlatformPackager } from \"./platformPackager\"\nimport { ArchiveTarget } from \"./targets/ArchiveTarget\"\nimport { PkgTarget, prepareProductBuildArgs } from \"./targets/pkg\"\nimport { createCommonTarget, NoOpTarget } from \"./targets/targetFactory\"\nimport { isMacOsHighSierra } from \"./util/macosVersion\"\nimport { getTemplatePath } from \"./util/pathManager\"\nimport { promisify } from \"util\"\n\nexport default class MacPackager extends PlatformPackager<MacConfiguration> {\n readonly codeSigningInfo = new Lazy<CodeSigningInfo>(() => {\n const cscLink = this.getCscLink()\n if (cscLink == null || process.platform !== \"darwin\") {\n return Promise.resolve({keychainFile: process.env.CSC_KEYCHAIN || null})\n }\n\n return createKeychain({\n tmpDir: this.info.tempDirManager,\n cscLink,\n cscKeyPassword: this.getCscPassword(),\n cscILink: chooseNotNull(this.platformSpecificBuildOptions.cscInstallerLink, process.env.CSC_INSTALLER_LINK),\n cscIKeyPassword: chooseNotNull(this.platformSpecificBuildOptions.cscInstallerKeyPassword, process.env.CSC_INSTALLER_KEY_PASSWORD),\n currentDir: this.projectDir\n })\n .then(result => {\n const keychainFile = result.keychainFile\n if (keychainFile != null) {\n this.info.disposeOnBuildFinish(() => removeKeychain(keychainFile))\n }\n return result\n })\n })\n\n private _iconPath = new Lazy(() => this.getOrConvertIcon(\"icns\"))\n\n constructor(info: Packager) {\n super(info, Platform.MAC)\n }\n\n get defaultTarget(): Array<string> {\n return this.info.framework.macOsDefaultTargets\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected prepareAppInfo(appInfo: AppInfo): AppInfo {\n return new AppInfo(this.info, this.platformSpecificBuildOptions.bundleVersion, this.platformSpecificBuildOptions)\n }\n\n async getIconPath(): Promise<string | null> {\n return this._iconPath.value\n }\n\n createTargets(targets: Array<string>, mapper: (name: string, factory: (outDir: string) => Target) => void): void {\n for (const name of targets) {\n switch (name) {\n case DIR_TARGET:\n break\n\n case \"dmg\": {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const {DmgTarget} = require(\"dmg-builder\")\n mapper(name, outDir => new DmgTarget(this, outDir))\n break\n }\n\n case \"zip\":\n // https://github.com/electron-userland/electron-builder/issues/2313\n mapper(name, outDir => new ArchiveTarget(name, outDir, this, true))\n break\n\n case \"pkg\":\n mapper(name, outDir => new PkgTarget(this, outDir))\n break\n\n default:\n mapper(name, outDir => name === \"mas\" || name === \"mas-dev\" ? new NoOpTarget(name) : createCommonTarget(name, outDir, this))\n break\n }\n }\n }\n\n protected async doPack(outDir: string, appOutDir: string, platformName: ElectronPlatformName, arch: Arch, platformSpecificBuildOptions: MacConfiguration, targets: Array<Target>): Promise<any> {\n switch (arch) {\n default: {\n return super.doPack(outDir, appOutDir, platformName, arch, platformSpecificBuildOptions, targets);\n }\n case Arch.universal: {\n const x64Arch = Arch.x64;\n const x64AppOutDir = appOutDir + '--' + Arch[x64Arch];\n await super.doPack(outDir, x64AppOutDir, platformName, x64Arch, platformSpecificBuildOptions, targets, false, true);\n const arm64Arch = Arch.arm64;\n const arm64AppOutPath = appOutDir + '--' + Arch[arm64Arch];\n await super.doPack(outDir, arm64AppOutPath, platformName, arm64Arch, platformSpecificBuildOptions, targets, false, true);\n const framework = this.info.framework\n log.info({\n platform: platformName,\n arch: Arch[arch],\n [`${framework.name}`]: framework.version,\n appOutDir: log.filePath(appOutDir),\n }, `packaging`)\n const appFile = `${this.appInfo.productFilename}.app`;\n const { makeUniversalApp } = require('@electron/universal');\n await makeUniversalApp({\n x64AppPath: path.join(x64AppOutDir, appFile),\n arm64AppPath: path.join(arm64AppOutPath, appFile),\n outAppPath: path.join(appOutDir, appFile),\n force: true\n });\n const rmdir = promisify(require('fs').rmdir);\n await rmdir(x64AppOutDir, { recursive: true });\n await rmdir(arm64AppOutPath, { recursive: true });\n await this.doSignAfterPack(outDir, appOutDir, platformName, arch, platformSpecificBuildOptions, targets);\n break;\n }\n }\n }\n\n async pack(outDir: string, arch: Arch, targets: Array<Target>, taskManager: AsyncTaskManager): Promise<any> {\n let nonMasPromise: Promise<any> | null = null\n\n const hasMas = targets.length !== 0 && targets.some(it => it.name === \"mas\" || it.name === \"mas-dev\")\n const prepackaged = this.packagerOptions.prepackaged\n\n if (!hasMas || targets.length > 1) {\n const appPath = prepackaged == null ? path.join(this.computeAppOutDir(outDir, arch), `${this.appInfo.productFilename}.app`) : prepackaged\n nonMasPromise = (prepackaged ? Promise.resolve() : this.doPack(outDir, path.dirname(appPath), this.platform.nodeName as ElectronPlatformName, arch, this.platformSpecificBuildOptions, targets))\n .then(() => this.packageInDistributableFormat(appPath, arch, targets, taskManager))\n }\n\n for (const target of targets) {\n const targetName = target.name\n if (!(targetName === \"mas\" || targetName === \"mas-dev\")) {\n continue\n }\n\n const masBuildOptions = deepAssign({}, this.platformSpecificBuildOptions, this.config.mas)\n if (targetName === \"mas-dev\") {\n deepAssign(masBuildOptions, this.config.masDev, {\n type: \"development\",\n })\n }\n\n const targetOutDir = path.join(outDir, `${targetName}${getArchSuffix(arch)}`)\n if (prepackaged == null) {\n await this.doPack(outDir, targetOutDir, \"mas\", arch, masBuildOptions, [target])\n await this.sign(path.join(targetOutDir, `${this.appInfo.productFilename}.app`), targetOutDir, masBuildOptions, arch)\n }\n else {\n await this.sign(prepackaged, targetOutDir, masBuildOptions, arch)\n }\n }\n\n if (nonMasPromise != null) {\n await nonMasPromise\n }\n }\n\n private async sign(appPath: string, outDir: string | null, masOptions: MasConfiguration | null, arch: Arch | null): Promise<void> {\n if (!isSignAllowed()) {\n return\n }\n\n const isMas = masOptions != null\n const options = masOptions == null ? this.platformSpecificBuildOptions : masOptions\n const qualifier = options.identity\n\n if (!isMas && qualifier === null) {\n if (this.forceCodeSigning) {\n throw new InvalidConfigurationError(\"identity explicitly is set to null, but forceCodeSigning is set to true\")\n }\n log.info({reason: \"identity explicitly is set to null\"}, \"skipped macOS code signing\")\n return\n }\n\n const keychainFile = (await this.codeSigningInfo.value).keychainFile\n const explicitType = options.type\n const type = explicitType || \"distribution\"\n const isDevelopment = type === \"development\"\n const certificateType = getCertificateType(isMas, isDevelopment)\n let identity = await findIdentity(certificateType, qualifier, keychainFile)\n if (identity == null) {\n if (!isMas && !isDevelopment && explicitType !== \"distribution\") {\n identity = await findIdentity(\"Mac Developer\", qualifier, keychainFile)\n if (identity != null) {\n log.warn(\"Mac Developer is used to sign app — it is only for development and testing, not for production\")\n }\n }\n\n if (identity == null) {\n await reportError(isMas, certificateType, qualifier, keychainFile, this.forceCodeSigning)\n return\n }\n }\n\n if (!isMacOsHighSierra()) {\n throw new InvalidConfigurationError(\"macOS High Sierra 10.13.6 is required to sign\")\n }\n\n let filter = options.signIgnore\n if (Array.isArray(filter)) {\n if (filter.length == 0) {\n filter = null\n }\n }\n else if (filter != null) {\n filter = filter.length === 0 ? null : [filter]\n }\n\n const filterRe = filter == null ? null : filter.map(it => new RegExp(it))\n\n const signOptions: any = {\n \"identity-validation\": false,\n // https://github.com/electron-userland/electron-builder/issues/1699\n // kext are signed by the chipset manufacturers. You need a special certificate (only available on request) from Apple to be able to sign kext.\n ignore: (file: string) => {\n if (filterRe != null) {\n for (const regExp of filterRe) {\n if (regExp.test(file)) {\n return true\n }\n }\n }\n return file.endsWith(\".kext\") || file.startsWith(\"/Contents/PlugIns\", appPath.length) ||\n file.includes(\"/node_modules/puppeteer/.local-chromium\") || file.includes(\"/node_modules/playwright-firefox/.local-browsers\") || file.includes(\"/node_modules/playwright/.local-browsers\") \n \n /* Those are browser automating modules, browser (chromium, nightly) cannot be signed\n https://github.com/electron-userland/electron-builder/issues/2010 \n https://github.com/electron-userland/electron-builder/issues/5383\n */\n },\n identity: identity!,\n type,\n platform: isMas ? \"mas\" : \"darwin\",\n version: this.config.electronVersion,\n app: appPath,\n keychain: keychainFile || undefined,\n binaries: options.binaries || undefined,\n requirements: isMas || this.platformSpecificBuildOptions.requirements == null ? undefined : await this.getResource(this.platformSpecificBuildOptions.requirements),\n // https://github.com/electron-userland/electron-osx-sign/issues/196\n // will fail on 10.14.5+ because a signed but unnotarized app is also rejected.\n \"gatekeeper-assess\": options.gatekeeperAssess === true,\n // https://github.com/electron-userland/electron-builder/issues/1480\n \"strict-verify\": options.strictVerify,\n hardenedRuntime: isMas ? masOptions && masOptions.hardenedRuntime === true : options.hardenedRuntime !== false,\n }\n\n await this.adjustSignOptions(signOptions, masOptions)\n log.info({\n file: log.filePath(appPath),\n identityName: identity.name,\n identityHash: identity.hash,\n provisioningProfile: signOptions[\"provisioning-profile\"] || \"none\",\n }, \"signing\")\n await this.doSign(signOptions)\n\n // https://github.com/electron-userland/electron-builder/issues/1196#issuecomment-312310209\n if (masOptions != null && !isDevelopment) {\n const certType = isDevelopment ? \"Mac Developer\" : \"3rd Party Mac Developer Installer\"\n const masInstallerIdentity = await findIdentity(certType, masOptions.identity, keychainFile)\n if (masInstallerIdentity == null) {\n throw new InvalidConfigurationError(`Cannot find valid \"${certType}\" identity to sign MAS installer, please see https://electron.build/code-signing`)\n }\n\n // mas uploaded to AppStore, so, use \"-\" instead of space for name\n const artifactName = this.expandArtifactNamePattern(masOptions, \"pkg\", arch)\n const artifactPath = path.join(outDir!, artifactName)\n await this.doFlat(appPath, artifactPath, masInstallerIdentity, keychainFile)\n await this.dispatchArtifactCreated(artifactPath, null, Arch.x64, this.computeSafeArtifactName(artifactName, \"pkg\", arch, true, this.platformSpecificBuildOptions.defaultArch))\n }\n }\n\n private async adjustSignOptions(signOptions: any, masOptions: MasConfiguration | null) {\n const resourceList = await this.resourceList\n const customSignOptions = masOptions || this.platformSpecificBuildOptions\n const entitlementsSuffix = masOptions == null ? \"mac\" : \"mas\"\n\n let entitlements = customSignOptions.entitlements\n if (entitlements == null) {\n const p = `entitlements.${entitlementsSuffix}.plist`\n if (resourceList.includes(p)) {\n entitlements = path.join(this.info.buildResourcesDir, p)\n }\n else {\n entitlements = getTemplatePath(\"entitlements.mac.plist\")\n }\n }\n signOptions.entitlements = entitlements\n\n let entitlementsInherit = customSignOptions.entitlementsInherit\n if (entitlementsInherit == null) {\n const p = `entitlements.${entitlementsSuffix}.inherit.plist`\n if (resourceList.includes(p)) {\n entitlementsInherit = path.join(this.info.buildResourcesDir, p)\n }\n else {\n entitlementsInherit = getTemplatePath(\"entitlements.mac.plist\")\n }\n }\n signOptions[\"entitlements-inherit\"] = entitlementsInherit\n\n if (customSignOptions.provisioningProfile != null) {\n signOptions[\"provisioning-profile\"] = customSignOptions.provisioningProfile\n }\n signOptions['entitlements-loginhelper'] = customSignOptions.entitlementsLoginHelper\n }\n\n //noinspection JSMethodCanBeStatic\n protected async doSign(opts: SignOptions): Promise<any> {\n return signAsync(opts)\n }\n\n //noinspection JSMethodCanBeStatic\n protected async doFlat(appPath: string, outFile: string, identity: Identity, keychain: string | null | undefined): Promise<any> {\n // productbuild doesn't created directory for out file\n await mkdirs(path.dirname(outFile))\n\n const args = prepareProductBuildArgs(identity, keychain)\n args.push(\"--component\", appPath, \"/Applications\")\n args.push(outFile)\n return await exec(\"productbuild\", args)\n }\n\n public getElectronSrcDir(dist: string) {\n return path.resolve(this.projectDir, dist, this.info.framework.distMacOsAppName)\n }\n\n public getElectronDestinationDir(appOutDir: string) {\n return path.join(appOutDir, this.info.framework.distMacOsAppName)\n }\n\n // todo fileAssociations\n async applyCommonInfo(appPlist: any, contentsPath: string) {\n const appInfo = this.appInfo\n const appFilename = appInfo.productFilename\n\n // https://github.com/electron-userland/electron-builder/issues/1278\n appPlist.CFBundleExecutable = appFilename.endsWith(\" Helper\") ? appFilename.substring(0, appFilename.length - \" Helper\".length) : appFilename\n\n const icon = await this.getIconPath()\n if (icon != null) {\n const oldIcon = appPlist.CFBundleIconFile\n const resourcesPath = path.join(contentsPath, \"Resources\")\n if (oldIcon != null) {\n await unlinkIfExists(path.join(resourcesPath, oldIcon))\n }\n const iconFileName = `${appFilename}.icns`\n appPlist.CFBundleIconFile = iconFileName\n await copyFile(icon, path.join(resourcesPath, iconFileName))\n }\n appPlist.CFBundleName = appInfo.productName\n appPlist.CFBundleDisplayName = appInfo.productName\n\n const minimumSystemVersion = this.platformSpecificBuildOptions.minimumSystemVersion\n if (minimumSystemVersion != null) {\n appPlist.LSMinimumSystemVersion = minimumSystemVersion\n }\n\n appPlist.CFBundleIdentifier = appInfo.macBundleIdentifier\n\n appPlist.CFBundleShortVersionString = this.platformSpecificBuildOptions.bundleShortVersion || appInfo.version\n appPlist.CFBundleVersion = appInfo.buildVersion\n\n use(this.platformSpecificBuildOptions.category || (this.config as any).category, it => appPlist.LSApplicationCategoryType = it)\n appPlist.NSHumanReadableCopyright = appInfo.copyright\n\n if (this.platformSpecificBuildOptions.darkModeSupport) {\n appPlist.NSRequiresAquaSystemAppearance = false\n }\n\n const extendInfo = this.platformSpecificBuildOptions.extendInfo\n if (extendInfo != null) {\n Object.assign(appPlist, extendInfo)\n }\n }\n\n protected async signApp(packContext: AfterPackContext, isAsar: boolean): Promise<any> {\n const appFileName = `${this.appInfo.productFilename}.app`\n\n await BluebirdPromise.map(readdir(packContext.appOutDir), (file: string): any => {\n if (file === appFileName) {\n return this.sign(path.join(packContext.appOutDir, file), null, null, null)\n }\n return null\n })\n\n if (!isAsar) {\n return\n }\n\n const outResourcesDir = path.join(packContext.appOutDir, \"resources\", \"app.asar.unpacked\")\n await BluebirdPromise.map(orIfFileNotExist(readdir(outResourcesDir), []), (file: string): any => {\n if (file.endsWith(\".app\")) {\n return this.sign(path.join(outResourcesDir, file), null, null, null)\n }\n else {\n return null\n }\n })\n }\n}\n\nfunction getCertificateType(isMas: boolean, isDevelopment: boolean): CertType {\n if (isDevelopment) {\n return \"Mac Developer\"\n }\n return isMas ? \"3rd Party Mac Developer Application\" : \"Developer ID Application\"\n}\n"],"sourceRoot":""}
@@ -49,7 +49,7 @@ function getEffectiveOptions(options, packager) {
49
49
  return {
50
50
  isPerMachine: options.perMachine === true,
51
51
  isAssisted: options.oneClick === false,
52
- shortcutName: (0, _builderUtil().isEmptyOrSpaces)(options.shortcutName) ? appInfo.productFilename : packager.expandMacro(options.shortcutName),
52
+ shortcutName: (0, _builderUtil().isEmptyOrSpaces)(options.shortcutName) ? appInfo.sanitizedProductName : packager.expandMacro(options.shortcutName),
53
53
  isCreateDesktopShortcut: convertToDesktopShortcutCreationPolicy(options.createDesktopShortcut),
54
54
  isCreateStartMenuShortcut: options.createStartMenuShortcut !== false,
55
55
  menuCategory
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/options/CommonWindowsInstallerConfiguration.ts"],"names":[],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;AAqDM,SAAU,mBAAV,CAA8B,OAA9B,EAA4E,QAA5E,EAAiG;AACrG,QAAM,OAAO,GAAG,QAAQ,CAAC,OAAzB;AAEA,MAAI,YAAY,GAAkB,IAAlC;;AACA,MAAI,OAAO,CAAC,YAAR,IAAwB,IAAxB,IAAgC,OAAO,CAAC,YAAR,KAAyB,KAA7D,EAAoE;AAClE,QAAI,OAAO,CAAC,YAAR,KAAyB,IAA7B,EAAmC;AACjC,YAAM,WAAW,GAAG,QAAQ,CAAC,OAAT,CAAiB,WAArC;;AACA,UAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,cAAM,KAAI,wCAAJ,EAA8B,iHAA9B,CAAN;AACD;;AACD,MAAA,YAAY,GAAG,iCAAiB,WAAjB,CAAf;AACD,KAND,MAOK;AACH,MAAA,YAAY,GAAI,OAAO,CAAC,YAAR,CAAgC,KAAhC,CAAsC,OAAtC,EAA+C,GAA/C,CAAmD,EAAE,IAAI,iCAAiB,EAAjB,CAAzD,EAA+E,IAA/E,CAAoF,IAApF,CAAhB;AACD;AACF;;AAED,SAAO;AACL,IAAA,YAAY,EAAE,OAAO,CAAC,UAAR,KAAuB,IADhC;AAEL,IAAA,UAAU,EAAE,OAAO,CAAC,QAAR,KAAqB,KAF5B;AAIL,IAAA,YAAY,EAAE,oCAAgB,OAAO,CAAC,YAAxB,IAAwC,OAAO,CAAC,eAAhD,GAAkE,QAAQ,CAAC,WAAT,CAAqB,OAAO,CAAC,YAA7B,CAJ3E;AAKL,IAAA,uBAAuB,EAAE,sCAAsC,CAAC,OAAO,CAAC,qBAAT,CAL1D;AAML,IAAA,yBAAyB,EAAE,OAAO,CAAC,uBAAR,KAAoC,KAN1D;AAOL,IAAA;AAPK,GAAP;AASD;;AAED,SAAS,sCAAT,CAAgD,KAAhD,EAAmF;AACjF,MAAI,KAAK,KAAK,KAAd,EAAqB;AACnB,WAAO,6BAA6B,CAAC,KAArC;AACD,GAFD,MAGK,IAAI,KAAK,KAAK,QAAd,EAAwB;AAC3B,WAAO,6BAA6B,CAAC,MAArC;AACD,GAFI,MAGA;AACH,WAAO,6BAA6B,CAAC,aAArC;AACD;AACF;;AAED,IAAY,6BAAZ;;;AAAA,CAAA,UAAY,6BAAZ,EAAyC;AACvC,EAAA,6BAAA,CAAA,6BAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAA;AAAe,EAAA,6BAAA,CAAA,6BAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAA;AAAQ,EAAA,6BAAA,CAAA,6BAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAA;AACxB,CAFD,EAAY,6BAA6B,6CAA7B,6BAA6B,GAAA,EAAA,CAAzC,E","sourcesContent":["import { InvalidConfigurationError, isEmptyOrSpaces } from \"builder-util\"\nimport sanitizeFileName from \"sanitize-filename\"\nimport { WinPackager } from \"../winPackager\"\n\nexport interface CommonWindowsInstallerConfiguration {\n readonly oneClick?: boolean\n\n /**\n * Whether to install per all users (per-machine).\n * @default false\n */\n readonly perMachine?: boolean\n\n /**\n * Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.\n * @default true\n */\n readonly runAfterFinish?: boolean\n\n /**\n * Whether to create desktop shortcut. Set to `always` if to recreate also on reinstall (even if removed by user).\n * @default true\n */\n readonly createDesktopShortcut?: boolean | \"always\"\n\n /**\n * Whether to create start menu shortcut.\n * @default true\n */\n readonly createStartMenuShortcut?: boolean\n\n /**\n * Whether to create submenu for start menu shortcut and program files directory. If `true`, company name will be used. Or string value.\n * @default false\n */\n readonly menuCategory?: boolean | string\n\n /**\n * The name that will be used for all shortcuts. Defaults to the application name.\n */\n readonly shortcutName?: string | null\n}\n\nexport interface FinalCommonWindowsInstallerOptions {\n isAssisted: boolean\n isPerMachine: boolean\n\n shortcutName: string\n menuCategory: string | null\n\n isCreateDesktopShortcut: DesktopShortcutCreationPolicy\n isCreateStartMenuShortcut: boolean\n}\n\nexport function getEffectiveOptions(options: CommonWindowsInstallerConfiguration, packager: WinPackager): FinalCommonWindowsInstallerOptions {\n const appInfo = packager.appInfo\n\n let menuCategory: string | null = null\n if (options.menuCategory != null && options.menuCategory !== false) {\n if (options.menuCategory === true) {\n const companyName = packager.appInfo.companyName\n if (companyName == null) {\n throw new InvalidConfigurationError(`Please specify \"author\" in the application package.json — it is required because \"menuCategory\" is set to true.`)\n }\n menuCategory = sanitizeFileName(companyName)\n }\n else {\n menuCategory = (options.menuCategory as string).split(/[/\\\\]/).map(it => sanitizeFileName(it)).join(\"\\\\\")\n }\n }\n\n return {\n isPerMachine: options.perMachine === true,\n isAssisted: options.oneClick === false,\n\n shortcutName: isEmptyOrSpaces(options.shortcutName) ? appInfo.productFilename : packager.expandMacro(options.shortcutName!!),\n isCreateDesktopShortcut: convertToDesktopShortcutCreationPolicy(options.createDesktopShortcut),\n isCreateStartMenuShortcut: options.createStartMenuShortcut !== false,\n menuCategory,\n }\n}\n\nfunction convertToDesktopShortcutCreationPolicy(value: boolean | undefined | string): DesktopShortcutCreationPolicy {\n if (value === false) {\n return DesktopShortcutCreationPolicy.NEVER\n }\n else if (value === \"always\") {\n return DesktopShortcutCreationPolicy.ALWAYS\n }\n else {\n return DesktopShortcutCreationPolicy.FRESH_INSTALL\n }\n}\n\nexport enum DesktopShortcutCreationPolicy {\n FRESH_INSTALL, ALWAYS, NEVER\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["../../src/options/CommonWindowsInstallerConfiguration.ts"],"names":[],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;AAqDM,SAAU,mBAAV,CAA8B,OAA9B,EAA4E,QAA5E,EAAiG;AACrG,QAAM,OAAO,GAAG,QAAQ,CAAC,OAAzB;AAEA,MAAI,YAAY,GAAkB,IAAlC;;AACA,MAAI,OAAO,CAAC,YAAR,IAAwB,IAAxB,IAAgC,OAAO,CAAC,YAAR,KAAyB,KAA7D,EAAoE;AAClE,QAAI,OAAO,CAAC,YAAR,KAAyB,IAA7B,EAAmC;AACjC,YAAM,WAAW,GAAG,QAAQ,CAAC,OAAT,CAAiB,WAArC;;AACA,UAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,cAAM,KAAI,wCAAJ,EAA8B,iHAA9B,CAAN;AACD;;AACD,MAAA,YAAY,GAAG,iCAAiB,WAAjB,CAAf;AACD,KAND,MAOK;AACH,MAAA,YAAY,GAAI,OAAO,CAAC,YAAR,CAAgC,KAAhC,CAAsC,OAAtC,EAA+C,GAA/C,CAAmD,EAAE,IAAI,iCAAiB,EAAjB,CAAzD,EAA+E,IAA/E,CAAoF,IAApF,CAAhB;AACD;AACF;;AAED,SAAO;AACL,IAAA,YAAY,EAAE,OAAO,CAAC,UAAR,KAAuB,IADhC;AAEL,IAAA,UAAU,EAAE,OAAO,CAAC,QAAR,KAAqB,KAF5B;AAIL,IAAA,YAAY,EAAE,oCAAgB,OAAO,CAAC,YAAxB,IAAwC,OAAO,CAAC,oBAAhD,GAAuE,QAAQ,CAAC,WAAT,CAAqB,OAAO,CAAC,YAA7B,CAJhF;AAKL,IAAA,uBAAuB,EAAE,sCAAsC,CAAC,OAAO,CAAC,qBAAT,CAL1D;AAML,IAAA,yBAAyB,EAAE,OAAO,CAAC,uBAAR,KAAoC,KAN1D;AAOL,IAAA;AAPK,GAAP;AASD;;AAED,SAAS,sCAAT,CAAgD,KAAhD,EAAmF;AACjF,MAAI,KAAK,KAAK,KAAd,EAAqB;AACnB,WAAO,6BAA6B,CAAC,KAArC;AACD,GAFD,MAGK,IAAI,KAAK,KAAK,QAAd,EAAwB;AAC3B,WAAO,6BAA6B,CAAC,MAArC;AACD,GAFI,MAGA;AACH,WAAO,6BAA6B,CAAC,aAArC;AACD;AACF;;AAED,IAAY,6BAAZ;;;AAAA,CAAA,UAAY,6BAAZ,EAAyC;AACvC,EAAA,6BAAA,CAAA,6BAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAA;AAAe,EAAA,6BAAA,CAAA,6BAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAA;AAAQ,EAAA,6BAAA,CAAA,6BAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAA;AACxB,CAFD,EAAY,6BAA6B,6CAA7B,6BAA6B,GAAA,EAAA,CAAzC,E","sourcesContent":["import { InvalidConfigurationError, isEmptyOrSpaces } from \"builder-util\"\nimport sanitizeFileName from \"sanitize-filename\"\nimport { WinPackager } from \"../winPackager\"\n\nexport interface CommonWindowsInstallerConfiguration {\n readonly oneClick?: boolean\n\n /**\n * Whether to install per all users (per-machine).\n * @default false\n */\n readonly perMachine?: boolean\n\n /**\n * Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.\n * @default true\n */\n readonly runAfterFinish?: boolean\n\n /**\n * Whether to create desktop shortcut. Set to `always` if to recreate also on reinstall (even if removed by user).\n * @default true\n */\n readonly createDesktopShortcut?: boolean | \"always\"\n\n /**\n * Whether to create start menu shortcut.\n * @default true\n */\n readonly createStartMenuShortcut?: boolean\n\n /**\n * Whether to create submenu for start menu shortcut and program files directory. If `true`, company name will be used. Or string value.\n * @default false\n */\n readonly menuCategory?: boolean | string\n\n /**\n * The name that will be used for all shortcuts. Defaults to the application name.\n */\n readonly shortcutName?: string | null\n}\n\nexport interface FinalCommonWindowsInstallerOptions {\n isAssisted: boolean\n isPerMachine: boolean\n\n shortcutName: string\n menuCategory: string | null\n\n isCreateDesktopShortcut: DesktopShortcutCreationPolicy\n isCreateStartMenuShortcut: boolean\n}\n\nexport function getEffectiveOptions(options: CommonWindowsInstallerConfiguration, packager: WinPackager): FinalCommonWindowsInstallerOptions {\n const appInfo = packager.appInfo\n\n let menuCategory: string | null = null\n if (options.menuCategory != null && options.menuCategory !== false) {\n if (options.menuCategory === true) {\n const companyName = packager.appInfo.companyName\n if (companyName == null) {\n throw new InvalidConfigurationError(`Please specify \"author\" in the application package.json — it is required because \"menuCategory\" is set to true.`)\n }\n menuCategory = sanitizeFileName(companyName)\n }\n else {\n menuCategory = (options.menuCategory as string).split(/[/\\\\]/).map(it => sanitizeFileName(it)).join(\"\\\\\")\n }\n }\n\n return {\n isPerMachine: options.perMachine === true,\n isAssisted: options.oneClick === false,\n\n shortcutName: isEmptyOrSpaces(options.shortcutName) ? appInfo.sanitizedProductName : packager.expandMacro(options.shortcutName!!),\n isCreateDesktopShortcut: convertToDesktopShortcutCreationPolicy(options.createDesktopShortcut),\n isCreateStartMenuShortcut: options.createStartMenuShortcut !== false,\n menuCategory,\n }\n}\n\nfunction convertToDesktopShortcutCreationPolicy(value: boolean | undefined | string): DesktopShortcutCreationPolicy {\n if (value === false) {\n return DesktopShortcutCreationPolicy.NEVER\n }\n else if (value === \"always\") {\n return DesktopShortcutCreationPolicy.ALWAYS\n }\n else {\n return DesktopShortcutCreationPolicy.FRESH_INSTALL\n }\n}\n\nexport enum DesktopShortcutCreationPolicy {\n FRESH_INSTALL, ALWAYS, NEVER\n}"],"sourceRoot":""}
@@ -34,6 +34,10 @@ export interface PlatformSpecificBuildOptions extends TargetSpecificOptions {
34
34
  * The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).
35
35
  */
36
36
  readonly artifactName?: string | null;
37
+ /**
38
+ * The executable name. Defaults to `productName`.
39
+ */
40
+ readonly executableName?: string | null;
37
41
  /**
38
42
  * The compression level. If you want to rapidly test build, `store` can reduce build time significantly. `maximum` doesn't lead to noticeable size difference, but increase build time.
39
43
  * @default normal
@@ -95,6 +99,7 @@ export interface PlatformSpecificBuildOptions extends TargetSpecificOptions {
95
99
  cscLink?: string | null;
96
100
  /** @private */
97
101
  cscKeyPassword?: string | null;
102
+ readonly defaultArch?: string;
98
103
  }
99
104
  export interface ReleaseInfo {
100
105
  /**
@@ -17,11 +17,6 @@ export interface LinuxConfiguration extends CommonLinuxOptions, PlatformSpecific
17
17
  * The vendor. Defaults to [author](/configuration/configuration#Metadata-author).
18
18
  */
19
19
  readonly vendor?: string | null;
20
- /**
21
- * The executable name. Defaults to `productName`.
22
- * Cannot be specified per target, allowed only in the `linux`.
23
- */
24
- readonly executableName?: string | null;
25
20
  /**
26
21
  * The path to icon set directory or one png file, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon.
27
22
  * By default will be generated automatically based on the macOS icns file.
package/out/packager.js CHANGED
@@ -360,7 +360,7 @@ class Packager {
360
360
 
361
361
  try {
362
362
  _builderUtil().log.info({
363
- version: "22.10.4",
363
+ version: "22.10.5",
364
364
  os: require("os").release()
365
365
  }, "electron-builder");
366
366
  } catch (e) {
@@ -31,7 +31,7 @@ export declare abstract class PlatformPackager<DC extends PlatformSpecificBuildO
31
31
  private static buildAsyncTargets;
32
32
  private getExtraFileMatchers;
33
33
  createGetFileMatchersOptions(outDir: string, arch: Arch, customBuildOptions: PlatformSpecificBuildOptions): GetFileMatchersOptions;
34
- protected doPack(outDir: string, appOutDir: string, platformName: ElectronPlatformName, arch: Arch, platformSpecificBuildOptions: DC, targets: Array<Target>, sign?: boolean): Promise<void>;
34
+ protected doPack(outDir: string, appOutDir: string, platformName: ElectronPlatformName, arch: Arch, platformSpecificBuildOptions: DC, targets: Array<Target>, sign?: boolean, disableAsarIntegrity?: boolean): Promise<void>;
35
35
  protected doSignAfterPack(outDir: string, appOutDir: string, platformName: ElectronPlatformName, arch: Arch, platformSpecificBuildOptions: DC, targets: Array<Target>): Promise<void>;
36
36
  protected createTransformerForExtraFiles(packContext: AfterPackContext): FileTransformer | null;
37
37
  private copyAppFiles;
@@ -44,8 +44,8 @@ export declare abstract class PlatformPackager<DC extends PlatformSpecificBuildO
44
44
  getMacOsResourcesDir(appOutDir: string): string;
45
45
  private checkFileInPackage;
46
46
  private sanityCheckPackage;
47
- computeSafeArtifactName(suggestedName: string | null, ext: string, arch?: Arch | null, skipArchIfX64?: boolean, safePattern?: string): string | null;
48
- expandArtifactNamePattern(targetSpecificOptions: TargetSpecificOptions | null | undefined, ext: string, arch?: Arch | null, defaultPattern?: string, skipArchIfX64?: boolean): string;
47
+ computeSafeArtifactName(suggestedName: string | null, ext: string, arch?: Arch | null, skipDefaultArch?: boolean, defaultArch?: string, safePattern?: string): string | null;
48
+ expandArtifactNamePattern(targetSpecificOptions: TargetSpecificOptions | null | undefined, ext: string, arch?: Arch | null, defaultPattern?: string, skipDefaultArch?: boolean, defaultArch?: string): string;
49
49
  expandArtifactBeautyNamePattern(targetSpecificOptions: TargetSpecificOptions | null | undefined, ext: string, arch?: Arch | null): string;
50
50
  private computeArtifactName;
51
51
  expandMacro(pattern: string, arch?: string | null, extra?: any, isProductNameSanitized?: boolean): string;
@@ -277,7 +277,7 @@ class PlatformPackager {
277
277
  }
278
278
 
279
279
  computeAppOutDir(outDir, arch) {
280
- return this.packagerOptions.prepackaged || path.join(outDir, `${this.platform.buildConfigurationKey}${(0, _builderUtil().getArchSuffix)(arch)}${this.platform === _index().Platform.MAC ? "" : "-unpacked"}`);
280
+ return this.packagerOptions.prepackaged || path.join(outDir, `${this.platform.buildConfigurationKey}${(0, _builderUtil().getArchSuffix)(arch, this.platformSpecificBuildOptions.defaultArch)}${this.platform === _index().Platform.MAC ? "" : "-unpacked"}`);
281
281
  }
282
282
 
283
283
  dispatchArtifactCreated(file, target, arch, safeArtifactName) {
@@ -340,7 +340,7 @@ class PlatformPackager {
340
340
  };
341
341
  }
342
342
 
343
- async doPack(outDir, appOutDir, platformName, arch, platformSpecificBuildOptions, targets, sign = true) {
343
+ async doPack(outDir, appOutDir, platformName, arch, platformSpecificBuildOptions, targets, sign = true, disableAsarIntegrity = false) {
344
344
  if (this.packagerOptions.prepackaged != null) {
345
345
  return;
346
346
  }
@@ -409,7 +409,7 @@ class PlatformPackager {
409
409
  await framework.beforeCopyExtraFiles({
410
410
  packager: this,
411
411
  appOutDir,
412
- asarIntegrity: asarOptions == null ? null : await (0, _integrity().computeData)(resourcesPath, asarOptions.externalAllowed ? {
412
+ asarIntegrity: asarOptions == null || disableAsarIntegrity ? null : await (0, _integrity().computeData)(resourcesPath, asarOptions.externalAllowed ? {
413
413
  externalAllowed: true
414
414
  } : null),
415
415
  platformName
@@ -672,11 +672,11 @@ class PlatformPackager {
672
672
  } // tslint:disable-next-line:no-invalid-template-strings
673
673
 
674
674
 
675
- computeSafeArtifactName(suggestedName, ext, arch, skipArchIfX64 = true, safePattern = "${name}-${version}-${arch}.${ext}") {
676
- return computeSafeArtifactNameIfNeeded(suggestedName, () => this.computeArtifactName(safePattern, ext, skipArchIfX64 && arch === _builderUtil().Arch.x64 ? null : arch));
675
+ computeSafeArtifactName(suggestedName, ext, arch, skipDefaultArch = true, defaultArch, safePattern = "${name}-${version}-${arch}.${ext}") {
676
+ return computeSafeArtifactNameIfNeeded(suggestedName, () => this.computeArtifactName(safePattern, ext, skipDefaultArch && arch === (0, _arch().defaultArchFromString)(defaultArch) ? null : arch));
677
677
  }
678
678
 
679
- expandArtifactNamePattern(targetSpecificOptions, ext, arch, defaultPattern, skipArchIfX64 = true) {
679
+ expandArtifactNamePattern(targetSpecificOptions, ext, arch, defaultPattern, skipDefaultArch = true, defaultArch) {
680
680
  let pattern = targetSpecificOptions == null ? null : targetSpecificOptions.artifactName;
681
681
 
682
682
  if (pattern == null) {
@@ -689,10 +689,10 @@ class PlatformPackager {
689
689
  } else {
690
690
  // https://github.com/electron-userland/electron-builder/issues/3510
691
691
  // always respect arch in user custom artifact pattern
692
- skipArchIfX64 = this.platform === _index().Platform.MAC;
692
+ skipDefaultArch = this.platform === _index().Platform.MAC;
693
693
  }
694
694
 
695
- return this.computeArtifactName(pattern, ext, skipArchIfX64 && arch === _builderUtil().Arch.x64 ? null : arch);
695
+ return this.computeArtifactName(pattern, ext, skipDefaultArch && arch === (0, _arch().defaultArchFromString)(defaultArch) ? null : arch);
696
696
  }
697
697
 
698
698
  expandArtifactBeautyNamePattern(targetSpecificOptions, ext, arch) {