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.
- package/electron-osx-sign/index.d.ts +2 -0
- package/electron-osx-sign/index.js +10 -1
- package/electron-osx-sign/sign.js +22 -14
- package/electron-osx-sign/util.js +32 -25
- package/out/appInfo.d.ts +1 -0
- package/out/appInfo.js +3 -2
- package/out/appInfo.js.map +1 -1
- package/out/asar/asarUtil.js +4 -2
- package/out/asar/asarUtil.js.map +1 -1
- package/out/asar/unpackDetector.js +12 -12
- package/out/asar/unpackDetector.js.map +1 -1
- package/out/configuration.d.ts +3 -2
- package/out/electron/ElectronFramework.js +21 -8
- package/out/electron/ElectronFramework.js.map +1 -1
- package/out/electron/electronMac.js +1 -1
- package/out/electron/electronMac.js.map +1 -1
- package/out/macPackager.js +6 -6
- package/out/macPackager.js.map +1 -1
- package/out/options/CommonWindowsInstallerConfiguration.js +1 -1
- package/out/options/CommonWindowsInstallerConfiguration.js.map +1 -1
- package/out/options/PlatformSpecificBuildOptions.d.ts +5 -0
- package/out/options/linuxOptions.d.ts +0 -5
- package/out/packager.js +1 -1
- package/out/platformPackager.d.ts +3 -3
- package/out/platformPackager.js +8 -8
- package/out/platformPackager.js.map +1 -1
- package/out/targets/ArchiveTarget.js +4 -3
- package/out/targets/ArchiveTarget.js.map +1 -1
- package/out/targets/LinuxTargetHelper.js +1 -2
- package/out/targets/LinuxTargetHelper.js.map +1 -1
- package/out/targets/fpm.js +1 -1
- package/out/targets/fpm.js.map +1 -1
- package/out/targets/nsis/nsisLang.js +1 -1
- package/out/targets/nsis/nsisLang.js.map +1 -1
- package/out/targets/snap.js +1 -1
- package/out/targets/snap.js.map +1 -1
- package/out/util/config.js +1 -1
- package/out/util/macroExpander.js +1 -1
- package/out/util/macroExpander.js.map +1 -1
- package/package.json +30 -30
- package/scheme.json +63 -6
- 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":""}
|
package/out/macPackager.js
CHANGED
|
@@ -265,22 +265,22 @@ class MacPackager extends _platformPackager().PlatformPackager {
|
|
|
265
265
|
switch (arch) {
|
|
266
266
|
default:
|
|
267
267
|
{
|
|
268
|
-
return super.doPack(outDir, appOutDir,
|
|
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 + '
|
|
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 + '
|
|
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
|
|
package/out/macPackager.js.map
CHANGED
|
@@ -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.
|
|
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,
|
|
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
|
@@ -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,
|
|
48
|
-
expandArtifactNamePattern(targetSpecificOptions: TargetSpecificOptions | null | undefined, ext: string, arch?: Arch | null, defaultPattern?: 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;
|
package/out/platformPackager.js
CHANGED
|
@@ -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,
|
|
676
|
-
return computeSafeArtifactNameIfNeeded(suggestedName, () => this.computeArtifactName(safePattern, ext,
|
|
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,
|
|
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
|
-
|
|
692
|
+
skipDefaultArch = this.platform === _index().Platform.MAC;
|
|
693
693
|
}
|
|
694
694
|
|
|
695
|
-
return this.computeArtifactName(pattern, ext,
|
|
695
|
+
return this.computeArtifactName(pattern, ext, skipDefaultArch && arch === (0, _arch().defaultArchFromString)(defaultArch) ? null : arch);
|
|
696
696
|
}
|
|
697
697
|
|
|
698
698
|
expandArtifactBeautyNamePattern(targetSpecificOptions, ext, arch) {
|