app-builder-lib 21.1.6 → 22.2.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/electron-osx-sign/util-provisioning-profiles.js +17 -5
- package/out/appInfo.d.ts +10 -10
- package/out/asar/asar.js +3 -1
- package/out/asar/asar.js.map +1 -1
- package/out/asar/asarUtil.js +3 -1
- package/out/asar/asarUtil.js.map +1 -1
- package/out/asar/integrity.js +3 -1
- package/out/asar/integrity.js.map +1 -1
- package/out/asar/unpackDetector.js +3 -1
- package/out/asar/unpackDetector.js.map +1 -1
- package/out/codeSign/codesign.js +3 -1
- package/out/codeSign/codesign.js.map +1 -1
- package/out/codeSign/macCodeSign.js +3 -1
- package/out/codeSign/macCodeSign.js.map +1 -1
- package/out/codeSign/windowsCodeSign.js +7 -5
- package/out/codeSign/windowsCodeSign.js.map +1 -1
- package/out/electron/ElectronFramework.d.ts +1 -1
- package/out/electron/ElectronFramework.js +3 -1
- package/out/electron/ElectronFramework.js.map +1 -1
- package/out/electron/electronMac.js +52 -8
- package/out/electron/electronMac.js.map +1 -1
- package/out/electron/electronVersion.js +3 -1
- package/out/electron/electronVersion.js.map +1 -1
- package/out/fileMatcher.js +3 -1
- package/out/fileMatcher.js.map +1 -1
- package/out/fileTransformer.js +3 -1
- package/out/fileTransformer.js.map +1 -1
- package/out/forge-maker.js +3 -1
- package/out/forge-maker.js.map +1 -1
- package/out/frameworks/LibUiFramework.js +3 -1
- package/out/frameworks/LibUiFramework.js.map +1 -1
- package/out/linuxPackager.d.ts +1 -1
- package/out/macPackager.d.ts +2 -1
- package/out/macPackager.js +18 -8
- package/out/macPackager.js.map +1 -1
- package/out/options/SnapOptions.d.ts +5 -0
- package/out/options/linuxOptions.d.ts +4 -0
- package/out/options/pkgOptions.d.ts +4 -0
- package/out/packager.d.ts +11 -11
- package/out/packager.js +5 -3
- package/out/packager.js.map +1 -1
- package/out/platformPackager.d.ts +10 -10
- package/out/platformPackager.js +3 -1
- package/out/platformPackager.js.map +1 -1
- package/out/presets/rectCra.js +3 -1
- package/out/presets/rectCra.js.map +1 -1
- package/out/publish/PublishManager.d.ts +2 -0
- package/out/publish/PublishManager.js +5 -3
- package/out/publish/PublishManager.js.map +1 -1
- package/out/publish/SnapStorePublisher.js +3 -1
- package/out/publish/SnapStorePublisher.js.map +1 -1
- package/out/publish/s3/BaseS3Publisher.js +3 -1
- package/out/publish/s3/BaseS3Publisher.js.map +1 -1
- package/out/publish/updateInfoBuilder.js +4 -2
- package/out/publish/updateInfoBuilder.js.map +1 -1
- package/out/remoteBuilder/ProjectInfoManager.js +3 -1
- package/out/remoteBuilder/ProjectInfoManager.js.map +1 -1
- package/out/remoteBuilder/RemoteBuilder.js +4 -2
- package/out/remoteBuilder/RemoteBuilder.js.map +1 -1
- package/out/remoteBuilder/builder-cli.js +4 -2
- package/out/remoteBuilder/builder-cli.js.map +1 -1
- package/out/targets/AppImageTarget.js +4 -2
- package/out/targets/AppImageTarget.js.map +1 -1
- package/out/targets/AppxTarget.js +19 -3
- package/out/targets/AppxTarget.js.map +1 -1
- package/out/targets/ArchiveTarget.js +3 -1
- package/out/targets/ArchiveTarget.js.map +1 -1
- package/out/targets/LinuxTargetHelper.d.ts +2 -2
- package/out/targets/LinuxTargetHelper.js +8 -2
- package/out/targets/LinuxTargetHelper.js.map +1 -1
- package/out/targets/MsiTarget.js +5 -3
- package/out/targets/MsiTarget.js.map +1 -1
- package/out/targets/archive.js +3 -1
- package/out/targets/archive.js.map +1 -1
- package/out/targets/differentialUpdateInfoBuilder.js +4 -2
- package/out/targets/differentialUpdateInfoBuilder.js.map +1 -1
- package/out/targets/fpm.js +5 -3
- package/out/targets/fpm.js.map +1 -1
- package/out/targets/nsis/NsisTarget.d.ts +5 -5
- package/out/targets/nsis/NsisTarget.js +24 -11
- package/out/targets/nsis/NsisTarget.js.map +1 -1
- package/out/targets/nsis/WebInstallerTarget.d.ts +2 -2
- package/out/targets/nsis/nsisLang.js +3 -1
- package/out/targets/nsis/nsisLang.js.map +1 -1
- package/out/targets/nsis/nsisLicense.js +3 -1
- package/out/targets/nsis/nsisLicense.js.map +1 -1
- package/out/targets/nsis/nsisOptions.d.ts +4 -0
- package/out/targets/nsis/nsisUtil.d.ts +3 -0
- package/out/targets/nsis/nsisUtil.js +195 -4
- package/out/targets/nsis/nsisUtil.js.map +1 -1
- package/out/targets/pkg.js +15 -2
- package/out/targets/pkg.js.map +1 -1
- package/out/targets/snap.js +10 -3
- package/out/targets/snap.js.map +1 -1
- package/out/targets/targetFactory.d.ts +1 -1
- package/out/targets/targetUtil.js +3 -1
- package/out/targets/targetUtil.js.map +1 -1
- package/out/util/AppFileWalker.js +3 -1
- package/out/util/AppFileWalker.js.map +1 -1
- package/out/util/NodeModuleCopyHelper.js +3 -1
- package/out/util/NodeModuleCopyHelper.js.map +1 -1
- package/out/util/appBuilder.js +1 -1
- package/out/util/appBuilder.js.map +1 -1
- package/out/util/appFileCopier.js +15 -18
- package/out/util/appFileCopier.js.map +1 -1
- package/out/util/bundledTool.js +1 -1
- package/out/util/bundledTool.js.map +1 -1
- package/out/util/cacheManager.js +3 -1
- package/out/util/cacheManager.js.map +1 -1
- package/out/util/config.js +4 -2
- package/out/util/config.js.map +1 -1
- package/out/util/filter.js +3 -1
- package/out/util/filter.js.map +1 -1
- package/out/util/hash.js +1 -1
- package/out/util/hash.js.map +1 -1
- package/out/util/license.js +3 -1
- package/out/util/license.js.map +1 -1
- package/out/util/macosVersion.js +3 -1
- package/out/util/macosVersion.js.map +1 -1
- package/out/util/packageMetadata.js +3 -1
- package/out/util/packageMetadata.js.map +1 -1
- package/out/util/pathManager.js +3 -1
- package/out/util/pathManager.js.map +1 -1
- package/out/util/repositoryInfo.js +3 -1
- package/out/util/repositoryInfo.js.map +1 -1
- package/out/util/yarn.js +14 -4
- package/out/util/yarn.js.map +1 -1
- package/out/vm/WineVm.js +3 -1
- package/out/vm/WineVm.js.map +1 -1
- package/out/vm/vm.d.ts +1 -1
- package/out/vm/vm.js +3 -1
- package/out/vm/vm.js.map +1 -1
- package/out/winPackager.d.ts +2 -2
- package/out/winPackager.js +4 -2
- package/out/winPackager.js.map +1 -1
- package/package.json +9 -9
- package/scheme.json +155 -1
- package/templates/linux/after-install.tpl +4 -1
- package/templates/nsis/assistedInstaller.nsh +6 -0
- package/templates/nsis/common.nsh +16 -7
- package/templates/nsis/include/extractAppPackage.nsh +46 -12
- package/templates/nsis/include/installer.nsh +43 -28
- package/templates/nsis/include/webPackage.nsh +19 -7
- package/templates/nsis/messages.yml +1 -1
- package/templates/nsis/multiUser.nsh +1 -1
- package/templates/nsis/portable.nsi +48 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/publish/PublishManager.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { Arch, asArray, AsyncTaskManager, InvalidConfigurationError, isEmptyOrSpaces, isPullRequest, log, safeStringifyJson, serializeToYaml } from \"builder-util\"\nimport { BintrayOptions, CancellationToken, GenericServerOptions, getS3LikeProviderBaseUrl, GithubOptions, githubUrl, PublishConfiguration, PublishProvider } from \"builder-util-runtime\"\nimport _debug from \"debug\"\nimport { getCiTag, PublishContext, Publisher, PublishOptions, UploadTask } from \"electron-publish\"\nimport { BintrayPublisher } from \"./BintrayPublisher\"\nimport { GitHubPublisher } from \"electron-publish/out/gitHubPublisher\"\nimport { MultiProgress } from \"electron-publish/out/multiProgress\"\nimport S3Publisher from \"./s3/s3Publisher\"\nimport SpacesPublisher from \"./s3/spacesPublisher\"\nimport { writeFile } from \"fs-extra\"\nimport isCi from \"is-ci\"\nimport * as path from \"path\"\nimport { WriteStream as TtyWriteStream } from \"tty\"\nimport * as url from \"url\"\nimport { AppInfo, ArtifactCreated, Configuration, Platform, PlatformSpecificBuildOptions, Target } from \"../index\"\nimport { Packager } from \"../packager\"\nimport { PlatformPackager } from \"../platformPackager\"\nimport { expandMacro } from \"../util/macroExpander\"\nimport { WinPackager } from \"../winPackager\"\nimport { SnapStoreOptions, SnapStorePublisher } from \"./SnapStorePublisher\"\nimport { createUpdateInfoTasks, UpdateInfoFileTask, writeUpdateInfoFiles } from \"./updateInfoBuilder\"\n\nconst publishForPrWarning = \"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(`Expected one of \"onTag\", \"onTagOrDraft\", \"always\", \"never\", but got ${JSON.stringify(publishPolicy)}.\\nPlease note that publish configuration should be specified under \"config\"`)\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(private readonly packager: Packager, private readonly publishOptions: PublishOptions, readonly cancellationToken: CancellationToken = packager.cancellationToken) {\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 publishOptions.publish = \"always\"\n }\n else {\n const tag = getCiTag()\n if (tag != null) {\n log.info({reason: \"tag is defined\", tag}, \"artifacts will be published\")\n publishOptions.publish = \"onTag\"\n }\n else if (isCi) {\n log.info({reason: \"CI detected\"}, \"artifacts will be published if draft release exists\")\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 }\n else if (publishOptions.publish !== \"never\") {\n log.info({\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 }, \"publishing will be skipped\")\n }\n\n packager.addAfterPackHandler(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 }\n else if (packager.platform === Platform.WINDOWS) {\n if (!event.targets.some(it => isSuitableWindowsTarget(it))) {\n return\n }\n }\n else {\n // AppImage writes data to AppImage stage dir, not to linux-unpacked\n return\n }\n\n const publishConfig = await getAppUpdatePublishConfiguration(packager, 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.artifactCreated(event => {\n const publishConfiguration = event.publishConfig\n if (publishConfiguration == null) {\n this.taskManager.addTask(this.artifactCreatedWithoutExplicitPublishConfig(event))\n }\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 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 /** @internal */\n scheduleUpload(publishConfig: PublishConfiguration, event: UploadTask, appInfo: AppInfo): void {\n if (publishConfig.provider === \"generic\") {\n return\n }\n\n const publisher = this.getOrCreatePublisher(publishConfig, appInfo)\n if (publisher == null) {\n log.debug({\n file: event.file,\n reason: \"publisher is null\",\n publishConfig: safeStringifyJson(publishConfig),\n }, \"not published\")\n return\n }\n\n const providerName = publisher.providerName\n if (this.publishOptions.publish === \"onTagOrDraft\" && getCiTag() == null && !(providerName === \"GitHub\" || providerName === \"Bintray\")) {\n log.info({file: event.file, reason: \"current build is not for a git tag\", publishPolicy: \"onTagOrDraft\"}, `not published to ${providerName}`)\n return\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 this.scheduleUpload(publishConfig, event, this.getAppInfo(platformPackager))\n }\n }\n\n if (event.isWriteUpdateInfo && target != null && eventFile != null &&\n !this.cancellationToken.cancelled &&\n (platformPackager.platform !== Platform.WINDOWS || isSuitableWindowsTarget(target))) {\n this.taskManager.addTask(createUpdateInfoTasks(event, publishConfigs).then(it => this.updateFileWriteTask.push(...it)))\n }\n }\n\n private getOrCreatePublisher(publishConfig: PublishConfiguration, appInfo: AppInfo): 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 = 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(packager: PlatformPackager<any>, arch: Arch, errorIfCannot: boolean) {\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 winPackager.computedPublisherName.value : undefined\n if (publisherName != null) {\n publishConfig.publisherName = publisherName\n }\n }\n return publishConfig\n}\n\nexport async function getPublishConfigsForUpdateInfo(packager: PlatformPackager<any>, publishConfigs: Array<PublishConfiguration> | null, arch: Arch | null): 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\nexport function createPublisher(context: PublishContext, version: string, publishConfig: PublishConfiguration, options: PublishOptions, packager: Packager): 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 return new GitHubPublisher(context, publishConfig as GithubOptions, version, options)\n\n case \"bintray\":\n return new BintrayPublisher(context, publishConfig as BintrayOptions, version, options)\n\n case \"generic\":\n return null\n\n case \"snapStore\":\n return new SnapStorePublisher(context, publishConfig as SnapStoreOptions)\n\n default:\n const clazz = requireProviderClass(provider, packager)\n return clazz == null ? null : new clazz(context, publishConfig)\n }\n}\n\nfunction requireProviderClass(provider: string, packager: Packager): any | null {\n switch (provider) {\n case \"github\":\n return GitHubPublisher\n\n case \"bintray\":\n return BintrayPublisher\n\n case \"generic\":\n return null\n\n case \"s3\":\n return S3Publisher\n\n case \"snapStore\":\n return SnapStorePublisher\n\n case \"spaces\":\n return SpacesPublisher\n\n default:\n const name = `electron-publisher-${provider}`\n let module: any = null\n try {\n module = require(path.join(packager.buildResourcesDir, name + \".js\"))\n }\n catch (ignored) {\n console.log(ignored)\n }\n\n if (module == null) {\n module = require(name)\n }\n return module.default || module\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 = url.parse(baseUrlString)\n return url.format({...baseUrl as url.UrlObject, 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/${gh.vPrefixedTagName === false ? \"\" : \"v\"}${packager.appInfo.version}`\n }\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(platformPackager: PlatformPackager<any>, targetSpecificOptions: PlatformSpecificBuildOptions | null | undefined, arch: Arch | null, errorIfCannot: boolean): 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(publishers: any, platformPackager: PlatformPackager<any> | null, packager: Packager, arch: Arch | null, errorIfCannot: boolean): 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 }\n else if (!isEmptyOrSpaces(process.env.BT_TOKEN)) {\n serviceName = \"bintray\"\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 (BluebirdPromise.map(asArray(publishers), it => getResolvedPublishConfig(platformPackager, packager, typeof it === \"string\" ? {provider: it} : it, arch, errorIfCannot)) as Promise<Array<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(platformPackager: PlatformPackager<any> | null, packager: Packager, options: PublishConfiguration, arch: Arch | null, errorIfCannot: boolean): Promise<PublishConfiguration | GithubOptions | BintrayOptions | null> {\n options = {...options}\n expandPublishConfig(options, platformPackager, packager, arch)\n\n let channelFromAppVersion: string | null = null\n if ((options as GenericServerOptions).channel == null && isDetectUpdateChannel(platformPackager == null ? null : platformPackager.platformSpecificBuildOptions, packager.config)) {\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 = requireProviderClass(options.provider, packager)\n if (providerClass != null && providerClass.checkAndResolveOptions != null) {\n await providerClass.checkAndResolveOptions(options, channelFromAppVersion, errorIfCannot)\n return options\n }\n\n const isGithub = provider === \"github\"\n if (!isGithub && provider !== \"bintray\") {\n return options\n }\n\n let owner = isGithub ? (options as GithubOptions).owner : (options as BintrayOptions).owner\n let project = isGithub ? (options as GithubOptions).repo : (options as BintrayOptions).package\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/configuration/publish`\n if (errorIfCannot) {\n throw new Error(message)\n }\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 }\n else {\n //tslint:disable-next-line:no-object-literal-type-assertion\n return {owner, package: project, ...options} as BintrayOptions\n }\n}"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../../src/publish/PublishManager.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { Arch, asArray, AsyncTaskManager, InvalidConfigurationError, isEmptyOrSpaces, isPullRequest, log, safeStringifyJson, serializeToYaml } from \"builder-util\"\nimport { BintrayOptions, CancellationToken, GenericServerOptions, getS3LikeProviderBaseUrl, GithubOptions, githubUrl, PublishConfiguration, PublishProvider } from \"builder-util-runtime\"\nimport _debug from \"debug\"\nimport { getCiTag, PublishContext, Publisher, PublishOptions, UploadTask } from \"electron-publish\"\nimport { BintrayPublisher } from \"./BintrayPublisher\"\nimport { GitHubPublisher } from \"electron-publish/out/gitHubPublisher\"\nimport { MultiProgress } from \"electron-publish/out/multiProgress\"\nimport S3Publisher from \"./s3/s3Publisher\"\nimport SpacesPublisher from \"./s3/spacesPublisher\"\nimport { writeFile } from \"fs-extra\"\nimport isCi from \"is-ci\"\nimport * as path from \"path\"\nimport { WriteStream as TtyWriteStream } from \"tty\"\nimport * as url from \"url\"\nimport { AppInfo, ArtifactCreated, Configuration, Platform, PlatformSpecificBuildOptions, Target } from \"../index\"\nimport { Packager } from \"../packager\"\nimport { PlatformPackager } from \"../platformPackager\"\nimport { expandMacro } from \"../util/macroExpander\"\nimport { WinPackager } from \"../winPackager\"\nimport { SnapStoreOptions, SnapStorePublisher } from \"./SnapStorePublisher\"\nimport { createUpdateInfoTasks, UpdateInfoFileTask, writeUpdateInfoFiles } from \"./updateInfoBuilder\"\n\nconst publishForPrWarning = \"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(`Expected one of \"onTag\", \"onTagOrDraft\", \"always\", \"never\", but got ${JSON.stringify(publishPolicy)}.\\nPlease note that publish configuration should be specified under \"config\"`)\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(private readonly packager: Packager, private readonly publishOptions: PublishOptions, readonly cancellationToken: CancellationToken = packager.cancellationToken) {\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 publishOptions.publish = \"always\"\n }\n else {\n const tag = getCiTag()\n if (tag != null) {\n log.info({reason: \"tag is defined\", tag}, \"artifacts will be published\")\n publishOptions.publish = \"onTag\"\n }\n else if (isCi) {\n log.info({reason: \"CI detected\"}, \"artifacts will be published if draft release exists\")\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 }\n else if (publishOptions.publish !== \"never\") {\n log.info({\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 }, \"publishing will be skipped\")\n }\n\n packager.addAfterPackHandler(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 }\n else if (packager.platform === Platform.WINDOWS) {\n if (!event.targets.some(it => isSuitableWindowsTarget(it))) {\n return\n }\n }\n else {\n // AppImage writes data to AppImage stage dir, not to linux-unpacked\n return\n }\n\n const publishConfig = await getAppUpdatePublishConfiguration(packager, 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.artifactCreated(event => {\n const publishConfiguration = event.publishConfig\n if (publishConfiguration == null) {\n this.taskManager.addTask(this.artifactCreatedWithoutExplicitPublishConfig(event))\n }\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 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 /** @internal */\n scheduleUpload(publishConfig: PublishConfiguration, event: UploadTask, appInfo: AppInfo): void {\n if (publishConfig.provider === \"generic\") {\n return\n }\n\n const publisher = this.getOrCreatePublisher(publishConfig, appInfo)\n if (publisher == null) {\n log.debug({\n file: event.file,\n reason: \"publisher is null\",\n publishConfig: safeStringifyJson(publishConfig),\n }, \"not published\")\n return\n }\n\n const providerName = publisher.providerName\n if (this.publishOptions.publish === \"onTagOrDraft\" && getCiTag() == null && !(providerName === \"GitHub\" || providerName === \"Bintray\")) {\n log.info({file: event.file, reason: \"current build is not for a git tag\", publishPolicy: \"onTagOrDraft\"}, `not published to ${providerName}`)\n return\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 this.scheduleUpload(publishConfig, event, this.getAppInfo(platformPackager))\n }\n }\n\n if (event.isWriteUpdateInfo && target != null && eventFile != null &&\n !this.cancellationToken.cancelled &&\n (platformPackager.platform !== Platform.WINDOWS || isSuitableWindowsTarget(target))) {\n this.taskManager.addTask(createUpdateInfoTasks(event, publishConfigs).then(it => this.updateFileWriteTask.push(...it)))\n }\n }\n\n private getOrCreatePublisher(publishConfig: PublishConfiguration, appInfo: AppInfo): 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 = 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(packager: PlatformPackager<any>, arch: Arch, errorIfCannot: boolean) {\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 winPackager.computedPublisherName.value : undefined\n if (publisherName != null) {\n publishConfig.publisherName = publisherName\n }\n }\n return publishConfig\n}\n\nexport async function getPublishConfigsForUpdateInfo(packager: PlatformPackager<any>, publishConfigs: Array<PublishConfiguration> | null, arch: Arch | null): 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\nexport function createPublisher(context: PublishContext, version: string, publishConfig: PublishConfiguration, options: PublishOptions, packager: Packager): 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 return new GitHubPublisher(context, publishConfig as GithubOptions, version, options)\n\n case \"bintray\":\n return new BintrayPublisher(context, publishConfig as BintrayOptions, version, options)\n\n case \"generic\":\n return null\n\n case \"snapStore\":\n return new SnapStorePublisher(context, publishConfig as SnapStoreOptions)\n\n default:\n const clazz = requireProviderClass(provider, packager)\n return clazz == null ? null : new clazz(context, publishConfig)\n }\n}\n\nfunction requireProviderClass(provider: string, packager: Packager): any | null {\n switch (provider) {\n case \"github\":\n return GitHubPublisher\n\n case \"bintray\":\n return BintrayPublisher\n\n case \"generic\":\n return null\n\n case \"s3\":\n return S3Publisher\n\n case \"snapStore\":\n return SnapStorePublisher\n\n case \"spaces\":\n return SpacesPublisher\n\n default:\n const name = `electron-publisher-${provider}`\n let module: any = null\n try {\n module = require(path.join(packager.buildResourcesDir, name + \".js\"))\n }\n catch (ignored) {\n console.log(ignored)\n }\n\n if (module == null) {\n module = require(name)\n }\n return module.default || module\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 = url.parse(baseUrlString)\n return url.format({...baseUrl as url.UrlObject, 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/${gh.vPrefixedTagName === false ? \"\" : \"v\"}${packager.appInfo.version}`\n }\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(platformPackager: PlatformPackager<any>, targetSpecificOptions: PlatformSpecificBuildOptions | null | undefined, arch: Arch | null, errorIfCannot: boolean): 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(publishers: any, platformPackager: PlatformPackager<any> | null, packager: Packager, arch: Arch | null, errorIfCannot: boolean): 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 }\n else if (!isEmptyOrSpaces(process.env.BT_TOKEN)) {\n serviceName = \"bintray\"\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 (BluebirdPromise.map(asArray(publishers), it => getResolvedPublishConfig(platformPackager, packager, typeof it === \"string\" ? {provider: it} : it, arch, errorIfCannot)) as Promise<Array<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(platformPackager: PlatformPackager<any> | null, packager: Packager, options: PublishConfiguration, arch: Arch | null, errorIfCannot: boolean): Promise<PublishConfiguration | GithubOptions | BintrayOptions | null> {\n options = {...options}\n expandPublishConfig(options, platformPackager, packager, arch)\n\n let channelFromAppVersion: string | null = null\n if ((options as GenericServerOptions).channel == null && isDetectUpdateChannel(platformPackager == null ? null : platformPackager.platformSpecificBuildOptions, packager.config)) {\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 = requireProviderClass(options.provider, packager)\n if (providerClass != null && providerClass.checkAndResolveOptions != null) {\n await providerClass.checkAndResolveOptions(options, channelFromAppVersion, errorIfCannot)\n return options\n }\n\n const isGithub = provider === \"github\"\n if (!isGithub && provider !== \"bintray\") {\n return options\n }\n\n let owner = isGithub ? (options as GithubOptions).owner : (options as BintrayOptions).owner\n let project = isGithub ? (options as GithubOptions).repo : (options as BintrayOptions).package\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/configuration/publish`\n if (errorIfCannot) {\n throw new Error(message)\n }\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 }\n else {\n //tslint:disable-next-line:no-object-literal-type-assertion\n return {owner, package: project, ...options} as BintrayOptions\n }\n}"],"sourceRoot":""}
|
|
@@ -27,7 +27,9 @@ function _builderUtil() {
|
|
|
27
27
|
|
|
28
28
|
var path = _interopRequireWildcard(require("path"));
|
|
29
29
|
|
|
30
|
-
function
|
|
30
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
31
|
+
|
|
32
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
33
|
|
|
32
34
|
class SnapStorePublisher extends _electronPublish().Publisher {
|
|
33
35
|
constructor(context, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/publish/SnapStorePublisher.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA
|
|
1
|
+
{"version":3,"sources":["../../src/publish/SnapStorePublisher.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;;;;;;AAGM,MAAO,kBAAP,SAAkC,4BAAlC,CAA2C;AAG/C,EAAA,WAAA,CAAY,OAAZ,EAA6C,OAA7C,EAAsE;AACpE,UAAM,OAAN;AAD2C,SAAA,OAAA,GAAA,OAAA;AAFpC,SAAA,YAAA,GAAe,WAAf;AAIR;;AAED,EAAA,MAAM,CAAC,IAAD,EAAiB;AACrB,SAAK,iBAAL,CAAuB,IAAI,CAAC,QAAL,CAAc,IAAI,CAAC,IAAnB,CAAvB,EAAiD,CAAC,CAAlD;AAEA,UAAM,IAAI,GAAG,CAAC,cAAD,EAAiB,IAAjB,EAAuB,IAAI,CAAC,IAA5B,CAAb;AAEA,QAAI,QAAQ,GAAG,KAAK,OAAL,CAAa,QAA5B;;AACA,QAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB,MAAA,QAAQ,GAAG,CAAC,MAAD,CAAX;AACD,KAFD,MAGK;AACH,UAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC;AAChC,QAAA,QAAQ,GAAG,QAAQ,CAAC,KAAT,CAAe,GAAf,CAAX;AACD;AACF;;AAED,SAAK,MAAM,OAAX,IAAsB,QAAtB,EAAgC;AAC9B,MAAA,IAAI,CAAC,IAAL,CAAU,IAAV,EAAgB,OAAhB;AACD;;AAED,WAAO,sCAAkB,IAAlB,CAAP;AACD;;AAED,EAAA,QAAQ,GAAA;AACN,WAAO,YAAP;AACD;;AA/B8C,C","sourcesContent":["import { Publisher, UploadTask, PublishContext } from \"electron-publish\"\nimport { executeAppBuilder } from \"builder-util\"\nimport * as path from \"path\"\nimport { PublishConfiguration } from \"builder-util-runtime\"\n\nexport class SnapStorePublisher extends Publisher {\n readonly providerName = \"snapStore\"\n\n constructor(context: PublishContext, private options: SnapStoreOptions) {\n super(context)\n }\n\n upload(task: UploadTask): Promise<any> {\n this.createProgressBar(path.basename(task.file), -1)\n\n const args = [\"publish-snap\", \"-f\", task.file]\n\n let channels = this.options.channels\n if (channels == null) {\n channels = [\"edge\"]\n }\n else {\n if (typeof channels === \"string\") {\n channels = channels.split(\",\")\n }\n }\n\n for (const channel of channels) {\n args.push(\"-c\", channel)\n }\n\n return executeAppBuilder(args)\n }\n\n toString(): string {\n return \"Snap Store\"\n }\n}\n\n/**\n * [Snap Store](https://snapcraft.io/) options.\n */\nexport interface SnapStoreOptions extends PublishConfiguration {\n /**\n * The list of channels the snap would be released.\n * @default [\"edge\"]\n */\n readonly channels?: string | Array<string> | null\n}"],"sourceRoot":""}
|
|
@@ -37,7 +37,9 @@ function _fsExtra() {
|
|
|
37
37
|
|
|
38
38
|
var path = _interopRequireWildcard(require("path"));
|
|
39
39
|
|
|
40
|
-
function
|
|
40
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
41
|
+
|
|
42
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
41
43
|
|
|
42
44
|
class BaseS3Publisher extends _electronPublish().Publisher {
|
|
43
45
|
constructor(context, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/publish/s3/BaseS3Publisher.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA
|
|
1
|
+
{"version":3,"sources":["../../../src/publish/s3/BaseS3Publisher.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;;;;;;AAEM,MAAgB,eAAhB,SAAwC,4BAAxC,CAAiD;AACrD,EAAA,WAAA,CAAsB,OAAtB,EAAuD,OAAvD,EAA6E;AAC3E,UAAM,OAAN;AADqD,SAAA,OAAA,GAAA,OAAA;AAEtD;;AAIS,EAAA,kBAAkB,CAAC,IAAD,EAAoB;AAC9C;AACA,QAAI,KAAK,OAAL,CAAa,GAAb,KAAqB,IAAzB,EAA+B;AAC7B,MAAA,IAAI,CAAC,IAAL,CAAU,OAAV,EAAmB,KAAK,OAAL,CAAa,GAAb,IAAoB,aAAvC;AACD;AACF,GAZoD,CAcrD;;;AACA,QAAM,MAAN,CAAa,IAAb,EAA6B;AAC3B,UAAM,QAAQ,GAAG,IAAI,CAAC,QAAL,CAAc,IAAI,CAAC,IAAnB,CAAjB;AACA,UAAM,iBAAiB,GAAG,KAAK,OAAL,CAAa,iBAAvC;AAEA,UAAM,MAAM,GAAG,CAAC,KAAK,OAAL,CAAa,IAAb,IAAqB,IAArB,GAA4B,EAA5B,GAAiC,GAAG,KAAK,OAAL,CAAa,IAAI,GAAtD,IAA6D,QAA5E;AAEA,UAAM,IAAI,GAAG,CAAC,YAAD,EAAe,UAAf,EAA2B,KAAK,aAAL,EAA3B,EAAiD,OAAjD,EAA0D,MAA1D,EAAkE,QAAlE,EAA4E,IAAI,CAAC,IAAjF,CAAb;AACA,SAAK,kBAAL,CAAwB,IAAxB;;AAEA,QAAI,OAAO,CAAC,GAAR,CAAY,qBAAZ,IAAqC,IAAzC,EAA+C;AAC7C,YAAM,QAAQ,GAAG,IAAI,CAAC,IAAL,CAAU,OAAO,CAAC,GAAR,CAAY,qBAAtB,EAA8C,MAA9C,CAAjB;AACA,YAAM,0BAAU,IAAI,CAAC,OAAL,CAAa,QAAb,CAAV,CAAN;AACA,YAAM,wBAAQ,IAAI,CAAC,IAAb,EAAmB,QAAnB,CAAN;AACA;AACD,KAd0B,CAgB3B;;;AACA,SAAK,iBAAL,CAAuB,QAAvB,EAAiC,CAAC,CAAlC,EAjB2B,CAkB3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAO,MAAM,iBAAiB,CAAC,aAAlB,CAAgC,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,KAA8B;AACzE,4CAAkB,IAAlB,EAAwB,OAAO,IAAG;AAChC,QAAA,QAAQ,CAAC,MAAK;AACZ,UAAA,OAAO,CAAC,IAAR,CAAa,QAAb;AACD,SAFO,CAAR;AAGD,OAJD,EAKG,IALH,CAKQ,MAAK;AACT,YAAI;AACF,6BAAI,KAAJ,CAAU;AAAC,YAAA,QAAQ,EAAE,KAAK,YAAhB;AAA8B,YAAA,IAAI,EAAE,QAApC;AAA8C,YAAA,MAAM,EAAE,KAAK,aAAL;AAAtD,WAAV,EAAuF,UAAvF;AACD,SAFD,SAGQ;AACN,UAAA,OAAO;AACR;AACF,OAZH,EAaG,KAbH,CAaS,MAbT;AAcD,KAfY,CAAb;AAgBD;;AAED,EAAA,QAAQ,GAAA;AACN,WAAO,GAAG,KAAK,YAAY,aAAa,KAAK,aAAL,EAAoB,GAA5D;AACD;;AA9DoD,C","sourcesContent":["import { log, executeAppBuilder } from \"builder-util\"\nimport { BaseS3Options } from \"builder-util-runtime\"\nimport { PublishContext, Publisher, UploadTask } from \"electron-publish\"\nimport { ensureDir, symlink } from \"fs-extra\"\nimport * as path from \"path\"\n\nexport abstract class BaseS3Publisher extends Publisher {\n protected constructor(context: PublishContext, private options: BaseS3Options) {\n super(context)\n }\n\n protected abstract getBucketName(): string\n\n protected configureS3Options(args: Array<string>) {\n // if explicitly set to null, do not add\n if (this.options.acl !== null) {\n args.push(\"--acl\", this.options.acl || \"public-read\")\n }\n }\n\n // http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-example-creating-buckets.html\n async upload(task: UploadTask): Promise<any> {\n const fileName = path.basename(task.file)\n const cancellationToken = this.context.cancellationToken\n\n const target = (this.options.path == null ? \"\" : `${this.options.path}/`) + fileName\n\n const args = [\"publish-s3\", \"--bucket\", this.getBucketName(), \"--key\", target, \"--file\", task.file]\n this.configureS3Options(args)\n\n if (process.env.__TEST_S3_PUBLISHER__ != null) {\n const testFile = path.join(process.env.__TEST_S3_PUBLISHER__!, target)\n await ensureDir(path.dirname(testFile))\n await symlink(task.file, testFile)\n return\n }\n\n // https://github.com/aws/aws-sdk-go/issues/279\n this.createProgressBar(fileName, -1)\n // if (progressBar != null) {\n // const callback = new ProgressCallback(progressBar)\n // uploader.on(\"progress\", () => {\n // if (!cancellationToken.cancelled) {\n // callback.update(uploader.loaded, uploader.contentLength)\n // }\n // })\n // }\n\n return await cancellationToken.createPromise((resolve, reject, onCancel) => {\n executeAppBuilder(args, process => {\n onCancel(() => {\n process.kill(\"SIGINT\")\n })\n })\n .then(() => {\n try {\n log.debug({provider: this.providerName, file: fileName, bucket: this.getBucketName()}, \"uploaded\")\n }\n finally {\n resolve()\n }\n })\n .catch(reject)\n })\n }\n\n toString() {\n return `${this.providerName} (bucket: ${this.getBucketName()})`\n }\n}\n"],"sourceRoot":""}
|
|
@@ -88,7 +88,9 @@ function _PublishManager() {
|
|
|
88
88
|
return data;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
function
|
|
91
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
92
|
+
|
|
93
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
92
94
|
|
|
93
95
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
94
96
|
|
|
@@ -206,7 +208,7 @@ async function createUpdateInfoTasks(event, _publishConfigs) {
|
|
|
206
208
|
if (event.safeArtifactName != null && publishConfiguration.provider === "github") {
|
|
207
209
|
const newFiles = info.files.slice();
|
|
208
210
|
newFiles[0].url = event.safeArtifactName;
|
|
209
|
-
info = Object.assign({}, info, {
|
|
211
|
+
info = Object.assign(Object.assign({}, info), {
|
|
210
212
|
files: newFiles,
|
|
211
213
|
path: event.safeArtifactName
|
|
212
214
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/publish/updateInfoBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\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 { ReleaseInfo } from \"..\"\nimport { Platform } from \"../core\"\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(releaseInfo.releaseNotesFile, `release-notes-${packager.platform.buildConfigurationKey}.md`, `release-notes-${packager.platform.name}.md`, `release-notes-${packager.platform.nodeName}.md`, \"release-notes.md\")\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 const isBintray = publishConfiguration.provider === \"bintray\"\n let dir = outDir\n // Bintray uses different variant of channel file info, better to generate it to a separate dir by always\n if (isBintray || (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, (isBintray ? `${version}_` : \"\") + 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 version,\n files,\n path: url /* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */,\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 await BluebirdPromise.map(updateChannelFileToInfo.values(), async task => {\n const publishConfig = task.publishConfiguration\n if (publishConfig.publishAutoUpdate === false) {\n log.debug({\n provider: publishConfig.provider,\n reason: \"publishAutoUpdate is set to false\"\n }, \"auto update metadata file not published\")\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 packager.dispatchArtifactCreated({\n file: task.file,\n fileContent,\n arch: null,\n packager: task.packager,\n target: null,\n publishConfig,\n })\n }, {concurrency: 4})\n}\n\n// backward compatibility - write json file\nasync function writeOldMacInfo(publishConfig: PublishConfiguration, outDir: string, dir: string, channel: string, createdFiles: Set<string>, version: string, packager: PlatformPackager<any>) {\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(updateInfoFile, {\n version,\n releaseDate: new Date().toISOString(),\n url: computeDownloadUrl(publishConfig, packager.generateName2(\"zip\", \"mac\", isGitHub), packager),\n }, {spaces: 2})\n\n packager.info.dispatchArtifactCreated({\n file: updateInfoFile,\n arch: null,\n packager,\n target: null,\n publishConfig,\n })\n }\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../../src/publish/updateInfoBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\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 { ReleaseInfo } from \"..\"\nimport { Platform } from \"../core\"\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(releaseInfo.releaseNotesFile, `release-notes-${packager.platform.buildConfigurationKey}.md`, `release-notes-${packager.platform.name}.md`, `release-notes-${packager.platform.nodeName}.md`, \"release-notes.md\")\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 const isBintray = publishConfiguration.provider === \"bintray\"\n let dir = outDir\n // Bintray uses different variant of channel file info, better to generate it to a separate dir by always\n if (isBintray || (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, (isBintray ? `${version}_` : \"\") + 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 version,\n files,\n path: url /* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */,\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 await BluebirdPromise.map(updateChannelFileToInfo.values(), async task => {\n const publishConfig = task.publishConfiguration\n if (publishConfig.publishAutoUpdate === false) {\n log.debug({\n provider: publishConfig.provider,\n reason: \"publishAutoUpdate is set to false\"\n }, \"auto update metadata file not published\")\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 packager.dispatchArtifactCreated({\n file: task.file,\n fileContent,\n arch: null,\n packager: task.packager,\n target: null,\n publishConfig,\n })\n }, {concurrency: 4})\n}\n\n// backward compatibility - write json file\nasync function writeOldMacInfo(publishConfig: PublishConfiguration, outDir: string, dir: string, channel: string, createdFiles: Set<string>, version: string, packager: PlatformPackager<any>) {\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(updateInfoFile, {\n version,\n releaseDate: new Date().toISOString(),\n url: computeDownloadUrl(publishConfig, packager.generateName2(\"zip\", \"mac\", isGitHub), packager),\n }, {spaces: 2})\n\n packager.info.dispatchArtifactCreated({\n file: updateInfoFile,\n arch: null,\n packager,\n target: null,\n publishConfig,\n })\n }\n}\n"],"sourceRoot":""}
|
|
@@ -27,7 +27,9 @@ function _lazyVal() {
|
|
|
27
27
|
|
|
28
28
|
var path = _interopRequireWildcard(require("path"));
|
|
29
29
|
|
|
30
|
-
function
|
|
30
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
31
|
+
|
|
32
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
33
|
|
|
32
34
|
class ProjectInfoManager {
|
|
33
35
|
constructor(packager) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/remoteBuilder/ProjectInfoManager.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA
|
|
1
|
+
{"version":3,"sources":["../../src/remoteBuilder/ProjectInfoManager.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;;;;;;AAGM,MAAO,kBAAP,CAAyB;AAG7B,EAAA,WAAA,CAAqB,QAArB,EAAuC;AAAlB,SAAA,QAAA,GAAA,QAAA;AAFZ,SAAA,QAAA,GAAW,KAAI,eAAJ,EAAS,MAAM,KAAK,4BAAL,EAAf,CAAX;AAGR;;AAEO,QAAM,4BAAN,GAAkC;AACxC,UAAM,QAAQ,GAAG,KAAK,QAAtB;AACA,UAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAT,CAAwB,aAAxB,CAAsC;AAAC,MAAA,MAAM,EAAE;AAAT,KAAtC,CAAtB,CAFwC,CAGxC;;AACA,UAAM,IAAI,GAAQ;AAChB,MAAA,QAAQ,EAAE,QAAQ,CAAC,QADH;AAEhB,MAAA,aAAa,EAAE,QAAQ,CAAC,MAFR;AAGhB,MAAA,cAAc,EAAE,MAAM,QAAQ,CAAC,cAHf;AAIhB,MAAA,oBAAoB,EAAE,IAAI,CAAC,QAAL,CAAc,QAAQ,CAAC,iBAAvB;AAJN,KAAlB;;AAMA,QAAI,QAAQ,CAAC,QAAT,KAAsB,QAAQ,CAAC,WAA/B,IAA8C,QAAQ,CAAC,WAAT,IAAwB,IAA1E,EAAgF;AAC9E,MAAA,IAAI,CAAC,WAAL,GAAmB,QAAQ,CAAC,WAA5B;AACD;;AACD,UAAM,IAAI,GAAG,IAAI,CAAC,IAAL,CAAU,OAAV,EAAmB,WAAnB,CAAb;AACA,UAAM,2BAAW,IAAX,EAAiB,IAAjB,CAAN;AACA,WAAO,IAAP;AACD;;AAtB4B,C","sourcesContent":["import { outputJson } from \"fs-extra\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { Packager } from \"../packager\"\n\nexport class ProjectInfoManager {\n readonly infoFile = new Lazy(() => this.saveConfigurationAndMetadata())\n\n constructor(readonly packager: Packager) {\n }\n\n private async saveConfigurationAndMetadata() {\n const packager = this.packager\n const tempDir = await packager.tempDirManager.createTempDir({prefix: \"remote-build-metadata\"})\n // we cannot use getTempFile because file name must be constant\n const info: any = {\n metadata: packager.metadata,\n configuration: packager.config,\n repositoryInfo: await packager.repositoryInfo,\n buildResourceDirName: path.basename(packager.buildResourcesDir)\n }\n if (packager.metadata !== packager.devMetadata && packager.devMetadata != null) {\n info.devMetadata = packager.devMetadata\n }\n const file = path.join(tempDir, \"info.json\")\n await outputJson(file, info)\n return file\n }\n}"],"sourceRoot":""}
|
|
@@ -67,7 +67,9 @@ function _ProjectInfoManager() {
|
|
|
67
67
|
return data;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
function
|
|
70
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
71
|
+
|
|
72
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
71
73
|
|
|
72
74
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
73
75
|
|
|
@@ -168,7 +170,7 @@ class RemoteBuilder {
|
|
|
168
170
|
artifactInfoToArtifactCreatedEvent(artifact, localFile, outDir) {
|
|
169
171
|
const target = artifact.target; // noinspection SpellCheckingInspection
|
|
170
172
|
|
|
171
|
-
return Object.assign({}, artifact, {
|
|
173
|
+
return Object.assign(Object.assign({}, artifact), {
|
|
172
174
|
file: localFile,
|
|
173
175
|
target: target == null ? null : new FakeTarget(target, outDir, this.packager.config[target]),
|
|
174
176
|
packager: this.packager
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/remoteBuilder/RemoteBuilder.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA
|
|
1
|
+
{"version":3,"sources":["../../src/remoteBuilder/RemoteBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { Arch, isEnvTrue, log, InvalidConfigurationError } from \"builder-util\"\nimport * as path from \"path\"\nimport { UploadTask } from \"electron-publish/out/publisher\"\nimport { Platform, Target, TargetSpecificOptions } from \"../core\"\nimport { LinuxPackager } from \"../linuxPackager\"\nimport { ArtifactCreated } from \"../packagerApi\"\nimport { isSafeToUnpackElectronOnRemoteBuildServer, PlatformPackager } from \"../platformPackager\"\nimport { executeAppBuilderAsJson } from \"../util/appBuilder\"\nimport { ProjectInfoManager } from \"./ProjectInfoManager\"\n\ninterface TargetInfo {\n name: string\n arch: string\n unpackedDirectory: string\n outDir: string\n}\n\nexport class RemoteBuilder {\n private readonly toBuild = new Map<Arch, Array<TargetInfo>>()\n private buildStarted = false\n\n constructor(readonly packager: PlatformPackager<any>) {\n }\n\n scheduleBuild(target: Target, arch: Arch, unpackedDirectory: string) {\n if (!isEnvTrue(process.env._REMOTE_BUILD) && this.packager.config.remoteBuild === false) {\n throw new InvalidConfigurationError(\"Target is not supported on your OS and using of Electron Build Service is disabled (\\\"remoteBuild\\\" option)\")\n }\n\n let list = this.toBuild.get(arch)\n if (list == null) {\n list = []\n this.toBuild.set(arch, list)\n }\n\n list.push({\n name: target.name,\n arch: Arch[arch],\n unpackedDirectory,\n outDir: target.outDir,\n })\n }\n\n build(): Promise<any> {\n if (this.buildStarted) {\n return Promise.resolve()\n }\n\n this.buildStarted = true\n\n return BluebirdPromise.mapSeries(Array.from(this.toBuild.keys()), (arch: Arch) => {\n return this._build(this.toBuild.get(arch)!!, this.packager)\n })\n }\n\n // noinspection JSMethodCanBeStatic\n private async _build(targets: Array<TargetInfo>, packager: PlatformPackager<any>): Promise<void> {\n if (log.isDebugEnabled) {\n log.debug({remoteTargets: JSON.stringify(targets, null, 2)}, \"remote building\")\n }\n\n const projectInfoManager = new ProjectInfoManager(packager.info)\n\n const buildRequest: any = {\n targets: targets.map(it => {\n return {\n name: it.name,\n arch: it.arch,\n unpackedDirName: path.basename(it.unpackedDirectory),\n }\n }),\n platform: packager.platform.buildConfigurationKey,\n }\n\n if (isSafeToUnpackElectronOnRemoteBuildServer(packager)) {\n buildRequest.electronDownload = {\n version: packager.info.framework.version,\n platform: Platform.LINUX.nodeName,\n arch: targets[0].arch,\n }\n\n const linuxPackager = (packager as LinuxPackager)\n buildRequest.executableName = linuxPackager.executableName\n }\n\n const req = Buffer.from(JSON.stringify(buildRequest)).toString(\"base64\")\n const outDir = targets[0].outDir\n const args = [\"remote-build\", \"--request\", req, \"--output\", outDir]\n\n args.push(\"--file\", targets[0].unpackedDirectory)\n args.push(\"--file\", await projectInfoManager.infoFile.value)\n\n const buildResourcesDir = packager.buildResourcesDir\n if (buildResourcesDir === packager.projectDir) {\n throw new InvalidConfigurationError(`Build resources dir equals to project dir and so, not sent to remote build agent. It will lead to incorrect results.\\nPlease set \"directories.buildResources\" to separate dir or leave default (\"build\" directory in the project root)`)\n }\n\n args.push(\"--build-resource-dir\", buildResourcesDir)\n\n const result: any = await executeAppBuilderAsJson(args)\n if (result.error != null) {\n throw new InvalidConfigurationError(`Remote builder error (if you think that it is not your application misconfiguration issue, please file issue to https://github.com/electron-userland/electron-builder/issues):\\n\\n${result.error}`, \"REMOTE_BUILDER_ERROR\")\n }\n else if (result.files != null) {\n for (const artifact of result.files) {\n const localFile = path.join(outDir, artifact.file)\n const artifactCreatedEvent = this.artifactInfoToArtifactCreatedEvent(artifact, localFile, outDir)\n // PublishManager uses outDir and options, real (the same as for local build) values must be used\n await this.packager.info.callArtifactBuildCompleted(artifactCreatedEvent)\n }\n }\n }\n\n private artifactInfoToArtifactCreatedEvent(artifact: ArtifactInfo, localFile: string, outDir: string): ArtifactCreated {\n const target = artifact.target\n // noinspection SpellCheckingInspection\n return {\n ...artifact,\n file: localFile,\n target: target == null ? null : new FakeTarget(target, outDir, (this.packager.config as any)[target]),\n packager: this.packager,\n }\n }\n}\n\nclass FakeTarget extends Target {\n constructor(name: string, readonly outDir: string, readonly options: TargetSpecificOptions | null | undefined) {\n super(name)\n }\n\n async build(appOutDir: string, arch: Arch) {\n // no build\n }\n}\n\ninterface ArtifactInfo extends UploadTask {\n target: string | null\n\n readonly isWriteUpdateInfo?: boolean\n readonly updateInfo?: any\n}"],"sourceRoot":""}
|
|
@@ -32,7 +32,9 @@ function _builderUtil() {
|
|
|
32
32
|
return data;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
function
|
|
35
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
36
|
+
|
|
37
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
36
38
|
|
|
37
39
|
if (process.env.BUILDER_REMOVE_STAGE_EVEN_IF_DEBUG == null) {
|
|
38
40
|
process.env.BUILDER_REMOVE_STAGE_EVEN_IF_DEBUG = "true";
|
|
@@ -105,7 +107,7 @@ async function doBuild(data) {
|
|
|
105
107
|
}; // _build method expects final effective configuration - packager.options.config is ignored
|
|
106
108
|
|
|
107
109
|
|
|
108
|
-
await packager._build(Object.assign({}, info.configuration, {
|
|
110
|
+
await packager._build(Object.assign(Object.assign({}, info.configuration), {
|
|
109
111
|
publish: null,
|
|
110
112
|
beforeBuild: null,
|
|
111
113
|
afterPack: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/remoteBuilder/builder-cli.ts"],"names":[],"mappings":";;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA
|
|
1
|
+
{"version":3,"sources":["../../src/remoteBuilder/builder-cli.ts"],"names":[],"mappings":"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","sourcesContent":["import { readJson, writeFile } from \"fs-extra\"\nimport * as path from \"path\"\nimport { UploadTask, Arch, Packager, PackagerOptions, PublishOptions } from \"..\"\nimport { InvalidConfigurationError } from \"builder-util\"\nimport SnapTarget from \"../targets/snap\"\n\nif (process.env.BUILDER_REMOVE_STAGE_EVEN_IF_DEBUG == null) {\n process.env.BUILDER_REMOVE_STAGE_EVEN_IF_DEBUG = \"true\"\n}\n\nasync function doBuild(data: BuildTask): Promise<void> {\n if (process.env.APP_BUILDER_TMP_DIR == null) {\n throw new InvalidConfigurationError(\"Env APP_BUILDER_TMP_DIR must be set for builder process\")\n }\n\n const projectDir = process.env.PROJECT_DIR\n if (projectDir == null) {\n throw new InvalidConfigurationError(\"Env PROJECT_DIR must be set for builder process\")\n }\n\n const targets = data.targets\n if (data.platform == null) {\n throw new InvalidConfigurationError(\"platform not specified\")\n }\n if (targets == null) {\n throw new InvalidConfigurationError(\"targets path not specified\")\n }\n if (!Array.isArray(targets)) {\n throw new InvalidConfigurationError(\"targets must be array of target name\")\n }\n\n const infoFile = projectDir + path.sep + \"info.json\"\n const info = await readJson(infoFile)\n\n const projectOutDir = process.env.PROJECT_OUT_DIR\n if (projectDir == null) {\n throw new InvalidConfigurationError(\"Env PROJECT_OUT_DIR must be set for builder process\")\n }\n\n // yes, for now we expect the only target\n const prepackaged = projectDir + path.sep + targets[0].unpackedDirName\n // do not use build function because we don't need to publish artifacts\n const options: PackagerOptions & PublishOptions = {\n prepackaged,\n projectDir,\n [data.platform]: targets.map(it => it.name + \":\" + it.arch),\n publish: \"never\",\n }\n const packager = new Packager(options)\n\n const artifacts: Array<ArtifactInfo> = []\n const relativePathOffset = projectOutDir!!.length + 1\n packager.artifactCreated(event => {\n if (event.file == null) {\n return\n }\n\n artifacts.push({\n file: event.file.substring(relativePathOffset),\n target: event.target == null ? null : event.target.name,\n arch: event.arch,\n safeArtifactName: event.safeArtifactName,\n isWriteUpdateInfo: event.isWriteUpdateInfo === true,\n updateInfo: event.updateInfo,\n })\n })\n\n packager.stageDirPathCustomizer = (target, packager, arch) => {\n // snap creates a lot of files and so, we cannot use tmpfs to avoid out of memory error\n const parentDir = target.name === \"snap\" && !(target as SnapTarget).isUseTemplateApp ? projectOutDir : projectDir\n return parentDir + path.sep + `__${target.name}-${Arch[arch]}`\n }\n\n // _build method expects final effective configuration - packager.options.config is ignored\n await packager._build({\n ...info.configuration,\n publish: null,\n beforeBuild: null,\n afterPack: null,\n afterSign: null,\n afterAllArtifactBuild: null,\n onNodeModuleFile: null,\n directories: {\n output: projectOutDir,\n buildResources: projectDir + path.sep + info.buildResourceDirName\n },\n }, info.metadata, info.devMetadata, info.repositoryInfo)\n\n // writeJson must be not used because it adds unwanted \\n as last file symbol\n await writeFile(path.join(process.env.APP_BUILDER_TMP_DIR!!, \"__build-result.json\"), JSON.stringify(artifacts))\n}\n\ndoBuild(JSON.parse(process.argv[2]))\n .catch(error => {\n process.exitCode = 0\n return writeFile(path.join(process.env.APP_BUILDER_TMP_DIR!!, \"__build-result.json\"), (error.stack || error).toString())\n })\n\ninterface TargetInfo {\n name: string\n arch: string\n unpackedDirName: string\n}\n\ninterface ArtifactInfo extends UploadTask {\n target: string | null\n\n readonly isWriteUpdateInfo?: boolean\n readonly updateInfo?: any\n}\n\ninterface BuildTask {\n platform: string\n targets: Array<TargetInfo>\n}"],"sourceRoot":""}
|
|
@@ -87,7 +87,9 @@ function _targetUtil() {
|
|
|
87
87
|
return data;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
function
|
|
90
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
91
|
+
|
|
92
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
91
93
|
|
|
92
94
|
// https://unix.stackexchange.com/questions/375191/append-to-sub-directory-inside-squashfs-file
|
|
93
95
|
class AppImageTarget extends _core().Target {
|
|
@@ -96,7 +98,7 @@ class AppImageTarget extends _core().Target {
|
|
|
96
98
|
this.packager = packager;
|
|
97
99
|
this.helper = helper;
|
|
98
100
|
this.outDir = outDir;
|
|
99
|
-
this.options = Object.assign({}, this.packager.platformSpecificBuildOptions, this.packager.config[this.name]);
|
|
101
|
+
this.options = Object.assign(Object.assign({}, this.packager.platformSpecificBuildOptions), this.packager.config[this.name]);
|
|
100
102
|
this.desktopEntry = new (_lazyVal().Lazy)(() => helper.computeDesktopEntry(this.options, "AppRun", {
|
|
101
103
|
"X-AppImage-Version": `${packager.appInfo.buildVersion}`
|
|
102
104
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/targets/AppImageTarget.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA
|
|
1
|
+
{"version":3,"sources":["../../src/targets/AppImageTarget.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, serializeToYaml } from \"builder-util\"\nimport { outputFile } from \"fs-extra\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { AppImageOptions } from \"..\"\nimport { Target } from \"../core\"\nimport { LinuxPackager } from \"../linuxPackager\"\nimport { getAppUpdatePublishConfiguration } from \"../publish/PublishManager\"\nimport { executeAppBuilderAsJson, objectToArgs } from \"../util/appBuilder\"\nimport { getNotLocalizedLicenseFile } from \"../util/license\"\nimport { LinuxTargetHelper } from \"./LinuxTargetHelper\"\nimport { createStageDir } from \"./targetUtil\"\n\n// https://unix.stackexchange.com/questions/375191/append-to-sub-directory-inside-squashfs-file\nexport default class AppImageTarget extends Target {\n readonly options: AppImageOptions = {...this.packager.platformSpecificBuildOptions, ...(this.packager.config as any)[this.name]}\n private readonly desktopEntry: Lazy<string>\n\n constructor(ignored: string, private readonly packager: LinuxPackager, private readonly helper: LinuxTargetHelper, readonly outDir: string) {\n super(\"appImage\")\n\n this.desktopEntry = new Lazy<string>(() => helper.computeDesktopEntry(this.options, \"AppRun\", {\n \"X-AppImage-Version\": `${packager.appInfo.buildVersion}`,\n }))\n }\n\n async build(appOutDir: string, arch: Arch): Promise<any> {\n const packager = this.packager\n const options = this.options\n // https://github.com/electron-userland/electron-builder/issues/775\n // https://github.com/electron-userland/electron-builder/issues/1726\n // tslint:disable-next-line:no-invalid-template-strings\n const artifactName = packager.expandArtifactNamePattern(options, \"AppImage\", arch)\n const artifactPath = path.join(this.outDir, artifactName)\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: \"AppImage\",\n file: artifactPath,\n arch,\n })\n\n const c = await Promise.all([\n this.desktopEntry.value,\n this.helper.icons,\n getAppUpdatePublishConfiguration(packager, arch, false /* in any case validation will be done on publish */),\n getNotLocalizedLicenseFile(options.license, this.packager, [\"txt\", \"html\"]),\n createStageDir(this, packager, arch),\n ])\n const license = c[3]\n const stageDir = c[4]!!\n\n const publishConfig = c[2]\n if (publishConfig != null) {\n await outputFile(path.join(packager.getResourcesDir(stageDir.dir), \"app-update.yml\"), serializeToYaml(publishConfig))\n }\n\n if (this.packager.packagerOptions.effectiveOptionComputed != null && await this.packager.packagerOptions.effectiveOptionComputed({desktop: await this.desktopEntry.value})) {\n return\n }\n\n const args = [\n \"appimage\",\n \"--stage\", stageDir.dir,\n \"--arch\", Arch[arch],\n \"--output\", artifactPath,\n \"--app\", appOutDir,\n \"--configuration\", (JSON.stringify({\n productName: this.packager.appInfo.productName,\n productFilename: this.packager.appInfo.productFilename,\n desktopEntry: c[0],\n executableName: this.packager.executableName,\n icons: c[1],\n fileAssociations: this.packager.fileAssociations,\n ...options,\n })),\n ]\n objectToArgs(args, {\n license,\n })\n if (packager.compression === \"maximum\") {\n args.push(\"--compression\", \"xz\")\n }\n\n await packager.info.callArtifactBuildCompleted({\n file: artifactPath,\n safeArtifactName: packager.computeSafeArtifactName(artifactName, \"AppImage\", arch, false),\n target: this,\n arch,\n packager,\n isWriteUpdateInfo: true,\n updateInfo: await executeAppBuilderAsJson(args),\n })\n }\n}"],"sourceRoot":""}
|