Type object
File match electron-builder.json
Schema URL https://catalog.lintel.tools/schemas/schemastore/electron-builder-configuration-file/latest.json
Source https://www.schemastore.org/electron-builder.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Configuration Options

Properties

$schema null | string

JSON Schema for this document.

afterAllArtifactBuild null | string

The function (or path to file or module id) to be run after all artifacts are build.

afterPack null | string

The function (or path to file or module id) to be run after pack (but before pack into distributable format and sign).

afterSign null | string

The function (or path to file or module id) to be run after pack and sign (but before pack into distributable format).

appId null | string

The application id. Used as CFBundleIdentifier for MacOS and as Application User Model ID for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.

Default: "com.electron.${name}"
appImage AppImageOptions | null

AppImage options.

appx AppXOptions | null
artifactBuildCompleted null | string

The function (or path to file or module id) to be run on artifact build completed.

artifactBuildStarted null | string

The function (or path to file or module id) to be run on artifact build start.

artifactName null | string

The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).

asar AsarOptions | null | boolean

Whether to package the application's source code into an archive, using Electron's archive format.

Node modules, that must be unpacked, will be detected automatically, you don't need to explicitly set asarUnpack - please file an issue if this doesn't work.

Default: true
asarUnpack string[] | null | string

A glob patterns relative to the app directory, which specifies which files to unpack when creating the asar archive.

beforeBuild null | string

The function (or path to file or module id) to be run before dependencies are installed or rebuilt. Works when npmRebuild is set to true. Resolving to false will skip dependencies install or rebuild.

If provided and node_modules are missing, it will not invoke production dependencies check.

buildDependenciesFromSource boolean

Whether to build the application native dependencies from source.

Default: false
buildVersion null | string

The build version. Maps to the CFBundleVersion on macOS, and FileVersion metadata property on Windows. Defaults to the version. If TRAVIS_BUILD_NUMBER or APPVEYOR_BUILD_NUMBER or CIRCLE_BUILD_NUM or BUILD_NUMBER or bamboo.buildNumber env defined, it will be used as a build version (version.build_number).

compression string | null

The compression level. If you want to rapidly test build, store can reduce build time significantly. maximum doesn't lead to noticeable size difference, but increase build time.

Default: "normal"
cscKeyPassword null | string
deb DebOptions | null

Debian package options.

detectUpdateChannel boolean

Whether to infer update channel from application version pre-release components. e.g. if version 0.12.1-alpha.1, channel will be set to alpha. Otherwise to latest.

Default: true
directories MetadataDirectories | null
dmg DmgOptions | null

macOS DMG options.

electronCompile boolean

Whether to use electron-compile to compile app. Defaults to true if electron-compile in the dependencies. And false if in the devDependencies or doesn't specified.

electronDist string

The path to custom Electron build (e.g. ~/electron/out/R).

electronDownload object
9 nested properties
arch string
cache null | string
customDir null | string
customFilename null | string
isVerifyChecksum boolean
mirror null | string

The mirror.

platform string
Values: "darwin" "linux" "mas" "win32"
strictSSL boolean
version string
electronUpdaterCompatibility null | string
electronVersion null | string

The version of electron you are packaging for. Defaults to version of electron, electron-prebuilt or electron-prebuilt-compile dependency.

extends null | string

The name of a built-in configuration preset or path to config file (relative to project dir). Currently, only react-cra is supported.

If react-scripts in the app dependencies, react-cra will be set automatically. Set to null to disable automatic detection.

extraFiles FileSet | FileSet | string[] | null | string
extraMetadata

Inject properties to package.json.

extraResources FileSet | FileSet | string[] | null | string
fileAssociations FileAssociation | FileAssociation[]

The file associations.

files FileSet | FileSet | string[] | null | string
forceCodeSigning boolean

Whether to fail if app will be not code signed.

framework null | string

The framework name. One of electron, proton-native, libui. Defaults to electron.

generateUpdatesFilesForAllChannels boolean
Default: false
icon null | string
includePdb boolean

Whether to include PDB files.

Default: false
launchUiVersion null | string | boolean

libui-based frameworks only The version of LaunchUI you are packaging for. Applicable for Windows only. Defaults to version suitable for used framework version.

linux LinuxConfiguration | null

Options related to how build Linux targets.

mac MacConfiguration | null

Options related to how build macOS targets.

mas MasConfiguration | null

MAS (Mac Application Store) options.

msi MsiOptions | null
muonVersion null | string

The version of muon you are packaging for.

nodeGypRebuild boolean

Whether to execute node-gyp rebuild before starting to package the app.

Don't use npm (neither .npmrc) for configuring electron headers. Use electron-builder node-gyp-rebuild instead.

Default: false
nodeVersion null | string

libui-based frameworks only The version of NodeJS you are packaging for. You can set it to current to set the Node.js version that you use to run.

npmArgs string[] | null | string

Additional command line arguments to use when installing app native deps.

npmRebuild boolean

Whether to rebuild native dependencies before starting to package the app.

Default: true
npmSkipBuildFromSource boolean
nsis NsisOptions | null
nsisWeb NsisWebOptions | null
onNodeModuleFile null | string

The function (or path to file or module id) to be run on each node module file.

pkg PkgOptions | null

macOS PKG options.

portable PortableOptions | null
productName null | string

As name, but allows you to specify a product name for your executable which contains spaces and other special characters not allowed in the name property.

protocols Protocol | Protocol[]

The URL protocol schemes.

protonNodeVersion null | string
publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
readonly boolean

Whether to fail if the application is not signed (to prevent unsigned app if code signing configuration is not correct).

Default: false
releaseInfo object
4 nested properties
releaseDate string

The release date.

releaseName null | string

The release name.

releaseNotes null | string

The release notes.

releaseNotesFile null | string

The path to release notes file. Defaults to release-notes-${platform}.md (where platform it is current platform — mac, linux or windows) or release-notes.md in the build resources.

remoteBuild boolean

Whether to build using Electron Build Service if target not supported on current OS.

Default: true
removePackageScripts boolean

Whether to remove scripts field from package.json files.

Default: true
snap SnapOptions | null

Snap options.

squirrelWindows SquirrelWindowsOptions | null
target TargetConfiguration | TargetConfiguration | string[] | null | string

Options related to how build Windows targets.

Definitions

AppImageOptions object
artifactName null | string
category null | string
description null | string

As description from application package.json, but allows you to specify different for Linux.

desktop

The Desktop file entries (name to value).

license null | string

The path to EULA license file. Defaults to license.txt or eula.txt (or uppercase variants). Only plain text is supported.

mimeTypes string[] | null

The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing.

publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
synopsis null | string
systemIntegration string

The system integration installation.

Default: "ask"
Values: "ask" "doNotAsk"
AppXOptions object
addAutoLaunchExtension boolean

Whether to add auto launch extension. Defaults to true if electron-winstore-auto-launch in the dependencies.

applicationId string

The application id. Defaults to identityName. Can't start with numbers.

artifactName null | string
backgroundColor null | string

The background color of the app tile. See Visual Elements.

Default: "#464646"
displayName null | string

A friendly name that can be displayed to users. Corresponds to Properties.DisplayName. Defaults to the application product name.

electronUpdaterAware boolean
Default: false
identityName null | string

The name. Corresponds to Identity.Name. Defaults to the application name.

languages string[] | null | string

The list of supported languages that will be listed in the Windows Store. The first entry (index 0) will be the default language. Defaults to en-US if omitted.

makeappxArgs string[] | null
publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
publisher null | string

The Windows Store publisher. Not used if AppX is build for testing. See AppX Package Code Signing below.

publisherDisplayName null | string

A friendly name for the publisher that can be displayed to users. Corresponds to Properties.PublisherDisplayName. Defaults to company name from the application metadata.

showNameOnTiles boolean

Whether to overlay the app's name on top of tile images on the Start screen. Defaults to false. (https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap-shownameontiles) in the dependencies.

setBuildNumber boolean
AsarOptions object
externalAllowed boolean

Allows external asar files.

Default: false
ordering null | string
smartUnpack boolean

Whether to automatically unpack executables files.

Default: true
BintrayOptions object

Bintray options. Requires an API key. An API key can be obtained from the user profile page ("Edit Your Profile" -> API Key). Define BT_TOKEN environment variable.

provider string required

The provider. Must be bintray.

Values: "bintray"
component null | string

The Bintray component (Debian only).

distribution null | string

The Bintray distribution (Debian only).

Default: "stable"
owner null | string

The owner.

package null | string

The Bintray package name.

publishAutoUpdate boolean

Whether to publish auto update info files.

Auto update relies only on the first provider in the list (you can specify several publishers). Thus, probably, there`s no need to upload the metadata files for the other configured providers. But by default will be uploaded.

Default: true
publisherName string[] | null
repo null | string

The Bintray repository name.

Default: "generic"
token null | string
updaterCacheDirName null | string
user null | string

The Bintray user account. Used in cases where the owner is an organization.

CustomPublishOptions Record<string, any>
provider string required
Values: "bintray" "custom" "generic" "github" "s3" "spaces"
publishAutoUpdate boolean

Whether to publish auto update info files.

Auto update relies only on the first provider in the list (you can specify several publishers). Thus, probably, there`s no need to upload the metadata files for the other configured providers. But by default will be uploaded.

Default: true
publisherName string[] | null
updaterCacheDirName null | string
DebOptions object
afterInstall null | string
afterRemove null | string
artifactName null | string
category null | string
compression string | null

The compression type.

Default: "xz"
depends string[] | null

Package dependencies. Defaults to ["gconf2", "gconf-service", "libnotify4", "libappindicator1", "libxtst6", "libnss3"].

description null | string

As description from application package.json, but allows you to specify different for Linux.

desktop

The Desktop file entries (name to value).

fpm string[] | null

Advanced only The fpm options.

Example: ["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]

icon string
maintainer null | string
mimeTypes string[] | null

The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing.

packageCategory null | string
priority null | string

The Priority attribute.

publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
synopsis null | string
vendor null | string
DmgContent object
x number required
y number required
name string

The name of the file within the DMG. Defaults to basename of path.

path string

The path of the file within the DMG.

type string
Values: "dir" "file" "link"
DmgOptions object
artifactName null | string
background null | string

The path to background image (default: build/background.tiff or build/background.png if exists). The resolution of this file determines the resolution of the installer window. If background is not specified, use window.size. Default locations expected background size to be 540x380.

backgroundColor null | string

The background color (accepts css colors). Defaults to #ffffff (white) if no background image.

contents DmgContent[]

The content — to customize icon locations.

format string

The disk image format. ULFO (lzfse-compressed image (OS X 10.11+ only)).

Default: "UDZO"
Values: "UDBZ" "UDCO" "UDRO" "UDRW" "UDZO" "ULFO"
icon null | string

The path to DMG icon (volume icon), which will be shown when mounted, relative to the build resources or to the project directory. Defaults to the application icon (build/icon.icns).

iconSize null | number

The size of all the icons inside the DMG.

Default: 80
iconTextSize null | number

The size of all the icon texts inside the DMG.

Default: 12
internetEnabled boolean

Whether to create internet-enabled disk image (when it is downloaded using a browser it will automatically decompress the image, put the application on the desktop, unmount and remove the disk image file).

Default: false
publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
title null | string

The title of the produced DMG, which will be shown when mounted (volume name).

Macro ${productName}, ${version} and ${name} are supported.

Default: "${productName} ${version}"
window object
4 nested properties
height number

The height. Defaults to background image height or 380.

width number

The width. Defaults to background image width or 540.

x number

The X position relative to left of the screen.

Default: 400
y number

The Y position relative to top of the screen.

Default: 100
DmgWindow object
height number

The height. Defaults to background image height or 380.

width number

The width. Defaults to background image width or 540.

x number

The X position relative to left of the screen.

Default: 400
y number

The Y position relative to top of the screen.

Default: 100
ElectronDownloadOptions object
arch string
cache null | string
customDir null | string
customFilename null | string
isVerifyChecksum boolean
mirror null | string

The mirror.

platform string
Values: "darwin" "linux" "mas" "win32"
strictSSL boolean
version string
FileAssociation object

File associations.

macOS (corresponds to CFBundleDocumentTypes) and NSIS only.

On Windows works only if nsis.perMachine is set to true.

ext string[] | string required

The extension (minus the leading period). e.g. png.

description null | string

windows-only. The description.

icon null | string

The path to icon (.icns for MacOS and .ico for Windows), relative to build (build resources directory). Defaults to ${firstExt}.icns/${firstExt}.ico (if several extensions specified, first is used) or to application icon.

Not supported on Linux, file issue if need (default icon will be x-office-document).

isPackage boolean

macOS-only Whether the document is distributed as a bundle. If set to true, the bundle directory is treated as a file. Corresponds to LSTypeIsPackage.

mimeType null | string

linux-only. The mime-type.

name null | string

The name. e.g. PNG. Defaults to ext.

role string

macOS-only The app's role with respect to the type. The value can be Editor, Viewer, Shell, or None. Corresponds to CFBundleTypeRole.

Default: "Editor"
FileSet object
filter string[] | string
from string

The source path relative to the project directory.

to string

The destination path relative to the app's content directory for extraFiles and the app's resource directory for extraResources.

GenericServerOptions object

Generic (any HTTP(S) server) options. In all publish options File Macros are supported.

provider string required

The provider. Must be generic.

Values: "generic"
url string required

The base url. e.g. <https://bucket_name.s3.amazonaws.com>.

channel null | string

The channel.

Default: "latest"
publishAutoUpdate boolean

Whether to publish auto update info files.

Auto update relies only on the first provider in the list (you can specify several publishers). Thus, probably, there`s no need to upload the metadata files for the other configured providers. But by default will be uploaded.

Default: true
publisherName string[] | null
updaterCacheDirName null | string
useMultipleRangeRequest boolean

Whether to use multiple range requests for differential update. Defaults to true if url doesn't contain s3.amazonaws.com.

GithubOptions object

GitHub options.

GitHub personal access token is required. You can generate by going to [https://github.com/settings/tokens/new](https://github.com/settings/tokens/new). The access token should have the repo scope/permission. Define GH_TOKEN environment variable.

provider string required

The provider. Must be github.

Values: "github"
host null | string

The host (including the port if need).

Default: "github.com"
owner null | string

The owner.

private null | boolean

Whether to use private github auto-update provider if GH_TOKEN environment variable is defined. See Private GitHub Update Repo.

protocol string | null

The protocol. GitHub Publisher supports only https.

Default: "https"
publishAutoUpdate boolean

Whether to publish auto update info files.

Auto update relies only on the first provider in the list (you can specify several publishers). Thus, probably, there`s no need to upload the metadata files for the other configured providers. But by default will be uploaded.

Default: true
publisherName string[] | null
releaseType string | null

The type of release. By default draft release will be created.

Also you can set release type using environment variable. If EP_DRAFTis set to truedraft, if EP_PRE_RELEASEis set to trueprerelease.

Default: "draft"
repo null | string

The repository name. Detected automatically.

token null | string

The access token to support auto-update from private github repositories. Never specify it in the configuration files. Only for setFeedURL.

updaterCacheDirName null | string
vPrefixedTagName boolean

Whether to use v-prefixed tag name.

Default: true
LinuxConfiguration object
appId null | string

The application id. Used as CFBundleIdentifier for MacOS and as Application User Model ID for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.

Default: "com.electron.${name}"
artifactName null | string

The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).

asar AsarOptions | null | boolean

Whether to package the application's source code into an archive, using Electron's archive format.

Node modules, that must be unpacked, will be detected automatically, you don't need to explicitly set asarUnpack - please file an issue if this doesn't work.

Default: true
asarUnpack string[] | null | string

A glob patterns relative to the app directory, which specifies which files to unpack when creating the asar archive.

category null | string
compression string | null

The compression level. If you want to rapidly test build, store can reduce build time significantly. maximum doesn't lead to noticeable size difference, but increase build time.

Default: "normal"
cscKeyPassword null | string
cscLink null | string
depends string[] | null
description null | string

As description from application package.json, but allows you to specify different for Linux.

desktop

The Desktop file entries (name to value).

detectUpdateChannel boolean

Whether to infer update channel from application version pre-release components. e.g. if version 0.12.1-alpha.1, channel will be set to alpha. Otherwise to latest.

Default: true
electronUpdaterCompatibility null | string
executableName null | string

The executable name. Defaults to productName. Cannot be specified per target, allowed only in the linux.

extraFiles FileSet | FileSet | string[] | null | string
extraResources FileSet | FileSet | string[] | null | string
fileAssociations FileAssociation | FileAssociation[]

The file associations.

files FileSet | FileSet | string[] | null | string
forceCodeSigning boolean

Whether to fail if app will be not code signed.

generateUpdatesFilesForAllChannels boolean
Default: false
icon string

The path to icon set directory or one png file, relative to the build resources or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon. By default will be generated automatically based on the macOS icns file.

maintainer null | string

The maintainer. Defaults to author.

mimeTypes string[] | null

The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing.

packageCategory null | string

backward compatibility + to allow specify fpm-only category for all possible fpm targets in one place

protocols Protocol | Protocol[]

The URL protocol schemes.

publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
releaseInfo object
4 nested properties
releaseDate string

The release date.

releaseName null | string

The release name.

releaseNotes null | string

The release notes.

releaseNotesFile null | string

The path to release notes file. Defaults to release-notes-${platform}.md (where platform it is current platform — mac, linux or windows) or release-notes.md in the build resources.

synopsis null | string
target TargetConfiguration | TargetConfiguration | string[] | null | string

Target package type: list of AppImage, snap, deb, rpm, freebsd, pacman, p5p, apk, 7z, zip, tar.xz, tar.lz, tar.gz, tar.bz2, dir.

electron-builder docker image can be used to build Linux targets on any platform.

Please do not put an AppImage into another archive like a .zip or .tar.gz.

Default: "AppImage"
vendor null | string

The vendor. Defaults to author.

LinuxTargetSpecificOptions object
afterInstall null | string
afterRemove null | string
artifactName null | string
category null | string
compression string | null

The compression type.

Default: "xz"
depends string[] | null

Package dependencies.

description null | string

As description from application package.json, but allows you to specify different for Linux.

desktop

The Desktop file entries (name to value).

fpm string[] | null

Advanced only The fpm options.

Example: ["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]

icon string
maintainer null | string
mimeTypes string[] | null

The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing.

packageCategory null | string

The package category.

publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
synopsis null | string
vendor null | string
MacConfiguration object
appId null | string

The application id. Used as CFBundleIdentifier for MacOS and as Application User Model ID for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.

Default: "com.electron.${name}"
artifactName null | string

The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).

asar AsarOptions | null | boolean

Whether to package the application's source code into an archive, using Electron's archive format.

Node modules, that must be unpacked, will be detected automatically, you don't need to explicitly set asarUnpack - please file an issue if this doesn't work.

Default: true
asarUnpack string[] | null | string

A glob patterns relative to the app directory, which specifies which files to unpack when creating the asar archive.

binaries string[] | null

Paths of any extra binaries that need to be signed.

bundleShortVersion null | string

The CFBundleShortVersionString. Do not use it unless you need to.

bundleVersion null | string

The CFBundleVersion. Do not use it unless you need to.

category null | string

The application category type, as shown in the Finder via View -> Arrange by Application Category when viewing the Applications directory.

For example, "category": "public.app-category.developer-tools" will set the application category to Developer Tools.

Valid values are listed in Apple's documentation.

compression string | null

The compression level. If you want to rapidly test build, store can reduce build time significantly. maximum doesn't lead to noticeable size difference, but increase build time.

Default: "normal"
cscInstallerKeyPassword null | string
cscInstallerLink null | string
cscKeyPassword null | string
cscLink null | string
darkModeSupport boolean

Whether a dark mode is supported. If your app does have a dark mode, you can make your app follow the system-wide dark mode setting.

Default: false
hardenedRuntime boolean

Whether your app has to be signed with hardened runtime.

Default: false
gatekeeperAssess boolean

Whether to let electron-osx-sign validate the signing or not.

Default: false
detectUpdateChannel boolean

Whether to infer update channel from application version pre-release components. e.g. if version 0.12.1-alpha.1, channel will be set to alpha. Otherwise to latest.

Default: true
electronLanguages string[] | string

The electron locales. By default Electron locales used as is.

electronUpdaterCompatibility null | string
entitlements null | string

The path to entitlements file for signing the app. build/entitlements.mac.plist will be used if exists (it is a recommended way to set). MAS entitlements is specified in the mas.

entitlementsInherit null | string

The path to child entitlements which inherit the security settings for signing frameworks and bundles of a distribution. build/entitlements.mac.inherit.plist will be used if exists (it is a recommended way to set). Otherwise default.

This option only applies when signing with entitlements provided.

extendInfo

The extra entries for Info.plist.

extraDistFiles string[] | null | string

Extra files to put in archive. Not applicable for tar.*.

extraFiles FileSet | FileSet | string[] | null | string
extraResources FileSet | FileSet | string[] | null | string
fileAssociations FileAssociation | FileAssociation[]

The file associations.

files FileSet | FileSet | string[] | null | string
forceCodeSigning boolean

Whether to fail if app will be not code signed.

generateUpdatesFilesForAllChannels boolean
Default: false
helperBundleId null | string

The bundle identifier to use in the application helper's plist.

Default: "${appBundleIdentifier}.helper"
icon null | string

The path to application icon.

Default: "build/icon.icns"
identity null | string

The name of certificate to use when signing. Consider using environment variables CSC_LINK or CSC_NAME instead of specifying this option. MAS installer identity is specified in the mas.

minimumSystemVersion null | string

The minimum version of macOS required for the app to run. Corresponds to LSMinimumSystemVersion.

protocols Protocol | Protocol[]

The URL protocol schemes.

provisioningProfile null | string

The path to the provisioning profile to use when signing, absolute or relative to the app root.

publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
releaseInfo object
4 nested properties
releaseDate string

The release date.

releaseName null | string

The release name.

releaseNotes null | string

The release notes.

releaseNotesFile null | string

The path to release notes file. Defaults to release-notes-${platform}.md (where platform it is current platform — mac, linux or windows) or release-notes.md in the build resources.

requirements null | string

Path of requirements file used in signing. Not applicable for MAS.

target TargetConfiguration | TargetConfiguration | string[] | string | null

The target package type: list of default, dmg, mas, mas-dev, pkg, 7z, zip, tar.xz, tar.lz, tar.gz, tar.bz2, dir. Defaults to default (dmg and zip for Squirrel.Mac).

type string | null

Whether to sign app for development or for distribution.

Default: "distribution"
MasConfiguration object
appId null | string

The application id. Used as CFBundleIdentifier for MacOS and as Application User Model ID for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.

Default: "com.electron.${name}"
artifactName null | string

The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).

asar AsarOptions | null | boolean

Whether to package the application's source code into an archive, using Electron's archive format.

Node modules, that must be unpacked, will be detected automatically, you don't need to explicitly set asarUnpack - please file an issue if this doesn't work.

Default: true
asarUnpack string[] | null | string

A glob patterns relative to the app directory, which specifies which files to unpack when creating the asar archive.

binaries string[] | null

Paths of any extra binaries that need to be signed.

bundleShortVersion null | string

The CFBundleShortVersionString. Do not use it unless you need to.

bundleVersion null | string

The CFBundleVersion. Do not use it unless you need to.

category null | string

The application category type, as shown in the Finder via View -> Arrange by Application Category when viewing the Applications directory.

For example, "category": "public.app-category.developer-tools" will set the application category to Developer Tools.

Valid values are listed in Apple's documentation.

compression string | null

The compression level. If you want to rapidly test build, store can reduce build time significantly. maximum doesn't lead to noticeable size difference, but increase build time.

Default: "normal"
cscInstallerKeyPassword null | string
cscInstallerLink null | string
cscKeyPassword null | string
cscLink null | string
darkModeSupport boolean

Whether a dark mode is supported. If your app does have a dark mode, you can make your app follow the system-wide dark mode setting.

Default: false
hardenedRuntime boolean

Whether your app has to be signed with hardened runtime.

Default: false
detectUpdateChannel boolean

Whether to infer update channel from application version pre-release components. e.g. if version 0.12.1-alpha.1, channel will be set to alpha. Otherwise to latest.

Default: true
electronLanguages string[] | string

The electron locales. By default Electron locales used as is.

electronUpdaterCompatibility null | string
entitlements null | string

The path to entitlements file for signing the app. build/entitlements.mas.plist will be used if exists (it is a recommended way to set). Otherwise default.

entitlementsInherit null | string

The path to child entitlements which inherit the security settings for signing frameworks and bundles of a distribution. build/entitlements.mas.inherit.plist will be used if exists (it is a recommended way to set). Otherwise default.

extendInfo

The extra entries for Info.plist.

extraDistFiles string[] | null | string

Extra files to put in archive. Not applicable for tar.*.

extraFiles FileSet | FileSet | string[] | null | string
extraResources FileSet | FileSet | string[] | null | string
fileAssociations FileAssociation | FileAssociation[]

The file associations.

files FileSet | FileSet | string[] | null | string
forceCodeSigning boolean

Whether to fail if app will be not code signed.

generateUpdatesFilesForAllChannels boolean
Default: false
helperBundleId null | string

The bundle identifier to use in the application helper's plist.

Default: "${appBundleIdentifier}.helper"
icon null | string

The path to application icon.

Default: "build/icon.icns"
identity null | string

The name of certificate to use when signing. Consider using environment variables CSC_LINK or CSC_NAME instead of specifying this option. MAS installer identity is specified in the mas.

minimumSystemVersion null | string

The minimum version of macOS required for the app to run. Corresponds to LSMinimumSystemVersion.

protocols Protocol | Protocol[]

The URL protocol schemes.

provisioningProfile null | string

The path to the provisioning profile to use when signing, absolute or relative to the app root.

publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
releaseInfo object
4 nested properties
releaseDate string

The release date.

releaseName null | string

The release name.

releaseNotes null | string

The release notes.

releaseNotesFile null | string

The path to release notes file. Defaults to release-notes-${platform}.md (where platform it is current platform — mac, linux or windows) or release-notes.md in the build resources.

requirements null | string

Path of requirements file used in signing. Not applicable for MAS.

target TargetConfiguration | TargetConfiguration | string[] | string | null

The target package type: list of default, dmg, mas, mas-dev, pkg, 7z, zip, tar.xz, tar.lz, tar.gz, tar.bz2, dir. Defaults to default (dmg and zip for Squirrel.Mac).

type string | null

Whether to sign app for development or for distribution.

Default: "distribution"
MetadataDirectories object
app null | string

The application directory (containing the application package.json), defaults to app, www or working directory.

buildResources null | string

The path to build resources.

Please note — build resources is not packed into the app. If you need to use some files, e.g. as tray icon, please include required files explicitly: "files": ["**\/*", "build/icon.*"]

Default: "build"
output null | string

The output directory. File macros are supported.

Default: "dist"
MsiOptions object
artifactName null | string
createDesktopShortcut enum

Whether to create desktop shortcut. Set to always if to recreate also on reinstall (even if removed by user).

Default: true
Values: "always" false true
createStartMenuShortcut boolean

Whether to create start menu shortcut.

Default: true
menuCategory string | boolean

Whether to create submenu for start menu shortcut and program files directory. If true, company name will be used. Or string value.

Default: false
oneClick boolean

One-click installation.

Default: true
perMachine boolean

Whether to install per all users (per-machine).

Default: false
publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
runAfterFinish boolean

Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.

Default: true
shortcutName null | string

The name that will be used for all shortcuts. Defaults to the application name.

upgradeCode null | string

The upgrade code. Optional, by default generated using app id.

warningsAsErrors boolean

If warningsAsErrors is true (default): treat warnings as errors. If warningsAsErrors is false: allow warnings.

Default: true
NsisOptions object
allowElevation boolean

assisted installer only. Allow requesting for elevation. If false, user will have to restart installer with elevated permissions.

Default: true
allowToChangeInstallationDirectory boolean

assisted installer only. Whether to allow user to change installation directory.

Default: false
artifactName null | string

The artifact file name template. Defaults to ${productName} Setup ${version}.${ext}.

createDesktopShortcut enum

Whether to create desktop shortcut. Set to always if to recreate also on reinstall (even if removed by user).

Default: true
Values: "always" false true
createStartMenuShortcut boolean

Whether to create start menu shortcut.

Default: true
deleteAppDataOnUninstall boolean

one-click installer only. Whether to delete app data on uninstall.

Default: false
differentialPackage boolean

Defaults to true for web installer (nsis-web)

displayLanguageSelector boolean

Whether to display a language selection dialog. Not recommended (by default will be detected using OS language).

Default: false
guid null | string
include null | string

The path to NSIS include script to customize installer. Defaults to build/installer.nsh. See Custom NSIS script.

installerHeader null | string

assisted installer only. MUI_HEADERIMAGE, relative to the build resources or to the project directory.

Default: "build/installerHeader.bmp"
installerHeaderIcon null | string

one-click installer only. The path to header icon (above the progress bar), relative to the build resources or to the project directory. Defaults to build/installerHeaderIcon.ico or application icon.

installerIcon null | string

The path to installer icon, relative to the build resources or to the project directory. Defaults to build/installerIcon.ico or application icon.

installerLanguages string[] | null | string

The installer languages (e.g. en_US, de_DE). Change only if you understand what do you do and for what.

installerSidebar null | string

assisted installer only. MUI_WELCOMEFINISHPAGE_BITMAP, relative to the build resources or to the project directory. Defaults to build/installerSidebar.bmp or ${NSISDIR}\\Contrib\\Graphics\\Wizard\\nsis3-metro.bmp. Image size 164 × 314 pixels.

language null | string

LCID Dec, defaults to 1033(English - United States).

license null | string

The path to EULA license file. Defaults to license.txt or eula.txt (or uppercase variants). In addition to txt, rtfandhtmlsupported (don't forget to usetarget="_blank"` for links).

Multiple license files in different languages are supported — use lang postfix (e.g. _de, _ru)). For example, create files license_de.txt and license_en.txt in the build resources. If OS language is german, license_de.txt will be displayed. See map of language code to name.

Appropriate license file will be selected by user OS language.

menuCategory string | boolean

Whether to create submenu for start menu shortcut and program files directory. If true, company name will be used. Or string value.

Default: false
multiLanguageInstaller boolean

Whether to create multi-language installer. Defaults to unicode option value.

oneClick boolean

Whether to create one-click installer or assisted.

Default: true
packElevateHelper boolean

Whether to pack the elevate executable (required for electron-updater if per-machine installer used or can be used in the future). Ignored if perMachine is set to true.

Default: true
perMachine boolean

Whether to show install mode installer page (choice per-machine or per-user) for assisted installer. Or whether installation always per all users (per-machine).

If oneClick is true (default): Whether to install per all users (per-machine).

If oneClick is false and perMachine is true: no install mode installer page, always install per-machine.

If oneClick is false and perMachine is false (default): install mode installer page.

Default: false
preCompressedFileExtensions string[] | null | string

The file extension of files that will be not compressed. Applicable only for extraResources and extraFiles files.

Default:
[
  ".avi",
  ".mov",
  ".m4v",
  ".mp4",
  ".m4p",
  ".qt",
  ".mkv",
  ".webm",
  ".vmdk"
]
publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
runAfterFinish boolean

Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.

Default: true
script null | string

The path to NSIS script to customize installer. Defaults to build/installer.nsi. See Custom NSIS script.

shortcutName null | string

The name that will be used for all shortcuts. Defaults to the application name.

unicode boolean

Whether to create Unicode installer.

Default: true
uninstallDisplayName string

The uninstaller display name in the control panel.

Default: "${productName} ${version}"
uninstallerIcon null | string

The path to uninstaller icon, relative to the build resources or to the project directory. Defaults to build/uninstallerIcon.ico or application icon.

uninstallerSidebar null | string

assisted installer only. MUI_UNWELCOMEFINISHPAGE_BITMAP, relative to the build resources or to the project directory. Defaults to installerSidebar option or build/uninstallerSidebar.bmp or build/installerSidebar.bmp or ${NSISDIR}\\Contrib\\Graphics\\Wizard\\nsis3-metro.bmp

useZip boolean
Default: false
warningsAsErrors boolean

If warningsAsErrors is true (default): NSIS will treat warnings as errors. If warningsAsErrors is false: NSIS will allow warnings.

Default: true
NsisWebOptions object

Web Installer options.

allowElevation boolean

assisted installer only. Allow requesting for elevation. If false, user will have to restart installer with elevated permissions.

Default: true
allowToChangeInstallationDirectory boolean

assisted installer only. Whether to allow user to change installation directory.

Default: false
appPackageUrl null | string

The application package download URL. Optional — by default computed using publish configuration.

URL like <https://example.com/download/latest> allows web installer to be version independent (installer will download latest application package). Please note — it is full URL.

Custom X-Arch http header is set to 32 or 64.

artifactName null | string

The artifact file name template. Defaults to ${productName} Web Setup ${version}.${ext}.

createDesktopShortcut enum

Whether to create desktop shortcut. Set to always if to recreate also on reinstall (even if removed by user).

Default: true
Values: "always" false true
createStartMenuShortcut boolean

Whether to create start menu shortcut.

Default: true
deleteAppDataOnUninstall boolean

one-click installer only. Whether to delete app data on uninstall.

Default: false
differentialPackage boolean

Defaults to true for web installer (nsis-web)

displayLanguageSelector boolean

Whether to display a language selection dialog. Not recommended (by default will be detected using OS language).

Default: false
guid null | string
include null | string

The path to NSIS include script to customize installer. Defaults to build/installer.nsh. See Custom NSIS script.

installerHeader null | string

assisted installer only. MUI_HEADERIMAGE, relative to the build resources or to the project directory.

Default: "build/installerHeader.bmp"
installerHeaderIcon null | string

one-click installer only. The path to header icon (above the progress bar), relative to the build resources or to the project directory. Defaults to build/installerHeaderIcon.ico or application icon.

installerIcon null | string

The path to installer icon, relative to the build resources or to the project directory. Defaults to build/installerIcon.ico or application icon.

installerLanguages string[] | null | string

The installer languages (e.g. en_US, de_DE). Change only if you understand what do you do and for what.

installerSidebar null | string

assisted installer only. MUI_WELCOMEFINISHPAGE_BITMAP, relative to the build resources or to the project directory. Defaults to build/installerSidebar.bmp or ${NSISDIR}\\Contrib\\Graphics\\Wizard\\nsis3-metro.bmp. Image size 164 × 314 pixels.

language null | string

LCID Dec, defaults to 1033(English - United States).

license null | string

The path to EULA license file. Defaults to license.txt or eula.txt (or uppercase variants). In addition to txt, rtfandhtmlsupported (don't forget to usetarget="_blank"` for links).

Multiple license files in different languages are supported — use lang postfix (e.g. _de, _ru)). For example, create files license_de.txt and license_en.txt in the build resources. If OS language is german, license_de.txt will be displayed. See map of language code to name.

Appropriate license file will be selected by user OS language.

menuCategory string | boolean

Whether to create submenu for start menu shortcut and program files directory. If true, company name will be used. Or string value.

Default: false
multiLanguageInstaller boolean

Whether to create multi-language installer. Defaults to unicode option value.

oneClick boolean

Whether to create one-click installer or assisted.

Default: true
packElevateHelper boolean

Whether to pack the elevate executable (required for electron-updater if per-machine installer used or can be used in the future). Ignored if perMachine is set to true.

Default: true
perMachine boolean

Whether to show install mode installer page (choice per-machine or per-user) for assisted installer. Or whether installation always per all users (per-machine).

If oneClick is true (default): Whether to install per all users (per-machine).

If oneClick is false and perMachine is true: no install mode installer page, always install per-machine.

If oneClick is false and perMachine is false (default): install mode installer page.

Default: false
preCompressedFileExtensions string[] | null | string

The file extension of files that will be not compressed. Applicable only for extraResources and extraFiles files.

Default:
[
  ".avi",
  ".mov",
  ".m4v",
  ".mp4",
  ".m4p",
  ".qt",
  ".mkv",
  ".webm",
  ".vmdk"
]
publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
runAfterFinish boolean

Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.

Default: true
script null | string

The path to NSIS script to customize installer. Defaults to build/installer.nsi. See Custom NSIS script.

shortcutName null | string

The name that will be used for all shortcuts. Defaults to the application name.

unicode boolean

Whether to create Unicode installer.

Default: true
uninstallDisplayName string

The uninstaller display name in the control panel.

Default: "${productName} ${version}"
uninstallerIcon null | string

The path to uninstaller icon, relative to the build resources or to the project directory. Defaults to build/uninstallerIcon.ico or application icon.

uninstallerSidebar null | string

assisted installer only. MUI_UNWELCOMEFINISHPAGE_BITMAP, relative to the build resources or to the project directory. Defaults to installerSidebar option or build/uninstallerSidebar.bmp or build/installerSidebar.bmp or ${NSISDIR}\\Contrib\\Graphics\\Wizard\\nsis3-metro.bmp

useZip boolean
Default: false
warningsAsErrors boolean

If warningsAsErrors is true (default): NSIS will treat warnings as errors. If warningsAsErrors is false: NSIS will allow warnings.

Default: true
PkgBackgroundOptions object

Options for the background image in a PKG installer

alignment string | null

Alignment of the background image. Options are: center, left, right, top, bottom, topleft, topright, bottomleft, bottomright

Default: "center"
file string

Path to the image to use as an installer background.

scaling string | null

Scaling of the background image. Options are: tofit, none, proportional

Default: "tofit"
PkgOptions object

macOS product archive options.

allowAnywhere null | boolean

Whether can be installed at the root of any volume, including non-system volumes. Otherwise, it cannot be installed at the root of a volume.

Corresponds to enable_anywhere.

Default: true
allowCurrentUserHome null | boolean

Whether can be installed into the current user's home directory. A home directory installation is done as the current user (not as root), and it cannot write outside of the home directory. If the product cannot be installed in the user's home directory and be not completely functional from user's home directory.

Corresponds to enable_currentUserHome.

Default: true
allowRootDirectory null | boolean

Whether can be installed into the root directory. Should usually be true unless the product can be installed only to the user's home directory.

Corresponds to enable_localSystem.

Default: true
artifactName null | string
background PkgBackgroundOptions | null

Options for the background image for the installer.

conclusion null | string

The path to the conclusion file. This may be used to customize the text on the final "Summary" page of the installer.

hasStrictIdentifier null | boolean

Require identical bundle identifiers at install path?

Default: true
identity null | string

The name of certificate to use when signing. Consider using environment variables CSC_LINK or CSC_NAME instead of specifying this option.

installLocation null | string

The install location. Do not use it to create per-user package. Mostly never you will need to change this option. /Applications would install it as expected into /Applications if the local system domain is chosen, or into $HOME/Applications if the home installation is chosen.

Default: "/Applications"
isRelocatable null | boolean

Install bundle over previous version if moved by user?

Default: true
isVersionChecked null | boolean

Don't install bundle if newer version on disk?

Default: true
license null | string

The path to EULA license file. Defaults to license.txt or eula.txt (or uppercase variants). In addition to txt, rtfandhtmlsupported (don't forget to usetarget="_blank"` for links).

overwriteAction string | null

Specifies how an existing version of the bundle on disk should be handled when the version in the package is installed.

If you specify upgrade, the bundle in the package atomi-cally replaces any version on disk; this has the effect of deleting old paths that no longer exist in the new version of the bundle.

If you specify update, the bundle in the package overwrites the version on disk, and any files not contained in the package will be left intact; this is appropriate when you are delivering an update-only package.

Another effect of update is that the package bundle will not be installed at all if there is not already a version on disk; this allows a package to deliver an update for an app that the user might have deleted.

Default: "upgrade"
productbuild string[] | null

should be not documented, only to experiment

publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
scripts null | string

The scripts directory, relative to build (build resources directory). The scripts can be in any language so long as the files are marked executable and have the appropriate shebang indicating the path to the interpreter. Scripts are required to be executable (chmod +x file).

Default: "build/pkg-scripts"
welcome null | string

The path to the welcome file. This may be used to customize the text on the Introduction page of the installer.

PlugDescriptor Record<string, object | null>
PortableOptions object

Portable options.

artifactName null | string
guid null | string
publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
requestExecutionLevel string

The requested execution level for Windows.

Default: "user"
Values: "admin" "highest" "user"
unicode boolean

Whether to create Unicode installer.

Default: true
useZip boolean
Default: false
warningsAsErrors boolean

If warningsAsErrors is true (default): NSIS will treat warnings as errors. If warningsAsErrors is false: NSIS will allow warnings.

Default: true
unpackDirName string

The unpack directory name in TEMP directory.

Defaults to uuid of build (changed on each build of portable executable).

Protocol object

URL Protocol Schemes. Protocols to associate the app with. macOS only.

Please note — on macOS you need to register an open-url event handler.

name string required

The name. e.g. IRC server URL.

schemes string[] required

The schemes. e.g. ["irc", "ircs"].

role string

macOS-only The app's role with respect to the type.

Default: "Editor"
Values: "Editor" "None" "Shell" "Viewer"
PublishProvider string
ReleaseInfo object
releaseDate string

The release date.

releaseName null | string

The release name.

releaseNotes null | string

The release notes.

releaseNotesFile null | string

The path to release notes file. Defaults to release-notes-${platform}.md (where platform it is current platform — mac, linux or windows) or release-notes.md in the build resources.

S3Options object
bucket string required

The bucket name.

provider string required

The provider. Must be s3.

Values: "s3"
acl string | null

The ACL. Set to null to not add.

Please see required permissions for the S3 provider.

Default: "public-read"
channel null | string

The update channel.

Default: "latest"
encryption string | null

Server-side encryption algorithm to use for the object.

endpoint null | string

The endpoint URI to send requests to. The default endpoint is built from the configured region. The endpoint should be a string like <https://{service}.{region}.amazonaws.com>.

path null | string

The directory path.

Default: "/"
publishAutoUpdate boolean

Whether to publish auto update info files.

Auto update relies only on the first provider in the list (you can specify several publishers). Thus, probably, there`s no need to upload the metadata files for the other configured providers. But by default will be uploaded.

Default: true
publisherName string[] | null
region null | string

The region. Is determined and set automatically when publishing.

storageClass string | null

The type of storage to use for the object.

Default: "STANDARD"
updaterCacheDirName null | string
SnapOptions object
after string[] | null

Specifies any parts that should be built before this part. Defaults to ["desktop-gtk2""].

If list contains default, it will be replaced to default list, so, ["default", "foo"] can be used to add custom parts foo in addition to defaults.

artifactName null | string
assumes string[] | null | string

The list of features that must be supported by the core in order for this snap to install.

buildPackages string[] | null

The list of debian packages needs to be installed for building this snap.

category null | string
confinement string | null

The type of confinement supported by the snap.

Default: "strict"
description null | string

As description from application package.json, but allows you to specify different for Linux.

desktop

The Desktop file entries (name to value).

environment null

The custom environment. Defaults to {"TMPDIR: "$XDG_RUNTIME_DIR"}. If you set custom, it will be merged with default.

grade string | null

The quality grade of the snap. It can be either devel (i.e. a development version of the snap, so not to be published to the "stable" or "candidate" channels) or "stable" (i.e. a stable release or release candidate, which can be released to all channels).

Default: "stable"
hooks null | string

The hooks directory, relative to build (build resources directory).

Default: "build/snap-hooks"
mimeTypes string[] | null

The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing.

plugs PlugDescriptor | PlugDescriptor | string[] | null

The list of plugs. Defaults to ["desktop", "desktop-legacy", "home", "x11", "unity7", "browser-support", "network", "gsettings", "pulseaudio", "opengl"].

If list contains default, it will be replaced to default list, so, ["default", "foo"] can be used to add custom plug foo in addition to defaults.

Additional attributes can be specified using object instead of just name of plug:

[
  {
    "browser-sandbox": {
      "interface": "browser-support",
      "allow-sandbox": true
    },
  },
  "another-simple-plug-name"
]
publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
stagePackages string[] | null

The list of Ubuntu packages to use that are needed to support the app part creation. Like depends for deb. Defaults to ["libasound2", "libgconf2-4", "libnotify4", "libnspr4", "libnss3", "libpcre3", "libpulse0", "libxss1", "libxtst6"].

If list contains default, it will be replaced to default list, so, ["default", "foo"] can be used to add custom package foo in addition to defaults.

summary null | string

The 78 character long summary. Defaults to productName.

synopsis null | string
useTemplateApp boolean

Whether to use template snap. Defaults to true if stagePackages not specified.

SpacesOptions object

DigitalOcean Spaces options. Access key is required, define DO_KEY_ID and DO_SECRET_KEY environment variables.

name string required

The space name.

provider string required

The provider. Must be spaces.

Values: "spaces"
region string required

The region (e.g. nyc3).

acl string | null

The ACL. Set to null to not add.

Default: "public-read"
channel null | string

The update channel.

Default: "latest"
path null | string

The directory path.

Default: "/"
publishAutoUpdate boolean

Whether to publish auto update info files.

Auto update relies only on the first provider in the list (you can specify several publishers). Thus, probably, there`s no need to upload the metadata files for the other configured providers. But by default will be uploaded.

Default: true
publisherName string[] | null
updaterCacheDirName null | string
SquirrelWindowsOptions object
artifactName null | string
iconUrl null | string

A URL to an ICO file to use as the application icon (displayed in Control Panel > Programs and Features). Defaults to the Electron icon.

Please note — local icon file url is not accepted, must be https/http.

If you don't plan to build windows installer, you can omit it. If your project repository is public on GitHub, it will be <https://github.com/${u}/${p}/blob/master/build/icon.ico?raw=true> by default.

loadingGif null | string

The path to a .gif file to display during install. build/install-spinner.gif will be used if exists (it is a recommended way to set) (otherwise default).

msi boolean

Whether to create an MSI installer. Defaults to false (MSI is not created).

publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
remoteReleases null | string | boolean

A URL to your existing updates. Or true to automatically set to your GitHub repository. If given, these will be downloaded to create delta updates.

remoteToken null | string

Authentication token for remote updates

useAppIdAsId boolean

Use appId to identify package instead of name.

TargetConfiguration object
target string required

The target name. e.g. snap.

arch string[] | string

The arch or list of archs.

WindowsConfiguration object
additionalCertificateFile null | string

The path to an additional certificate file you want to add to the signature block.

appId null | string

The application id. Used as CFBundleIdentifier for MacOS and as Application User Model ID for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.

Default: "com.electron.${name}"
artifactName null | string

The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).

asar AsarOptions | null | boolean

Whether to package the application's source code into an archive, using Electron's archive format.

Node modules, that must be unpacked, will be detected automatically, you don't need to explicitly set asarUnpack - please file an issue if this doesn't work.

Default: true
asarUnpack string[] | null | string

A glob patterns relative to the app directory, which specifies which files to unpack when creating the asar archive.

certificateFile null | string

The path to the *.pfx certificate you want to sign with. Please use it only if you cannot use env variable CSC_LINK (WIN_CSC_LINK) for some reason. Please see Code Signing.

certificatePassword null | string

The password to the certificate provided in certificateFile. Please use it only if you cannot use env variable CSC_KEY_PASSWORD (WIN_CSC_KEY_PASSWORD) for some reason. Please see Code Signing.

certificateSha1 null | string

The SHA1 hash of the signing certificate. The SHA1 hash is commonly specified when multiple certificates satisfy the criteria specified by the remaining switches. Works only on Windows (or on macOS if Parallels Desktop Windows 10 virtual machines exits).

certificateSubjectName null | string

The name of the subject of the signing certificate. Required only for EV Code Signing and works only on Windows (or on macOS if Parallels Desktop Windows 10 virtual machines exits).

compression string | null

The compression level. If you want to rapidly test build, store can reduce build time significantly. maximum doesn't lead to noticeable size difference, but increase build time.

Default: "normal"
cscKeyPassword null | string
cscLink null | string
detectUpdateChannel boolean

Whether to infer update channel from application version pre-release components. e.g. if version 0.12.1-alpha.1, channel will be set to alpha. Otherwise to latest.

Default: true
electronUpdaterCompatibility null | string
extraFiles FileSet | FileSet | string[] | null | string
extraResources FileSet | FileSet | string[] | null | string
fileAssociations FileAssociation | FileAssociation[]

The file associations.

files FileSet | FileSet | string[] | null | string
forceCodeSigning boolean

Whether to fail if app will be not code signed.

generateUpdatesFilesForAllChannels boolean
Default: false
icon null | string

The path to application icon.

Default: "build/icon.ico"
legalTrademarks null | string

The trademarks and registered trademarks.

protocols Protocol | Protocol[]

The URL protocol schemes.

publish GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions | CustomPublishOptions | string[] | null | string
publisherName string[] | null | string

The publisher name, exactly as in your code signed certificate. Several names can be provided. Defaults to common name from your code signing certificate.

releaseInfo object
4 nested properties
releaseDate string

The release date.

releaseName null | string

The release name.

releaseNotes null | string

The release notes.

releaseNotesFile null | string

The path to release notes file. Defaults to release-notes-${platform}.md (where platform it is current platform — mac, linux or windows) or release-notes.md in the build resources.

requestedExecutionLevel string | null

The security level at which the application requests to be executed. Cannot be specified per target, allowed only in the win.

Default: "asInvoker"
rfc3161TimeStampServer null | string

The URL of the RFC 3161 time stamp server.

Default: "http://timestamp.comodoca.com/rfc3161"
sign null | string

The custom function (or path to file or module id) to sign Windows executable.

signAndEditExecutable boolean

Whether to sign and add metadata to executable. Advanced option.

Default: true
signDlls boolean

Whether to sign DLL files. Advanced option.

Default: false
signingHashAlgorithms string[] | null

Array of signing algorithms used. For AppX sha256 is always used.

Default: "['sha1', 'sha256']"
target TargetConfiguration | TargetConfiguration | string[] | null | string

The target package type: list of nsis, nsis-web (Web installer), portable (portable app without installation), appx, msi, squirrel, 7z, zip, tar.xz, tar.lz, tar.gz, tar.bz2, dir. AppX package can be built only on Windows 10.

To use Squirrel.Windows please install electron-builder-squirrel-windows dependency.

Default: "nsis"
timeStampServer null | string

The URL of the time stamp server.

Default: "http://timestamp.verisign.com/scripts/timestamp.dll"
verifyUpdateCodeSignature boolean

Whether to verify the signature of an available update before installation. The publisher name will be used for the signature verification.

Default: true