app-builder-lib 26.11.0 → 26.12.0
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/out/binDownload.js +4 -1
- package/out/binDownload.js.map +1 -1
- package/out/codeSign/codesign.js +7 -23
- package/out/codeSign/codesign.js.map +1 -1
- package/out/configuration.d.ts +36 -2
- package/out/configuration.js.map +1 -1
- package/out/fileMatcher.d.ts +2 -1
- package/out/fileMatcher.js +0 -1
- package/out/fileMatcher.js.map +1 -1
- package/out/index.d.ts +1 -1
- package/out/index.js.map +1 -1
- package/out/linuxPackager.js +1 -1
- package/out/linuxPackager.js.map +1 -1
- package/out/macPackager.js +0 -12
- package/out/macPackager.js.map +1 -1
- package/out/node-module-collector/moduleManager.d.ts +1 -0
- package/out/node-module-collector/moduleManager.js +2 -0
- package/out/node-module-collector/moduleManager.js.map +1 -1
- package/out/node-module-collector/nodeModulesCollector.d.ts +3 -2
- package/out/node-module-collector/nodeModulesCollector.js +25 -5
- package/out/node-module-collector/nodeModulesCollector.js.map +1 -1
- package/out/node-module-collector/pnpmNodeModulesCollector.js +5 -1
- package/out/node-module-collector/pnpmNodeModulesCollector.js.map +1 -1
- package/out/options/SnapOptions.d.ts +415 -56
- package/out/options/SnapOptions.js.map +1 -1
- package/out/options/linuxOptions.d.ts +8 -0
- package/out/options/linuxOptions.js.map +1 -1
- package/out/platformPackager.js +1 -1
- package/out/platformPackager.js.map +1 -1
- package/out/publish/PublishManager.js +2 -2
- package/out/publish/PublishManager.js.map +1 -1
- package/out/publish/updateInfoBuilder.d.ts +4 -0
- package/out/publish/updateInfoBuilder.js +14 -2
- package/out/publish/updateInfoBuilder.js.map +1 -1
- package/out/targets/ArchiveTarget.js +1 -1
- package/out/targets/ArchiveTarget.js.map +1 -1
- package/out/targets/LinuxTargetHelper.d.ts +3 -0
- package/out/targets/LinuxTargetHelper.js +68 -0
- package/out/targets/LinuxTargetHelper.js.map +1 -1
- package/out/targets/MsiTarget.js +6 -3
- package/out/targets/MsiTarget.js.map +1 -1
- package/out/targets/archive.js +2 -6
- package/out/targets/archive.js.map +1 -1
- package/out/targets/nsis/NsisTarget.js +12 -12
- package/out/targets/nsis/NsisTarget.js.map +1 -1
- package/out/targets/nsis/nsisUtil.d.ts +0 -7
- package/out/targets/nsis/nsisUtil.js +5 -48
- package/out/targets/nsis/nsisUtil.js.map +1 -1
- package/out/targets/snap/SnapTarget.d.ts +36 -0
- package/out/targets/snap/SnapTarget.js +104 -0
- package/out/targets/snap/SnapTarget.js.map +1 -0
- package/out/targets/snap/core24.d.ts +52 -0
- package/out/targets/snap/core24.js +447 -0
- package/out/targets/snap/core24.js.map +1 -0
- package/out/targets/snap/coreCustom.d.ts +28 -0
- package/out/targets/snap/coreCustom.js +63 -0
- package/out/targets/snap/coreCustom.js.map +1 -0
- package/out/targets/snap/coreLegacy.d.ts +20 -0
- package/out/targets/{snap.js → snap/coreLegacy.js} +96 -155
- package/out/targets/snap/coreLegacy.js.map +1 -0
- package/out/targets/snap/snapcraftBuilder.d.ts +39 -0
- package/out/targets/snap/snapcraftBuilder.js +418 -0
- package/out/targets/snap/snapcraftBuilder.js.map +1 -0
- package/out/toolsets/linux.d.ts +5 -0
- package/out/toolsets/linux.js +55 -23
- package/out/toolsets/linux.js.map +1 -1
- package/out/toolsets/windows.d.ts +19 -0
- package/out/toolsets/windows.js +136 -18
- package/out/toolsets/windows.js.map +1 -1
- package/out/util/electronGet.d.ts +4 -1
- package/out/util/electronGet.js +19 -19
- package/out/util/electronGet.js.map +1 -1
- package/out/util/envPath.d.ts +2 -0
- package/out/util/envPath.js +28 -0
- package/out/util/envPath.js.map +1 -0
- package/out/util/toolsetLock.d.ts +1 -0
- package/out/util/toolsetLock.js +23 -0
- package/out/util/toolsetLock.js.map +1 -0
- package/out/version.d.ts +1 -1
- package/out/version.js +1 -1
- package/out/version.js.map +1 -1
- package/out/vm/vm.d.ts +1 -0
- package/out/vm/vm.js +18 -0
- package/out/vm/vm.js.map +1 -1
- package/package.json +8 -8
- package/scheme.json +1401 -107
- package/templates/nsis/multiUser.nsh +14 -12
- package/out/targets/snap.d.ts +0 -17
- package/out/targets/snap.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishManager.js","sourceRoot":"","sources":["../../src/publish/PublishManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, asArray, AsyncTaskManager, exists, InvalidConfigurationError, isEmptyOrSpaces, isPullRequest, log, safeStringifyJson, serializeToYaml } from \"builder-util\"\nimport {\n BitbucketOptions,\n CancellationToken,\n GenericServerOptions,\n getS3LikeProviderBaseUrl,\n GithubOptions,\n githubTagPrefix,\n githubUrl,\n GitlabOptions,\n KeygenOptions,\n Nullish,\n PublishConfiguration,\n PublishProvider,\n SnapStoreOptions,\n} from \"builder-util-runtime\"\nimport _debug from \"debug\"\nimport {\n BitbucketPublisher,\n getCiTag,\n GitHubPublisher,\n GitlabPublisher,\n KeygenPublisher,\n PublishContext,\n Publisher,\n PublishOptions,\n S3Publisher,\n SnapStorePublisher,\n SpacesPublisher,\n UploadTask,\n} from \"electron-publish\"\nimport { MultiProgress } from \"electron-publish/out/multiProgress\"\nimport { readFile, writeFile } from \"fs/promises\"\nimport { isCI } from \"ci-info\"\nimport * as path from \"path\"\nimport { WriteStream as TtyWriteStream } from \"tty\"\nimport * as url from \"url\"\nimport { AppInfo, ArtifactCreated, Configuration, Platform, PlatformSpecificBuildOptions, Target, TargetSpecificOptions } from \"../index\"\nimport { Packager } from \"../packager\"\nimport { PlatformPackager } from \"../platformPackager\"\nimport { expandMacro } from \"../util/macroExpander\"\nimport { WinPackager } from \"../winPackager\"\nimport { createUpdateInfoTasks, UpdateInfoFileTask, writeUpdateInfoFiles } from \"./updateInfoBuilder\"\nimport { resolveModule } from \"../util/resolve\"\nimport { parseUrl } from \"../util/pathManager\"\n\nconst publishForPrWarning =\n \"There are serious security concerns with PUBLISH_FOR_PULL_REQUEST=true (see the CircleCI documentation (https://circleci.com/docs/1.0/fork-pr-builds/) for details)\" +\n \"\\nIf you have SSH keys, sensitive env vars or AWS credentials stored in your project settings and untrusted forks can make pull requests against your repo, then this option isn't for you.\"\n\nconst debug = _debug(\"electron-builder:publish\")\n\nfunction checkOptions(publishPolicy: any) {\n if (publishPolicy != null && publishPolicy !== \"onTag\" && publishPolicy !== \"onTagOrDraft\" && publishPolicy !== \"always\" && publishPolicy !== \"never\") {\n if (typeof publishPolicy === \"string\") {\n throw new InvalidConfigurationError(\n `Expected one of \"onTag\", \"onTagOrDraft\", \"always\", \"never\", but got ${JSON.stringify(\n publishPolicy\n )}.\\nPlease note that publish configuration should be specified under \"config\"`\n )\n }\n }\n}\n\nexport class PublishManager implements PublishContext {\n private readonly nameToPublisher = new Map<string, Publisher | null>()\n\n private readonly taskManager: AsyncTaskManager\n\n readonly isPublish: boolean = false\n\n readonly progress = (process.stdout as TtyWriteStream).isTTY ? new MultiProgress() : null\n\n private readonly updateFileWriteTask: Array<UpdateInfoFileTask> = []\n\n constructor(\n private readonly packager: Packager,\n private readonly publishOptions: PublishOptions,\n readonly cancellationToken: CancellationToken = packager.cancellationToken\n ) {\n checkOptions(publishOptions.publish)\n\n this.taskManager = new AsyncTaskManager(cancellationToken)\n\n const forcePublishForPr = process.env.PUBLISH_FOR_PULL_REQUEST === \"true\"\n if (!isPullRequest() || forcePublishForPr) {\n if (publishOptions.publish === undefined) {\n if (process.env.npm_lifecycle_event === \"release\") {\n log.warn(\"Implicit publishing triggered by npm lifecycle event 'release'. This behavior will be disabled in electron-builder v27. Please use --publish explicitly.\")\n publishOptions.publish = \"always\"\n } else {\n const tag = getCiTag()\n if (tag != null) {\n log.warn({ tag }, \"Implicit publishing triggered by git tag. This behavior will be disabled in electron-builder v27. Please use --publish explicitly.\")\n publishOptions.publish = \"onTag\"\n } else if (isCI) {\n log.warn(\"Implicit publishing triggered by CI detection. This behavior will be disabled in electron-builder v27. Please use --publish explicitly.\")\n publishOptions.publish = \"onTagOrDraft\"\n }\n }\n }\n\n const publishPolicy = publishOptions.publish\n this.isPublish = publishPolicy != null && publishOptions.publish !== \"never\" && (publishPolicy !== \"onTag\" || getCiTag() != null)\n if (this.isPublish && forcePublishForPr) {\n log.warn(publishForPrWarning)\n }\n } else if (publishOptions.publish !== \"never\") {\n log.info(\n {\n reason: \"current build is a part of pull request\",\n solution: `set env PUBLISH_FOR_PULL_REQUEST to true to force code signing\\n${publishForPrWarning}`,\n },\n \"publishing will be skipped\"\n )\n }\n\n packager.onAfterPack(async event => {\n const packager = event.packager\n if (event.electronPlatformName === \"darwin\") {\n if (!event.targets.some(it => it.name === \"dmg\" || it.name === \"zip\")) {\n return\n }\n } else if (packager.platform === Platform.WINDOWS) {\n if (!event.targets.some(it => isSuitableWindowsTarget(it))) {\n return\n }\n }\n\n const publishConfig = await getAppUpdatePublishConfiguration(packager, null, event.arch, this.isPublish)\n if (publishConfig != null) {\n await writeFile(path.join(packager.getResourcesDir(event.appOutDir), \"app-update.yml\"), serializeToYaml(publishConfig))\n }\n })\n\n packager.onArtifactCreated(async event => {\n const publishConfiguration = event.publishConfig\n if (publishConfiguration == null) {\n this.taskManager.addTask(this.artifactCreatedWithoutExplicitPublishConfig(event))\n } else if (this.isPublish) {\n if (debug.enabled) {\n debug(`artifactCreated (isPublish: ${this.isPublish}): ${safeStringifyJson(event, new Set([\"packager\"]))},\\n publishConfig: ${safeStringifyJson(publishConfiguration)}`)\n }\n await this.scheduleUpload(publishConfiguration, event, this.getAppInfo(event.packager))\n }\n })\n }\n\n private getAppInfo(platformPackager: PlatformPackager<any> | null) {\n return platformPackager == null ? this.packager.appInfo : platformPackager.appInfo\n }\n\n async getGlobalPublishConfigurations(): Promise<Array<PublishConfiguration> | null> {\n const publishers = this.packager.config.publish\n return await resolvePublishConfigurations(publishers, null, this.packager, null, true)\n }\n\n async scheduleUpload(publishConfig: PublishConfiguration, event: UploadTask, appInfo: AppInfo): Promise<void> {\n if (publishConfig.provider === \"generic\") {\n return\n }\n\n const publisher = await this.getOrCreatePublisher(publishConfig, appInfo)\n if (publisher == null) {\n log.debug(\n {\n file: log.filePath(event.file),\n reason: \"publisher is null\",\n publishConfig: safeStringifyJson(publishConfig),\n },\n \"not published\"\n )\n return\n }\n\n const providerName = publisher.providerName\n if (this.publishOptions.publish === \"onTagOrDraft\" && getCiTag() == null && providerName !== \"bitbucket\" && providerName !== \"github\") {\n log.info({ file: log.filePath(event.file), reason: \"current build is not for a git tag\", publishPolicy: \"onTagOrDraft\" }, `not published to ${providerName}`)\n return\n }\n\n if (publishConfig.timeout) {\n event.timeout = publishConfig.timeout\n }\n\n this.taskManager.addTask(publisher.upload(event))\n }\n\n private async artifactCreatedWithoutExplicitPublishConfig(event: ArtifactCreated) {\n const platformPackager = event.packager\n const target = event.target\n const publishConfigs = await getPublishConfigs(platformPackager, target == null ? null : target.options, event.arch, this.isPublish)\n\n if (debug.enabled) {\n debug(`artifactCreated (isPublish: ${this.isPublish}): ${safeStringifyJson(event, new Set([\"packager\"]))},\\n publishConfigs: ${safeStringifyJson(publishConfigs)}`)\n }\n\n const eventFile = event.file\n if (publishConfigs == null) {\n if (this.isPublish) {\n log.debug({ file: eventFile, reason: \"no publish configs\" }, \"not published\")\n }\n return\n }\n\n if (this.isPublish) {\n for (const publishConfig of publishConfigs) {\n if (this.cancellationToken.cancelled) {\n log.debug({ file: event.file, reason: \"cancelled\" }, \"not published\")\n break\n }\n\n await this.scheduleUpload(publishConfig, event, this.getAppInfo(platformPackager))\n }\n }\n\n if (\n event.isWriteUpdateInfo &&\n target != null &&\n eventFile != null &&\n !this.cancellationToken.cancelled &&\n (platformPackager.platform !== Platform.WINDOWS || isSuitableWindowsTarget(target))\n ) {\n this.taskManager.addTask(createUpdateInfoTasks(event, publishConfigs).then(it => this.updateFileWriteTask.push(...it)))\n }\n }\n\n private async getOrCreatePublisher(publishConfig: PublishConfiguration, appInfo: AppInfo): Promise<Publisher | null> {\n // to not include token into cache key\n const providerCacheKey = safeStringifyJson(publishConfig)\n let publisher = this.nameToPublisher.get(providerCacheKey)\n if (publisher == null) {\n publisher = await createPublisher(this, appInfo.version, publishConfig, this.publishOptions, this.packager)\n this.nameToPublisher.set(providerCacheKey, publisher)\n log.info({ publisher: publisher!.toString() }, \"publishing\")\n }\n return publisher\n }\n\n // noinspection JSUnusedGlobalSymbols\n cancelTasks() {\n this.taskManager.cancelTasks()\n this.nameToPublisher.clear()\n }\n\n async awaitTasks(): Promise<void> {\n await this.taskManager.awaitTasks()\n\n const updateInfoFileTasks = this.updateFileWriteTask\n if (this.cancellationToken.cancelled || updateInfoFileTasks.length === 0) {\n return\n }\n\n await writeUpdateInfoFiles(updateInfoFileTasks, this.packager)\n await this.taskManager.awaitTasks()\n }\n}\n\nexport async function getAppUpdatePublishConfiguration(\n packager: PlatformPackager<any>,\n targetSpecificOptions: TargetSpecificOptions | Nullish,\n arch: Arch,\n errorIfCannot: boolean\n): Promise<PublishConfiguration | null> {\n const publishConfigs = await getPublishConfigsForUpdateInfo(packager, await getPublishConfigs(packager, null, arch, errorIfCannot), arch)\n if (publishConfigs == null || publishConfigs.length === 0) {\n return null\n }\n\n const publishConfig = {\n ...publishConfigs[0],\n updaterCacheDirName: packager.appInfo.updaterCacheDirName,\n }\n\n if (packager.platform === Platform.WINDOWS && publishConfig.publisherName == null) {\n const winPackager = packager as WinPackager\n const publisherName = winPackager.isForceCodeSigningVerification ? await (await winPackager.signingManager.value).computedPublisherName.value : undefined\n if (publisherName != null) {\n publishConfig.publisherName = publisherName\n }\n }\n return publishConfig\n}\n\nexport async function getPublishConfigsForUpdateInfo(\n packager: PlatformPackager<any>,\n publishConfigs: Array<PublishConfiguration> | null,\n arch: Arch | null\n): Promise<Array<PublishConfiguration> | null> {\n if (publishConfigs === null) {\n return null\n }\n\n if (publishConfigs.length === 0) {\n log.debug(null, \"getPublishConfigsForUpdateInfo: no publishConfigs, detect using repository info\")\n // https://github.com/electron-userland/electron-builder/issues/925#issuecomment-261732378\n // default publish config is github, file should be generated regardless of publish state (user can test installer locally or manage the release process manually)\n const repositoryInfo = await packager.info.repositoryInfo\n debug(`getPublishConfigsForUpdateInfo: ${safeStringifyJson(repositoryInfo)}`)\n if (repositoryInfo != null && repositoryInfo.type === \"github\") {\n const resolvedPublishConfig = await getResolvedPublishConfig(packager, packager.info, { provider: repositoryInfo.type }, arch, false)\n if (resolvedPublishConfig != null) {\n debug(`getPublishConfigsForUpdateInfo: resolve to publish config ${safeStringifyJson(resolvedPublishConfig)}`)\n return [resolvedPublishConfig]\n }\n }\n }\n return publishConfigs\n}\n\nasync function resolveReleaseBody(packager: Packager): Promise<string | null> {\n const releaseInfo = packager.config.releaseInfo\n if (releaseInfo?.releaseNotes) {\n return releaseInfo.releaseNotes\n }\n if (releaseInfo?.releaseNotesFile) {\n try {\n return await readFile(path.resolve(packager.projectDir, releaseInfo.releaseNotesFile), \"utf-8\")\n } catch (e: any) {\n log.warn({ file: releaseInfo.releaseNotesFile, error: e.message }, \"cannot read release notes file\")\n return null\n }\n }\n try {\n return await readFile(path.resolve(packager.projectDir, \"release-notes.md\"), \"utf-8\")\n } catch {\n return null\n }\n}\n\nexport async function createPublisher(\n context: PublishContext,\n version: string,\n publishConfig: PublishConfiguration,\n options: PublishOptions,\n packager: Packager\n): Promise<Publisher | null> {\n if (debug.enabled) {\n debug(`Create publisher: ${safeStringifyJson(publishConfig)}`)\n }\n\n const provider = publishConfig.provider\n switch (provider) {\n case \"github\": {\n const releaseBody = await resolveReleaseBody(packager)\n const releaseName = packager.config.releaseInfo?.releaseName ?? null\n return new GitHubPublisher(context, publishConfig as GithubOptions, version, options, releaseBody, releaseName)\n }\n\n case \"gitlab\": {\n const releaseBody = await resolveReleaseBody(packager)\n const releaseName = packager.config.releaseInfo?.releaseName ?? null\n return new GitlabPublisher(context, publishConfig as GitlabOptions, version, releaseBody, releaseName)\n }\n\n case \"keygen\":\n return new KeygenPublisher(context, publishConfig as KeygenOptions, version)\n\n case \"snapStore\":\n return new SnapStorePublisher(context, publishConfig as SnapStoreOptions)\n\n case \"generic\":\n return null\n\n default: {\n const clazz = await requireProviderClass(provider, packager)\n return clazz == null ? null : new clazz(context, publishConfig)\n }\n }\n}\n\nasync function requireProviderClass(provider: string, packager: Packager): Promise<any | null> {\n switch (provider) {\n case \"github\":\n return GitHubPublisher\n\n case \"gitlab\":\n return GitlabPublisher\n\n case \"generic\":\n return null\n\n case \"keygen\":\n return KeygenPublisher\n\n case \"s3\":\n return S3Publisher\n\n case \"snapStore\":\n return SnapStorePublisher\n\n case \"spaces\":\n return SpacesPublisher\n\n case \"bitbucket\":\n return BitbucketPublisher\n\n default: {\n const extensions = [\"mjs\", \"js\", \"cjs\"]\n const template = `electron-publisher-${provider}`\n const name = (ext: string) => `${template}.${ext}`\n\n const validPublisherFiles = extensions.map(ext => path.join(packager.buildResourcesDir, name(ext)))\n for (const potentialFile of validPublisherFiles) {\n if (await exists(potentialFile)) {\n const module: any = await resolveModule(packager.appInfo.type, potentialFile)\n return module.default || module\n }\n }\n log.error({ path: log.filePath(packager.buildResourcesDir), template, extensionsChecked: extensions }, \"unable to find publish provider in build resources\")\n throw new InvalidConfigurationError(`Cannot find module for publisher \"${provider}\" with any extension: ${extensions.join(\", \")}`)\n }\n }\n}\n\nexport function computeDownloadUrl(publishConfiguration: PublishConfiguration, fileName: string | null, packager: PlatformPackager<any>) {\n if (publishConfiguration.provider === \"generic\") {\n const baseUrlString = (publishConfiguration as GenericServerOptions).url\n if (fileName == null) {\n return baseUrlString\n }\n\n const baseUrl = parseUrl(baseUrlString)\n return url.format({ ...baseUrl, pathname: path.posix.resolve(baseUrl?.pathname || \"/\", encodeURI(fileName)) })\n }\n\n let baseUrl\n if (publishConfiguration.provider === \"github\") {\n const gh = publishConfiguration as GithubOptions\n baseUrl = `${githubUrl(gh)}/${gh.owner}/${gh.repo}/releases/download/${githubTagPrefix(gh)}${packager.appInfo.version}`\n } else {\n baseUrl = getS3LikeProviderBaseUrl(publishConfiguration)\n }\n\n if (fileName == null) {\n return baseUrl\n }\n return `${baseUrl}/${encodeURI(fileName)}`\n}\n\nexport async function getPublishConfigs(\n platformPackager: PlatformPackager<any>,\n targetSpecificOptions: PlatformSpecificBuildOptions | Nullish,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<Array<PublishConfiguration> | null> {\n let publishers\n\n // check build.nsis (target)\n if (targetSpecificOptions != null) {\n publishers = targetSpecificOptions.publish\n // if explicitly set to null - do not publish\n if (publishers === null) {\n return null\n }\n }\n\n // check build.win (platform)\n if (publishers == null) {\n publishers = platformPackager.platformSpecificBuildOptions.publish\n if (publishers === null) {\n return null\n }\n }\n\n if (publishers == null) {\n publishers = platformPackager.config.publish\n if (publishers === null) {\n return null\n }\n }\n return await resolvePublishConfigurations(publishers, platformPackager, platformPackager.info, arch, errorIfCannot)\n}\n\nasync function resolvePublishConfigurations(\n publishers: any,\n platformPackager: PlatformPackager<any> | null,\n packager: Packager,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<Array<PublishConfiguration> | null> {\n if (publishers == null) {\n let serviceName: PublishProvider | null = null\n if (!isEmptyOrSpaces(process.env.GH_TOKEN) || !isEmptyOrSpaces(process.env.GITHUB_TOKEN)) {\n serviceName = \"github\"\n } else if (!isEmptyOrSpaces(process.env.GITLAB_TOKEN)) {\n serviceName = \"gitlab\"\n } else if (!isEmptyOrSpaces(process.env.KEYGEN_TOKEN)) {\n serviceName = \"keygen\"\n } else if (!isEmptyOrSpaces(process.env.BITBUCKET_TOKEN)) {\n serviceName = \"bitbucket\"\n } else if (!isEmptyOrSpaces(process.env.BT_TOKEN)) {\n throw new Error(\n \"Bintray has been sunset and is no longer supported by electron-builder. Ref: https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/\"\n )\n }\n\n if (serviceName != null) {\n log.debug(null, `detect ${serviceName} as publish provider`)\n return [(await getResolvedPublishConfig(platformPackager, packager, { provider: serviceName }, arch, errorIfCannot))!]\n }\n }\n\n if (publishers == null) {\n return []\n }\n\n debug(`Explicit publish provider: ${safeStringifyJson(publishers)}`)\n return (await Promise.all(\n asArray(publishers).map(it => getResolvedPublishConfig(platformPackager, packager, typeof it === \"string\" ? { provider: it } : it, arch, errorIfCannot))\n )) as PublishConfiguration[]\n}\n\nfunction isSuitableWindowsTarget(target: Target) {\n if (target.name === \"appx\" && target.options != null && (target.options as any).electronUpdaterAware) {\n return true\n }\n return target.name === \"nsis\" || target.name.startsWith(\"nsis-\")\n}\n\nfunction expandPublishConfig(options: any, platformPackager: PlatformPackager<any> | null, packager: Packager, arch: Arch | null): void {\n for (const name of Object.keys(options)) {\n const value = options[name]\n if (typeof value === \"string\") {\n const archValue = arch == null ? null : Arch[arch]\n const expanded = platformPackager == null ? expandMacro(value, archValue, packager.appInfo) : platformPackager.expandMacro(value, archValue)\n if (expanded !== value) {\n options[name] = expanded\n }\n }\n }\n}\n\nfunction isDetectUpdateChannel(platformSpecificConfiguration: PlatformSpecificBuildOptions | null, configuration: Configuration) {\n const value = platformSpecificConfiguration == null ? null : platformSpecificConfiguration.detectUpdateChannel\n return value == null ? configuration.detectUpdateChannel !== false : value\n}\n\nasync function getResolvedPublishConfig(\n platformPackager: PlatformPackager<any> | null,\n packager: Packager,\n options: PublishConfiguration,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<PublishConfiguration | GithubOptions | BitbucketOptions | GitlabOptions | null> {\n options = { ...options }\n expandPublishConfig(options, platformPackager, packager, arch)\n\n let channelFromAppVersion: string | null = null\n if (\n (options as GenericServerOptions).channel == null &&\n isDetectUpdateChannel(platformPackager == null ? null : platformPackager.platformSpecificBuildOptions, packager.config)\n ) {\n channelFromAppVersion = packager.appInfo.channel\n }\n\n const provider = options.provider\n if (provider === \"generic\") {\n const o = options as GenericServerOptions\n if (o.url == null) {\n throw new InvalidConfigurationError(`Please specify \"url\" for \"generic\" update server`)\n }\n\n if (channelFromAppVersion != null) {\n ;(o as any).channel = channelFromAppVersion\n }\n return options\n }\n\n const providerClass = await requireProviderClass(options.provider, packager)\n if (providerClass != null && providerClass.checkAndResolveOptions != null) {\n await providerClass.checkAndResolveOptions(options, channelFromAppVersion, errorIfCannot)\n return options\n }\n\n if (provider === \"keygen\") {\n return {\n ...options,\n platform: platformPackager?.platform.name,\n } as KeygenOptions\n }\n\n const isGithub = provider === \"github\"\n if (!isGithub && provider !== \"bitbucket\") {\n return options\n }\n\n let owner = isGithub ? (options as GithubOptions).owner : (options as BitbucketOptions).owner\n let project = isGithub ? (options as GithubOptions).repo : (options as BitbucketOptions).slug\n\n if (isGithub && owner == null && project != null) {\n const index = project.indexOf(\"/\")\n if (index > 0) {\n const repo = project\n project = repo.substring(0, index)\n owner = repo.substring(index + 1)\n }\n }\n\n async function getInfo() {\n const info = await packager.repositoryInfo\n if (info != null) {\n return info\n }\n\n const message = `Cannot detect repository by .git/config. Please specify \"repository\" in the package.json (https://docs.npmjs.com/files/package.json#repository).\\nPlease see https://electron.build/publish`\n if (errorIfCannot) {\n throw new Error(message)\n } else {\n log.warn(message)\n return null\n }\n }\n\n if (!owner || !project) {\n log.debug({ reason: \"owner or project is not specified explicitly\", provider, owner, project }, \"calling getInfo\")\n const info = await getInfo()\n if (info == null) {\n return null\n }\n\n if (!owner) {\n owner = info.user\n }\n if (!project) {\n project = info.project\n }\n }\n\n if (isGithub) {\n if ((options as GithubOptions).token != null && !(options as GithubOptions).private) {\n log.warn('\"token\" specified in the github publish options. It should be used only for [setFeedURL](module:electron-updater/out/AppUpdater.AppUpdater+setFeedURL).')\n }\n //tslint:disable-next-line:no-object-literal-type-assertion\n return { owner, repo: project, ...options } as GithubOptions\n } else {\n //tslint:disable-next-line:no-object-literal-type-assertion\n return { owner, slug: project, ...options } as BitbucketOptions\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PublishManager.js","sourceRoot":"","sources":["../../src/publish/PublishManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, asArray, AsyncTaskManager, exists, InvalidConfigurationError, isEmptyOrSpaces, isPullRequest, log, safeStringifyJson, serializeToYaml } from \"builder-util\"\nimport {\n BitbucketOptions,\n CancellationToken,\n GenericServerOptions,\n getS3LikeProviderBaseUrl,\n GithubOptions,\n githubTagPrefix,\n githubUrl,\n GitlabOptions,\n KeygenOptions,\n Nullish,\n PublishConfiguration,\n PublishProvider,\n SnapStoreOptions,\n} from \"builder-util-runtime\"\nimport _debug from \"debug\"\nimport {\n BitbucketPublisher,\n getCiTag,\n GitHubPublisher,\n GitlabPublisher,\n KeygenPublisher,\n PublishContext,\n Publisher,\n PublishOptions,\n S3Publisher,\n SnapStorePublisher,\n SpacesPublisher,\n UploadTask,\n} from \"electron-publish\"\nimport { MultiProgress } from \"electron-publish/out/multiProgress\"\nimport { readFile, writeFile } from \"fs/promises\"\nimport { isCI } from \"ci-info\"\nimport * as path from \"path\"\nimport { WriteStream as TtyWriteStream } from \"tty\"\nimport * as url from \"url\"\nimport { AppInfo, ArtifactCreated, Configuration, Platform, PlatformSpecificBuildOptions, Target, TargetSpecificOptions } from \"../index\"\nimport { Packager } from \"../packager\"\nimport { PlatformPackager } from \"../platformPackager\"\nimport { expandMacro } from \"../util/macroExpander\"\nimport { WinPackager } from \"../winPackager\"\nimport { createUpdateInfoTasks, UpdateInfoFileTask, writeUpdateInfoFiles } from \"./updateInfoBuilder\"\nimport { resolveModule } from \"../util/resolve\"\nimport { parseUrl } from \"../util/pathManager\"\n\nconst publishForPrWarning =\n \"There are serious security concerns with PUBLISH_FOR_PULL_REQUEST=true (see the CircleCI documentation (https://circleci.com/docs/1.0/fork-pr-builds/) for details)\" +\n \"\\nIf you have SSH keys, sensitive env vars or AWS credentials stored in your project settings and untrusted forks can make pull requests against your repo, then this option isn't for you.\"\n\nconst debug = _debug(\"electron-builder:publish\")\n\nfunction checkOptions(publishPolicy: any) {\n if (publishPolicy != null && publishPolicy !== \"onTag\" && publishPolicy !== \"onTagOrDraft\" && publishPolicy !== \"always\" && publishPolicy !== \"never\") {\n if (typeof publishPolicy === \"string\") {\n throw new InvalidConfigurationError(\n `Expected one of \"onTag\", \"onTagOrDraft\", \"always\", \"never\", but got ${JSON.stringify(\n publishPolicy\n )}.\\nPlease note that publish configuration should be specified under \"config\"`\n )\n }\n }\n}\n\nexport class PublishManager implements PublishContext {\n private readonly nameToPublisher = new Map<string, Publisher | null>()\n\n private readonly taskManager: AsyncTaskManager\n\n readonly isPublish: boolean = false\n\n readonly progress = (process.stdout as TtyWriteStream).isTTY ? new MultiProgress() : null\n\n private readonly updateFileWriteTask: Array<UpdateInfoFileTask> = []\n\n constructor(\n private readonly packager: Packager,\n private readonly publishOptions: PublishOptions,\n readonly cancellationToken: CancellationToken = packager.cancellationToken\n ) {\n checkOptions(publishOptions.publish)\n\n this.taskManager = new AsyncTaskManager(cancellationToken)\n\n const forcePublishForPr = process.env.PUBLISH_FOR_PULL_REQUEST === \"true\"\n if (!isPullRequest() || forcePublishForPr) {\n if (publishOptions.publish === undefined) {\n if (process.env.npm_lifecycle_event === \"release\") {\n log.warn(\"Implicit publishing triggered by npm lifecycle event 'release'. This behavior will be disabled in electron-builder v27. Please use --publish explicitly.\")\n publishOptions.publish = \"always\"\n } else {\n const tag = getCiTag()\n if (tag != null) {\n log.warn({ tag }, \"Implicit publishing triggered by git tag. This behavior will be disabled in electron-builder v27. Please use --publish explicitly.\")\n publishOptions.publish = \"onTag\"\n } else if (isCI) {\n log.warn(\"Implicit publishing triggered by CI detection. This behavior will be disabled in electron-builder v27. Please use --publish explicitly.\")\n publishOptions.publish = \"onTagOrDraft\"\n }\n }\n }\n\n const publishPolicy = publishOptions.publish\n this.isPublish = publishPolicy != null && publishOptions.publish !== \"never\" && (publishPolicy !== \"onTag\" || getCiTag() != null)\n if (this.isPublish && forcePublishForPr) {\n log.warn(publishForPrWarning)\n }\n } else if (publishOptions.publish !== \"never\") {\n log.info(\n {\n reason: \"current build is a part of pull request\",\n solution: `set env PUBLISH_FOR_PULL_REQUEST to true to force code signing\\n${publishForPrWarning}`,\n },\n \"publishing will be skipped\"\n )\n }\n\n packager.onAfterPack(async event => {\n const packager = event.packager\n if (event.electronPlatformName === \"darwin\") {\n if (!event.targets.some(it => it.name === \"dmg\" || it.name === \"zip\")) {\n return\n }\n } else if (packager.platform === Platform.WINDOWS) {\n if (!event.targets.some(it => isSuitableWindowsTarget(it))) {\n return\n }\n }\n\n const publishConfig = await getAppUpdatePublishConfiguration(packager, null, event.arch, this.isPublish)\n if (publishConfig != null) {\n await writeFile(path.join(packager.getResourcesDir(event.appOutDir), \"app-update.yml\"), serializeToYaml(publishConfig))\n }\n })\n\n packager.onArtifactCreated(async event => {\n const publishConfiguration = event.publishConfig\n if (publishConfiguration == null) {\n this.taskManager.addTask(this.artifactCreatedWithoutExplicitPublishConfig(event))\n } else if (this.isPublish) {\n if (debug.enabled) {\n debug(`artifactCreated (isPublish: ${this.isPublish}): ${safeStringifyJson(event, new Set([\"packager\"]))},\\n publishConfig: ${safeStringifyJson(publishConfiguration)}`)\n }\n await this.scheduleUpload(publishConfiguration, event, this.getAppInfo(event.packager))\n }\n })\n }\n\n private getAppInfo(platformPackager: PlatformPackager<any> | null) {\n return platformPackager == null ? this.packager.appInfo : platformPackager.appInfo\n }\n\n async getGlobalPublishConfigurations(): Promise<Array<PublishConfiguration> | null> {\n const publishers = this.packager.config.publish\n return await resolvePublishConfigurations(publishers, null, this.packager, null, true)\n }\n\n async scheduleUpload(publishConfig: PublishConfiguration, event: UploadTask, appInfo: AppInfo): Promise<void> {\n if (publishConfig.provider === \"generic\") {\n return\n }\n\n const publisher = await this.getOrCreatePublisher(publishConfig, appInfo)\n if (publisher == null) {\n log.debug(\n {\n file: log.filePath(event.file),\n reason: \"publisher is null\",\n publishConfig: safeStringifyJson(publishConfig),\n },\n \"not published\"\n )\n return\n }\n\n const providerName = publisher.providerName\n if (this.publishOptions.publish === \"onTagOrDraft\" && getCiTag() == null && providerName !== \"bitbucket\" && providerName !== \"github\") {\n log.info({ file: log.filePath(event.file), reason: \"current build is not for a git tag\", publishPolicy: \"onTagOrDraft\" }, `not published to ${providerName}`)\n return\n }\n\n if (publishConfig.timeout) {\n event.timeout = publishConfig.timeout\n }\n\n this.taskManager.addTask(publisher.upload(event))\n }\n\n private async artifactCreatedWithoutExplicitPublishConfig(event: ArtifactCreated) {\n const platformPackager = event.packager\n const target = event.target\n const publishConfigs = await getPublishConfigs(platformPackager, target == null ? null : target.options, event.arch, this.isPublish)\n\n if (debug.enabled) {\n debug(`artifactCreated (isPublish: ${this.isPublish}): ${safeStringifyJson(event, new Set([\"packager\"]))},\\n publishConfigs: ${safeStringifyJson(publishConfigs)}`)\n }\n\n const eventFile = event.file\n if (publishConfigs == null) {\n if (this.isPublish) {\n log.debug({ file: eventFile, reason: \"no publish configs\" }, \"not published\")\n }\n return\n }\n\n if (this.isPublish) {\n for (const publishConfig of publishConfigs) {\n if (this.cancellationToken.cancelled) {\n log.debug({ file: event.file, reason: \"cancelled\" }, \"not published\")\n break\n }\n\n await this.scheduleUpload(publishConfig, event, this.getAppInfo(platformPackager))\n }\n }\n\n if (\n event.isWriteUpdateInfo &&\n target != null &&\n eventFile != null &&\n !this.cancellationToken.cancelled &&\n (platformPackager.platform !== Platform.WINDOWS || isSuitableWindowsTarget(target))\n ) {\n this.taskManager.addTask(createUpdateInfoTasks(event, publishConfigs).then(it => this.updateFileWriteTask.push(...it)))\n }\n }\n\n private async getOrCreatePublisher(publishConfig: PublishConfiguration, appInfo: AppInfo): Promise<Publisher | null> {\n // to not include token into cache key\n const providerCacheKey = safeStringifyJson(publishConfig)\n let publisher = this.nameToPublisher.get(providerCacheKey)\n if (publisher == null) {\n publisher = await createPublisher(this, appInfo.version, publishConfig, this.publishOptions, this.packager)\n this.nameToPublisher.set(providerCacheKey, publisher)\n log.info({ publisher: publisher!.toString() }, \"publishing\")\n }\n return publisher\n }\n\n // noinspection JSUnusedGlobalSymbols\n cancelTasks() {\n this.taskManager.cancelTasks()\n this.nameToPublisher.clear()\n }\n\n async awaitTasks(): Promise<void> {\n await this.taskManager.awaitTasks()\n\n const updateInfoFileTasks = this.updateFileWriteTask\n if (this.cancellationToken.cancelled || updateInfoFileTasks.length === 0) {\n return\n }\n\n await writeUpdateInfoFiles(updateInfoFileTasks, this.packager)\n await this.taskManager.awaitTasks()\n }\n}\n\nexport async function getAppUpdatePublishConfiguration(\n packager: PlatformPackager<any>,\n targetSpecificOptions: TargetSpecificOptions | Nullish,\n arch: Arch,\n errorIfCannot: boolean\n): Promise<PublishConfiguration | null> {\n const publishConfigs = await getPublishConfigsForUpdateInfo(packager, await getPublishConfigs(packager, null, arch, errorIfCannot), arch)\n if (publishConfigs == null || publishConfigs.length === 0) {\n return null\n }\n\n const publishConfig = {\n ...publishConfigs[0],\n updaterCacheDirName: packager.appInfo.updaterCacheDirName,\n }\n\n if (packager.platform === Platform.WINDOWS && publishConfig.publisherName == null) {\n const winPackager = packager as WinPackager\n const publisherName = winPackager.isForceCodeSigningVerification ? await (await winPackager.signingManager.value).computedPublisherName.value : undefined\n if (publisherName != null) {\n publishConfig.publisherName = publisherName\n }\n }\n return publishConfig\n}\n\nexport async function getPublishConfigsForUpdateInfo(\n packager: PlatformPackager<any>,\n publishConfigs: Array<PublishConfiguration> | null,\n arch: Arch | null\n): Promise<Array<PublishConfiguration> | null> {\n if (publishConfigs === null) {\n return null\n }\n\n if (publishConfigs.length === 0) {\n log.debug(null, \"getPublishConfigsForUpdateInfo: no publishConfigs, detect using repository info\")\n // https://github.com/electron-userland/electron-builder/issues/925#issuecomment-261732378\n // default publish config is github, file should be generated regardless of publish state (user can test installer locally or manage the release process manually)\n const repositoryInfo = await packager.info.repositoryInfo\n debug(`getPublishConfigsForUpdateInfo: ${safeStringifyJson(repositoryInfo)}`)\n if (repositoryInfo != null && repositoryInfo.type === \"github\") {\n const resolvedPublishConfig = await getResolvedPublishConfig(packager, packager.info, { provider: repositoryInfo.type }, arch, false)\n if (resolvedPublishConfig != null) {\n debug(`getPublishConfigsForUpdateInfo: resolve to publish config ${safeStringifyJson(resolvedPublishConfig)}`)\n return [resolvedPublishConfig]\n }\n }\n }\n return publishConfigs\n}\n\nasync function resolveReleaseBody(packager: Packager): Promise<string | null> {\n const releaseInfo = packager.config.releaseInfo\n if (releaseInfo?.releaseNotes) {\n return releaseInfo.releaseNotes\n }\n if (releaseInfo?.releaseNotesFile) {\n try {\n return await readFile(path.resolve(packager.projectDir, releaseInfo.releaseNotesFile), \"utf-8\")\n } catch (e: any) {\n log.warn({ file: releaseInfo.releaseNotesFile, error: e.message }, \"cannot read release notes file\")\n return null\n }\n }\n try {\n return await readFile(path.resolve(packager.projectDir, \"release-notes.md\"), \"utf-8\")\n } catch {\n return null\n }\n}\n\nexport async function createPublisher(\n context: PublishContext,\n version: string,\n publishConfig: PublishConfiguration,\n options: PublishOptions,\n packager: Packager\n): Promise<Publisher | null> {\n if (debug.enabled) {\n debug(`Create publisher: ${safeStringifyJson(publishConfig)}`)\n }\n\n const provider = publishConfig.provider\n switch (provider) {\n case \"github\": {\n const releaseBody = await resolveReleaseBody(packager)\n const releaseName = packager.config.releaseInfo?.releaseName ?? null\n return new GitHubPublisher(context, publishConfig as GithubOptions, version, options, releaseBody, releaseName)\n }\n\n case \"gitlab\": {\n const releaseBody = await resolveReleaseBody(packager)\n const releaseName = packager.config.releaseInfo?.releaseName ?? null\n return new GitlabPublisher(context, publishConfig as GitlabOptions, version, releaseBody, releaseName)\n }\n\n case \"keygen\":\n return new KeygenPublisher(context, publishConfig as KeygenOptions, version)\n\n case \"snapStore\":\n return new SnapStorePublisher(context, publishConfig as SnapStoreOptions, { cscLink: packager.config.snapcraft?.cscLink, resourcesDir: packager.buildResourcesDir })\n\n case \"generic\":\n return null\n\n default: {\n const clazz = await requireProviderClass(provider, packager)\n return clazz == null ? null : new clazz(context, publishConfig)\n }\n }\n}\n\nasync function requireProviderClass(provider: string, packager: Packager): Promise<any | null> {\n switch (provider) {\n case \"github\":\n return GitHubPublisher\n\n case \"gitlab\":\n return GitlabPublisher\n\n case \"generic\":\n return null\n\n case \"keygen\":\n return KeygenPublisher\n\n case \"s3\":\n return S3Publisher\n\n case \"snapStore\":\n return SnapStorePublisher\n\n case \"spaces\":\n return SpacesPublisher\n\n case \"bitbucket\":\n return BitbucketPublisher\n\n default: {\n const extensions = [\"mjs\", \"js\", \"cjs\"]\n const template = `electron-publisher-${provider}`\n const name = (ext: string) => `${template}.${ext}`\n\n const validPublisherFiles = extensions.map(ext => path.join(packager.buildResourcesDir, name(ext)))\n for (const potentialFile of validPublisherFiles) {\n if (await exists(potentialFile)) {\n const module: any = await resolveModule(packager.appInfo.type, potentialFile)\n return module.default || module\n }\n }\n log.error({ path: log.filePath(packager.buildResourcesDir), template, extensionsChecked: extensions }, \"unable to find publish provider in build resources\")\n throw new InvalidConfigurationError(`Cannot find module for publisher \"${provider}\" with any extension: ${extensions.join(\", \")}`)\n }\n }\n}\n\nexport function computeDownloadUrl(publishConfiguration: PublishConfiguration, fileName: string | null, packager: PlatformPackager<any>) {\n if (publishConfiguration.provider === \"generic\") {\n const baseUrlString = (publishConfiguration as GenericServerOptions).url\n if (fileName == null) {\n return baseUrlString\n }\n\n const baseUrl = parseUrl(baseUrlString)\n return url.format({ ...baseUrl, pathname: path.posix.resolve(baseUrl?.pathname || \"/\", encodeURI(fileName)) })\n }\n\n let baseUrl\n if (publishConfiguration.provider === \"github\") {\n const gh = publishConfiguration as GithubOptions\n baseUrl = `${githubUrl(gh)}/${gh.owner}/${gh.repo}/releases/download/${githubTagPrefix(gh)}${packager.appInfo.version}`\n } else {\n baseUrl = getS3LikeProviderBaseUrl(publishConfiguration)\n }\n\n if (fileName == null) {\n return baseUrl\n }\n return `${baseUrl}/${encodeURI(fileName)}`\n}\n\nexport async function getPublishConfigs(\n platformPackager: PlatformPackager<any>,\n targetSpecificOptions: PlatformSpecificBuildOptions | Nullish,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<Array<PublishConfiguration> | null> {\n let publishers\n\n // check build.nsis (target)\n if (targetSpecificOptions != null) {\n publishers = targetSpecificOptions.publish\n // if explicitly set to null - do not publish\n if (publishers === null) {\n return null\n }\n }\n\n // check build.win (platform)\n if (publishers == null) {\n publishers = platformPackager.platformSpecificBuildOptions.publish\n if (publishers === null) {\n return null\n }\n }\n\n if (publishers == null) {\n publishers = platformPackager.config.publish\n if (publishers === null) {\n return null\n }\n }\n return await resolvePublishConfigurations(publishers, platformPackager, platformPackager.info, arch, errorIfCannot)\n}\n\nasync function resolvePublishConfigurations(\n publishers: any,\n platformPackager: PlatformPackager<any> | null,\n packager: Packager,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<Array<PublishConfiguration> | null> {\n if (publishers == null) {\n let serviceName: PublishProvider | null = null\n if (!isEmptyOrSpaces(process.env.GH_TOKEN) || !isEmptyOrSpaces(process.env.GITHUB_TOKEN)) {\n serviceName = \"github\"\n } else if (!isEmptyOrSpaces(process.env.GITLAB_TOKEN)) {\n serviceName = \"gitlab\"\n } else if (!isEmptyOrSpaces(process.env.KEYGEN_TOKEN)) {\n serviceName = \"keygen\"\n } else if (!isEmptyOrSpaces(process.env.BITBUCKET_TOKEN)) {\n serviceName = \"bitbucket\"\n } else if (!isEmptyOrSpaces(process.env.BT_TOKEN)) {\n throw new Error(\n \"Bintray has been sunset and is no longer supported by electron-builder. Ref: https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/\"\n )\n }\n\n if (serviceName != null) {\n log.debug(null, `detect ${serviceName} as publish provider`)\n return [(await getResolvedPublishConfig(platformPackager, packager, { provider: serviceName }, arch, errorIfCannot))!]\n }\n }\n\n if (publishers == null) {\n return []\n }\n\n debug(`Explicit publish provider: ${safeStringifyJson(publishers)}`)\n return (await Promise.all(\n asArray(publishers).map(it => getResolvedPublishConfig(platformPackager, packager, typeof it === \"string\" ? { provider: it } : it, arch, errorIfCannot))\n )) as PublishConfiguration[]\n}\n\nfunction isSuitableWindowsTarget(target: Target) {\n if (target.name === \"appx\" && target.options != null && (target.options as any).electronUpdaterAware) {\n return true\n }\n return target.name === \"nsis\" || target.name.startsWith(\"nsis-\")\n}\n\nfunction expandPublishConfig(options: any, platformPackager: PlatformPackager<any> | null, packager: Packager, arch: Arch | null): void {\n for (const name of Object.keys(options)) {\n const value = options[name]\n if (typeof value === \"string\") {\n const archValue = arch == null ? null : Arch[arch]\n const expanded = platformPackager == null ? expandMacro(value, archValue, packager.appInfo) : platformPackager.expandMacro(value, archValue)\n if (expanded !== value) {\n options[name] = expanded\n }\n }\n }\n}\n\nfunction isDetectUpdateChannel(platformSpecificConfiguration: PlatformSpecificBuildOptions | null, configuration: Configuration) {\n const value = platformSpecificConfiguration == null ? null : platformSpecificConfiguration.detectUpdateChannel\n return value == null ? configuration.detectUpdateChannel !== false : value\n}\n\nasync function getResolvedPublishConfig(\n platformPackager: PlatformPackager<any> | null,\n packager: Packager,\n options: PublishConfiguration,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<PublishConfiguration | GithubOptions | BitbucketOptions | GitlabOptions | null> {\n options = { ...options }\n expandPublishConfig(options, platformPackager, packager, arch)\n\n let channelFromAppVersion: string | null = null\n if (\n (options as GenericServerOptions).channel == null &&\n isDetectUpdateChannel(platformPackager == null ? null : platformPackager.platformSpecificBuildOptions, packager.config)\n ) {\n channelFromAppVersion = packager.appInfo.channel\n }\n\n const provider = options.provider\n if (provider === \"generic\") {\n const o = options as GenericServerOptions\n if (o.url == null) {\n throw new InvalidConfigurationError(`Please specify \"url\" for \"generic\" update server`)\n }\n\n if (channelFromAppVersion != null) {\n ;(o as any).channel = channelFromAppVersion\n }\n return options\n }\n\n const providerClass = await requireProviderClass(options.provider, packager)\n if (providerClass != null && providerClass.checkAndResolveOptions != null) {\n await providerClass.checkAndResolveOptions(options, channelFromAppVersion, errorIfCannot)\n return options\n }\n\n if (provider === \"keygen\") {\n return {\n ...options,\n platform: platformPackager?.platform.name,\n } as KeygenOptions\n }\n\n const isGithub = provider === \"github\"\n if (!isGithub && provider !== \"bitbucket\") {\n return options\n }\n\n let owner = isGithub ? (options as GithubOptions).owner : (options as BitbucketOptions).owner\n let project = isGithub ? (options as GithubOptions).repo : (options as BitbucketOptions).slug\n\n if (isGithub && owner == null && project != null) {\n const index = project.indexOf(\"/\")\n if (index > 0) {\n const repo = project\n project = repo.substring(0, index)\n owner = repo.substring(index + 1)\n }\n }\n\n async function getInfo() {\n const info = await packager.repositoryInfo\n if (info != null) {\n return info\n }\n\n const message = `Cannot detect repository by .git/config. Please specify \"repository\" in the package.json (https://docs.npmjs.com/files/package.json#repository).\\nPlease see https://electron.build/publish`\n if (errorIfCannot) {\n throw new Error(message)\n } else {\n log.warn(message)\n return null\n }\n }\n\n if (!owner || !project) {\n log.debug({ reason: \"owner or project is not specified explicitly\", provider, owner, project }, \"calling getInfo\")\n const info = await getInfo()\n if (info == null) {\n return null\n }\n\n if (!owner) {\n owner = info.user\n }\n if (!project) {\n project = info.project\n }\n }\n\n if (isGithub) {\n if ((options as GithubOptions).token != null && !(options as GithubOptions).private) {\n log.warn('\"token\" specified in the github publish options. It should be used only for [setFeedURL](module:electron-updater/out/AppUpdater.AppUpdater+setFeedURL).')\n }\n //tslint:disable-next-line:no-object-literal-type-assertion\n return { owner, repo: project, ...options } as GithubOptions\n } else {\n //tslint:disable-next-line:no-object-literal-type-assertion\n return { owner, slug: project, ...options } as BitbucketOptions\n }\n}\n"]}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
import { Arch } from "builder-util";
|
|
1
2
|
import { PublishConfiguration, UpdateInfo } from "builder-util-runtime";
|
|
2
3
|
import { Packager } from "../packager";
|
|
4
|
+
import { ArtifactCreated } from "../packagerApi";
|
|
3
5
|
import { PlatformPackager } from "../platformPackager";
|
|
4
6
|
export interface UpdateInfoFileTask {
|
|
5
7
|
readonly file: string;
|
|
6
8
|
readonly info: UpdateInfo;
|
|
7
9
|
readonly publishConfiguration: PublishConfiguration;
|
|
8
10
|
readonly packager: PlatformPackager<any>;
|
|
11
|
+
readonly arch?: Arch | null;
|
|
9
12
|
}
|
|
13
|
+
export declare function createUpdateInfoTasks(event: ArtifactCreated, _publishConfigs: Array<PublishConfiguration>): Promise<Array<UpdateInfoFileTask>>;
|
|
10
14
|
export declare function writeUpdateInfoFiles(updateInfoFileTasks: Array<UpdateInfoFileTask>, packager: Packager): Promise<void>;
|
|
@@ -69,7 +69,6 @@ function computeIsisElectronUpdater1xCompatibility(updaterCompatibility, publish
|
|
|
69
69
|
const updaterVersion = packager.metadata.dependencies == null ? null : packager.metadata.dependencies["electron-updater"];
|
|
70
70
|
return updaterVersion == null || semver.lt(updaterVersion, "4.0.0");
|
|
71
71
|
}
|
|
72
|
-
/** @internal */
|
|
73
72
|
async function createUpdateInfoTasks(event, _publishConfigs) {
|
|
74
73
|
const packager = event.packager;
|
|
75
74
|
const publishConfigs = await (0, PublishManager_1.getPublishConfigsForUpdateInfo)(packager, _publishConfigs, event.arch);
|
|
@@ -124,6 +123,7 @@ async function createUpdateInfoTasks(event, _publishConfigs) {
|
|
|
124
123
|
info,
|
|
125
124
|
publishConfiguration,
|
|
126
125
|
packager,
|
|
126
|
+
arch: event.arch,
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
129
|
}
|
|
@@ -153,7 +153,19 @@ async function createUpdateInfo(version, event, releaseInfo) {
|
|
|
153
153
|
}
|
|
154
154
|
async function writeUpdateInfoFiles(updateInfoFileTasks, packager) {
|
|
155
155
|
// zip must be first and zip info must be used for old path/sha512 properties in the update info
|
|
156
|
-
|
|
156
|
+
// universal installer (arch === null) must precede arch-specific ones so path:/sha512: point to the right artifact
|
|
157
|
+
updateInfoFileTasks.sort((a, b) => {
|
|
158
|
+
var _a, _b;
|
|
159
|
+
const zipDiff = (a.info.files[0].url.endsWith(".zip") ? 0 : 100) - (b.info.files[0].url.endsWith(".zip") ? 0 : 100);
|
|
160
|
+
if (zipDiff !== 0) {
|
|
161
|
+
return zipDiff;
|
|
162
|
+
}
|
|
163
|
+
// universal (arch === null) before arch-specific; tie-break by Arch enum value for full determinism
|
|
164
|
+
// undefined arch (external callers predating this field) treated as arch-specific via strict === null check
|
|
165
|
+
const aArch = a.arch === null ? -1 : ((_a = a.arch) !== null && _a !== void 0 ? _a : Number.MAX_SAFE_INTEGER);
|
|
166
|
+
const bArch = b.arch === null ? -1 : ((_b = b.arch) !== null && _b !== void 0 ? _b : Number.MAX_SAFE_INTEGER);
|
|
167
|
+
return aArch - bArch;
|
|
168
|
+
});
|
|
157
169
|
const updateChannelFileToInfo = new Map();
|
|
158
170
|
for (const task of updateInfoFileTasks) {
|
|
159
171
|
// https://github.com/electron-userland/electron-builder/pull/2994
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateInfoBuilder.js","sourceRoot":"","sources":["../../src/publish/updateInfoBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import asyncPool from \"tiny-async-pool\"\nimport { Arch, log, safeStringifyJson, serializeToYaml } from \"builder-util\"\nimport { GenericServerOptions, PublishConfiguration, UpdateInfo, WindowsUpdateInfo } from \"builder-util-runtime\"\nimport { outputFile, outputJson, readFile } from \"fs-extra\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport * as semver from \"semver\"\nimport { Platform } from \"../core\"\nimport { ReleaseInfo } from \"../options/PlatformSpecificBuildOptions\"\nimport { Packager } from \"../packager\"\nimport { ArtifactCreated } from \"../packagerApi\"\nimport { PlatformPackager } from \"../platformPackager\"\nimport { hashFile } from \"../util/hash\"\nimport { computeDownloadUrl, getPublishConfigsForUpdateInfo } from \"./PublishManager\"\n\nasync function getReleaseInfo(packager: PlatformPackager<any>) {\n const releaseInfo: ReleaseInfo = { ...(packager.platformSpecificBuildOptions.releaseInfo || packager.config.releaseInfo) }\n if (releaseInfo.releaseNotes == null) {\n const releaseNotesFile = await packager.getResource(\n releaseInfo.releaseNotesFile,\n `release-notes-${packager.platform.buildConfigurationKey}.md`,\n `release-notes-${packager.platform.name}.md`,\n `release-notes-${packager.platform.nodeName}.md`,\n \"release-notes.md\"\n )\n const releaseNotes = releaseNotesFile == null ? null : await readFile(releaseNotesFile, \"utf-8\")\n // to avoid undefined in the file, check for null\n if (releaseNotes != null) {\n releaseInfo.releaseNotes = releaseNotes\n }\n }\n delete releaseInfo.releaseNotesFile\n return releaseInfo\n}\n\nfunction isGenerateUpdatesFilesForAllChannels(packager: PlatformPackager<any>) {\n const value = packager.platformSpecificBuildOptions.generateUpdatesFilesForAllChannels\n return value == null ? packager.config.generateUpdatesFilesForAllChannels : value\n}\n\n/**\n if this is an \"alpha\" version, we need to generate only the \"alpha\" .yml file\n if this is a \"beta\" version, we need to generate both the \"alpha\" and \"beta\" .yml file\n if this is a \"stable\" version, we need to generate all the \"alpha\", \"beta\" and \"stable\" .yml file\n */\nfunction computeChannelNames(packager: PlatformPackager<any>, publishConfig: PublishConfiguration): Array<string> {\n const currentChannel: string = (publishConfig as GenericServerOptions).channel || \"latest\"\n // for GitHub should be pre-release way be used\n if (currentChannel === \"alpha\" || publishConfig.provider === \"github\" || !isGenerateUpdatesFilesForAllChannels(packager)) {\n return [currentChannel]\n }\n\n switch (currentChannel) {\n case \"beta\":\n return [currentChannel, \"alpha\"]\n\n case \"latest\":\n return [currentChannel, \"alpha\", \"beta\"]\n\n default:\n return [currentChannel]\n }\n}\n\nfunction getUpdateInfoFileName(channel: string, packager: PlatformPackager<any>, arch: Arch | null): string {\n const osSuffix = packager.platform === Platform.WINDOWS ? \"\" : `-${packager.platform.buildConfigurationKey}`\n return `${channel}${osSuffix}${getArchPrefixForUpdateFile(arch, packager)}.yml`\n}\n\nfunction getArchPrefixForUpdateFile(arch: Arch | null, packager: PlatformPackager<any>) {\n if (arch == null || arch === Arch.x64 || packager.platform !== Platform.LINUX) {\n return \"\"\n }\n return arch === Arch.armv7l ? \"-arm\" : `-${Arch[arch]}`\n}\n\nexport interface UpdateInfoFileTask {\n readonly file: string\n readonly info: UpdateInfo\n readonly publishConfiguration: PublishConfiguration\n\n readonly packager: PlatformPackager<any>\n}\n\nfunction computeIsisElectronUpdater1xCompatibility(updaterCompatibility: string | null, publishConfiguration: PublishConfiguration, packager: Packager) {\n if (updaterCompatibility != null) {\n return semver.satisfies(\"1.0.0\", updaterCompatibility)\n }\n\n // spaces is a new publish provider, no need to keep backward compatibility\n if (publishConfiguration.provider === \"spaces\") {\n return false\n }\n\n const updaterVersion = packager.metadata.dependencies == null ? null : packager.metadata.dependencies[\"electron-updater\"]\n return updaterVersion == null || semver.lt(updaterVersion, \"4.0.0\")\n}\n\n/** @internal */\nexport async function createUpdateInfoTasks(event: ArtifactCreated, _publishConfigs: Array<PublishConfiguration>): Promise<Array<UpdateInfoFileTask>> {\n const packager = event.packager\n const publishConfigs = await getPublishConfigsForUpdateInfo(packager, _publishConfigs, event.arch)\n if (publishConfigs == null || publishConfigs.length === 0) {\n return []\n }\n\n const outDir = event.target!.outDir\n const version = packager.appInfo.version\n const sha2 = new Lazy<string>(() => hashFile(event.file, \"sha256\", \"hex\"))\n const isMac = packager.platform === Platform.MAC\n const createdFiles = new Set<string>()\n const sharedInfo = await createUpdateInfo(version, event, await getReleaseInfo(packager))\n const tasks: Array<UpdateInfoFileTask> = []\n const electronUpdaterCompatibility = packager.platformSpecificBuildOptions.electronUpdaterCompatibility || packager.config.electronUpdaterCompatibility || \">=2.15\"\n for (const publishConfiguration of publishConfigs) {\n let dir = outDir\n if (publishConfigs.length > 1 && publishConfiguration !== publishConfigs[0]) {\n dir = path.join(outDir, publishConfiguration.provider)\n }\n\n let isElectronUpdater1xCompatibility = computeIsisElectronUpdater1xCompatibility(electronUpdaterCompatibility, publishConfiguration, packager.info)\n\n let info = sharedInfo\n // noinspection JSDeprecatedSymbols\n if (isElectronUpdater1xCompatibility && packager.platform === Platform.WINDOWS) {\n info = {\n ...info,\n }\n // noinspection JSDeprecatedSymbols\n ;(info as WindowsUpdateInfo).sha2 = await sha2.value\n }\n\n if (event.safeArtifactName != null && publishConfiguration.provider === \"github\") {\n const newFiles = info.files.slice()\n newFiles[0].url = event.safeArtifactName\n info = {\n ...info,\n files: newFiles,\n path: event.safeArtifactName,\n }\n }\n\n for (const channel of computeChannelNames(packager, publishConfiguration)) {\n if (isMac && isElectronUpdater1xCompatibility && event.file.endsWith(\".zip\")) {\n // write only for first channel (generateUpdatesFilesForAllChannels is a new functionality, no need to generate old mac update info file)\n isElectronUpdater1xCompatibility = false\n await writeOldMacInfo(publishConfiguration, outDir, dir, channel, createdFiles, version, packager)\n }\n\n const updateInfoFile = path.join(dir, getUpdateInfoFileName(channel, packager, event.arch))\n if (createdFiles.has(updateInfoFile)) {\n continue\n }\n\n createdFiles.add(updateInfoFile)\n\n // artifact should be uploaded only to designated publish provider\n tasks.push({\n file: updateInfoFile,\n info,\n publishConfiguration,\n packager,\n })\n }\n }\n return tasks\n}\n\nasync function createUpdateInfo(version: string, event: ArtifactCreated, releaseInfo: ReleaseInfo): Promise<UpdateInfo> {\n const customUpdateInfo = event.updateInfo\n const url = path.basename(event.file)\n const sha512 = (customUpdateInfo == null ? null : customUpdateInfo.sha512) || (await hashFile(event.file))\n const files = [{ url, sha512 }]\n const result: UpdateInfo = {\n // @ts-ignore\n version,\n // @ts-ignore\n files,\n // @ts-ignore\n path: url /* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */,\n // @ts-ignore\n sha512 /* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */,\n ...(releaseInfo as UpdateInfo),\n }\n\n if (customUpdateInfo != null) {\n // file info or nsis web installer packages info\n Object.assign(\"sha512\" in customUpdateInfo ? files[0] : result, customUpdateInfo)\n }\n return result\n}\n\nexport async function writeUpdateInfoFiles(updateInfoFileTasks: Array<UpdateInfoFileTask>, packager: Packager) {\n // zip must be first and zip info must be used for old path/sha512 properties in the update info\n updateInfoFileTasks.sort((a, b) => (a.info.files[0].url.endsWith(\".zip\") ? 0 : 100) - (b.info.files[0].url.endsWith(\".zip\") ? 0 : 100))\n\n const updateChannelFileToInfo = new Map<string, UpdateInfoFileTask>()\n for (const task of updateInfoFileTasks) {\n // https://github.com/electron-userland/electron-builder/pull/2994\n const key = `${task.file}@${safeStringifyJson(task.publishConfiguration, new Set([\"releaseType\"]))}`\n const existingTask = updateChannelFileToInfo.get(key)\n if (existingTask == null) {\n updateChannelFileToInfo.set(key, task)\n continue\n }\n\n existingTask.info.files.push(...task.info.files)\n }\n\n const releaseDate = new Date().toISOString()\n const concurrency = 4\n await asyncPool<UpdateInfoFileTask, void>(concurrency, Array.from(updateChannelFileToInfo.values()), async task => {\n const publishConfig = task.publishConfiguration\n if (publishConfig.publishAutoUpdate === false) {\n log.debug(\n {\n provider: publishConfig.provider,\n reason: \"publishAutoUpdate is set to false\",\n },\n \"auto update metadata file not published\"\n )\n return\n }\n\n if (task.info.releaseDate == null) {\n task.info.releaseDate = releaseDate\n }\n\n const fileContent = Buffer.from(serializeToYaml(task.info, false, true))\n await outputFile(task.file, fileContent)\n await packager.emitArtifactCreated({\n file: task.file,\n fileContent,\n arch: null,\n packager: task.packager,\n target: null,\n publishConfig,\n })\n })\n}\n\n// backward compatibility - write json file\nasync function writeOldMacInfo(\n publishConfig: PublishConfiguration,\n outDir: string,\n dir: string,\n channel: string,\n createdFiles: Set<string>,\n version: string,\n packager: PlatformPackager<any>\n) {\n const isGitHub = publishConfig.provider === \"github\"\n const updateInfoFile = isGitHub && outDir === dir ? path.join(dir, \"github\", `${channel}-mac.json`) : path.join(dir, `${channel}-mac.json`)\n if (!createdFiles.has(updateInfoFile)) {\n createdFiles.add(updateInfoFile)\n await outputJson(\n updateInfoFile,\n {\n version,\n releaseDate: new Date().toISOString(),\n url: computeDownloadUrl(publishConfig, packager.generateName2(\"zip\", \"mac\", isGitHub), packager),\n },\n { spaces: 2 }\n )\n\n await packager.info.emitArtifactCreated({\n file: updateInfoFile,\n arch: null,\n packager,\n target: null,\n publishConfig,\n })\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"updateInfoBuilder.js","sourceRoot":"","sources":["../../src/publish/updateInfoBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import asyncPool from \"tiny-async-pool\"\nimport { Arch, log, safeStringifyJson, serializeToYaml } from \"builder-util\"\nimport { GenericServerOptions, PublishConfiguration, UpdateInfo, WindowsUpdateInfo } from \"builder-util-runtime\"\nimport { outputFile, outputJson, readFile } from \"fs-extra\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport * as semver from \"semver\"\nimport { Platform } from \"../core\"\nimport { ReleaseInfo } from \"../options/PlatformSpecificBuildOptions\"\nimport { Packager } from \"../packager\"\nimport { ArtifactCreated } from \"../packagerApi\"\nimport { PlatformPackager } from \"../platformPackager\"\nimport { hashFile } from \"../util/hash\"\nimport { computeDownloadUrl, getPublishConfigsForUpdateInfo } from \"./PublishManager\"\n\nasync function getReleaseInfo(packager: PlatformPackager<any>) {\n const releaseInfo: ReleaseInfo = { ...(packager.platformSpecificBuildOptions.releaseInfo || packager.config.releaseInfo) }\n if (releaseInfo.releaseNotes == null) {\n const releaseNotesFile = await packager.getResource(\n releaseInfo.releaseNotesFile,\n `release-notes-${packager.platform.buildConfigurationKey}.md`,\n `release-notes-${packager.platform.name}.md`,\n `release-notes-${packager.platform.nodeName}.md`,\n \"release-notes.md\"\n )\n const releaseNotes = releaseNotesFile == null ? null : await readFile(releaseNotesFile, \"utf-8\")\n // to avoid undefined in the file, check for null\n if (releaseNotes != null) {\n releaseInfo.releaseNotes = releaseNotes\n }\n }\n delete releaseInfo.releaseNotesFile\n return releaseInfo\n}\n\nfunction isGenerateUpdatesFilesForAllChannels(packager: PlatformPackager<any>) {\n const value = packager.platformSpecificBuildOptions.generateUpdatesFilesForAllChannels\n return value == null ? packager.config.generateUpdatesFilesForAllChannels : value\n}\n\n/**\n if this is an \"alpha\" version, we need to generate only the \"alpha\" .yml file\n if this is a \"beta\" version, we need to generate both the \"alpha\" and \"beta\" .yml file\n if this is a \"stable\" version, we need to generate all the \"alpha\", \"beta\" and \"stable\" .yml file\n */\nfunction computeChannelNames(packager: PlatformPackager<any>, publishConfig: PublishConfiguration): Array<string> {\n const currentChannel: string = (publishConfig as GenericServerOptions).channel || \"latest\"\n // for GitHub should be pre-release way be used\n if (currentChannel === \"alpha\" || publishConfig.provider === \"github\" || !isGenerateUpdatesFilesForAllChannels(packager)) {\n return [currentChannel]\n }\n\n switch (currentChannel) {\n case \"beta\":\n return [currentChannel, \"alpha\"]\n\n case \"latest\":\n return [currentChannel, \"alpha\", \"beta\"]\n\n default:\n return [currentChannel]\n }\n}\n\nfunction getUpdateInfoFileName(channel: string, packager: PlatformPackager<any>, arch: Arch | null): string {\n const osSuffix = packager.platform === Platform.WINDOWS ? \"\" : `-${packager.platform.buildConfigurationKey}`\n return `${channel}${osSuffix}${getArchPrefixForUpdateFile(arch, packager)}.yml`\n}\n\nfunction getArchPrefixForUpdateFile(arch: Arch | null, packager: PlatformPackager<any>) {\n if (arch == null || arch === Arch.x64 || packager.platform !== Platform.LINUX) {\n return \"\"\n }\n return arch === Arch.armv7l ? \"-arm\" : `-${Arch[arch]}`\n}\n\nexport interface UpdateInfoFileTask {\n readonly file: string\n readonly info: UpdateInfo\n readonly publishConfiguration: PublishConfiguration\n readonly packager: PlatformPackager<any>\n readonly arch?: Arch | null\n}\n\nfunction computeIsisElectronUpdater1xCompatibility(updaterCompatibility: string | null, publishConfiguration: PublishConfiguration, packager: Packager) {\n if (updaterCompatibility != null) {\n return semver.satisfies(\"1.0.0\", updaterCompatibility)\n }\n\n // spaces is a new publish provider, no need to keep backward compatibility\n if (publishConfiguration.provider === \"spaces\") {\n return false\n }\n\n const updaterVersion = packager.metadata.dependencies == null ? null : packager.metadata.dependencies[\"electron-updater\"]\n return updaterVersion == null || semver.lt(updaterVersion, \"4.0.0\")\n}\n\nexport async function createUpdateInfoTasks(event: ArtifactCreated, _publishConfigs: Array<PublishConfiguration>): Promise<Array<UpdateInfoFileTask>> {\n const packager = event.packager\n const publishConfigs = await getPublishConfigsForUpdateInfo(packager, _publishConfigs, event.arch)\n if (publishConfigs == null || publishConfigs.length === 0) {\n return []\n }\n\n const outDir = event.target!.outDir\n const version = packager.appInfo.version\n const sha2 = new Lazy<string>(() => hashFile(event.file, \"sha256\", \"hex\"))\n const isMac = packager.platform === Platform.MAC\n const createdFiles = new Set<string>()\n const sharedInfo = await createUpdateInfo(version, event, await getReleaseInfo(packager))\n const tasks: Array<UpdateInfoFileTask> = []\n const electronUpdaterCompatibility = packager.platformSpecificBuildOptions.electronUpdaterCompatibility || packager.config.electronUpdaterCompatibility || \">=2.15\"\n for (const publishConfiguration of publishConfigs) {\n let dir = outDir\n if (publishConfigs.length > 1 && publishConfiguration !== publishConfigs[0]) {\n dir = path.join(outDir, publishConfiguration.provider)\n }\n\n let isElectronUpdater1xCompatibility = computeIsisElectronUpdater1xCompatibility(electronUpdaterCompatibility, publishConfiguration, packager.info)\n\n let info = sharedInfo\n // noinspection JSDeprecatedSymbols\n if (isElectronUpdater1xCompatibility && packager.platform === Platform.WINDOWS) {\n info = {\n ...info,\n }\n // noinspection JSDeprecatedSymbols\n ;(info as WindowsUpdateInfo).sha2 = await sha2.value\n }\n\n if (event.safeArtifactName != null && publishConfiguration.provider === \"github\") {\n const newFiles = info.files.slice()\n newFiles[0].url = event.safeArtifactName\n info = {\n ...info,\n files: newFiles,\n path: event.safeArtifactName,\n }\n }\n\n for (const channel of computeChannelNames(packager, publishConfiguration)) {\n if (isMac && isElectronUpdater1xCompatibility && event.file.endsWith(\".zip\")) {\n // write only for first channel (generateUpdatesFilesForAllChannels is a new functionality, no need to generate old mac update info file)\n isElectronUpdater1xCompatibility = false\n await writeOldMacInfo(publishConfiguration, outDir, dir, channel, createdFiles, version, packager)\n }\n\n const updateInfoFile = path.join(dir, getUpdateInfoFileName(channel, packager, event.arch))\n if (createdFiles.has(updateInfoFile)) {\n continue\n }\n\n createdFiles.add(updateInfoFile)\n\n // artifact should be uploaded only to designated publish provider\n tasks.push({\n file: updateInfoFile,\n info,\n publishConfiguration,\n packager,\n arch: event.arch,\n })\n }\n }\n return tasks\n}\n\nasync function createUpdateInfo(version: string, event: ArtifactCreated, releaseInfo: ReleaseInfo): Promise<UpdateInfo> {\n const customUpdateInfo = event.updateInfo\n const url = path.basename(event.file)\n const sha512 = (customUpdateInfo == null ? null : customUpdateInfo.sha512) || (await hashFile(event.file))\n const files = [{ url, sha512 }]\n const result: UpdateInfo = {\n // @ts-ignore\n version,\n // @ts-ignore\n files,\n // @ts-ignore\n path: url /* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */,\n // @ts-ignore\n sha512 /* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */,\n ...(releaseInfo as UpdateInfo),\n }\n\n if (customUpdateInfo != null) {\n // file info or nsis web installer packages info\n Object.assign(\"sha512\" in customUpdateInfo ? files[0] : result, customUpdateInfo)\n }\n return result\n}\n\nexport async function writeUpdateInfoFiles(updateInfoFileTasks: Array<UpdateInfoFileTask>, packager: Packager) {\n // zip must be first and zip info must be used for old path/sha512 properties in the update info\n // universal installer (arch === null) must precede arch-specific ones so path:/sha512: point to the right artifact\n updateInfoFileTasks.sort((a, b) => {\n const zipDiff = (a.info.files[0].url.endsWith(\".zip\") ? 0 : 100) - (b.info.files[0].url.endsWith(\".zip\") ? 0 : 100)\n if (zipDiff !== 0) {\n return zipDiff\n }\n // universal (arch === null) before arch-specific; tie-break by Arch enum value for full determinism\n // undefined arch (external callers predating this field) treated as arch-specific via strict === null check\n const aArch = a.arch === null ? -1 : (a.arch ?? Number.MAX_SAFE_INTEGER)\n const bArch = b.arch === null ? -1 : (b.arch ?? Number.MAX_SAFE_INTEGER)\n return aArch - bArch\n })\n\n const updateChannelFileToInfo = new Map<string, UpdateInfoFileTask>()\n for (const task of updateInfoFileTasks) {\n // https://github.com/electron-userland/electron-builder/pull/2994\n const key = `${task.file}@${safeStringifyJson(task.publishConfiguration, new Set([\"releaseType\"]))}`\n const existingTask = updateChannelFileToInfo.get(key)\n if (existingTask == null) {\n updateChannelFileToInfo.set(key, task)\n continue\n }\n\n existingTask.info.files.push(...task.info.files)\n }\n\n const releaseDate = new Date().toISOString()\n const concurrency = 4\n await asyncPool<UpdateInfoFileTask, void>(concurrency, Array.from(updateChannelFileToInfo.values()), async task => {\n const publishConfig = task.publishConfiguration\n if (publishConfig.publishAutoUpdate === false) {\n log.debug(\n {\n provider: publishConfig.provider,\n reason: \"publishAutoUpdate is set to false\",\n },\n \"auto update metadata file not published\"\n )\n return\n }\n\n if (task.info.releaseDate == null) {\n task.info.releaseDate = releaseDate\n }\n\n const fileContent = Buffer.from(serializeToYaml(task.info, false, true))\n await outputFile(task.file, fileContent)\n await packager.emitArtifactCreated({\n file: task.file,\n fileContent,\n arch: null,\n packager: task.packager,\n target: null,\n publishConfig,\n })\n })\n}\n\n// backward compatibility - write json file\nasync function writeOldMacInfo(\n publishConfig: PublishConfiguration,\n outDir: string,\n dir: string,\n channel: string,\n createdFiles: Set<string>,\n version: string,\n packager: PlatformPackager<any>\n) {\n const isGitHub = publishConfig.provider === \"github\"\n const updateInfoFile = isGitHub && outDir === dir ? path.join(dir, \"github\", `${channel}-mac.json`) : path.join(dir, `${channel}-mac.json`)\n if (!createdFiles.has(updateInfoFile)) {\n createdFiles.add(updateInfoFile)\n await outputJson(\n updateInfoFile,\n {\n version,\n releaseDate: new Date().toISOString(),\n url: computeDownloadUrl(publishConfig, packager.generateName2(\"zip\", \"mac\", isGitHub), packager),\n },\n { spaces: 2 }\n )\n\n await packager.info.emitArtifactCreated({\n file: updateInfoFile,\n arch: null,\n packager,\n target: null,\n publishConfig,\n })\n }\n}\n"]}
|
|
@@ -39,7 +39,7 @@ class ArchiveTarget extends core_1.Target {
|
|
|
39
39
|
});
|
|
40
40
|
let updateInfo = null;
|
|
41
41
|
if (format.startsWith("tar.")) {
|
|
42
|
-
await (0, archive_1.tar)(packager.compression, format, artifactPath, appOutDir, isMac, packager.info.tempDirManager);
|
|
42
|
+
await (0, archive_1.tar)({ compression: packager.compression, format, outFile: artifactPath, dirToArchive: appOutDir, isMacApp: isMac, tempDirManager: packager.info.tempDirManager });
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
45
|
let withoutDir = !isMac;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArchiveTarget.js","sourceRoot":"","sources":["../../src/targets/ArchiveTarget.ts"],"names":[],"mappings":";;;AAAA,+CAA0D;AAC1D,6BAA4B;AAC5B,kCAAiE;AACjE,gDAA2D;AAE3D,uCAAwC;AACxC,mFAAgF;AAEhF,MAAa,aAAc,SAAQ,aAAM;IAGvC,YACE,IAAY,EACH,MAAc,EACN,QAA+B,EAC/B,oBAAoB,KAAK;QAE1C,KAAK,CAAC,IAAI,CAAC,CAAA;QAJF,WAAM,GAAN,MAAM,CAAQ;QACN,aAAQ,GAAR,QAAQ,CAAuB;QAC/B,sBAAiB,GAAjB,iBAAiB,CAAQ;QANnC,YAAO,GAA2B,IAAI,CAAC,QAAQ,CAAC,MAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IASlF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,IAAU;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,KAAK,eAAQ,CAAC,GAAG,CAAA;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAA;QAExB,IAAI,cAAsB,CAAA;QAC1B,MAAM,WAAW,GAAS,IAAA,oCAAqB,EAAC,QAAQ,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAA;QAClG,IAAI,QAAQ,CAAC,QAAQ,KAAK,eAAQ,CAAC,KAAK,EAAE,CAAC;YACzC,uDAAuD;YACvD,cAAc,GAAG,oBAAoB,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;QAC9F,CAAC;aAAM,CAAC;YACN,uDAAuD;YACvD,cAAc,GAAG,2BAA2B,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,eAAe,CAAA;QAC3G,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAA;YAC1G,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;YAEzD,MAAM,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC;gBAC3C,qBAAqB,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE;gBAC1D,IAAI,EAAE,YAAY;gBAClB,IAAI;aACL,CAAC,CAAA;YACF,IAAI,UAAU,GAAQ,IAAI,CAAA;YAC1B,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAA,aAAG,EAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ArchiveTarget.js","sourceRoot":"","sources":["../../src/targets/ArchiveTarget.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, defaultArchFromString } from \"builder-util\"\nimport * as path from \"path\"\nimport { Platform, Target, TargetSpecificOptions } from \"../core\"\nimport { copyFiles, getFileMatchers } from \"../fileMatcher\"\nimport { PlatformPackager } from \"../platformPackager\"\nimport { archive, tar } from \"./archive\"\nimport { appendBlockmap, createBlockmap } from \"./differentialUpdateInfoBuilder\"\n\nexport class ArchiveTarget extends Target {\n readonly options: TargetSpecificOptions = (this.packager.config as any)[this.name]\n\n constructor(\n name: string,\n readonly outDir: string,\n private readonly packager: PlatformPackager<any>,\n private readonly isWriteUpdateInfo = false\n ) {\n super(name)\n }\n\n async build(appOutDir: string, arch: Arch): Promise<any> {\n const packager = this.packager\n const isMac = packager.platform === Platform.MAC\n const format = this.name\n\n let defaultPattern: string\n const defaultArch: Arch = defaultArchFromString(packager.platformSpecificBuildOptions.defaultArch)\n if (packager.platform === Platform.LINUX) {\n // tslint:disable-next-line:no-invalid-template-strings\n defaultPattern = \"${name}-${version}\" + (arch === defaultArch ? \"\" : \"-${arch}\") + \".${ext}\"\n } else {\n // tslint:disable-next-line:no-invalid-template-strings\n defaultPattern = \"${productName}-${version}\" + (arch === defaultArch ? \"\" : \"-${arch}\") + \"-${os}.${ext}\"\n }\n\n this.buildQueueManager.add(async () => {\n const artifactName = packager.expandArtifactNamePattern(this.options, format, arch, defaultPattern, false)\n const artifactPath = path.join(this.outDir, artifactName)\n\n await packager.info.emitArtifactBuildStarted({\n targetPresentableName: `${isMac ? \"macOS \" : \"\"}${format}`,\n file: artifactPath,\n arch,\n })\n let updateInfo: any = null\n if (format.startsWith(\"tar.\")) {\n await tar({ compression: packager.compression, format, outFile: artifactPath, dirToArchive: appOutDir, isMacApp: isMac, tempDirManager: packager.info.tempDirManager })\n } else {\n let withoutDir = !isMac\n let dirToArchive = appOutDir\n if (isMac) {\n dirToArchive = path.dirname(appOutDir)\n const fileMatchers = getFileMatchers(\n packager.config,\n \"extraDistFiles\",\n dirToArchive,\n packager.createGetFileMatchersOptions(this.outDir, arch, packager.platformSpecificBuildOptions)\n )\n if (fileMatchers == null) {\n dirToArchive = appOutDir\n } else {\n await copyFiles(fileMatchers, null, true)\n withoutDir = true\n }\n }\n\n const archiveOptions = {\n compression: packager.compression,\n withoutDir,\n }\n await archive(format, artifactPath, dirToArchive, archiveOptions)\n\n if (this.isWriteUpdateInfo && format === \"zip\") {\n if (isMac) {\n updateInfo = await createBlockmap(artifactPath, this, packager, artifactName)\n } else {\n updateInfo = await appendBlockmap(artifactPath)\n }\n }\n }\n\n await packager.info.emitArtifactBuildCompleted({\n updateInfo,\n file: artifactPath,\n // tslint:disable-next-line:no-invalid-template-strings\n safeArtifactName: packager.computeSafeArtifactName(\n artifactName,\n format,\n arch,\n false,\n packager.platformSpecificBuildOptions.defaultArch,\n defaultPattern.replace(\"${productName}\", \"${name}\")\n ),\n target: this,\n arch,\n packager,\n isWriteUpdateInfo: this.isWriteUpdateInfo,\n })\n })\n return Promise.resolve()\n }\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CommonLinuxOptions } from "../options/linuxOptions";
|
|
2
2
|
import { LinuxPackager } from "../linuxPackager";
|
|
3
3
|
import { IconInfo } from "../platformPackager";
|
|
4
|
+
import { SnapCore } from "./snap/SnapTarget";
|
|
4
5
|
export declare const installPrefix = "/opt";
|
|
5
6
|
export declare class LinuxTargetHelper {
|
|
6
7
|
private packager;
|
|
@@ -10,6 +11,8 @@ export declare class LinuxTargetHelper {
|
|
|
10
11
|
constructor(packager: LinuxPackager);
|
|
11
12
|
get icons(): Promise<Array<IconInfo>>;
|
|
12
13
|
get mimeTypeFiles(): Promise<string | null>;
|
|
14
|
+
getSnapCore(): SnapCore<any>;
|
|
15
|
+
isElectronVersionGreaterOrEqualThan(version: string, fallback?: string): boolean;
|
|
13
16
|
private computeMimeTypeFiles;
|
|
14
17
|
private computeDesktopIcons;
|
|
15
18
|
getDescription(options: CommonLinuxOptions): string;
|
|
@@ -5,6 +5,19 @@ const builder_util_1 = require("builder-util");
|
|
|
5
5
|
const fs_extra_1 = require("fs-extra");
|
|
6
6
|
const lazy_val_1 = require("lazy-val");
|
|
7
7
|
const path_1 = require("path");
|
|
8
|
+
const semver = require("semver");
|
|
9
|
+
const core24_1 = require("./snap/core24");
|
|
10
|
+
const coreCustom_1 = require("./snap/coreCustom");
|
|
11
|
+
const coreLegacy_1 = require("./snap/coreLegacy");
|
|
12
|
+
function mapLinuxCompressionToSnap(level) {
|
|
13
|
+
if (level === "store") {
|
|
14
|
+
return "lzo";
|
|
15
|
+
}
|
|
16
|
+
if (level === "maximum") {
|
|
17
|
+
return "xz";
|
|
18
|
+
}
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
8
21
|
exports.installPrefix = "/opt";
|
|
9
22
|
class LinuxTargetHelper {
|
|
10
23
|
constructor(packager) {
|
|
@@ -19,6 +32,61 @@ class LinuxTargetHelper {
|
|
|
19
32
|
get mimeTypeFiles() {
|
|
20
33
|
return this.mimeTypeFilesPromise.value;
|
|
21
34
|
}
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
getSnapCore() {
|
|
37
|
+
const { snapcraft, snap: legacySnap } = this.packager.config;
|
|
38
|
+
if (snapcraft != null && legacySnap != null) {
|
|
39
|
+
builder_util_1.log.warn("Both `snapcraft` and `snap` configurations are present. `snapcraft` takes precedence; please remove the `snap` key to silence this warning.");
|
|
40
|
+
}
|
|
41
|
+
// Merge linux-level options (category, description, mimeTypes, etc.) as the base so they
|
|
42
|
+
// propagate into the generated snapcraft.yaml and .desktop file without requiring users to
|
|
43
|
+
// duplicate them under core24/core18/etc. Per-core options always win for conflicts.
|
|
44
|
+
// linux.compression is a CompressionLevel ("store"/"normal"/"maximum"); snap compression is an
|
|
45
|
+
// algorithm ("xz"/"lzo"). Map the level to the nearest algorithm; per-core options override.
|
|
46
|
+
const { compression: linuxCompression, ...linuxOptions } = this.packager.platformSpecificBuildOptions;
|
|
47
|
+
const snapLinuxOptions = { ...linuxOptions, compression: mapLinuxCompressionToSnap(linuxCompression) };
|
|
48
|
+
if (snapcraft != null) {
|
|
49
|
+
const core = snapcraft.base;
|
|
50
|
+
const options = snapcraft[core] || {};
|
|
51
|
+
switch (core) {
|
|
52
|
+
case "core18":
|
|
53
|
+
case "core20":
|
|
54
|
+
case "core22":
|
|
55
|
+
if (!this.isElectronVersionGreaterOrEqualThan("4.0.0")) {
|
|
56
|
+
if (!this.isElectronVersionGreaterOrEqualThan("2.0.0-beta.1")) {
|
|
57
|
+
throw new builder_util_1.InvalidConfigurationError("Electron 2 and higher is required to build Snap with core18/core20/core22");
|
|
58
|
+
}
|
|
59
|
+
builder_util_1.log.warn(null, "electron 4 and higher is highly recommended for Snap with core18/core20/core22");
|
|
60
|
+
}
|
|
61
|
+
return new coreLegacy_1.SnapCoreLegacy(this.packager, this, (0, builder_util_1.deepAssign)({}, snapLinuxOptions, { base: core, ...options }));
|
|
62
|
+
case "core24":
|
|
63
|
+
if (!this.isElectronVersionGreaterOrEqualThan("28.0.0")) {
|
|
64
|
+
if (!this.isElectronVersionGreaterOrEqualThan("25.0.0")) {
|
|
65
|
+
throw new builder_util_1.InvalidConfigurationError("Electron 25 and higher is required to build Snap with core24");
|
|
66
|
+
}
|
|
67
|
+
builder_util_1.log.warn(null, "electron 28 and higher is highly recommended for Snap with core24");
|
|
68
|
+
}
|
|
69
|
+
return new core24_1.SnapCore24(this.packager, this, (0, builder_util_1.deepAssign)({}, snapLinuxOptions, options));
|
|
70
|
+
case "custom":
|
|
71
|
+
// Pass-through: do not inject linux options into user-supplied yaml
|
|
72
|
+
return new coreCustom_1.SnapCoreCustom(this.packager, this, snapcraft.custom || {});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (legacySnap != null) {
|
|
76
|
+
builder_util_1.log.warn({
|
|
77
|
+
reason: "`snap` configuration is deprecated",
|
|
78
|
+
docs: "https://www.electron.build/snapcraft",
|
|
79
|
+
}, "please consider migrating `snap` configuration to `snapcraft.<core>` and remove `snap` configuration");
|
|
80
|
+
}
|
|
81
|
+
return new coreLegacy_1.SnapCoreLegacy(this.packager, this, (0, builder_util_1.deepAssign)({}, snapLinuxOptions, legacySnap !== null && legacySnap !== void 0 ? legacySnap : {}));
|
|
82
|
+
}
|
|
83
|
+
isElectronVersionGreaterOrEqualThan(version, fallback) {
|
|
84
|
+
const electronVersion = this.packager.config.electronVersion;
|
|
85
|
+
if (!electronVersion) {
|
|
86
|
+
return fallback ? semver.gte(fallback, version) : true;
|
|
87
|
+
}
|
|
88
|
+
return semver.gte(electronVersion, version);
|
|
89
|
+
}
|
|
22
90
|
async computeMimeTypeFiles() {
|
|
23
91
|
const items = [];
|
|
24
92
|
for (const fileAssociation of this.packager.fileAssociations) {
|