Skip to content

Latest commit

 

History

History
1992 lines (1990 loc) · 94 KB

electron-builder.md

File metadata and controls

1992 lines (1990 loc) · 94 KB

Developer API only. See Configuration for user documentation.

Modules

electron-builder
app-builder-lib
electron-publish
electron-updater

electron-builder

electron-builder.Arch : enum

Kind: enum of electron-builder
Properties

  • ia32
  • x64
  • armv7l
  • arm64
  • universal

electron-builder.build(rawOptions)Promise<Array<String>>

Kind: method of electron-builder

Param Type
rawOptions CliOptions

electron-builder.createTargets(platforms, type, arch)Map<Platform | Map<Arch | Array<String>>>

Kind: method of electron-builder

Param Type
platforms Array<Platform>
type String | “undefined”
arch String | “undefined”

app-builder-lib

ArtifactBuildStarted

Kind: interface of app-builder-lib
Properties

  • targetPresentableName String
  • file String
  • arch Arch | “undefined”

ArtifactCreatedmodule:packages/electron-publish/out/publisher.UploadTask

Kind: interface of app-builder-lib
Extends: module:packages/electron-publish/out/publisher.UploadTask
Properties

BeforeBuildContext

Kind: interface of app-builder-lib
Properties

  • appDir String
  • electronVersion String
  • platform Platform
  • arch String

BuildResult

Kind: interface of app-builder-lib
Properties

CertificateFromStoreInfo

Kind: interface of app-builder-lib
Properties

  • thumbprint String
  • subject String
  • store String
  • isLocalMachineStore Boolean

FileCodeSigningInfo

Kind: interface of app-builder-lib
Properties

  • file String
  • password String | “undefined”

Framework

Kind: interface of app-builder-lib
Properties

  • name String
  • version String
  • distMacOsAppName String
  • macOsDefaultTargets Array<String>
  • defaultAppIdPrefix String
  • isNpmRebuildRequired Boolean
  • isCopyElevateHelper Boolean

Methods

framework.afterPack(context)Promise<any>

Param Type
context module:app-builder-lib/out/configuration.PackContext

framework.beforeCopyExtraFiles(options)Promise<any>

Param Type
options module:app-builder-lib/out/Framework.BeforeCopyExtraFilesOptions

framework.createTransformer()null | module:packages/builder-util/out/fs.__type

framework.getDefaultIcon(platform)null | String

Param Type
platform Platform

framework.getExcludedDependencies(platform)null | Array

Param Type
platform Platform

framework.getMainFile(platform)null | String

Param Type
platform Platform

framework.prepareApplicationStageDirectory(options)Promise<any>

Param Type
options PrepareApplicationStageDirectoryOptions

SourceRepositoryInfo

Kind: interface of app-builder-lib
Properties

  • type String
  • domain String
  • user String
  • project String

AppInfo

Kind: class of app-builder-lib
Properties

  • description = smarten(this.info.metadata.description || "") String
  • version String
  • shortVersion String | undefined
  • shortVersionWindows String | undefined
  • buildNumber String | undefined
  • buildVersion String
  • productName String
  • sanitizedProductName String
  • productFilename String
  • channel String | “undefined”
  • companyName String | “undefined”
  • id String
  • macBundleIdentifier String
  • name String
  • linuxPackageName String
  • sanitizedName String
  • updaterCacheDirName String
  • copyright String

Methods

appInfo.computePackageUrl()Promise< | String>

appInfo.getVersionInWeirdWindowsForm(isSetBuildNumber)String

Param
isSetBuildNumber

Packager

Kind: class of app-builder-lib
Properties

  • projectDir String
  • appDir String
  • metadata Metadata
  • areNodeModulesHandledExternally Boolean
  • isPrepackedAppAsar Boolean
  • devMetadata Metadata | “undefined”
  • config Configuration
  • isTwoPackageJsonProjectLayoutUsed = false Boolean
  • eventEmitter = new EventEmitter() module:events.EventEmitter
  • _appInfo AppInfo | “undefined”
  • appInfo AppInfo
  • tempDirManager = new TmpDir("packager") TmpDir
  • options PackagerOptions
  • debugLogger = new DebugLogger(log.isDebugEnabled) DebugLogger
  • repositoryInfo Promise< | SourceRepositoryInfo>
  • [stageDirPathCustomizer=(target, packager, arch) => { return path.join(target.outDir, __${target.name}-${getArtifactArchName(arch, target.name)}) }] callback
  • buildResourcesDir String
  • relativeBuildResourcesDirname String
  • framework Framework

Methods

packager._build(configuration, metadata, devMetadata, repositoryInfo)Promise<BuildResult>

Param Type
configuration Configuration
metadata Metadata
devMetadata Metadata | “undefined”
repositoryInfo SourceRepositoryInfo

packager.addAfterPackHandler(handler)

Param Type
handler callback

packager.afterPack(context)Promise<any>

Param Type
context module:app-builder-lib/out/configuration.PackContext

packager.artifactCreated(handler)Packager

Param Type
handler callback

packager.build()Promise<BuildResult>

packager.callAppxManifestCreated(path)Promise<void>

Param Type
path String

packager.callArtifactBuildCompleted(event)Promise<void>

Param Type
event ArtifactCreated

packager.callArtifactBuildStarted(event, logFields)Promise<void>

Param Type
event ArtifactBuildStarted
logFields any

packager.callMsiProjectCreated(path)Promise<void>

Param Type
path String

packager.dispatchArtifactCreated(event)

Only for sub artifacts (update info), for main artifacts use callArtifactBuildCompleted.

Param Type
event ArtifactCreated

packager.disposeOnBuildFinish(disposer)

Param Type
disposer callback

packager.installAppDependencies(platform, arch)Promise<any>

Param Type
platform Platform
arch Arch

packager.getNodeDependencyInfo(platform)Lazy<Array<module:app-builder-lib/out/util/packageDependencies.NodeModuleDirInfo>>

Param Type
platform Platform | “undefined”

Platform

Kind: class of app-builder-lib
Properties

  • MAC = new Platform("mac", "mac", "darwin") Platform
  • LINUX = new Platform("linux", "linux", "linux") Platform
  • WINDOWS = new Platform("windows", "win", "win32") Platform

Methods

platform.createTarget(type, archs)Map<Platform | Map<Arch | Array<String>>>

Param Type
type String | Array<String> | “undefined”
archs Array<Arch>

platform.current()Platform

platform.fromString(name)Platform

Param Type
name String

platform.toString()String

PlatformPackager

Kind: class of app-builder-lib
Properties

  • packagerOptions PackagerOptions
  • buildResourcesDir String
  • projectDir String
  • config Configuration
  • platformSpecificBuildOptions module:app-builder-lib/out/platformPackager.DC
  • resourceList Promise<Array<String>>
  • appInfo AppInfo
  • compression “store” | “normal” | “maximum”
  • debugLogger DebugLogger
  • defaultTarget Array<String>
  • fileAssociations Array<FileAssociation>
  • forceCodeSigning Boolean

Methods

platformPackager.artifactPatternConfig(targetSpecificOptions, defaultPattern)module:app-builder-lib/out/platformPackager.__object

Param Type
targetSpecificOptions TargetSpecificOptions | “undefined” | undefined
defaultPattern String | undefined

platformPackager.computeSafeArtifactName(suggestedName, ext, arch, skipDefaultArch, defaultArch, safePattern)null | String

Param Type
suggestedName String | “undefined”
ext String
arch Arch | “undefined”
skipDefaultArch
defaultArch String
safePattern

platformPackager.createTargets(targets, mapper)

Param Type
targets Array<String>
mapper callback

platformPackager.getDefaultFrameworkIcon()null | String

platformPackager.dispatchArtifactCreated(file, target, arch, safeArtifactName)Promise<void>

Param Type
file String
target Target | “undefined”
arch Arch | “undefined”
safeArtifactName String | “undefined”

platformPackager.getElectronDestinationDir(appOutDir)String

Param Type
appOutDir String

platformPackager.getElectronSrcDir(dist)String

Param Type
dist String

platformPackager.expandArtifactBeautyNamePattern(targetSpecificOptions, ext, arch)String

Param Type
targetSpecificOptions TargetSpecificOptions | “undefined” | undefined
ext String
arch Arch | “undefined”

platformPackager.expandArtifactNamePattern(targetSpecificOptions, ext, arch, defaultPattern, skipDefaultArch, defaultArch)String

Param Type
targetSpecificOptions TargetSpecificOptions | “undefined” | undefined
ext String
arch Arch | “undefined”
defaultPattern String
skipDefaultArch
defaultArch String

platformPackager.expandMacro(pattern, arch, extra, isProductNameSanitized)String

Param Type
pattern String
arch String | “undefined”
extra any
isProductNameSanitized

platformPackager.generateName2(ext, classifier, deployment)String

Param Type
ext String | “undefined”
classifier String | “undefined” | undefined
deployment Boolean

platformPackager.getIconPath()Promise< | String>

platformPackager.getMacOsResourcesDir(appOutDir)String

Param Type
appOutDir String

platformPackager.pack(outDir, arch, targets, taskManager)Promise<any>

Param Type
outDir String
arch Arch
targets Array<Target>
taskManager AsyncTaskManager

platformPackager.resolveIcon(sources, fallbackSources, outputFormat)Promise<Array<module:app-builder-lib/out/platformPackager.IconInfo>>

Param Type
sources Array<String>
fallbackSources Array<String>
outputFormat “icns” | “ico” | “set”

platformPackager.getResource(custom, names)Promise< | String>

Param Type
custom String | “undefined” | undefined
names Array<String>

platformPackager.getResourcesDir(appOutDir)String

Param Type
appOutDir String

platformPackager.getTempFile(suffix)Promise<String>

Param Type
suffix String

PublishManager ⇐ module:packages/electron-publish/out/publisher.PublishContext

Kind: class of app-builder-lib
Extends: module:packages/electron-publish/out/publisher.PublishContext
Properties

  • isPublish = false Boolean
  • progress = (process.stdout as TtyWriteStream).isTTY ? new MultiProgress() : null MultiProgress

Methods

publishManager.awaitTasks()Promise<void>

publishManager.cancelTasks()

publishManager.getGlobalPublishConfigurations()Promise< | Array>

Target

Kind: class of app-builder-lib
Properties

Methods

target.build(appOutDir, arch)Promise<any>

Param Type
appOutDir String
arch Arch

target.finishBuild()Promise<any>

app-builder-lib.build(options, packager)Promise<Array<String>>

Kind: method of app-builder-lib

Param Type
options PackagerOptions | module:packages/electron-publish/out/publisher.PublishOptions
packager Packager

app-builder-lib.buildForge(forgeOptions, options)Promise<Array<String>>

Kind: method of app-builder-lib

Param Type
forgeOptions ForgeOptions
options PackagerOptions

electron-publish

PublishContext

Kind: interface of electron-publish
Properties

  • cancellationToken CancellationToken
  • progress module:electron-publish/out/multiProgress.MultiProgress | “undefined”

UploadTask

Kind: interface of electron-publish
Properties

  • file String
  • fileContent module:global.Buffer | “undefined”
  • arch Arch | “undefined”
  • safeArtifactName String | “undefined”
  • timeout Number | “undefined”

HttpPublisher ⇐ Publisher

Kind: class of electron-publish
Extends: Publisher

httpPublisher.upload(task)Promise<any>

Overrides: upload

Param Type
task UploadTask

httpPublisher.toString()String

ProgressCallback

Kind: class of electron-publish

progressCallback.update(transferred, total)

Param Type
transferred Number
total Number

Publisher

Kind: class of electron-publish
Properties

  • providerName “github” | “s3” | “spaces” | “generic” | “custom” | “snapStore” | “keygen” | “bitbucket”

Methods

publisher.toString()String

publisher.upload(task)Promise<any>

Param Type
task UploadTask

electron-publish.getCiTag()null | String

Kind: method of electron-publish

electron-updater

Logger

Kind: interface of electron-updater

logger.debug(message)

Param Type
message String

logger.error(message)

Param Type
message any

logger.info(message)

Param Type
message any

logger.warn(message)

Param Type
message any

ResolvedUpdateFileInfo

Kind: interface of electron-updater
Properties

  • url module:url.URL
  • info module:builder-util-runtime.UpdateFileInfo
  • packageInfo module:builder-util-runtime.PackageFileInfo

UpdateCheckResult

Kind: interface of electron-updater
Properties

  • updateInfo module:builder-util-runtime.UpdateInfo
  • downloadPromise Promise<Array<String>> | “undefined”
  • cancellationToken CancellationToken
  • versionInfo module:builder-util-runtime.UpdateInfo - Deprecated:

UpdateDownloadedEventmodule:builder-util-runtime.UpdateInfo

Kind: interface of electron-updater
Extends: module:builder-util-runtime.UpdateInfo
Properties

  • downloadedFile String

AppImageUpdater ⇐ module:electron-updater/out/BaseUpdater.BaseUpdater

Kind: class of electron-updater
Extends: module:electron-updater/out/BaseUpdater.BaseUpdater

appImageUpdater.isUpdaterActive()Boolean

AppUpdater ⇐ module:typed-emitter/index.TypedEventEmitter

Kind: class of electron-updater
Extends: module:typed-emitter/index.TypedEventEmitter
Properties

  • autoDownload = true Boolean - Whether to automatically download an update when it is found.

  • autoInstallOnAppQuit = true Boolean - Whether to automatically install a downloaded update on app quit (if quitAndInstall was not called before).

  • allowPrerelease = false Boolean - GitHub provider only. Whether to allow update to pre-release versions. Defaults to true if application version contains prerelease components (e.g. 0.12.1-alpha.1, here alpha is a prerelease component), otherwise false.

    If true, downgrade will be allowed (allowDowngrade will be set to true).

  • fullChangelog = false Boolean - GitHub provider only. Get all release notes (from current version to latest), not just the latest.

  • allowDowngrade = false Boolean - Whether to allow version downgrade (when a user from the beta channel wants to go back to the stable channel).

    Taken in account only if channel differs (pre-release version component in terms of semantic versioning).

  • disableWebInstaller = false Boolean - Web installer files might not have signature verification, this switch prevents to load them unless it is needed.

    Currently false to prevent breaking the current API, but it should be changed to default true at some point that breaking changes are allowed.

  • forceDevUpdateConfig = false Boolean - Allows developer to force the updater to work in “dev” mode, looking for “dev-app-update.yml” instead of “app-update.yml” Dev: path.join(this.app.getAppPath(), "dev-app-update.yml") Prod: path.join(process.resourcesPath!, "app-update.yml")

  • currentVersion SemVer - The current application version.

  • channel String | “undefined” - Get the update channel. Not applicable for GitHub. Doesn’t return channel from the update configuration, only if was previously set.

  • requestHeaders [key: string]: string | “undefined” - The request headers.

  • netSession Electron:Session

  • logger Logger | “undefined” - The logger. You can pass electron-log, winston or another logger with the following interface: { info(), warn(), error() }. Set it to null if you would like to disable a logging feature.

  • signals = new UpdaterSignal(this) UpdaterSignal

  • configOnDisk = new Lazy<any>(() => this.loadUpdateConfig()) Lazy<any>

  • httpExecutor module:electron-updater/out/electronHttpExecutor.ElectronHttpExecutor

  • isAddNoCacheQuery Boolean

Methods

appUpdater.addAuthHeader(token)

Shortcut for explicitly adding auth tokens to request headers

Param Type
token String

appUpdater.checkForUpdates()Promise< | UpdateCheckResult>

Asks the server whether there is an update.

appUpdater.checkForUpdatesAndNotify(downloadNotification)Promise< | UpdateCheckResult>

Param Type
downloadNotification module:electron-updater/out/AppUpdater.DownloadNotification

appUpdater.downloadUpdate(cancellationToken)Promise<Array<String>>

Start downloading update manually. You can use this method if autoDownload option is set to false.

Returns: Promise<Array<String>> - Paths to downloaded files.

Param Type
cancellationToken CancellationToken

appUpdater.getFeedURL()undefined | null | String

appUpdater.setFeedURL(options)

Configure update provider. If value is string, GenericServerOptions will be set with value as url.

Param Type Description
options PublishConfiguration | String | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | module:builder-util-runtime/out/publishOptions.CustomPublishOptions | module:builder-util-runtime/out/publishOptions.KeygenOptions | SnapStoreOptions | module:builder-util-runtime/out/publishOptions.BitbucketOptions | String If you want to override configuration in the app-update.yml.

appUpdater.isUpdaterActive()Boolean

appUpdater.quitAndInstall(isSilent, isForceRunAfter)

Restarts the app and installs the update after it has been downloaded. It should only be called after update-downloaded has been emitted.

Note: autoUpdater.quitAndInstall() will close all application windows first and only emit before-quit event on app after that. This is different from the normal quit event sequence.

Param Type Description
isSilent Boolean windows-only Runs the installer in silent mode. Defaults to false.
isForceRunAfter Boolean Run the app after finish even on silent install. Not applicable for macOS. Ignored if isSilent is set to false.

MacUpdater ⇐ AppUpdater

Kind: class of electron-updater
Extends: AppUpdater

macUpdater.quitAndInstall()

Overrides: quitAndInstall

macUpdater.addAuthHeader(token)

Shortcut for explicitly adding auth tokens to request headers

Param Type
token String

macUpdater.checkForUpdates()Promise< | UpdateCheckResult>

Asks the server whether there is an update.

macUpdater.checkForUpdatesAndNotify(downloadNotification)Promise< | UpdateCheckResult>

Param Type
downloadNotification module:electron-updater/out/AppUpdater.DownloadNotification

macUpdater.downloadUpdate(cancellationToken)Promise<Array<String>>

Start downloading update manually. You can use this method if autoDownload option is set to false.

Returns: Promise<Array<String>> - Paths to downloaded files.

Param Type
cancellationToken CancellationToken

macUpdater.getFeedURL()undefined | null | String

macUpdater.setFeedURL(options)

Configure update provider. If value is string, GenericServerOptions will be set with value as url.

Param Type Description
options PublishConfiguration | String | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | module:builder-util-runtime/out/publishOptions.CustomPublishOptions | module:builder-util-runtime/out/publishOptions.KeygenOptions | SnapStoreOptions | module:builder-util-runtime/out/publishOptions.BitbucketOptions | String If you want to override configuration in the app-update.yml.

macUpdater.isUpdaterActive()Boolean

NsisUpdater ⇐ module:electron-updater/out/BaseUpdater.BaseUpdater

Kind: class of electron-updater
Extends: module:electron-updater/out/BaseUpdater.BaseUpdater
Properties

  • installDirectory String - Specify custom install directory path

Provider

Kind: class of electron-updater
Properties

  • isUseMultipleRangeRequest Boolean
  • fileExtraDownloadHeaders [key: string]: string | “undefined”

Methods

provider.getLatestVersion()Promise<module:electron-updater/out/providers/Provider.T>

provider.setRequestHeaders(value)

Param Type
value [key: string]: string | “undefined”

provider.resolveFiles(updateInfo)Array<ResolvedUpdateFileInfo>

Param Type
updateInfo module:electron-updater/out/providers/Provider.T

UpdaterSignal

Kind: class of electron-updater

updaterSignal.login(handler)

Emitted when an authenticating proxy is asking for user credentials.

Param Type
handler module:electron-updater.__type

updaterSignal.progress(handler)

Param Type
handler callback

updaterSignal.updateCancelled(handler)

Param Type
handler callback

updaterSignal.updateDownloaded(handler)

Param Type
handler callback

electron-updater.autoUpdater : AppUpdater

Kind: constant of electron-updater