PlatformSpecificBuildOptions

  • appId = com.electron.${name} String | “undefined” - 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.

  • artifactName String | “undefined” - The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).

  • executableName String | “undefined” - The executable name. Defaults to productName.

  • compression = normal “store” | “normal” | “maximum” | “undefined” - 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.

  • files The files configuration.

  • extraResources The extra resources configuration.

  • extraFiles The extra files configuration.

  • asar = true AsarOptions | Boolean | “undefined” - 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.

  • asarUnpack Array<String> | String | “undefined” - A glob patterns relative to the app directory, which specifies which files to unpack when creating the asar archive.


  • fileAssociations Array<FileAssociation> | FileAssociation - The file associations.
    • ext String | Array<String> - The extension (minus the leading period). e.g. png.

    • name String | “undefined” - The name. e.g. PNG. Defaults to ext.

    • description String | “undefined” - windows-only. The description.

    • mimeType String | “undefined” - linux-only. The mime-type.

    • icon String | “undefined” - 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). Not supported on MSI.

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

    • 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.

    • rank = Default String - macOS-only The app’s rank with respect to the type. The value can be Owner, Default, Alternate, or None. Corresponds to LSHandlerRank.

  • protocols Array<Protocol> | Protocol - The URL protocol schemes.
    • name String - The name. e.g. IRC server URL.
    • schemes Array<String> - The schemes. e.g. ["irc", "ircs"].
    • role = Editor “Editor” | “Viewer” | “Shell” | “None” - macOS-only The app’s role with respect to the type.
  • electronLanguages Array<String> | String - The electron locales to keep. By default, all Electron locales used as-is.

  • forceCodeSigning Boolean - Whether to fail if app will be not code signed.

  • electronUpdaterCompatibility String | “undefined” - The electron-updater compatibility semver range.

  • publish The publish options.

  • detectUpdateChannel = true 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.

  • generateUpdatesFilesForAllChannels = false Boolean - Please see Building and Releasing using Channels.

  • releaseInfo - The release info. Intended for command line usage:

    -c.releaseInfo.releaseNotes="new features"

    • releaseName String | “undefined” - The release name.
    • releaseNotes String | “undefined” - The release notes.
    • releaseNotesFile String | “undefined” - 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.
    • releaseDate String - The release date.
    • vendor Object<String, any> | “undefined” - Vendor specific information.
  • target String | TargetConfiguration

  • defaultArch String