app-builder-lib 24.0.0-alpha.4 → 24.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/asar/asar.d.ts +11 -0
- package/out/asar/asar.js +0 -1
- package/out/asar/asar.js.map +1 -1
- package/out/codeSign/macCodeSign.d.ts +2 -2
- package/out/codeSign/macCodeSign.js +2 -2
- package/out/codeSign/macCodeSign.js.map +1 -1
- package/out/linuxPackager.js +1 -1
- package/out/linuxPackager.js.map +1 -1
- package/out/macPackager.d.ts +1 -1
- package/out/macPackager.js +2 -2
- package/out/macPackager.js.map +1 -1
- package/out/options/macOptions.d.ts +2 -2
- package/out/options/macOptions.js.map +1 -1
- package/out/publish/PublishManager.js +0 -4
- package/out/publish/PublishManager.js.map +1 -1
- package/out/targets/{fpm.d.ts → FpmTarget.d.ts} +1 -0
- package/out/targets/{fpm.js → FpmTarget.js} +37 -3
- package/out/targets/FpmTarget.js.map +1 -0
- package/out/targets/pkg.js +1 -1
- package/out/targets/pkg.js.map +1 -1
- package/out/util/packageMetadata.js +3 -3
- package/out/util/packageMetadata.js.map +1 -1
- package/out/util/yarn.js +3 -3
- package/out/util/yarn.js.map +1 -1
- package/out/version.d.ts +1 -1
- package/out/version.js +1 -1
- package/out/version.js.map +1 -1
- package/package.json +12 -12
- package/scheme.json +12 -12
- package/out/targets/fpm.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishManager.js","sourceRoot":"","sources":["../../src/publish/PublishManager.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { Arch, asArray, AsyncTaskManager, InvalidConfigurationError, isEmptyOrSpaces, isPullRequest, log, safeStringifyJson, serializeToYaml } from \"builder-util\"\nimport {\n CancellationToken,\n GenericServerOptions,\n getS3LikeProviderBaseUrl,\n GithubOptions,\n githubUrl,\n KeygenOptions,\n SnapStoreOptions,\n PublishConfiguration,\n PublishProvider,\n BitbucketOptions,\n} from \"builder-util-runtime\"\nimport _debug from \"debug\"\nimport { getCiTag, PublishContext, Publisher, PublishOptions, UploadTask } from \"electron-publish\"\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/promises\"\nimport * as 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 { SnapStorePublisher } from \"./SnapStorePublisher\"\nimport { createUpdateInfoTasks, UpdateInfoFileTask, writeUpdateInfoFiles } from \"./updateInfoBuilder\"\nimport { KeygenPublisher } from \"./KeygenPublisher\"\nimport { BitbucketPublisher } from \"./BitbucketPublisher\"\n\nconst publishForPrWarning =\n \"There are serious security concerns with PUBLISH_FOR_PULL_REQUEST=true (see the CircleCI documentation (https://circleci.com/docs/1.0/fork-pr-builds/) for details)\" +\n \"\\nIf you have SSH keys, sensitive env vars or AWS credentials stored in your project settings and untrusted forks can make pull requests against your repo, then this option isn't for you.\"\n\nconst debug = _debug(\"electron-builder:publish\")\n\nfunction checkOptions(publishPolicy: any) {\n if (publishPolicy != null && publishPolicy !== \"onTag\" && publishPolicy !== \"onTagOrDraft\" && publishPolicy !== \"always\" && publishPolicy !== \"never\") {\n if (typeof publishPolicy === \"string\") {\n throw new InvalidConfigurationError(\n `Expected one of \"onTag\", \"onTagOrDraft\", \"always\", \"never\", but got ${JSON.stringify(\n publishPolicy\n )}.\\nPlease note that publish configuration should be specified under \"config\"`\n )\n }\n }\n}\n\nexport class PublishManager implements PublishContext {\n private readonly nameToPublisher = new Map<string, Publisher | null>()\n\n private readonly taskManager: AsyncTaskManager\n\n readonly isPublish: boolean = false\n\n readonly progress = (process.stdout as TtyWriteStream).isTTY ? new MultiProgress() : null\n\n private readonly updateFileWriteTask: Array<UpdateInfoFileTask> = []\n\n constructor(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 } 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 } 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 } else if (publishOptions.publish !== \"never\") {\n log.info(\n {\n reason: \"current build is a part of pull request\",\n solution: `set env PUBLISH_FOR_PULL_REQUEST to true to force code signing\\n${publishForPrWarning}`,\n },\n \"publishing will be skipped\"\n )\n }\n\n packager.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 } else if (packager.platform === Platform.WINDOWS) {\n if (!event.targets.some(it => isSuitableWindowsTarget(it))) {\n return\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 } 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 {\n file: event.file,\n reason: \"publisher is null\",\n publishConfig: safeStringifyJson(publishConfig),\n },\n \"not published\"\n )\n return\n }\n\n const providerName = publisher.providerName\n if (this.publishOptions.publish === \"onTagOrDraft\" && getCiTag() == null && providerName !== \"bitbucket\" && providerName !== \"github\") {\n log.info({ file: event.file, reason: \"current build is not for a git tag\", publishPolicy: \"onTagOrDraft\" }, `not published to ${providerName}`)\n return\n }\n\n if (publishConfig.timeout) {\n event.timeout = publishConfig.timeout\n }\n\n this.taskManager.addTask(publisher.upload(event))\n }\n\n private async artifactCreatedWithoutExplicitPublishConfig(event: ArtifactCreated) {\n const platformPackager = event.packager\n const target = event.target\n const publishConfigs = await getPublishConfigs(platformPackager, target == null ? null : target.options, event.arch, this.isPublish)\n\n if (debug.enabled) {\n debug(`artifactCreated (isPublish: ${this.isPublish}): ${safeStringifyJson(event, new Set([\"packager\"]))},\\n publishConfigs: ${safeStringifyJson(publishConfigs)}`)\n }\n\n const eventFile = event.file\n if (publishConfigs == null) {\n if (this.isPublish) {\n log.debug({ file: eventFile, reason: \"no publish configs\" }, \"not published\")\n }\n return\n }\n\n if (this.isPublish) {\n for (const publishConfig of publishConfigs) {\n if (this.cancellationToken.cancelled) {\n log.debug({ file: event.file, reason: \"cancelled\" }, \"not published\")\n break\n }\n\n this.scheduleUpload(publishConfig, event, this.getAppInfo(platformPackager))\n }\n }\n\n if (\n event.isWriteUpdateInfo &&\n target != null &&\n eventFile != null &&\n !this.cancellationToken.cancelled &&\n (platformPackager.platform !== Platform.WINDOWS || isSuitableWindowsTarget(target))\n ) {\n this.taskManager.addTask(createUpdateInfoTasks(event, publishConfigs).then(it => this.updateFileWriteTask.push(...it)))\n }\n }\n\n private 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(\n packager: PlatformPackager<any>,\n publishConfigs: Array<PublishConfiguration> | null,\n arch: Arch | null\n): Promise<Array<PublishConfiguration> | null> {\n if (publishConfigs === null) {\n return null\n }\n\n if (publishConfigs.length === 0) {\n log.debug(null, \"getPublishConfigsForUpdateInfo: no publishConfigs, detect using repository info\")\n // https://github.com/electron-userland/electron-builder/issues/925#issuecomment-261732378\n // default publish config is github, file should be generated regardless of publish state (user can test installer locally or manage the release process manually)\n const repositoryInfo = await packager.info.repositoryInfo\n debug(`getPublishConfigsForUpdateInfo: ${safeStringifyJson(repositoryInfo)}`)\n if (repositoryInfo != null && repositoryInfo.type === \"github\") {\n const resolvedPublishConfig = await getResolvedPublishConfig(packager, packager.info, { provider: repositoryInfo.type }, arch, false)\n if (resolvedPublishConfig != null) {\n debug(`getPublishConfigsForUpdateInfo: resolve to publish config ${safeStringifyJson(resolvedPublishConfig)}`)\n return [resolvedPublishConfig]\n }\n }\n }\n return publishConfigs\n}\n\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 \"keygen\":\n return new KeygenPublisher(context, publishConfig as KeygenOptions, version)\n\n case \"snapStore\":\n return new SnapStorePublisher(context, publishConfig as SnapStoreOptions)\n\n case \"generic\":\n return null\n\n default: {\n const clazz = requireProviderClass(provider, packager)\n return clazz == null ? null : new clazz(context, publishConfig)\n }\n }\n}\n\nfunction requireProviderClass(provider: string, packager: Packager): any | null {\n switch (provider) {\n case \"github\":\n return GitHubPublisher\n\n case \"generic\":\n return null\n\n case \"keygen\":\n return KeygenPublisher\n\n case \"s3\":\n return S3Publisher\n\n case \"snapStore\":\n return SnapStorePublisher\n\n case \"spaces\":\n return SpacesPublisher\n\n case \"bitbucket\":\n return BitbucketPublisher\n\n default: {\n const name = `electron-publisher-${provider}`\n let module: any = null\n try {\n module = require(path.join(packager.buildResourcesDir, name + \".js\"))\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}\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 } else {\n baseUrl = getS3LikeProviderBaseUrl(publishConfiguration)\n }\n\n if (fileName == null) {\n return baseUrl\n }\n return `${baseUrl}/${encodeURI(fileName)}`\n}\n\nexport async function getPublishConfigs(\n platformPackager: PlatformPackager<any>,\n targetSpecificOptions: PlatformSpecificBuildOptions | null | undefined,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<Array<PublishConfiguration> | null> {\n let publishers\n\n // check build.nsis (target)\n if (targetSpecificOptions != null) {\n publishers = targetSpecificOptions.publish\n // if explicitly set to null - do not publish\n if (publishers === null) {\n return null\n }\n }\n\n // check build.win (platform)\n if (publishers == null) {\n publishers = platformPackager.platformSpecificBuildOptions.publish\n if (publishers === null) {\n return null\n }\n }\n\n if (publishers == null) {\n publishers = platformPackager.config.publish\n if (publishers === null) {\n return null\n }\n }\n return await resolvePublishConfigurations(publishers, platformPackager, platformPackager.info, arch, errorIfCannot)\n}\n\nasync function resolvePublishConfigurations(\n publishers: any,\n platformPackager: PlatformPackager<any> | null,\n packager: Packager,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<Array<PublishConfiguration> | null> {\n if (publishers == null) {\n let serviceName: PublishProvider | null = null\n if (!isEmptyOrSpaces(process.env.GH_TOKEN) || !isEmptyOrSpaces(process.env.GITHUB_TOKEN)) {\n serviceName = \"github\"\n } else if (!isEmptyOrSpaces(process.env.KEYGEN_TOKEN)) {\n serviceName = \"keygen\"\n } else if (!isEmptyOrSpaces(process.env.BITBUCKET_TOKEN)) {\n serviceName = \"bitbucket\"\n } else if (!isEmptyOrSpaces(process.env.BT_TOKEN)) {\n throw new Error(\n \"Bintray has been sunset and is no longer supported by electron-builder. Ref: https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/\"\n )\n }\n\n if (serviceName != null) {\n log.debug(null, `detect ${serviceName} as publish provider`)\n return [(await getResolvedPublishConfig(platformPackager, packager, { provider: serviceName }, arch, errorIfCannot))!]\n }\n }\n\n if (publishers == null) {\n return []\n }\n\n debug(`Explicit publish provider: ${safeStringifyJson(publishers)}`)\n return await (BluebirdPromise.map(asArray(publishers), it =>\n getResolvedPublishConfig(platformPackager, packager, typeof it === \"string\" ? { provider: it } : it, arch, errorIfCannot)\n ) 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(\n platformPackager: PlatformPackager<any> | null,\n packager: Packager,\n options: PublishConfiguration,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<PublishConfiguration | GithubOptions | BitbucketOptions | null> {\n options = { ...options }\n expandPublishConfig(options, platformPackager, packager, arch)\n\n let channelFromAppVersion: string | null = null\n if (\n (options as GenericServerOptions).channel == null &&\n isDetectUpdateChannel(platformPackager == null ? null : platformPackager.platformSpecificBuildOptions, packager.config)\n ) {\n channelFromAppVersion = packager.appInfo.channel\n }\n\n const provider = options.provider\n if (provider === \"generic\") {\n const o = options as GenericServerOptions\n if (o.url == null) {\n throw new InvalidConfigurationError(`Please specify \"url\" for \"generic\" update server`)\n }\n\n if (channelFromAppVersion != null) {\n ;(o as any).channel = channelFromAppVersion\n }\n return options\n }\n\n const providerClass = requireProviderClass(options.provider, packager)\n if (providerClass != null && providerClass.checkAndResolveOptions != null) {\n await providerClass.checkAndResolveOptions(options, channelFromAppVersion, errorIfCannot)\n return options\n }\n\n if (provider === \"keygen\") {\n return {\n ...options,\n platform: platformPackager?.platform.name,\n } as KeygenOptions\n }\n\n const isGithub = provider === \"github\"\n if (!isGithub && provider !== \"bitbucket\") {\n return options\n }\n\n let owner = isGithub ? (options as GithubOptions).owner : (options as BitbucketOptions).owner\n let project = isGithub ? (options as GithubOptions).repo : (options as BitbucketOptions).slug\n\n if (isGithub && owner == null && project != null) {\n const index = project.indexOf(\"/\")\n if (index > 0) {\n const repo = project\n project = repo.substring(0, index)\n owner = repo.substring(index + 1)\n }\n }\n\n async function getInfo() {\n const info = await packager.repositoryInfo\n if (info != null) {\n return info\n }\n\n const message = `Cannot detect repository by .git/config. Please specify \"repository\" in the package.json (https://docs.npmjs.com/files/package.json#repository).\\nPlease see https://electron.build/configuration/publish`\n if (errorIfCannot) {\n throw new Error(message)\n } else {\n log.warn(message)\n return null\n }\n }\n\n if (!owner || !project) {\n log.debug({ reason: \"owner or project is not specified explicitly\", provider, owner, project }, \"calling getInfo\")\n const info = await getInfo()\n if (info == null) {\n return null\n }\n\n if (!owner) {\n owner = info.user\n }\n if (!project) {\n project = info.project\n }\n }\n\n if (isGithub) {\n if ((options as GithubOptions).token != null && !(options as GithubOptions).private) {\n log.warn('\"token\" specified in the github publish options. It should be used only for [setFeedURL](module:electron-updater/out/AppUpdater.AppUpdater+setFeedURL).')\n }\n //tslint:disable-next-line:no-object-literal-type-assertion\n return { owner, repo: project, ...options } as GithubOptions\n } else {\n //tslint:disable-next-line:no-object-literal-type-assertion\n return { owner, slug: project, ...options } as BitbucketOptions\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PublishManager.js","sourceRoot":"","sources":["../../src/publish/PublishManager.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { Arch, asArray, AsyncTaskManager, InvalidConfigurationError, isEmptyOrSpaces, isPullRequest, log, safeStringifyJson, serializeToYaml } from \"builder-util\"\nimport {\n CancellationToken,\n GenericServerOptions,\n getS3LikeProviderBaseUrl,\n GithubOptions,\n githubUrl,\n KeygenOptions,\n SnapStoreOptions,\n PublishConfiguration,\n PublishProvider,\n BitbucketOptions,\n} from \"builder-util-runtime\"\nimport _debug from \"debug\"\nimport { getCiTag, PublishContext, Publisher, PublishOptions, UploadTask } from \"electron-publish\"\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/promises\"\nimport * as 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 { SnapStorePublisher } from \"./SnapStorePublisher\"\nimport { createUpdateInfoTasks, UpdateInfoFileTask, writeUpdateInfoFiles } from \"./updateInfoBuilder\"\nimport { KeygenPublisher } from \"./KeygenPublisher\"\nimport { BitbucketPublisher } from \"./BitbucketPublisher\"\n\nconst publishForPrWarning =\n \"There are serious security concerns with PUBLISH_FOR_PULL_REQUEST=true (see the CircleCI documentation (https://circleci.com/docs/1.0/fork-pr-builds/) for details)\" +\n \"\\nIf you have SSH keys, sensitive env vars or AWS credentials stored in your project settings and untrusted forks can make pull requests against your repo, then this option isn't for you.\"\n\nconst debug = _debug(\"electron-builder:publish\")\n\nfunction checkOptions(publishPolicy: any) {\n if (publishPolicy != null && publishPolicy !== \"onTag\" && publishPolicy !== \"onTagOrDraft\" && publishPolicy !== \"always\" && publishPolicy !== \"never\") {\n if (typeof publishPolicy === \"string\") {\n throw new InvalidConfigurationError(\n `Expected one of \"onTag\", \"onTagOrDraft\", \"always\", \"never\", but got ${JSON.stringify(\n publishPolicy\n )}.\\nPlease note that publish configuration should be specified under \"config\"`\n )\n }\n }\n}\n\nexport class PublishManager implements PublishContext {\n private readonly nameToPublisher = new Map<string, Publisher | null>()\n\n private readonly taskManager: AsyncTaskManager\n\n readonly isPublish: boolean = false\n\n readonly progress = (process.stdout as TtyWriteStream).isTTY ? new MultiProgress() : null\n\n private readonly updateFileWriteTask: Array<UpdateInfoFileTask> = []\n\n constructor(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 } 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 } 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 } else if (publishOptions.publish !== \"never\") {\n log.info(\n {\n reason: \"current build is a part of pull request\",\n solution: `set env PUBLISH_FOR_PULL_REQUEST to true to force code signing\\n${publishForPrWarning}`,\n },\n \"publishing will be skipped\"\n )\n }\n\n packager.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 } else if (packager.platform === Platform.WINDOWS) {\n if (!event.targets.some(it => isSuitableWindowsTarget(it))) {\n return\n }\n }\n\n const publishConfig = await getAppUpdatePublishConfiguration(packager, 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 } 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 {\n file: event.file,\n reason: \"publisher is null\",\n publishConfig: safeStringifyJson(publishConfig),\n },\n \"not published\"\n )\n return\n }\n\n const providerName = publisher.providerName\n if (this.publishOptions.publish === \"onTagOrDraft\" && getCiTag() == null && providerName !== \"bitbucket\" && providerName !== \"github\") {\n log.info({ file: event.file, reason: \"current build is not for a git tag\", publishPolicy: \"onTagOrDraft\" }, `not published to ${providerName}`)\n return\n }\n\n if (publishConfig.timeout) {\n event.timeout = publishConfig.timeout\n }\n\n this.taskManager.addTask(publisher.upload(event))\n }\n\n private async artifactCreatedWithoutExplicitPublishConfig(event: ArtifactCreated) {\n const platformPackager = event.packager\n const target = event.target\n const publishConfigs = await getPublishConfigs(platformPackager, target == null ? null : target.options, event.arch, this.isPublish)\n\n if (debug.enabled) {\n debug(`artifactCreated (isPublish: ${this.isPublish}): ${safeStringifyJson(event, new Set([\"packager\"]))},\\n publishConfigs: ${safeStringifyJson(publishConfigs)}`)\n }\n\n const eventFile = event.file\n if (publishConfigs == null) {\n if (this.isPublish) {\n log.debug({ file: eventFile, reason: \"no publish configs\" }, \"not published\")\n }\n return\n }\n\n if (this.isPublish) {\n for (const publishConfig of publishConfigs) {\n if (this.cancellationToken.cancelled) {\n log.debug({ file: event.file, reason: \"cancelled\" }, \"not published\")\n break\n }\n\n this.scheduleUpload(publishConfig, event, this.getAppInfo(platformPackager))\n }\n }\n\n if (\n event.isWriteUpdateInfo &&\n target != null &&\n eventFile != null &&\n !this.cancellationToken.cancelled &&\n (platformPackager.platform !== Platform.WINDOWS || isSuitableWindowsTarget(target))\n ) {\n this.taskManager.addTask(createUpdateInfoTasks(event, publishConfigs).then(it => this.updateFileWriteTask.push(...it)))\n }\n }\n\n private 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(\n packager: PlatformPackager<any>,\n publishConfigs: Array<PublishConfiguration> | null,\n arch: Arch | null\n): Promise<Array<PublishConfiguration> | null> {\n if (publishConfigs === null) {\n return null\n }\n\n if (publishConfigs.length === 0) {\n log.debug(null, \"getPublishConfigsForUpdateInfo: no publishConfigs, detect using repository info\")\n // https://github.com/electron-userland/electron-builder/issues/925#issuecomment-261732378\n // default publish config is github, file should be generated regardless of publish state (user can test installer locally or manage the release process manually)\n const repositoryInfo = await packager.info.repositoryInfo\n debug(`getPublishConfigsForUpdateInfo: ${safeStringifyJson(repositoryInfo)}`)\n if (repositoryInfo != null && repositoryInfo.type === \"github\") {\n const resolvedPublishConfig = await getResolvedPublishConfig(packager, packager.info, { provider: repositoryInfo.type }, arch, false)\n if (resolvedPublishConfig != null) {\n debug(`getPublishConfigsForUpdateInfo: resolve to publish config ${safeStringifyJson(resolvedPublishConfig)}`)\n return [resolvedPublishConfig]\n }\n }\n }\n return publishConfigs\n}\n\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 \"keygen\":\n return new KeygenPublisher(context, publishConfig as KeygenOptions, version)\n\n case \"snapStore\":\n return new SnapStorePublisher(context, publishConfig as SnapStoreOptions)\n\n case \"generic\":\n return null\n\n default: {\n const clazz = requireProviderClass(provider, packager)\n return clazz == null ? null : new clazz(context, publishConfig)\n }\n }\n}\n\nfunction requireProviderClass(provider: string, packager: Packager): any | null {\n switch (provider) {\n case \"github\":\n return GitHubPublisher\n\n case \"generic\":\n return null\n\n case \"keygen\":\n return KeygenPublisher\n\n case \"s3\":\n return S3Publisher\n\n case \"snapStore\":\n return SnapStorePublisher\n\n case \"spaces\":\n return SpacesPublisher\n\n case \"bitbucket\":\n return BitbucketPublisher\n\n default: {\n const name = `electron-publisher-${provider}`\n let module: any = null\n try {\n module = require(path.join(packager.buildResourcesDir, name + \".js\"))\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}\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 } else {\n baseUrl = getS3LikeProviderBaseUrl(publishConfiguration)\n }\n\n if (fileName == null) {\n return baseUrl\n }\n return `${baseUrl}/${encodeURI(fileName)}`\n}\n\nexport async function getPublishConfigs(\n platformPackager: PlatformPackager<any>,\n targetSpecificOptions: PlatformSpecificBuildOptions | null | undefined,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<Array<PublishConfiguration> | null> {\n let publishers\n\n // check build.nsis (target)\n if (targetSpecificOptions != null) {\n publishers = targetSpecificOptions.publish\n // if explicitly set to null - do not publish\n if (publishers === null) {\n return null\n }\n }\n\n // check build.win (platform)\n if (publishers == null) {\n publishers = platformPackager.platformSpecificBuildOptions.publish\n if (publishers === null) {\n return null\n }\n }\n\n if (publishers == null) {\n publishers = platformPackager.config.publish\n if (publishers === null) {\n return null\n }\n }\n return await resolvePublishConfigurations(publishers, platformPackager, platformPackager.info, arch, errorIfCannot)\n}\n\nasync function resolvePublishConfigurations(\n publishers: any,\n platformPackager: PlatformPackager<any> | null,\n packager: Packager,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<Array<PublishConfiguration> | null> {\n if (publishers == null) {\n let serviceName: PublishProvider | null = null\n if (!isEmptyOrSpaces(process.env.GH_TOKEN) || !isEmptyOrSpaces(process.env.GITHUB_TOKEN)) {\n serviceName = \"github\"\n } else if (!isEmptyOrSpaces(process.env.KEYGEN_TOKEN)) {\n serviceName = \"keygen\"\n } else if (!isEmptyOrSpaces(process.env.BITBUCKET_TOKEN)) {\n serviceName = \"bitbucket\"\n } else if (!isEmptyOrSpaces(process.env.BT_TOKEN)) {\n throw new Error(\n \"Bintray has been sunset and is no longer supported by electron-builder. Ref: https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/\"\n )\n }\n\n if (serviceName != null) {\n log.debug(null, `detect ${serviceName} as publish provider`)\n return [(await getResolvedPublishConfig(platformPackager, packager, { provider: serviceName }, arch, errorIfCannot))!]\n }\n }\n\n if (publishers == null) {\n return []\n }\n\n debug(`Explicit publish provider: ${safeStringifyJson(publishers)}`)\n return await (BluebirdPromise.map(asArray(publishers), it =>\n getResolvedPublishConfig(platformPackager, packager, typeof it === \"string\" ? { provider: it } : it, arch, errorIfCannot)\n ) 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(\n platformPackager: PlatformPackager<any> | null,\n packager: Packager,\n options: PublishConfiguration,\n arch: Arch | null,\n errorIfCannot: boolean\n): Promise<PublishConfiguration | GithubOptions | BitbucketOptions | null> {\n options = { ...options }\n expandPublishConfig(options, platformPackager, packager, arch)\n\n let channelFromAppVersion: string | null = null\n if (\n (options as GenericServerOptions).channel == null &&\n isDetectUpdateChannel(platformPackager == null ? null : platformPackager.platformSpecificBuildOptions, packager.config)\n ) {\n channelFromAppVersion = packager.appInfo.channel\n }\n\n const provider = options.provider\n if (provider === \"generic\") {\n const o = options as GenericServerOptions\n if (o.url == null) {\n throw new InvalidConfigurationError(`Please specify \"url\" for \"generic\" update server`)\n }\n\n if (channelFromAppVersion != null) {\n ;(o as any).channel = channelFromAppVersion\n }\n return options\n }\n\n const providerClass = requireProviderClass(options.provider, packager)\n if (providerClass != null && providerClass.checkAndResolveOptions != null) {\n await providerClass.checkAndResolveOptions(options, channelFromAppVersion, errorIfCannot)\n return options\n }\n\n if (provider === \"keygen\") {\n return {\n ...options,\n platform: platformPackager?.platform.name,\n } as KeygenOptions\n }\n\n const isGithub = provider === \"github\"\n if (!isGithub && provider !== \"bitbucket\") {\n return options\n }\n\n let owner = isGithub ? (options as GithubOptions).owner : (options as BitbucketOptions).owner\n let project = isGithub ? (options as GithubOptions).repo : (options as BitbucketOptions).slug\n\n if (isGithub && owner == null && project != null) {\n const index = project.indexOf(\"/\")\n if (index > 0) {\n const repo = project\n project = repo.substring(0, index)\n owner = repo.substring(index + 1)\n }\n }\n\n async function getInfo() {\n const info = await packager.repositoryInfo\n if (info != null) {\n return info\n }\n\n const message = `Cannot detect repository by .git/config. Please specify \"repository\" in the package.json (https://docs.npmjs.com/files/package.json#repository).\\nPlease see https://electron.build/configuration/publish`\n if (errorIfCannot) {\n throw new Error(message)\n } else {\n log.warn(message)\n return null\n }\n }\n\n if (!owner || !project) {\n log.debug({ reason: \"owner or project is not specified explicitly\", provider, owner, project }, \"calling getInfo\")\n const info = await getInfo()\n if (info == null) {\n return null\n }\n\n if (!owner) {\n owner = info.user\n }\n if (!project) {\n project = info.project\n }\n }\n\n if (isGithub) {\n if ((options as GithubOptions).token != null && !(options as GithubOptions).private) {\n log.warn('\"token\" specified in the github publish options. It should be used only for [setFeedURL](module:electron-updater/out/AppUpdater.AppUpdater+setFeedURL).')\n }\n //tslint:disable-next-line:no-object-literal-type-assertion\n return { owner, repo: project, ...options } as GithubOptions\n } else {\n //tslint:disable-next-line:no-object-literal-type-assertion\n return { owner, slug: project, ...options } as BitbucketOptions\n }\n}\n"]}
|
|
@@ -15,6 +15,8 @@ const macosVersion_1 = require("../util/macosVersion");
|
|
|
15
15
|
const pathManager_1 = require("../util/pathManager");
|
|
16
16
|
const LinuxTargetHelper_1 = require("./LinuxTargetHelper");
|
|
17
17
|
const tools_1 = require("./tools");
|
|
18
|
+
const hash_1 = require("../util/hash");
|
|
19
|
+
const PublishManager_1 = require("../publish/PublishManager");
|
|
18
20
|
class FpmTarget extends core_1.Target {
|
|
19
21
|
constructor(name, packager, helper, outDir) {
|
|
20
22
|
super(name, false);
|
|
@@ -92,7 +94,8 @@ class FpmTarget extends core_1.Target {
|
|
|
92
94
|
isUseArchIfX64 = true;
|
|
93
95
|
}
|
|
94
96
|
const packager = this.packager;
|
|
95
|
-
const
|
|
97
|
+
const artifactName = packager.expandArtifactNamePattern(this.options, target, arch, nameFormat, !isUseArchIfX64);
|
|
98
|
+
const artifactPath = path.join(this.outDir, artifactName);
|
|
96
99
|
await packager.info.callArtifactBuildStarted({
|
|
97
100
|
targetPresentableName: target,
|
|
98
101
|
file: artifactPath,
|
|
@@ -102,6 +105,17 @@ class FpmTarget extends core_1.Target {
|
|
|
102
105
|
if (packager.packagerOptions.prepackaged != null) {
|
|
103
106
|
await (0, promises_1.mkdir)(this.outDir, { recursive: true });
|
|
104
107
|
}
|
|
108
|
+
const publishConfig = this.supportsAutoUpdate(target)
|
|
109
|
+
? await (0, PublishManager_1.getAppUpdatePublishConfiguration)(packager, arch, false /* in any case validation will be done on publish */)
|
|
110
|
+
: null;
|
|
111
|
+
if (publishConfig != null) {
|
|
112
|
+
const linuxDistType = this.packager.packagerOptions.prepackaged || path.join(this.outDir, `linux${(0, builder_util_1.getArchSuffix)(arch)}-unpacked`);
|
|
113
|
+
const resourceDir = packager.getResourcesDir(linuxDistType);
|
|
114
|
+
builder_util_1.log.info({ resourceDir }, `adding autoupdate files for: ${target}. (Beta feature)`);
|
|
115
|
+
await (0, fs_extra_1.outputFile)(path.join(resourceDir, "app-update.yml"), (0, builder_util_1.serializeToYaml)(publishConfig));
|
|
116
|
+
// Extra file needed for auto-updater to detect installation method
|
|
117
|
+
await (0, fs_extra_1.outputFile)(path.join(resourceDir, "package-type"), target);
|
|
118
|
+
}
|
|
105
119
|
const scripts = await this.scriptFiles;
|
|
106
120
|
const appInfo = packager.appInfo;
|
|
107
121
|
const options = this.options;
|
|
@@ -192,7 +206,27 @@ class FpmTarget extends core_1.Target {
|
|
|
192
206
|
});
|
|
193
207
|
}
|
|
194
208
|
await (0, builder_util_1.executeAppBuilder)(["fpm", "--configuration", JSON.stringify(fpmConfiguration)], undefined, { env });
|
|
195
|
-
|
|
209
|
+
let info = {
|
|
210
|
+
file: artifactPath,
|
|
211
|
+
target: this,
|
|
212
|
+
arch,
|
|
213
|
+
packager,
|
|
214
|
+
};
|
|
215
|
+
if (publishConfig != null) {
|
|
216
|
+
info = {
|
|
217
|
+
...info,
|
|
218
|
+
safeArtifactName: packager.computeSafeArtifactName(artifactName, target, arch, !isUseArchIfX64),
|
|
219
|
+
isWriteUpdateInfo: true,
|
|
220
|
+
updateInfo: {
|
|
221
|
+
sha512: await (0, hash_1.hashFile)(artifactPath),
|
|
222
|
+
size: (await (0, fs_extra_1.stat)(artifactPath)).size,
|
|
223
|
+
},
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
await packager.info.callArtifactBuildCompleted(info);
|
|
227
|
+
}
|
|
228
|
+
supportsAutoUpdate(target) {
|
|
229
|
+
return ["deb", "rpm"].includes(target);
|
|
196
230
|
}
|
|
197
231
|
}
|
|
198
232
|
exports.default = FpmTarget;
|
|
@@ -214,4 +248,4 @@ async function writeConfigFile(tmpDir, templatePath, options) {
|
|
|
214
248
|
await (0, fs_extra_1.outputFile)(outputPath, config);
|
|
215
249
|
return outputPath;
|
|
216
250
|
}
|
|
217
|
-
//# sourceMappingURL=
|
|
251
|
+
//# sourceMappingURL=FpmTarget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FpmTarget.js","sourceRoot":"","sources":["../../src/targets/FpmTarget.ts"],"names":[],"mappings":"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","sourcesContent":["import { path7za } from \"7zip-bin\"\nimport { Arch, executeAppBuilder, getArchSuffix, log, TmpDir, toLinuxArchString, use, serializeToYaml } from \"builder-util\"\nimport { unlinkIfExists } from \"builder-util/out/fs\"\nimport { outputFile, stat } from \"fs-extra\"\nimport { mkdir, readFile } from \"fs/promises\"\nimport * as path from \"path\"\nimport { smarten } from \"../appInfo\"\nimport { Target } from \"../core\"\nimport * as errorMessages from \"../errorMessages\"\nimport { LinuxPackager } from \"../linuxPackager\"\nimport { DebOptions, LinuxTargetSpecificOptions } from \"../options/linuxOptions\"\nimport { objectToArgs } from \"../util/appBuilder\"\nimport { computeEnv } from \"../util/bundledTool\"\nimport { isMacOsSierra } from \"../util/macosVersion\"\nimport { getTemplatePath } from \"../util/pathManager\"\nimport { installPrefix, LinuxTargetHelper } from \"./LinuxTargetHelper\"\nimport { getLinuxToolsPath } from \"./tools\"\nimport { hashFile } from \"../util/hash\"\nimport { ArtifactCreated } from \"../packagerApi\"\nimport { getAppUpdatePublishConfiguration } from \"../publish/PublishManager\"\n\ninterface FpmOptions {\n name: string\n maintainer: string | undefined\n vendor: string\n url: string\n}\n\nexport default class FpmTarget extends Target {\n readonly options: LinuxTargetSpecificOptions = { ...this.packager.platformSpecificBuildOptions, ...(this.packager.config as any)[this.name] }\n\n private readonly scriptFiles: Promise<Array<string>>\n\n constructor(name: string, private readonly packager: LinuxPackager, private readonly helper: LinuxTargetHelper, readonly outDir: string) {\n super(name, false)\n\n this.scriptFiles = this.createScripts()\n }\n\n private async createScripts(): Promise<Array<string>> {\n const defaultTemplatesDir = getTemplatePath(\"linux\")\n\n const packager = this.packager\n const templateOptions = {\n // old API compatibility\n executable: packager.executableName,\n sanitizedProductName: packager.appInfo.sanitizedProductName,\n productFilename: packager.appInfo.productFilename,\n ...packager.platformSpecificBuildOptions,\n }\n\n function getResource(value: string | null | undefined, defaultFile: string) {\n if (value == null) {\n return path.join(defaultTemplatesDir, defaultFile)\n }\n return path.resolve(packager.projectDir, value)\n }\n\n return await Promise.all<string>([\n writeConfigFile(packager.info.tempDirManager, getResource(this.options.afterInstall, \"after-install.tpl\"), templateOptions),\n writeConfigFile(packager.info.tempDirManager, getResource(this.options.afterRemove, \"after-remove.tpl\"), templateOptions),\n ])\n }\n\n checkOptions(): Promise<any> {\n return this.computeFpmMetaInfoOptions()\n }\n\n private async computeFpmMetaInfoOptions(): Promise<FpmOptions> {\n const packager = this.packager\n const projectUrl = await packager.appInfo.computePackageUrl()\n const errors: Array<string> = []\n if (projectUrl == null) {\n errors.push(\"Please specify project homepage, see https://electron.build/configuration/configuration#Metadata-homepage\")\n }\n\n const options = this.options\n let author = options.maintainer\n if (author == null) {\n const a = packager.info.metadata.author\n if (a == null || a.email == null) {\n errors.push(errorMessages.authorEmailIsMissed)\n } else {\n author = `${a.name} <${a.email}>`\n }\n }\n\n if (errors.length > 0) {\n throw new Error(errors.join(\"\\n\\n\"))\n }\n\n return {\n name: options.packageName ?? this.packager.appInfo.linuxPackageName,\n maintainer: author!,\n url: projectUrl!,\n vendor: options.vendor || author!,\n }\n }\n\n async build(appOutDir: string, arch: Arch): Promise<any> {\n const target = this.name\n\n // tslint:disable:no-invalid-template-strings\n let nameFormat = \"${name}-${version}-${arch}.${ext}\"\n let isUseArchIfX64 = false\n if (target === \"deb\") {\n nameFormat = \"${name}_${version}_${arch}.${ext}\"\n isUseArchIfX64 = true\n } else if (target === \"rpm\") {\n nameFormat = \"${name}-${version}.${arch}.${ext}\"\n isUseArchIfX64 = true\n }\n\n const packager = this.packager\n const artifactName = packager.expandArtifactNamePattern(this.options, target, arch, nameFormat, !isUseArchIfX64)\n const artifactPath = path.join(this.outDir, artifactName)\n\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: target,\n file: artifactPath,\n arch,\n })\n\n await unlinkIfExists(artifactPath)\n if (packager.packagerOptions.prepackaged != null) {\n await mkdir(this.outDir, { recursive: true })\n }\n\n const publishConfig = this.supportsAutoUpdate(target)\n ? await getAppUpdatePublishConfiguration(packager, arch, false /* in any case validation will be done on publish */)\n : null\n if (publishConfig != null) {\n const linuxDistType = this.packager.packagerOptions.prepackaged || path.join(this.outDir, `linux${getArchSuffix(arch)}-unpacked`)\n const resourceDir = packager.getResourcesDir(linuxDistType)\n log.info({ resourceDir }, `adding autoupdate files for: ${target}. (Beta feature)`)\n await outputFile(path.join(resourceDir, \"app-update.yml\"), serializeToYaml(publishConfig))\n // Extra file needed for auto-updater to detect installation method\n await outputFile(path.join(resourceDir, \"package-type\"), target)\n }\n\n const scripts = await this.scriptFiles\n const appInfo = packager.appInfo\n const options = this.options\n const synopsis = options.synopsis\n const args = [\n \"--architecture\",\n toLinuxArchString(arch, target),\n \"--after-install\",\n scripts[0],\n \"--after-remove\",\n scripts[1],\n \"--description\",\n smarten(target === \"rpm\" ? this.helper.getDescription(options)! : `${synopsis || \"\"}\\n ${this.helper.getDescription(options)}`),\n \"--version\",\n appInfo.version,\n \"--package\",\n artifactPath,\n ]\n\n objectToArgs(args, (await this.computeFpmMetaInfoOptions()) as any)\n\n const packageCategory = options.packageCategory\n if (packageCategory != null) {\n args.push(\"--category\", packageCategory)\n }\n\n if (target === \"deb\") {\n args.push(\"--deb-priority\", (options as DebOptions).priority ?? \"optional\")\n } else if (target === \"rpm\") {\n if (synopsis != null) {\n args.push(\"--rpm-summary\", smarten(synopsis))\n }\n }\n\n const fpmConfiguration: FpmConfiguration = {\n args,\n target,\n }\n\n if (options.compression != null) {\n fpmConfiguration.compression = options.compression\n }\n\n // noinspection JSDeprecatedSymbols\n const depends = options.depends\n if (depends != null) {\n if (Array.isArray(depends)) {\n fpmConfiguration.customDepends = depends\n } else {\n // noinspection SuspiciousTypeOfGuard\n if (typeof depends === \"string\") {\n fpmConfiguration.customDepends = [depends as string]\n } else {\n throw new Error(`depends must be Array or String, but specified as: ${depends}`)\n }\n }\n }\n\n use(packager.info.metadata.license, it => args.push(\"--license\", it))\n use(appInfo.buildNumber, it =>\n args.push(\n \"--iteration\",\n // dashes are not supported for iteration in older versions of fpm\n // https://github.com/jordansissel/fpm/issues/1833\n it.split(\"-\").join(\"_\")\n )\n )\n\n use(options.fpm, it => args.push(...it))\n\n args.push(`${appOutDir}/=${installPrefix}/${appInfo.sanitizedProductName}`)\n for (const icon of await this.helper.icons) {\n const extWithDot = path.extname(icon.file)\n const sizeName = extWithDot === \".svg\" ? \"scalable\" : `${icon.size}x${icon.size}`\n args.push(`${icon.file}=/usr/share/icons/hicolor/${sizeName}/apps/${packager.executableName}${extWithDot}`)\n }\n\n const mimeTypeFilePath = await this.helper.mimeTypeFiles\n if (mimeTypeFilePath != null) {\n args.push(`${mimeTypeFilePath}=/usr/share/mime/packages/${packager.executableName}.xml`)\n }\n\n const desktopFilePath = await this.helper.writeDesktopEntry(this.options)\n args.push(`${desktopFilePath}=/usr/share/applications/${packager.executableName}.desktop`)\n\n if (packager.packagerOptions.effectiveOptionComputed != null && (await packager.packagerOptions.effectiveOptionComputed([args, desktopFilePath]))) {\n return\n }\n\n const env = {\n ...process.env,\n SZA_PATH: path7za,\n SZA_COMPRESSION_LEVEL: packager.compression === \"store\" ? \"0\" : \"9\",\n }\n\n // rpmbuild wants directory rpm with some default config files. Even if we can use dylibbundler, path to such config files are not changed (we need to replace in the binary)\n // so, for now, brew install rpm is still required.\n if (target !== \"rpm\" && (await isMacOsSierra())) {\n const linuxToolsPath = await getLinuxToolsPath()\n Object.assign(env, {\n PATH: computeEnv(process.env.PATH, [path.join(linuxToolsPath, \"bin\")]),\n DYLD_LIBRARY_PATH: computeEnv(process.env.DYLD_LIBRARY_PATH, [path.join(linuxToolsPath, \"lib\")]),\n })\n }\n\n await executeAppBuilder([\"fpm\", \"--configuration\", JSON.stringify(fpmConfiguration)], undefined, { env })\n\n let info: ArtifactCreated = {\n file: artifactPath,\n target: this,\n arch,\n packager,\n }\n if (publishConfig != null) {\n info = {\n ...info,\n safeArtifactName: packager.computeSafeArtifactName(artifactName, target, arch, !isUseArchIfX64),\n isWriteUpdateInfo: true,\n updateInfo: {\n sha512: await hashFile(artifactPath),\n size: (await stat(artifactPath)).size,\n },\n }\n }\n await packager.info.callArtifactBuildCompleted(info)\n }\n\n private supportsAutoUpdate(target: string) {\n return [\"deb\", \"rpm\"].includes(target)\n }\n}\n\ninterface FpmConfiguration {\n target: string\n args: Array<string>\n customDepends?: Array<string>\n compression?: string | null\n}\n\nasync function writeConfigFile(tmpDir: TmpDir, templatePath: string, options: any): Promise<string> {\n //noinspection JSUnusedLocalSymbols\n function replacer(match: string, p1: string) {\n if (p1 in options) {\n return options[p1]\n } else {\n throw new Error(`Macro ${p1} is not defined`)\n }\n }\n const config = (await readFile(templatePath, \"utf8\")).replace(/\\${([a-zA-Z]+)}/g, replacer).replace(/<%=([a-zA-Z]+)%>/g, (match, p1) => {\n log.warn(\"<%= varName %> is deprecated, please use ${varName} instead\")\n return replacer(match, p1.trim())\n })\n\n const outputPath = await tmpDir.getTempFile({ suffix: path.basename(templatePath, \".tpl\") })\n await outputFile(outputPath, config)\n return outputPath\n}\n"]}
|
package/out/targets/pkg.js
CHANGED
|
@@ -14,7 +14,7 @@ const certType = "Developer ID Installer";
|
|
|
14
14
|
// http://www.shanekirk.com/2013/10/creating-flat-packages-in-osx/
|
|
15
15
|
// to use --scripts, we must build .app bundle separately using pkgbuild
|
|
16
16
|
// productbuild --scripts doesn't work (because scripts in this case not added to our package)
|
|
17
|
-
// https://github.com/electron-userland/
|
|
17
|
+
// https://github.com/electron-userland/@electron/osx-sign/issues/96#issuecomment-274986942
|
|
18
18
|
class PkgTarget extends core_1.Target {
|
|
19
19
|
constructor(packager, outDir) {
|
|
20
20
|
super("pkg");
|
package/out/targets/pkg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkg.js","sourceRoot":"","sources":["../../src/targets/pkg.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, debug, exec, use } from \"builder-util\"\nimport { statOrNull } from \"builder-util/out/fs\"\nimport { PkgOptions } from \"../options/pkgOptions\"\nimport { executeAppBuilderAndWriteJson, executeAppBuilderAsJson } from \"../util/appBuilder\"\nimport { getNotLocalizedLicenseFile } from \"../util/license\"\nimport { readFile, unlink, writeFile } from \"fs/promises\"\nimport * as path from \"path\"\nimport { filterCFBundleIdentifier } from \"../appInfo\"\nimport { findIdentity, Identity } from \"../codeSign/macCodeSign\"\nimport { Target } from \"../core\"\nimport MacPackager from \"../macPackager\"\n\nconst certType = \"Developer ID Installer\"\n\n// http://www.shanekirk.com/2013/10/creating-flat-packages-in-osx/\n// to use --scripts, we must build .app bundle separately using pkgbuild\n// productbuild --scripts doesn't work (because scripts in this case not added to our package)\n// https://github.com/electron-userland/electron-osx-sign/issues/96#issuecomment-274986942\nexport class PkgTarget extends Target {\n readonly options: PkgOptions = {\n allowAnywhere: true,\n allowCurrentUserHome: true,\n allowRootDirectory: true,\n ...this.packager.config.pkg,\n }\n\n constructor(private readonly packager: MacPackager, readonly outDir: string) {\n super(\"pkg\")\n }\n\n async build(appPath: string, arch: Arch): Promise<any> {\n const packager = this.packager\n const options = this.options\n const appInfo = packager.appInfo\n\n // pkg doesn't like not ASCII symbols (Could not open package to list files: /Volumes/test/t-gIjdGK/test-project-0/dist/Test App ßW-1.1.0.pkg)\n const artifactName = packager.expandArtifactNamePattern(options, \"pkg\", arch)\n const artifactPath = path.join(this.outDir, artifactName)\n\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: \"pkg\",\n file: artifactPath,\n arch,\n })\n\n const keychainFile = (await packager.codeSigningInfo.value).keychainFile\n\n const appOutDir = this.outDir\n // https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html\n const distInfoFile = path.join(appOutDir, \"distribution.xml\")\n\n const innerPackageFile = path.join(appOutDir, `${filterCFBundleIdentifier(appInfo.id)}.pkg`)\n const componentPropertyListFile = path.join(appOutDir, `${filterCFBundleIdentifier(appInfo.id)}.plist`)\n const identity = (\n await Promise.all([\n findIdentity(certType, options.identity || packager.platformSpecificBuildOptions.identity, keychainFile),\n this.customizeDistributionConfiguration(distInfoFile, appPath),\n this.buildComponentPackage(appPath, componentPropertyListFile, innerPackageFile),\n ])\n )[0]\n\n if (identity == null && packager.forceCodeSigning) {\n throw new Error(`Cannot find valid \"${certType}\" to sign standalone installer, please see https://electron.build/code-signing`)\n }\n\n const args = prepareProductBuildArgs(identity, keychainFile)\n args.push(\"--distribution\", distInfoFile)\n args.push(artifactPath)\n use(options.productbuild, it => args.push(...(it as any)))\n await exec(\"productbuild\", args, {\n cwd: appOutDir,\n })\n await Promise.all([unlink(innerPackageFile), unlink(distInfoFile)])\n\n await packager.dispatchArtifactCreated(artifactPath, this, arch, packager.computeSafeArtifactName(artifactName, \"pkg\", arch))\n }\n\n private async customizeDistributionConfiguration(distInfoFile: string, appPath: string) {\n await exec(\"productbuild\", [\"--synthesize\", \"--component\", appPath, distInfoFile], {\n cwd: this.outDir,\n })\n\n const options = this.options\n let distInfo = await readFile(distInfoFile, \"utf-8\")\n\n if (options.mustClose != null && options.mustClose.length !== 0) {\n const startContent = ` <pkg-ref id=\"${this.packager.appInfo.id}\">\\n <must-close>\\n`\n const endContent = \" </must-close>\\n </pkg-ref>\\n</installer-gui-script>\"\n let mustCloseContent = \"\"\n options.mustClose.forEach(appId => {\n mustCloseContent += ` <app id=\"${appId}\"/>\\n`\n })\n distInfo = distInfo.replace(\"</installer-gui-script>\", `${startContent}${mustCloseContent}${endContent}`)\n }\n\n const insertIndex = distInfo.lastIndexOf(\"</installer-gui-script>\")\n distInfo =\n distInfo.substring(0, insertIndex) +\n ` <domains enable_anywhere=\"${options.allowAnywhere}\" enable_currentUserHome=\"${options.allowCurrentUserHome}\" enable_localSystem=\"${options.allowRootDirectory}\" />\\n` +\n distInfo.substring(insertIndex)\n\n if (options.background != null) {\n const background = await this.packager.getResource(options.background.file)\n if (background != null) {\n const alignment = options.background.alignment || \"center\"\n // noinspection SpellCheckingInspection\n const scaling = options.background.scaling || \"tofit\"\n distInfo = distInfo.substring(0, insertIndex) + ` <background file=\"${background}\" alignment=\"${alignment}\" scaling=\"${scaling}\"/>\\n` + distInfo.substring(insertIndex)\n distInfo =\n distInfo.substring(0, insertIndex) + ` <background-darkAqua file=\"${background}\" alignment=\"${alignment}\" scaling=\"${scaling}\"/>\\n` + distInfo.substring(insertIndex)\n }\n }\n\n const welcome = await this.packager.getResource(options.welcome)\n if (welcome != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <welcome file=\"${welcome}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n const license = await getNotLocalizedLicenseFile(options.license, this.packager)\n if (license != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <license file=\"${license}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n const conclusion = await this.packager.getResource(options.conclusion)\n if (conclusion != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <conclusion file=\"${conclusion}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n debug(distInfo)\n await writeFile(distInfoFile, distInfo)\n }\n\n private async buildComponentPackage(appPath: string, propertyListOutputFile: string, packageOutputFile: string) {\n const options = this.options\n const rootPath = path.dirname(appPath)\n\n // first produce a component plist template\n await exec(\"pkgbuild\", [\"--analyze\", \"--root\", rootPath, propertyListOutputFile])\n\n // process the template plist\n const plistInfo = (await executeAppBuilderAsJson<Array<any>>([\"decode-plist\", \"-f\", propertyListOutputFile]))[0].filter(\n (it: any) => it.RootRelativeBundlePath !== \"Electron.dSYM\"\n )\n if (plistInfo.length > 0) {\n const packageInfo = plistInfo[0]\n\n // ChildBundles lists all of electron binaries within the .app.\n // There is no particular reason for removing that key, except to be as close as possible to\n // the PackageInfo generated by previous versions of electron-builder.\n delete packageInfo.ChildBundles\n\n if (options.isRelocatable != null) {\n packageInfo.BundleIsRelocatable = options.isRelocatable\n }\n\n if (options.isVersionChecked != null) {\n packageInfo.BundleIsVersionChecked = options.isVersionChecked\n }\n\n if (options.hasStrictIdentifier != null) {\n packageInfo.BundleHasStrictIdentifier = options.hasStrictIdentifier\n }\n\n if (options.overwriteAction != null) {\n packageInfo.BundleOverwriteAction = options.overwriteAction\n }\n\n await executeAppBuilderAndWriteJson([\"encode-plist\"], { [propertyListOutputFile]: plistInfo })\n }\n\n // now build the package\n const args = [\n \"--root\",\n rootPath,\n // \"--identifier\", this.packager.appInfo.id,\n \"--component-plist\",\n propertyListOutputFile,\n ]\n\n use(this.options.installLocation || \"/Applications\", it => args.push(\"--install-location\", it))\n if (options.scripts != null) {\n args.push(\"--scripts\", path.resolve(this.packager.info.buildResourcesDir, options.scripts))\n } else if (options.scripts !== null) {\n const dir = path.join(this.packager.info.buildResourcesDir, \"pkg-scripts\")\n const stat = await statOrNull(dir)\n if (stat != null && stat.isDirectory()) {\n args.push(\"--scripts\", dir)\n }\n }\n\n args.push(packageOutputFile)\n\n await exec(\"pkgbuild\", args)\n }\n}\n\nexport function prepareProductBuildArgs(identity: Identity | null, keychain: string | null | undefined): Array<string> {\n const args: Array<string> = []\n if (identity != null) {\n args.push(\"--sign\", identity.hash)\n if (keychain != null) {\n args.push(\"--keychain\", keychain)\n }\n }\n return args\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pkg.js","sourceRoot":"","sources":["../../src/targets/pkg.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, debug, exec, use } from \"builder-util\"\nimport { statOrNull } from \"builder-util/out/fs\"\nimport { PkgOptions } from \"../options/pkgOptions\"\nimport { executeAppBuilderAndWriteJson, executeAppBuilderAsJson } from \"../util/appBuilder\"\nimport { getNotLocalizedLicenseFile } from \"../util/license\"\nimport { readFile, unlink, writeFile } from \"fs/promises\"\nimport * as path from \"path\"\nimport { filterCFBundleIdentifier } from \"../appInfo\"\nimport { findIdentity, Identity } from \"../codeSign/macCodeSign\"\nimport { Target } from \"../core\"\nimport MacPackager from \"../macPackager\"\n\nconst certType = \"Developer ID Installer\"\n\n// http://www.shanekirk.com/2013/10/creating-flat-packages-in-osx/\n// to use --scripts, we must build .app bundle separately using pkgbuild\n// productbuild --scripts doesn't work (because scripts in this case not added to our package)\n// https://github.com/electron-userland/@electron/osx-sign/issues/96#issuecomment-274986942\nexport class PkgTarget extends Target {\n readonly options: PkgOptions = {\n allowAnywhere: true,\n allowCurrentUserHome: true,\n allowRootDirectory: true,\n ...this.packager.config.pkg,\n }\n\n constructor(private readonly packager: MacPackager, readonly outDir: string) {\n super(\"pkg\")\n }\n\n async build(appPath: string, arch: Arch): Promise<any> {\n const packager = this.packager\n const options = this.options\n const appInfo = packager.appInfo\n\n // pkg doesn't like not ASCII symbols (Could not open package to list files: /Volumes/test/t-gIjdGK/test-project-0/dist/Test App ßW-1.1.0.pkg)\n const artifactName = packager.expandArtifactNamePattern(options, \"pkg\", arch)\n const artifactPath = path.join(this.outDir, artifactName)\n\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: \"pkg\",\n file: artifactPath,\n arch,\n })\n\n const keychainFile = (await packager.codeSigningInfo.value).keychainFile\n\n const appOutDir = this.outDir\n // https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html\n const distInfoFile = path.join(appOutDir, \"distribution.xml\")\n\n const innerPackageFile = path.join(appOutDir, `${filterCFBundleIdentifier(appInfo.id)}.pkg`)\n const componentPropertyListFile = path.join(appOutDir, `${filterCFBundleIdentifier(appInfo.id)}.plist`)\n const identity = (\n await Promise.all([\n findIdentity(certType, options.identity || packager.platformSpecificBuildOptions.identity, keychainFile),\n this.customizeDistributionConfiguration(distInfoFile, appPath),\n this.buildComponentPackage(appPath, componentPropertyListFile, innerPackageFile),\n ])\n )[0]\n\n if (identity == null && packager.forceCodeSigning) {\n throw new Error(`Cannot find valid \"${certType}\" to sign standalone installer, please see https://electron.build/code-signing`)\n }\n\n const args = prepareProductBuildArgs(identity, keychainFile)\n args.push(\"--distribution\", distInfoFile)\n args.push(artifactPath)\n use(options.productbuild, it => args.push(...(it as any)))\n await exec(\"productbuild\", args, {\n cwd: appOutDir,\n })\n await Promise.all([unlink(innerPackageFile), unlink(distInfoFile)])\n\n await packager.dispatchArtifactCreated(artifactPath, this, arch, packager.computeSafeArtifactName(artifactName, \"pkg\", arch))\n }\n\n private async customizeDistributionConfiguration(distInfoFile: string, appPath: string) {\n await exec(\"productbuild\", [\"--synthesize\", \"--component\", appPath, distInfoFile], {\n cwd: this.outDir,\n })\n\n const options = this.options\n let distInfo = await readFile(distInfoFile, \"utf-8\")\n\n if (options.mustClose != null && options.mustClose.length !== 0) {\n const startContent = ` <pkg-ref id=\"${this.packager.appInfo.id}\">\\n <must-close>\\n`\n const endContent = \" </must-close>\\n </pkg-ref>\\n</installer-gui-script>\"\n let mustCloseContent = \"\"\n options.mustClose.forEach(appId => {\n mustCloseContent += ` <app id=\"${appId}\"/>\\n`\n })\n distInfo = distInfo.replace(\"</installer-gui-script>\", `${startContent}${mustCloseContent}${endContent}`)\n }\n\n const insertIndex = distInfo.lastIndexOf(\"</installer-gui-script>\")\n distInfo =\n distInfo.substring(0, insertIndex) +\n ` <domains enable_anywhere=\"${options.allowAnywhere}\" enable_currentUserHome=\"${options.allowCurrentUserHome}\" enable_localSystem=\"${options.allowRootDirectory}\" />\\n` +\n distInfo.substring(insertIndex)\n\n if (options.background != null) {\n const background = await this.packager.getResource(options.background.file)\n if (background != null) {\n const alignment = options.background.alignment || \"center\"\n // noinspection SpellCheckingInspection\n const scaling = options.background.scaling || \"tofit\"\n distInfo = distInfo.substring(0, insertIndex) + ` <background file=\"${background}\" alignment=\"${alignment}\" scaling=\"${scaling}\"/>\\n` + distInfo.substring(insertIndex)\n distInfo =\n distInfo.substring(0, insertIndex) + ` <background-darkAqua file=\"${background}\" alignment=\"${alignment}\" scaling=\"${scaling}\"/>\\n` + distInfo.substring(insertIndex)\n }\n }\n\n const welcome = await this.packager.getResource(options.welcome)\n if (welcome != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <welcome file=\"${welcome}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n const license = await getNotLocalizedLicenseFile(options.license, this.packager)\n if (license != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <license file=\"${license}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n const conclusion = await this.packager.getResource(options.conclusion)\n if (conclusion != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <conclusion file=\"${conclusion}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n debug(distInfo)\n await writeFile(distInfoFile, distInfo)\n }\n\n private async buildComponentPackage(appPath: string, propertyListOutputFile: string, packageOutputFile: string) {\n const options = this.options\n const rootPath = path.dirname(appPath)\n\n // first produce a component plist template\n await exec(\"pkgbuild\", [\"--analyze\", \"--root\", rootPath, propertyListOutputFile])\n\n // process the template plist\n const plistInfo = (await executeAppBuilderAsJson<Array<any>>([\"decode-plist\", \"-f\", propertyListOutputFile]))[0].filter(\n (it: any) => it.RootRelativeBundlePath !== \"Electron.dSYM\"\n )\n if (plistInfo.length > 0) {\n const packageInfo = plistInfo[0]\n\n // ChildBundles lists all of electron binaries within the .app.\n // There is no particular reason for removing that key, except to be as close as possible to\n // the PackageInfo generated by previous versions of electron-builder.\n delete packageInfo.ChildBundles\n\n if (options.isRelocatable != null) {\n packageInfo.BundleIsRelocatable = options.isRelocatable\n }\n\n if (options.isVersionChecked != null) {\n packageInfo.BundleIsVersionChecked = options.isVersionChecked\n }\n\n if (options.hasStrictIdentifier != null) {\n packageInfo.BundleHasStrictIdentifier = options.hasStrictIdentifier\n }\n\n if (options.overwriteAction != null) {\n packageInfo.BundleOverwriteAction = options.overwriteAction\n }\n\n await executeAppBuilderAndWriteJson([\"encode-plist\"], { [propertyListOutputFile]: plistInfo })\n }\n\n // now build the package\n const args = [\n \"--root\",\n rootPath,\n // \"--identifier\", this.packager.appInfo.id,\n \"--component-plist\",\n propertyListOutputFile,\n ]\n\n use(this.options.installLocation || \"/Applications\", it => args.push(\"--install-location\", it))\n if (options.scripts != null) {\n args.push(\"--scripts\", path.resolve(this.packager.info.buildResourcesDir, options.scripts))\n } else if (options.scripts !== null) {\n const dir = path.join(this.packager.info.buildResourcesDir, \"pkg-scripts\")\n const stat = await statOrNull(dir)\n if (stat != null && stat.isDirectory()) {\n args.push(\"--scripts\", dir)\n }\n }\n\n args.push(packageOutputFile)\n\n await exec(\"pkgbuild\", args)\n }\n}\n\nexport function prepareProductBuildArgs(identity: Identity | null, keychain: string | null | undefined): Array<string> {\n const args: Array<string> = []\n if (identity != null) {\n args.push(\"--sign\", identity.hash!)\n if (keychain != null) {\n args.push(\"--keychain\", keychain)\n }\n }\n return args\n}\n"]}
|
|
@@ -59,8 +59,8 @@ function checkMetadata(metadata, devMetadata, appPackageFile, devAppPackageFile)
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
const devDependencies = metadata.devDependencies;
|
|
62
|
-
if (devDependencies != null && "electron
|
|
63
|
-
builder_util_1.log.info('electron
|
|
62
|
+
if (devDependencies != null && "@electron/rebuild" in devDependencies) {
|
|
63
|
+
builder_util_1.log.info('@electron/rebuild is already incorporated into electron-builder, please consider to remove excess dependency from devDependencies\n\nTo ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`');
|
|
64
64
|
}
|
|
65
65
|
if (errors.length > 0) {
|
|
66
66
|
throw new builder_util_1.InvalidConfigurationError(errors.join("\n"));
|
|
@@ -90,7 +90,7 @@ function checkDependencies(dependencies, errors) {
|
|
|
90
90
|
if (swVersion != null && !versionSatisfies(swVersion, ">=20.32.0")) {
|
|
91
91
|
errors.push(`At least electron-builder-squirrel-windows 20.32.0 is required by current electron-builder version. Please set electron-builder-squirrel-windows to "^20.32.0"`);
|
|
92
92
|
}
|
|
93
|
-
const deps = ["electron", "electron-prebuilt", "electron
|
|
93
|
+
const deps = ["electron", "electron-prebuilt", "@electron/rebuild"];
|
|
94
94
|
if (process.env.ALLOW_ELECTRON_BUILDER_AS_PRODUCTION_DEPENDENCY !== "true") {
|
|
95
95
|
deps.push("electron-builder");
|
|
96
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageMetadata.js","sourceRoot":"","sources":["../../src/util/packageMetadata.ts"],"names":[],"mappings":";;;AAAA,+CAA8E;AAC9E,uCAA6C;AAC7C,6BAA4B;AAC5B,iCAAgC;AAEhC,iEAA6D;AAE7D,gBAAgB;AACT,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAA;IACjC,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACzB,kEAAkE;IAClE,OAAO,IAAI,CAAC,OAAO,CAAA;IACnB,OAAO,IAAI,CAAC,MAAM,CAAA;IAClB,IAAA,2CAAoB,EAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,IAAI,CAAA;AACb,CAAC;AARD,0CAQC;AAED,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,IAAS;IAC5C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;QAC7B,OAAM;KACP;IAED,IAAI,UAAU,CAAA;IACd,IAAI;QACF,UAAU,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAA;KACjF;IAAC,OAAO,OAAO,EAAE;QAChB,OAAM;KACP;IAED,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAC7F,CAAC;AAED,gBAAgB;AAChB,SAAgB,aAAa,CAAC,QAAkB,EAAE,WAAuB,EAAE,cAAsB,EAAE,iBAAyB;IAC1H,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,CAAC,eAAuB,EAAE,EAAE;QAC9C,MAAM,CAAC,IAAI,CAAC,mBAAmB,eAAe,0BAA0B,cAAc,GAAG,CAAC,CAAA;IAC5F,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,KAAgC,EAAE,EAAE;QACvE,IAAI,IAAA,8BAAe,EAAC,KAAK,CAAC,EAAE;YAC1B,WAAW,CAAC,IAAI,CAAC,CAAA;SAClB;IACH,CAAC,CAAA;IAED,IAAK,QAAgB,CAAC,WAAW,IAAI,IAAI,EAAE;QACzC,MAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAA;KACtF;IAED,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEpC,IAAI,IAAA,8BAAe,EAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACzC,kBAAG,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,2CAA2C,CAAC,CAAA;KAC1E;IACD,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE;QAC3B,kBAAG,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,sCAAsC,CAAC,CAAA;KACrE;IACD,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAE1C,iBAAiB,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IAChD,IAAI,QAAQ,KAAK,WAAW,EAAE;QAC5B,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;YAC1B,MAAM,CAAC,IAAI,CACT,4CAA4C,cAAc,gGAAgG,iBAAiB,GAAG,CAC/K,CAAA;SACF;KACF;IAED,MAAM,eAAe,GAAI,QAAgB,CAAC,eAAe,CAAA;IACzD,IAAI,eAAe,IAAI,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"packageMetadata.js","sourceRoot":"","sources":["../../src/util/packageMetadata.ts"],"names":[],"mappings":"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","sourcesContent":["import { isEmptyOrSpaces, log, InvalidConfigurationError } from \"builder-util\"\nimport { readFile, readJson } from \"fs-extra\"\nimport * as path from \"path\"\nimport * as semver from \"semver\"\nimport { Metadata } from \"../options/metadata\"\nimport { normalizePackageData } from \"./normalizePackageData\"\n\n/** @internal */\nexport async function readPackageJson(file: string): Promise<any> {\n const data = await readJson(file)\n await authors(file, data)\n // remove not required fields because can be used for remote build\n delete data.scripts\n delete data.readme\n normalizePackageData(data)\n return data\n}\n\nasync function authors(file: string, data: any) {\n if (data.contributors != null) {\n return\n }\n\n let authorData\n try {\n authorData = await readFile(path.resolve(path.dirname(file), \"AUTHORS\"), \"utf8\")\n } catch (ignored) {\n return\n }\n\n data.contributors = authorData.split(/\\r?\\n/g).map(it => it.replace(/^\\s*#.*$/, \"\").trim())\n}\n\n/** @internal */\nexport function checkMetadata(metadata: Metadata, devMetadata: any | null, appPackageFile: string, devAppPackageFile: string): void {\n const errors: Array<string> = []\n const reportError = (missedFieldName: string) => {\n errors.push(`Please specify '${missedFieldName}' in the package.json (${appPackageFile})`)\n }\n\n const checkNotEmpty = (name: string, value: string | null | undefined) => {\n if (isEmptyOrSpaces(value)) {\n reportError(name)\n }\n }\n\n if ((metadata as any).directories != null) {\n errors.push(`\"directories\" in the root is deprecated, please specify in the \"build\"`)\n }\n\n checkNotEmpty(\"name\", metadata.name)\n\n if (isEmptyOrSpaces(metadata.description)) {\n log.warn({ appPackageFile }, `description is missed in the package.json`)\n }\n if (metadata.author == null) {\n log.warn({ appPackageFile }, `author is missed in the package.json`)\n }\n checkNotEmpty(\"version\", metadata.version)\n\n checkDependencies(metadata.dependencies, errors)\n if (metadata !== devMetadata) {\n if (metadata.build != null) {\n errors.push(\n `'build' in the application package.json (${appPackageFile}) is not supported since 3.0 anymore. Please move 'build' into the development package.json (${devAppPackageFile})`\n )\n }\n }\n\n const devDependencies = (metadata as any).devDependencies\n if (devDependencies != null && \"@electron/rebuild\" in devDependencies) {\n log.info(\n '@electron/rebuild is already incorporated into electron-builder, please consider to remove excess dependency from devDependencies\\n\\nTo ensure your native dependencies are always matched electron version, simply add script `\"postinstall\": \"electron-builder install-app-deps\" to your `package.json`'\n )\n }\n\n if (errors.length > 0) {\n throw new InvalidConfigurationError(errors.join(\"\\n\"))\n }\n}\n\nfunction versionSatisfies(version: string | semver.SemVer | null, range: string | semver.Range, loose?: boolean): boolean {\n if (version == null) {\n return false\n }\n\n const coerced = semver.coerce(version)\n if (coerced == null) {\n return false\n }\n\n return semver.satisfies(coerced, range, loose)\n}\n\nfunction checkDependencies(dependencies: { [key: string]: string } | null | undefined, errors: Array<string>) {\n if (dependencies == null) {\n return\n }\n\n const updaterVersion = dependencies[\"electron-updater\"]\n const requiredElectronUpdaterVersion = \"4.0.0\"\n if (updaterVersion != null && !versionSatisfies(updaterVersion, `>=${requiredElectronUpdaterVersion}`)) {\n errors.push(\n `At least electron-updater ${requiredElectronUpdaterVersion} is recommended by current electron-builder version. Please set electron-updater version to \"^${requiredElectronUpdaterVersion}\"`\n )\n }\n\n const swVersion = dependencies[\"electron-builder-squirrel-windows\"]\n if (swVersion != null && !versionSatisfies(swVersion, \">=20.32.0\")) {\n errors.push(`At least electron-builder-squirrel-windows 20.32.0 is required by current electron-builder version. Please set electron-builder-squirrel-windows to \"^20.32.0\"`)\n }\n\n const deps = [\"electron\", \"electron-prebuilt\", \"@electron/rebuild\"]\n if (process.env.ALLOW_ELECTRON_BUILDER_AS_PRODUCTION_DEPENDENCY !== \"true\") {\n deps.push(\"electron-builder\")\n }\n for (const name of deps) {\n if (name in dependencies) {\n errors.push(`Package \"${name}\" is only allowed in \"devDependencies\". ` + `Please remove it from the \"dependencies\" section in your package.json.`)\n }\n }\n}\n"]}
|
package/out/util/yarn.js
CHANGED
|
@@ -6,8 +6,8 @@ const fs_extra_1 = require("fs-extra");
|
|
|
6
6
|
const os_1 = require("os");
|
|
7
7
|
const path = require("path");
|
|
8
8
|
const electronVersion_1 = require("../electron/electronVersion");
|
|
9
|
-
const electronRebuild = require("electron
|
|
10
|
-
const searchModule = require("electron
|
|
9
|
+
const electronRebuild = require("@electron/rebuild");
|
|
10
|
+
const searchModule = require("@electron/rebuild/lib/src/search-module");
|
|
11
11
|
async function installOrRebuild(config, appDir, options, forceInstall = false) {
|
|
12
12
|
let isDependenciesInstalled = false;
|
|
13
13
|
for (const fileOrDir of ["node_modules", ".pnp.js"]) {
|
|
@@ -122,7 +122,7 @@ function isRunningYarn(execPath) {
|
|
|
122
122
|
}
|
|
123
123
|
/** @internal */
|
|
124
124
|
async function rebuild(appDir, buildFromSource, arch = process.arch) {
|
|
125
|
-
builder_util_1.log.info({ appDir, arch }, "executing electron
|
|
125
|
+
builder_util_1.log.info({ appDir, arch }, "executing @electron/rebuild");
|
|
126
126
|
const options = {
|
|
127
127
|
buildPath: appDir,
|
|
128
128
|
electronVersion: await (0, electronVersion_1.getElectronVersion)(appDir),
|
package/out/util/yarn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../src/util/yarn.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAClD,uCAAqC;AAErC,2BAA4B;AAC5B,6BAA4B;AAG5B,iEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../src/util/yarn.ts"],"names":[],"mappings":"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","sourcesContent":["import { asArray, log, spawn } from \"builder-util\"\nimport { pathExists } from \"fs-extra\"\nimport { Lazy } from \"lazy-val\"\nimport { homedir } from \"os\"\nimport * as path from \"path\"\nimport { Configuration } from \"../configuration\"\nimport { NodeModuleDirInfo } from \"./packageDependencies\"\nimport { getElectronVersion } from \"../electron/electronVersion\"\nimport * as electronRebuild from \"@electron/rebuild\"\nimport * as searchModule from \"@electron/rebuild/lib/src/search-module\"\n\nexport async function installOrRebuild(config: Configuration, appDir: string, options: RebuildOptions, forceInstall = false) {\n let isDependenciesInstalled = false\n for (const fileOrDir of [\"node_modules\", \".pnp.js\"]) {\n if (await pathExists(path.join(appDir, fileOrDir))) {\n isDependenciesInstalled = true\n break\n }\n }\n\n if (forceInstall || !isDependenciesInstalled) {\n const effectiveOptions: RebuildOptions = {\n buildFromSource: config.buildDependenciesFromSource === true,\n additionalArgs: asArray(config.npmArgs),\n ...options,\n }\n await installDependencies(appDir, effectiveOptions)\n } else {\n await rebuild(appDir, config.buildDependenciesFromSource === true, options.arch)\n }\n}\n\nexport interface DesktopFrameworkInfo {\n version: string\n useCustomDist: boolean\n}\n\nfunction getElectronGypCacheDir() {\n return path.join(homedir(), \".electron-gyp\")\n}\n\nexport function getGypEnv(frameworkInfo: DesktopFrameworkInfo, platform: NodeJS.Platform, arch: string, buildFromSource: boolean) {\n const npmConfigArch = arch === \"armv7l\" ? \"arm\" : arch\n const common: any = {\n ...process.env,\n npm_config_arch: npmConfigArch,\n npm_config_target_arch: npmConfigArch,\n npm_config_platform: platform,\n npm_config_build_from_source: buildFromSource,\n // required for node-pre-gyp\n npm_config_target_platform: platform,\n npm_config_update_binary: true,\n npm_config_fallback_to_build: true,\n }\n\n if (platform !== process.platform) {\n common.npm_config_force = \"true\"\n }\n if (platform === \"win32\" || platform === \"darwin\") {\n common.npm_config_target_libc = \"unknown\"\n }\n\n if (!frameworkInfo.useCustomDist) {\n return common\n }\n\n // https://github.com/nodejs/node-gyp/issues/21\n return {\n ...common,\n npm_config_disturl: \"https://electronjs.org/headers\",\n npm_config_target: frameworkInfo.version,\n npm_config_runtime: \"electron\",\n npm_config_devdir: getElectronGypCacheDir(),\n }\n}\n\nfunction checkYarnBerry() {\n const npmUserAgent = process.env[\"npm_config_user_agent\"] || \"\"\n const regex = /yarn\\/(\\d+)\\./gm\n\n const yarnVersionMatch = regex.exec(npmUserAgent)\n const yarnMajorVersion = Number(yarnVersionMatch?.[1] ?? 0)\n return yarnMajorVersion >= 2\n}\n\nfunction installDependencies(appDir: string, options: RebuildOptions): Promise<any> {\n const platform = options.platform || process.platform\n const arch = options.arch || process.arch\n const additionalArgs = options.additionalArgs\n\n log.info({ platform, arch, appDir }, `installing production dependencies`)\n let execPath = process.env.npm_execpath || process.env.NPM_CLI_JS\n const execArgs = [\"install\"]\n const isYarnBerry = checkYarnBerry()\n if (!isYarnBerry) {\n if (process.env.NPM_NO_BIN_LINKS === \"true\") {\n execArgs.push(\"--no-bin-links\")\n }\n execArgs.push(\"--production\")\n }\n\n if (!isRunningYarn(execPath)) {\n execArgs.push(\"--prefer-offline\")\n }\n\n if (execPath == null) {\n execPath = getPackageToolPath()\n } else if (!isYarnBerry) {\n execArgs.unshift(execPath)\n execPath = process.env.npm_node_execpath || process.env.NODE_EXE || \"node\"\n }\n\n if (additionalArgs != null) {\n execArgs.push(...additionalArgs)\n }\n return spawn(execPath, execArgs, {\n cwd: appDir,\n env: getGypEnv(options.frameworkInfo, platform, arch, options.buildFromSource === true),\n })\n}\n\nexport async function nodeGypRebuild(arch: string) {\n return rebuild(process.cwd(), false, arch)\n}\n\nfunction getPackageToolPath() {\n if (process.env.FORCE_YARN === \"true\") {\n return process.platform === \"win32\" ? \"yarn.cmd\" : \"yarn\"\n } else {\n return process.platform === \"win32\" ? \"npm.cmd\" : \"npm\"\n }\n}\n\nfunction isRunningYarn(execPath: string | null | undefined) {\n const userAgent = process.env.npm_config_user_agent\n return process.env.FORCE_YARN === \"true\" || (execPath != null && path.basename(execPath).startsWith(\"yarn\")) || (userAgent != null && /\\byarn\\b/.test(userAgent))\n}\n\nexport interface RebuildOptions {\n frameworkInfo: DesktopFrameworkInfo\n productionDeps?: Lazy<Array<NodeModuleDirInfo>>\n\n platform?: NodeJS.Platform\n arch?: string\n\n buildFromSource?: boolean\n\n additionalArgs?: Array<string> | null\n}\n\n/** @internal */\nexport async function rebuild(appDir: string, buildFromSource: boolean, arch = process.arch) {\n log.info({ appDir, arch }, \"executing @electron/rebuild\")\n const options: electronRebuild.RebuildOptions = {\n buildPath: appDir,\n electronVersion: await getElectronVersion(appDir),\n arch,\n force: true,\n debug: log.isDebugEnabled,\n projectRootPath: await searchModule.getProjectRootPath(appDir),\n }\n if (buildFromSource) {\n options.prebuildTagPrefix = \"totally-not-a-real-prefix-to-force-rebuild\"\n }\n return electronRebuild.rebuild(options)\n}\n"]}
|
package/out/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PACKAGE_VERSION = "24.0.0-alpha.
|
|
1
|
+
export declare const PACKAGE_VERSION = "24.0.0-alpha.6";
|
package/out/version.js
CHANGED
package/out/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,gBAAgB,CAAA","sourcesContent":["export const PACKAGE_VERSION = \"24.0.0-alpha.
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,gBAAgB,CAAA","sourcesContent":["export const PACKAGE_VERSION = \"24.0.0-alpha.6\"\n"]}
|