UNPKG

22.5 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/macPackager.ts"],"names":[],"mappings":"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","sourcesContent":["import { deepAssign, Arch, AsyncTaskManager, exec, InvalidConfigurationError, log, use } from \"builder-util\"\nimport { signAsync, SignOptions } from \"electron-osx-sign\"\nimport { ensureDir } from \"fs-extra-p\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { copyFile, unlinkIfExists } from \"builder-util/out/fs\"\nimport { AppInfo } from \"./appInfo\"\nimport { appleCertificatePrefixes, CertType, CodeSigningInfo, createKeychain, findIdentity, Identity, isSignAllowed, reportError } from \"./codeSign\"\nimport { DIR_TARGET, Platform, Target } from \"./core\"\nimport { 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\"\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({keychainName: 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 })\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 protected prepareAppInfo(appInfo: AppInfo): AppInfo {\n return new AppInfo(this.info, this.platformSpecificBuildOptions.bundleVersion)\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 const { DmgTarget } = require(\"dmg-builder\")\n mapper(name, outDir => new DmgTarget(this, outDir))\n break\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 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.sign(appPath, null, null))\n .then(() => this.packageInDistributableFormat(appPath, Arch.x64, 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 as any).mas)\n if (targetName === \"mas-dev\") {\n deepAssign(masBuildOptions, (this.config as any)[targetName], {\n type: \"development\",\n })\n }\n\n const targetOutDir = path.join(outDir, targetName)\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)\n }\n else {\n await this.sign(prepackaged, targetOutDir, masBuildOptions)\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): Promise<void> {\n if (!isSignAllowed()) {\n return\n }\n\n const isMas = masOptions != null\n const macOptions = this.platformSpecificBuildOptions\n const qualifier = (isMas ? masOptions!.identity : null) || macOptions.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 keychainName = (await this.codeSigningInfo.value).keychainName\n const explicitType = isMas ? masOptions!.type : macOptions.type\n const type = explicitType || \"distribution\"\n const isDevelopment = type === \"development\"\n const certificateType = getCertificateType(isMas, isDevelopment)\n let identity = await findIdentity(certificateType, qualifier, keychainName)\n if (identity == null) {\n if (!isMas && !isDevelopment && explicitType !== \"distribution\") {\n identity = await findIdentity(\"Mac Developer\", qualifier, keychainName)\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, keychainName, this.forceCodeSigning)\n return\n }\n }\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 return file.endsWith(\".kext\") || file.startsWith(\"/Contents/PlugIns\", appPath.length) ||\n // https://github.com/electron-userland/electron-builder/issues/2010\n file.includes(\"/node_modules/puppeteer/.local-chromium\")\n },\n identity: identity!,\n type,\n platform: isMas ? \"mas\" : \"darwin\",\n version: this.config.electronVersion,\n app: appPath,\n keychain: keychainName || undefined,\n binaries: (isMas && masOptions != null ? masOptions.binaries : macOptions.binaries) || undefined,\n requirements: isMas || macOptions.requirements == null ? undefined : await this.getResource(macOptions.requirements),\n \"gatekeeper-assess\": appleCertificatePrefixes.find(it => identity!.name.startsWith(it)) != null\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, keychainName)\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 const artifactName = this.expandArtifactNamePattern(masOptions, \"pkg\")\n const artifactPath = path.join(outDir!, artifactName)\n await this.doFlat(appPath, artifactPath, masInstallerIdentity, keychainName)\n this.dispatchArtifactCreated(artifactPath, null, Arch.x64, this.computeSafeArtifactName(artifactName, \"pkg\"))\n }\n }\n\n private async adjustSignOptions(signOptions: any, masOptions: MasConfiguration | null) {\n const resourceList = await this.resourceList\n if (resourceList.includes(`entitlements.osx.plist`)) {\n throw new InvalidConfigurationError(\"entitlements.osx.plist is deprecated name, please use entitlements.mac.plist\")\n }\n if (resourceList.includes(`entitlements.osx.inherit.plist`)) {\n throw new InvalidConfigurationError(\"entitlements.osx.inherit.plist is deprecated name, please use entitlements.mac.inherit.plist\")\n }\n\n const customSignOptions = masOptions || this.platformSpecificBuildOptions\n const entitlementsSuffix = masOptions == null ? \"mac\" : \"mas\"\n if (customSignOptions.entitlements == null) {\n const p = `entitlements.${entitlementsSuffix}.plist`\n if (resourceList.includes(p)) {\n signOptions.entitlements = path.join(this.info.buildResourcesDir, p)\n }\n }\n else {\n signOptions.entitlements = customSignOptions.entitlements\n }\n\n if (customSignOptions.entitlementsInherit == null) {\n const p = `entitlements.${entitlementsSuffix}.inherit.plist`\n if (resourceList.includes(p)) {\n signOptions[\"entitlements-inherit\"] = path.join(this.info.buildResourcesDir, p)\n }\n }\n else {\n signOptions[\"entitlements-inherit\"] = customSignOptions.entitlementsInherit\n }\n\n if (customSignOptions.provisioningProfile != null) {\n signOptions[\"provisioning-profile\"] = customSignOptions.provisioningProfile\n }\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 ensureDir(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 const extendInfo = this.platformSpecificBuildOptions.extendInfo\n if (extendInfo != null) {\n Object.assign(appPlist, extendInfo)\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}"],"sourceRoot":""}