electron-builder configuration file
electron-build configuration file
| 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
Configuration Options
Properties
JSON Schema for this document.
The function (or path to file or module id) to be run after all artifacts are build.
The function (or path to file or module id) to be run after pack (but before pack into distributable format and sign).
The function (or path to file or module id) to be run after pack and sign (but before pack into distributable format).
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.
AppImage options.
The function (or path to file or module id) to be run on artifact build completed.
The function (or path to file or module id) to be run on artifact build start.
The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).
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.
A glob patterns relative to the app directory, which specifies which files to unpack when creating the asar archive.
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.
Whether to build the application native dependencies from source.
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).
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.
The human-readable copyright line for the app.
Debian package options.
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.
macOS DMG options.
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.
The path to custom Electron build (e.g. ~/electron/out/R).
9 nested properties
The cache location.
The mirror.
The electron-updater compatibility semver range.
The version of electron you are packaging for. Defaults to version of electron, electron-prebuilt or electron-prebuilt-compile dependency.
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.
Inject properties to package.json.
The file associations.
Whether to fail if app will be not code signed.
The framework name. One of electron, proton-native, libui. Defaults to electron.
Please see Building and Releasing using Channels.
Whether to include PDB files.
libui-based frameworks only The version of LaunchUI you are packaging for. Applicable for Windows only. Defaults to version suitable for used framework version.
Options related to how build Linux targets.
Options related to how build macOS targets.
MAS (Mac Application Store) options.
The version of muon you are packaging for.
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.
Additional command line arguments to use when installing app native deps.
Whether to rebuild native dependencies before starting to package the app.
The function (or path to file or module id) to be run on each node module file.
macOS PKG options.
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.
The URL protocol schemes.
Whether to fail if the application is not signed (to prevent unsigned app if code signing configuration is not correct).
4 nested properties
The release date.
The release name.
The release notes.
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.
Whether to build using Electron Build Service if target not supported on current OS.
Whether to remove scripts field from package.json files.
Snap options.
Options related to how build Windows targets.
Definitions
The application category.
As description from application package.json, but allows you to specify different for Linux.
The Desktop file entries (name to value).
The path to EULA license file. Defaults to license.txt or eula.txt (or uppercase variants). Only plain text is supported.
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.
The short description.
The system integration installation.
Whether to add auto launch extension. Defaults to true if electron-winstore-auto-launch in the dependencies.
The application id. Defaults to identityName. Can't start with numbers.
The background color of the app tile. See Visual Elements.
A friendly name that can be displayed to users. Corresponds to Properties.DisplayName. Defaults to the application product name.
The name. Corresponds to Identity.Name. Defaults to the application name.
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.
The Windows Store publisher. Not used if AppX is build for testing. See AppX Package Code Signing below.
A friendly name for the publisher that can be displayed to users. Corresponds to Properties.PublisherDisplayName. Defaults to company name from the application metadata.
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.
Whether to set build number. See https://github.com/electron-userland/electron-builder/issues/3875
Allows external asar files.
Whether to automatically unpack executables files.
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.
The provider. Must be bintray.
The Bintray component (Debian only).
The Bintray distribution (Debian only).
The owner.
The Bintray package name.
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.
The Bintray repository name.
The Bintray user account. Used in cases where the owner is an organization.
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.
The application category.
The compression type.
Package dependencies. Defaults to ["gconf2", "gconf-service", "libnotify4", "libappindicator1", "libxtst6", "libnss3"].
As description from application package.json, but allows you to specify different for Linux.
The Desktop file entries (name to value).
Advanced only The fpm options.
Example: ["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]
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.
The package category.
The Priority attribute.
The short description.
The name of the file within the DMG. Defaults to basename of path.
The path of the file within the DMG.
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.
The background color (accepts css colors). Defaults to #ffffff (white) if no background image.
The content — to customize icon locations.
The disk image format. ULFO (lzfse-compressed image (OS X 10.11+ only)).
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).
The size of all the icons inside the DMG.
The size of all the icon texts inside the DMG.
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).
The title of the produced DMG, which will be shown when mounted (volume name).
Macro ${productName}, ${version} and ${name} are supported.
4 nested properties
The height. Defaults to background image height or 380.
The width. Defaults to background image width or 540.
The X position relative to left of the screen.
The Y position relative to top of the screen.
The height. Defaults to background image height or 380.
The width. Defaults to background image width or 540.
The X position relative to left of the screen.
The Y position relative to top of the screen.
The cache location.
The mirror.
File associations.
macOS (corresponds to CFBundleDocumentTypes) and NSIS only.
On Windows works only if nsis.perMachine is set to true.
The extension (minus the leading period). e.g. png.
windows-only. The description.
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).
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.
linux-only. The mime-type.
The name. e.g. PNG. Defaults to ext.
macOS-only The app's role with respect to the type. The value can be Editor, Viewer, Shell, or None. Corresponds to CFBundleTypeRole.
The glob patterns.
The source path relative to the project directory.
The destination path relative to the app's content directory for extraFiles and the app's resource directory for extraResources.
Generic (any HTTP(S) server) options. In all publish options File Macros are supported.
The provider. Must be generic.
The base url. e.g. <https://bucket_name.s3.amazonaws.com>.
The channel.
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.
Whether to use multiple range requests for differential update. Defaults to true if url doesn't contain s3.amazonaws.com.
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.
The provider. Must be github.
The host (including the port if need).
The owner.
Whether to use private github auto-update provider if GH_TOKEN environment variable is defined. See Private GitHub Update Repo.
The protocol. GitHub Publisher supports only https.
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.
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 true — draft, if EP_PRE_RELEASEis set to true — prerelease.
The repository name. Detected automatically.
The access token to support auto-update from private github repositories. Never specify it in the configuration files. Only for setFeedURL.
Whether to use v-prefixed tag name.
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.
The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).
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.
A glob patterns relative to the app directory, which specifies which files to unpack when creating the asar archive.
The application category.
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.
As description from application package.json, but allows you to specify different for Linux.
The Desktop file entries (name to value).
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.
The electron-updater compatibility semver range.
The executable name. Defaults to productName.
Cannot be specified per target, allowed only in the linux.
The file associations.
Whether to fail if app will be not code signed.
Please see Building and Releasing using Channels.
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.
The maintainer. Defaults to author.
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.
backward compatibility + to allow specify fpm-only category for all possible fpm targets in one place
The URL protocol schemes.
4 nested properties
The release date.
The release name.
The release notes.
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.
The short description.
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.
The vendor. Defaults to author.
The application category.
The compression type.
Package dependencies.
As description from application package.json, but allows you to specify different for Linux.
The Desktop file entries (name to value).
Advanced only The fpm options.
Example: ["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]
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.
The package category.
The short description.
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.
The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).
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.
A glob patterns relative to the app directory, which specifies which files to unpack when creating the asar archive.
Paths of any extra binaries that need to be signed.
The CFBundleShortVersionString. Do not use it unless you need to.
The CFBundleVersion. Do not use it unless you need to.
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.
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.
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.
Whether your app has to be signed with hardened runtime.
Whether to let electron-osx-sign validate the signing or not.
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.
The electron locales. By default Electron locales used as is.
The electron-updater compatibility semver range.
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.
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.
The extra entries for Info.plist.
Extra files to put in archive. Not applicable for tar.*.
The file associations.
Whether to fail if app will be not code signed.
Please see Building and Releasing using Channels.
The bundle identifier to use in the application helper's plist.
The path to application icon.
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.
The minimum version of macOS required for the app to run. Corresponds to LSMinimumSystemVersion.
The URL protocol schemes.
The path to the provisioning profile to use when signing, absolute or relative to the app root.
4 nested properties
The release date.
The release name.
The release notes.
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.
Path of requirements file used in signing. Not applicable for MAS.
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).
Whether to sign app for development or for distribution.
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.
The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).
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.
A glob patterns relative to the app directory, which specifies which files to unpack when creating the asar archive.
Paths of any extra binaries that need to be signed.
The CFBundleShortVersionString. Do not use it unless you need to.
The CFBundleVersion. Do not use it unless you need to.
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.
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.
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.
Whether your app has to be signed with hardened runtime.
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.
The electron locales. By default Electron locales used as is.
The electron-updater compatibility semver range.
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.
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.
The extra entries for Info.plist.
Extra files to put in archive. Not applicable for tar.*.
The file associations.
Whether to fail if app will be not code signed.
Please see Building and Releasing using Channels.
The bundle identifier to use in the application helper's plist.
The path to application icon.
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.
The minimum version of macOS required for the app to run. Corresponds to LSMinimumSystemVersion.
The URL protocol schemes.
The path to the provisioning profile to use when signing, absolute or relative to the app root.
4 nested properties
The release date.
The release name.
The release notes.
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.
Path of requirements file used in signing. Not applicable for MAS.
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).
Whether to sign app for development or for distribution.
The application directory (containing the application package.json), defaults to app, www or working directory.
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.*"]
The output directory. File macros are supported.
Whether to create desktop shortcut. Set to always if to recreate also on reinstall (even if removed by user).
Whether to create start menu shortcut.
Whether to create submenu for start menu shortcut and program files directory. If true, company name will be used. Or string value.
One-click installation.
Whether to install per all users (per-machine).
Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.
The name that will be used for all shortcuts. Defaults to the application name.
The upgrade code. Optional, by default generated using app id.
If warningsAsErrors is true (default): treat warnings as errors. If warningsAsErrors is false: allow warnings.
assisted installer only. Allow requesting for elevation. If false, user will have to restart installer with elevated permissions.
assisted installer only. Whether to allow user to change installation directory.
The artifact file name template. Defaults to ${productName} Setup ${version}.${ext}.
Whether to create desktop shortcut. Set to always if to recreate also on reinstall (even if removed by user).
Whether to create start menu shortcut.
one-click installer only. Whether to delete app data on uninstall.
Defaults to true for web installer (nsis-web)
Whether to display a language selection dialog. Not recommended (by default will be detected using OS language).
The path to NSIS include script to customize installer. Defaults to build/installer.nsh. See Custom NSIS script.
assisted installer only. MUI_HEADERIMAGE, relative to the build resources or to the project directory.
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.
The path to installer icon, relative to the build resources or to the project directory.
Defaults to build/installerIcon.ico or application icon.
The installer languages (e.g. en_US, de_DE). Change only if you understand what do you do and for what.
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.
LCID Dec, defaults to 1033(English - United States).
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.
Whether to create submenu for start menu shortcut and program files directory. If true, company name will be used. Or string value.
Whether to create multi-language installer. Defaults to unicode option value.
Whether to create one-click installer or assisted.
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.
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.
The file extension of files that will be not compressed. Applicable only for extraResources and extraFiles files.
[
".avi",
".mov",
".m4v",
".mp4",
".m4p",
".qt",
".mkv",
".webm",
".vmdk"
]
Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.
The path to NSIS script to customize installer. Defaults to build/installer.nsi. See Custom NSIS script.
The name that will be used for all shortcuts. Defaults to the application name.
Whether to create Unicode installer.
The uninstaller display name in the control panel.
The path to uninstaller icon, relative to the build resources or to the project directory.
Defaults to build/uninstallerIcon.ico or application icon.
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
If warningsAsErrors is true (default): NSIS will treat warnings as errors. If warningsAsErrors is false: NSIS will allow warnings.
Web Installer options.
assisted installer only. Allow requesting for elevation. If false, user will have to restart installer with elevated permissions.
assisted installer only. Whether to allow user to change installation directory.
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.
The artifact file name template. Defaults to ${productName} Web Setup ${version}.${ext}.
Whether to create desktop shortcut. Set to always if to recreate also on reinstall (even if removed by user).
Whether to create start menu shortcut.
one-click installer only. Whether to delete app data on uninstall.
Defaults to true for web installer (nsis-web)
Whether to display a language selection dialog. Not recommended (by default will be detected using OS language).
The path to NSIS include script to customize installer. Defaults to build/installer.nsh. See Custom NSIS script.
assisted installer only. MUI_HEADERIMAGE, relative to the build resources or to the project directory.
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.
The path to installer icon, relative to the build resources or to the project directory.
Defaults to build/installerIcon.ico or application icon.
The installer languages (e.g. en_US, de_DE). Change only if you understand what do you do and for what.
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.
LCID Dec, defaults to 1033(English - United States).
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.
Whether to create submenu for start menu shortcut and program files directory. If true, company name will be used. Or string value.
Whether to create multi-language installer. Defaults to unicode option value.
Whether to create one-click installer or assisted.
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.
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.
The file extension of files that will be not compressed. Applicable only for extraResources and extraFiles files.
[
".avi",
".mov",
".m4v",
".mp4",
".m4p",
".qt",
".mkv",
".webm",
".vmdk"
]
Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.
The path to NSIS script to customize installer. Defaults to build/installer.nsi. See Custom NSIS script.
The name that will be used for all shortcuts. Defaults to the application name.
Whether to create Unicode installer.
The uninstaller display name in the control panel.
The path to uninstaller icon, relative to the build resources or to the project directory.
Defaults to build/uninstallerIcon.ico or application icon.
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
If warningsAsErrors is true (default): NSIS will treat warnings as errors. If warningsAsErrors is false: NSIS will allow warnings.
Options for the background image in a PKG installer
Alignment of the background image. Options are: center, left, right, top, bottom, topleft, topright, bottomleft, bottomright
Path to the image to use as an installer background.
Scaling of the background image. Options are: tofit, none, proportional
macOS product archive options.
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.
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.
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.
Options for the background image for the installer.
The path to the conclusion file. This may be used to customize the text on the final "Summary" page of the installer.
Require identical bundle identifiers at install path?
The name of certificate to use when signing. Consider using environment variables CSC_LINK or CSC_NAME instead of specifying this option.
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.
Install bundle over previous version if moved by user?
Don't install bundle if newer version on disk?
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).
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.
should be not documented, only to experiment
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).
The path to the welcome file. This may be used to customize the text on the Introduction page of the installer.
Portable options.
The requested execution level for Windows.
Whether to create Unicode installer.
If warningsAsErrors is true (default): NSIS will treat warnings as errors. If warningsAsErrors is false: NSIS will allow warnings.
URL Protocol Schemes. Protocols to associate the app with. macOS only.
Please note — on macOS you need to register an open-url event handler.
The name. e.g. IRC server URL.
The schemes. e.g. ["irc", "ircs"].
macOS-only The app's role with respect to the type.
The release date.
The release name.
The release notes.
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.
The bucket name.
The provider. Must be s3.
The ACL. Set to null to not add.
Please see required permissions for the S3 provider.
The update channel.
Server-side encryption algorithm to use for the object.
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>.
The directory path.
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.
The region. Is determined and set automatically when publishing.
The type of storage to use for the object.
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.
The list of features that must be supported by the core in order for this snap to install.
The list of debian packages needs to be installed for building this snap.
The application category.
The type of confinement supported by the snap.
As description from application package.json, but allows you to specify different for Linux.
The Desktop file entries (name to value).
The custom environment. Defaults to {"TMPDIR: "$XDG_RUNTIME_DIR"}. If you set custom, it will be merged with default.
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).
The hooks directory, relative to build (build resources directory).
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.
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"
]
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.
The 78 character long summary. Defaults to productName.
The short description.
Whether to use template snap. Defaults to true if stagePackages not specified.
DigitalOcean Spaces options.
Access key is required, define DO_KEY_ID and DO_SECRET_KEY environment variables.
The space name.
The provider. Must be spaces.
The region (e.g. nyc3).
The ACL. Set to null to not add.
The update channel.
The directory path.
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.
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.
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).
Whether to create an MSI installer. Defaults to false (MSI is not created).
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.
Authentication token for remote updates
Use appId to identify package instead of name.
The target name. e.g. snap.
The arch or list of archs.
The path to an additional certificate file you want to add to the signature block.
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.
The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).
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.
A glob patterns relative to the app directory, which specifies which files to unpack when creating the asar archive.
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.
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.
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).
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).
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.
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.
The electron-updater compatibility semver range.
The file associations.
Whether to fail if app will be not code signed.
Please see Building and Releasing using Channels.
The path to application icon.
The trademarks and registered trademarks.
The URL protocol schemes.
The publisher name, exactly as in your code signed certificate. Several names can be provided. Defaults to common name from your code signing certificate.
4 nested properties
The release date.
The release name.
The release notes.
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.
The security level at which the application requests to be executed.
Cannot be specified per target, allowed only in the win.
The URL of the RFC 3161 time stamp server.
The custom function (or path to file or module id) to sign Windows executable.
Whether to sign and add metadata to executable. Advanced option.
Whether to sign DLL files. Advanced option.
Array of signing algorithms used. For AppX sha256 is always used.
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.
The URL of the time stamp server.
Whether to verify the signature of an available update before installation. The publisher name will be used for the signature verification.