Skip to content

electron builder.Interface.Configuration

Electron-Builder / electron-builder / Configuration

Configuration Options

Extends

Properties

apk?

readonly optional apk: null | LinuxTargetSpecificOptions


appId?

readonly optional 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}

Overrides

PlatformSpecificBuildOptions.appId


appImage?

readonly optional appImage: null | AppImageOptions

AppImage options.


appx?

readonly optional appx: null | AppXOptions


buildDependenciesFromSource?

optional buildDependenciesFromSource: boolean

Whether to build the application native dependencies from source.

Default

false

buildNumber?

readonly optional buildNumber: null | string

The build number. Maps to the --iteration flag for builds using FPM on Linux. If not defined, then it will fallback to BUILD_NUMBER or TRAVIS_BUILD_NUMBER or APPVEYOR_BUILD_NUMBER or CIRCLE_BUILD_NUM or BUILD_BUILDNUMBER or CI_PIPELINE_IID env.


buildVersion?

readonly optional buildVersion: null | string

The build version. Maps to the CFBundleVersion on macOS, and FileVersion metadata property on Windows. Defaults to the version. If buildVersion is not defined and buildNumber (or one of the buildNumber envs) is defined, it will be used as a build version (version.buildNumber).


readonly optional copyright: null | string

The human-readable copyright line for the app.

Default

Copyright © year ${author}

deb?

readonly optional deb: null | DebOptions

Debian package options.


directories?

readonly optional directories: null | MetadataDirectories


disableSanityCheckAsar?

readonly optional disableSanityCheckAsar: boolean

Whether to disable sanity check asar package (useful for custom electron forks that implement their own encrypted integrity validation)

Default

false

dmg?

readonly optional dmg: null | DmgOptions

macOS DMG options.


downloadAlternateFFmpeg?

readonly optional downloadAlternateFFmpeg: boolean

Whether to download the alternate FFmpeg library from Electron’s release assets and replace the default FFmpeg library prior to signing


electronBranding?

readonly optional electronBranding: ElectronBrandingOptions

The branding used by Electron’s distributables. This is needed if a fork has modified Electron’s BRANDING.json file.


electronCompile?

readonly optional 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?

readonly optional electronDist: string | CustomElectronDistributable

Returns the path to custom Electron build (e.g. ~/electron/out/R). Zip files must follow the pattern electron-v${version}-${platformName}-${arch}.zip, otherwise it will be assumed to be an unpacked Electron app directory


electronDownload?

readonly optional electronDownload: ElectronDownloadOptions

The electron-download options.


electronVersion?

optional electronVersion: null | string

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


extends?

optional extends: null | string | string[]

The name of a built-in configuration preset (currently, only react-cra is supported) or any number of paths to config files (relative to project dir).

The latter allows to mixin a config from multiple other configs, as if you Object.assign them, but properly combine files glob patterns.

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


extraMetadata?

readonly optional extraMetadata: any

Inject properties to package.json.


flatpak?

readonly optional flatpak: null | FlatpakOptions

Flatpak options.


forceCodeSigning?

readonly optional forceCodeSigning: boolean

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

Default

false

Overrides

PlatformSpecificBuildOptions.forceCodeSigning


framework?

readonly optional framework: null | string

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


freebsd?

readonly optional freebsd: null | LinuxTargetSpecificOptions


includePdb?

readonly optional includePdb: boolean

Whether to include PDB files.

Default

false

includeSubNodeModules?

optional includeSubNodeModules: boolean

Whether to include all of the submodules node_modules directories

Default

false

launchUiVersion?

readonly optional 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?

readonly optional linux: null | LinuxConfiguration

Options related to how build Linux targets.


mac?

readonly optional mac: null | MacConfiguration

Options related to how build macOS targets.


mas?

readonly optional mas: null | MasConfiguration

MAS (Mac Application Store) options.


masDev?

readonly optional masDev: null | MasConfiguration

MAS (Mac Application Store) development options (mas-dev target).


nativeRebuilder?

readonly optional nativeRebuilder: null | "legacy" | "sequential" | "parallel"

Use legacy app-builder binary for installing native dependencies, or @electron/rebuild in sequential or parallel compilation modes.

Default

sequential

nodeGypRebuild?

readonly optional 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?

readonly optional 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?

readonly optional npmArgs: null | string | string[]

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


npmRebuild?

readonly optional npmRebuild: boolean

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

Default

true

nsis?

readonly optional nsis: null | NsisOptions


nsisWeb?

readonly optional nsisWeb: null | NsisWebOptions


p5p?

readonly optional p5p: null | LinuxTargetSpecificOptions


pacman?

readonly optional pacman: null | LinuxTargetSpecificOptions


pkg?

readonly optional pkg: null | PkgOptions

macOS PKG options.


portable?

readonly optional portable: null | PortableOptions


productName?

readonly optional 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. If not specified inside of the build configuration, productName property defined at the top level of package.json is used. If not specified at the top level of package.json, name property is used.


removePackageKeywords?

readonly optional removePackageKeywords: boolean

Whether to remove keywords field from package.json files.

Default

true

removePackageScripts?

readonly optional removePackageScripts: boolean

Whether to remove scripts field from package.json files.

Default

true

rpm?

readonly optional rpm: null | LinuxTargetSpecificOptions


snap?

readonly optional snap: null | SnapOptions

Snap options.


squirrelWindows?

readonly optional squirrelWindows: null | SquirrelWindowsOptions


win?

readonly optional win: null | WindowsConfiguration

Options related to how build Windows targets.