key: deprecatedNames

description: An array of readable identifiers by which this report was known in some previous version of the analysis tool.


key: shortDescription

description: A concise description of the report. Should be a single sentence that is understandable when visible space is limited to a single line of text.


key: fullDescription

description: A description of the report. Should, as far as possible, provide details sufficient to enable resolution of any problem indicated by the result.


key: messageStrings

description: A set of name/value pairs with arbitrary names. Each value is a multiformatMessageString object, which holds message strings in plain text and (optionally) Markdown format. The strings can include placeholders, which can be used to construct a message in combination with an arbitrary number of additional string arguments.

type: object


key: defaultConfiguration

description: Default reporting configuration information.


key: helpUri

description: A URI where the primary documentation for the report can be found.

type: string

format: uri


key: help

description: Provides the primary documentation for the report, useful when there is no online documentation.


key: relationships

description: An array of objects that describe relationships between this reporting descriptor and others.

type: array


key: properties

description: Key/value pairs that provide additional information about the report.


key: reportingConfiguration

description: Information about a rule or notification that can be configured at runtime.

type: boolean

default: warning

enum: none note warning error

type: number


key: enabled

description: Specifies whether the report may be produced during the scan.


key: level

description: Specifies the failure level for the report.


key: rank

description: Specifies the relative priority of the report. Used for analysis output only.


key: parameters

description: Contains configuration information specific to a report.


description: Key/value pairs that provide additional information about the reporting configuration.


key: reportingDescriptorReference

description: Information about how to locate a relevant reporting descriptor.

type: integer


key: id

description: The id of the descriptor.


key: index

description: The index into an array of descriptors in toolComponent.ruleDescriptors, toolComponent.notificationDescriptors, or toolComponent.taxonomyDescriptors, depending on context.


key: guid

description: A guid that uniquely identifies the descriptor.


key: toolComponent

description: A reference used to locate the toolComponent associated with the descriptor.


description: Key/value pairs that provide additional information about the reporting descriptor reference.


key: reportingDescriptorRelationship

description: Information about the relation of one reporting descriptor to another.


key: target

description: A reference to the related reporting descriptor.


key: kinds

description: A set of distinct strings that categorize the relationship. Well-known kinds include 'canPrecede', 'canFollow', 'willPrecede', 'willFollow', 'superset', 'subset', 'equal', 'disjoint', 'relevant', and 'incomparable'.


key: description

description: A description of the reporting descriptor relationship.


key: result

description: A result produced by an analysis tool.

default: fail

enum: notApplicable pass fail review open informational

enum: new unchanged updated absent


key: ruleId

description: The stable, unique identifier of the rule, if any, to which this notification is relevant. This member can be used to retrieve rule metadata from the rules dictionary, if it exists.


key: ruleIndex

description: The index within the tool component rules array of the rule object associated with this result.


key: rule

description: A reference used to locate the rule descriptor relevant to this result.


key: kind

description: A value that categorizes results by evaluation state.


key: level

description: A value specifying the severity level of the result.


key: message

description: A message that describes the result. The first sentence of the message only will be displayed when visible space is limited.


key: analysisTarget

description: Identifies the artifact that the analysis tool was instructed to scan. This need not be the same as the artifact where the result actually occurred.


key: locations

description: The set of locations where the result was detected. Specify only one location unless the problem indicated by the result can only be corrected by making a change at every specified location.


description: A stable, unique identifier for the result in the form of a GUID.


key: correlationGuid

description: A stable, unique identifier for the equivalence class of logically identical results to which this result belongs, in the form of a GUID.


key: occurrenceCount

description: A positive integer specifying the number of times this logically unique result was observed in this run.


key: partialFingerprints

description: A set of strings that contribute to the stable, unique identity of the result.


key: fingerprints

description: A set of strings each of which individually defines a stable, unique identity for the result.


key: stacks

description: An array of 'stack' objects relevant to the result.


key: codeFlows

description: An array of 'codeFlow' objects relevant to the result.


key: graphs

description: An array of zero or more unique graph objects associated with the result.


key: graphTraversals

description: An array of one or more unique 'graphTraversal' objects.


key: relatedLocations

description: A set of locations relevant to this result.


key: suppressions

description: A set of suppressions relevant to this result.


key: baselineState

description: The state of a result relative to a baseline of a previous run.


key: rank

description: A number representing the priority or importance of the result.


key: attachments

description: A set of artifacts relevant to the result.


key: hostedViewerUri

description: An absolute URI at which the result can be viewed.


key: workItemUris

description: The URIs of the work items associated with this result.


key: provenance

description: Information about how and when the result was detected.


key: fixes

description: An array of 'fix' objects, each of which represents a proposed fix to the problem indicated by the result.


key: taxa

description: An array of references to taxonomy reporting descriptors that are applicable to the result.


key: webRequest

description: A web request associated with this result.


key: webResponse

description: A web response associated with this result.


key: properties

description: Key/value pairs that provide additional information about the result.


key: resultProvenance

description: Contains information about how and when a result was detected.

format: date-time


key: firstDetectionTimeUtc

description: The Coordinated Universal Time (UTC) date and time at which the result was first detected. See "Date/time properties" in the SARIF spec for the required format.


key: lastDetectionTimeUtc

description: The Coordinated Universal Time (UTC) date and time at which the result was most recently detected. See "Date/time properties" in the SARIF spec for the required format.


key: firstDetectionRunGuid

description: A GUID-valued string equal to the automationDetails.guid property of the run in which the result was first detected.


key: lastDetectionRunGuid

description: A GUID-valued string equal to the automationDetails.guid property of the run in which the result was most recently detected.


key: invocationIndex

description: The index within the run.invocations array of the invocation object which describes the tool invocation that detected the result.


key: conversionSources

description: An array of physicalLocation objects which specify the portions of an analysis tool's output that a converter transformed into the result.


key: run

description: Describes a single run of an analysis tool, and contains the reported output of that run.

default: en-US


key: tool

description: Information about the tool or tool pipeline that generated the results in this run. A run can only contain results produced by a single tool or tool pipeline. A run can aggregate results from multiple log files, as long as context around the tool run (tool command-line arguments and the like) is identical for all aggregated files.


key: invocations

description: Describes the invocation of the analysis tool.


key: conversion

description: A conversion object that describes how a converter transformed an analysis tool's native reporting format into the SARIF format.


key: language

description: The language of the messages emitted into the log file during this run (expressed as an ISO 639-1 two-letter lowercase culture code) and an optional region (expressed as an ISO 3166-1 two-letter uppercase subculture code associated with a country or region). The casing is recommended but not required (in order for this data to conform to RFC5646).


key: versionControlProvenance

description: Specifies the revision in version control of the artifacts that were scanned.


key: originalUriBaseIds

description: The artifact location specified by each uriBaseId symbol on the machine where the tool originally ran.


key: artifacts

description: An array of artifact objects relevant to the run.


key: logicalLocations

description: An array of logical locations such as namespaces, types or functions.


key: graphs

description: An array of zero or more unique graph objects associated with the run.


key: results

description: The set of results contained in an SARIF log. The results array can be omitted when a run is solely exporting rules metadata. It must be present (but may be empty) if a log file represents an actual scan.


key: automationDetails

description: Automation details that describe this run.


key: runAggregates

description: Automation details that describe the aggregate of runs to which this run belongs.


key: baselineGuid

description: The 'guid' property of a previous SARIF 'run' that comprises the baseline that was used to compute result 'baselineState' properties for the run.


key: redactionTokens

description: An array of strings used to replace sensitive information in a redaction-aware property.


key: defaultEncoding

description: Specifies the default encoding for any artifact object that refers to a text file.


key: defaultSourceLanguage

description: Specifies the default source language for any artifact object that refers to a text file that contains source code.


key: newlineSequences

description: An ordered list of character sequences that were treated as line breaks when computing region information for the run.


key: columnKind

description: Specifies the unit in which the tool measures columns.


key: externalPropertyFileReferences

description: References to external property files that should be inlined with the content of a root log file.


key: threadFlowLocations

description: An array of threadFlowLocation objects cached at run level.


key: taxonomies

description: An array of toolComponent objects relevant to a taxonomy in which results are categorized.


key: addresses

description: Addresses associated with this run instance, if any.


key: translations

description: The set of available translations of the localized data provided by the tool.


key: policies

description: Contains configurations that may potentially override both reportingDescriptor.defaultConfiguration (the tool's default severities) and invocation.configurationOverrides (severities established at run-time from the command line).


key: webRequests

description: An array of request objects cached at run level.


key: webResponses

description: An array of response objects cached at run level.


key: specialLocations

description: A specialLocations object that defines locations of special significance to SARIF consumers.


key: properties

description: Key/value pairs that provide additional information about the run.


key: runAutomationDetails

description: Information that describes a run's identity and role within an engineering system process.


key: description

description: A description of the identity and role played within the engineering system by this object's containing run object.


key: id

description: A hierarchical string that uniquely identifies this object's containing run object.


key: guid

description: A stable, unique identifier for this object's containing run object in the form of a GUID.


key: correlationGuid

description: A stable, unique identifier for the equivalence class of runs to which this object's containing run object belongs in the form of a GUID.


description: Key/value pairs that provide additional information about the run automation details.


description: Defines locations of special significance to SARIF consumers.


key: displayBase

description: Provides a suggestion to SARIF consumers to display file paths relative to the specified location.


description: Key/value pairs that provide additional information about the special locations.


key: stack

description: A call stack that is relevant to a result.


key: message

description: A message relevant to this call stack.


key: frames

description: An array of stack frames that represents a sequence of calls, rendered in reverse chronological order, that comprise the call stack.


description: Key/value pairs that provide additional information about the stack.


key: stackFrame

description: A function call within a stack trace.


key: location

description: The location to which this stack frame refers.


key: module

description: The name of the module that contains the code of this stack frame.


key: threadId

description: The thread identifier of the stack frame.


key: parameters

description: The parameters of the call that is executing.


description: Key/value pairs that provide additional information about the stack frame.


key: suppression

description: A suppression that is relevant to a result.

enum: inSource external

enum: accepted underReview rejected


description: A stable, unique identifier for the suppression in the form of a GUID.


key: kind

description: A string that indicates where the suppression is persisted.


key: state

description: A string that indicates the state of the suppression.


key: justification

description: A string representing the justification for the suppression.


description: Identifies the location associated with the suppression.


key: properties

description: Key/value pairs that provide additional information about the suppression.


key: id

description: An string that uniquely identifies the threadFlow within the codeFlow in which it occurs.


description: A message relevant to the thread flow.


key: initialState

description: Values of relevant expressions at the start of the thread flow that may change during thread flow execution.


key: immutableState

description: Values of relevant expressions at the start of the thread flow that remain constant.


key: locations

description: A temporally ordered array of 'threadFlowLocation' objects, each of which describes a location visited by the tool while producing the result.


description: Key/value pairs that provide additional information about the thread flow.


key: threadFlowLocation

description: A location visited by an analysis tool while simulating or monitoring the execution of a program.

enum: important essential unimportant

default: important


key: index

description: The index within the run threadFlowLocations array.


description: The code location.


key: stack

description: The call stack leading to this location.


key: kinds

description: A set of distinct strings that categorize the thread flow location. Well-known kinds include 'acquire', 'release', 'enter', 'exit', 'call', 'return', 'branch', 'implicit', 'false', 'true', 'caution', 'danger', 'unknown', 'unreachable', 'taint', 'function', 'handler', 'lock', 'memory', 'resource', 'scope' and 'value'.


key: taxa

description: An array of references to rule or taxonomy reporting descriptors that are applicable to the thread flow location.


key: module

description: The name of the module that contains the code that is executing.


description: A dictionary, each of whose keys specifies a variable or expression, the associated value of which represents the variable or expression value. For an annotation of kind 'continuation', for example, this dictionary might hold the current assumed values of a set of global variables.


key: nestingLevel

description: An integer representing a containment hierarchy within the thread flow.


key: executionOrder

description: An integer representing the temporal order in which execution reached this location.


key: executionTimeUtc

description: The Coordinated Universal Time (UTC) date and time at which this location was executed.


key: importance

description: Specifies the importance of this location in understanding the code flow in which it occurs. The order from most to least important is "essential", "important", "unimportant". Default: "important".


key: webRequest

description: A web request associated with this thread flow location.


key: webResponse

description: A web response associated with this thread flow location.


key: properties

description: Key/value pairs that provide additional information about the threadflow location.


key: tool

description: The analysis tool that was run.


key: driver

description: The analysis tool that was run.


key: extensions

description: Tool extensions that contributed to or reconfigured the analysis tool that was run.


description: Key/value pairs that provide additional information about the tool.


key: toolComponent

description: A component, such as a plug-in or the driver, of the analysis tool that was run.

default: localizedData nonLocalizedData

enum: localizedData nonLocalizedData


key: guid

description: A unique identifier for the tool component in the form of a GUID.


key: name

description: The name of the tool component.


key: organization

description: The organization or company that produced the tool component.


key: product

description: A product suite to which the tool component belongs.


key: productSuite

description: A localizable string containing the name of the suite of products to which the tool component belongs.


key: shortDescription

description: A brief description of the tool component.


key: fullDescription

description: A comprehensive description of the tool component.


key: fullName

description: The name of the tool component along with its version and any other useful identifying information, such as its locale.


key: version

description: The tool component version, in whatever format the component natively provides.


key: semanticVersion

description: The tool component version in the format specified by Semantic Versioning 2.0.


key: dottedQuadFileVersion

description: The binary version of the tool component's primary executable file expressed as four non-negative integers separated by a period (for operating systems that express file versions in this way).


key: releaseDateUtc

description: A string specifying the UTC date (and optionally, the time) of the component's release.


key: downloadUri

description: The absolute URI from which the tool component can be downloaded.


key: informationUri

description: The absolute URI at which information about this version of the tool component can be found.


key: globalMessageStrings

description: A dictionary, each of whose keys is a resource identifier and each of whose values is a multiformatMessageString object, which holds message strings in plain text and (optionally) Markdown format. The strings can include placeholders, which can be used to construct a message in combination with an arbitrary number of additional string arguments.


key: notifications

description: An array of reportingDescriptor objects relevant to the notifications related to the configuration and runtime execution of the tool component.


key: rules

description: An array of reportingDescriptor objects relevant to the analysis performed by the tool component.


key: taxa

description: An array of reportingDescriptor objects relevant to the definitions of both standalone and tool-defined taxonomies.


key: locations

description: An array of the artifactLocation objects associated with the tool component.


key: language

description: The language of the messages emitted into the log file during this run (expressed as an ISO 639-1 two-letter lowercase language code) and an optional region (expressed as an ISO 3166-1 two-letter uppercase subculture code associated with a country or region). The casing is recommended but not required (in order for this data to conform to RFC5646).


key: contents

description: The kinds of data contained in this object.


key: isComprehensive

description: Specifies whether this object contains a complete definition of the localizable and/or non-localizable data for this component, as opposed to including only data that is relevant to the results persisted to this log file.


key: localizedDataSemanticVersion

description: The semantic version of the localized strings defined in this component; maintained by components that provide translations.


description: The minimum value of localizedDataSemanticVersion required in translations consumed by this component; used by components that consume translations.


key: associatedComponent

description: The component which is strongly associated with this component. For a translation, this refers to the component which has been translated. For an extension, this is the driver that provides the extension's plugin model.


key: translationMetadata

description: Translation metadata, required for a translation, not populated by other component types.


key: supportedTaxonomies

description: An array of toolComponentReference objects to declare the taxonomies supported by the tool component.


key: properties

description: Key/value pairs that provide additional information about the tool component.


key: toolComponentReference


key: name

description: The 'name' property of the referenced toolComponent.


key: index

description: An index into the referenced toolComponent in tool.extensions.


key: guid

description: The 'guid' property of the referenced toolComponent.


description: Key/value pairs that provide additional information about the toolComponentReference.


description: Provides additional metadata related to translation.


description: The name associated with the translation metadata.


key: fullName

description: The full name associated with the translation metadata.


key: shortDescription

description: A brief description of the translation metadata.


key: fullDescription

description: A comprehensive description of the translation metadata.


key: downloadUri

description: The absolute URI from which the translation metadata can be downloaded.


key: informationUri

description: The absolute URI from which information related to the translation metadata can be downloaded.


description: Key/value pairs that provide additional information about the translation metadata.


key: versionControlDetails

description: Specifies the information necessary to retrieve a desired revision from a version control system.


key: repositoryUri

description: The absolute URI of the repository.


key: revisionId

description: A string that uniquely and permanently identifies the revision within the repository.


key: branch

description: The name of a branch containing the revision.


key: revisionTag

description: A tag that has been applied to the revision.


key: asOfTimeUtc

description: A Coordinated Universal Time (UTC) date and time that can be used to synchronize an enlistment to the state of the repository at that time.


key: mappedTo

description: The location in the local file system to which the root of the repository was mapped at the time of the analysis.


key: properties

description: Key/value pairs that provide additional information about the version control details.


key: webRequest

description: A web request object.


description: The index within the run.webRequests array of the request object associated with this result.


key: protocol

description: The request protocol. Example: 'http'.


key: version

description: The request version. Example: '1.1'.


key: target

description: The target of the request.


key: method

description: The HTTP method. Well-known values are 'GET', 'PUT', 'POST', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS', 'TRACE', 'CONNECT'.


key: headers

description: The request headers.


key: parameters

description: The request parameters.


key: body

description: The body of the request.


description: Key/value pairs that provide additional information about the request.


key: webResponse

description: A web response object.


key: index

description: The index within the run.webResponses array of the response object associated with this result.


description: The response protocol. Example: 'http'.


description: The response version. Example: '1.1'.


key: statusCode

description: The response status code. Example: 451.


key: reasonPhrase

description: The response reason. Example: 'Not found'.


description: The response headers.


description: The body of the response.


key: noResponseReceived

description: Specifies whether a response was received from the server.


description: Key/value pairs that provide additional information about the response.


key: $schema

description: The URI of the JSON schema corresponding to the version.


description: The SARIF format version of this log file.


key: runs

description: The set of runs contained in this log file.


key: inlineExternalProperties

description: References to external property files that share data between runs.


key: properties

description: Key/value pairs that provide additional information about the log file.


description: Configuration Options

default: ask

enum: ask doNotAsk

default: stable

default: generic

enum: bzip2 gz xz

default: xz

enum: dir file link

required: x y

default: UDZO

enum: UDBZ UDCO UDRO UDRW UDZO ULFO

enum: darwin linux mas win32

default: Editor

default: latest

required: provider url

enum: http https

default: https

default: .avi .mov .m4v .mp4 .m4p .qt .mkv .webm .vmdk

enum: bottom bottomleft bottomright center left right top topleft topright


key: artifactName

description: The [artifact file name template](/configuration/configuration#artifact-file-name-template).


key: category

description: The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).


key: description

description: As [description](/configuration/configuration#Metadata-description) from application package.json, but allows you to specify different for Linux.


key: desktop

description: The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value).


key: license

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


key: mimeTypes

description: 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.


key: synopsis

description: The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).


key: systemIntegration

description: The system integration installation.


key: addAutoLaunchExtension

description: Whether to add auto launch extension. Defaults to `true` if [electron-winstore-auto-launch](https://github.com/felixrieseberg/electron-winstore-auto-launch) in the dependencies.


key: applicationId

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


key: backgroundColor

description: The background color of the app tile. See [Visual Elements](https://msdn.microsoft.com/en-us/library/windows/apps/br211471.aspx).


key: displayName

description:
A friendly name that can be displayed to users. Corresponds to [Properties.DisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211432.aspx).
Defaults to the application product name.


key: identityName

description: The name. Corresponds to [Identity.Name](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx). Defaults to the [application name](/configuration/configuration#Metadata-name).


key: languages

description:
The list of [supported languages](https://docs.microsoft.com/en-us/windows/uwp/globalizing/manage-language-and-region#specify-the-supported-languages-in-the-apps-manifest) that will be listed in the Windows Store.
The first entry (index 0) will be the default language.
Defaults to en-US if omitted.


key: publisher

description: The Windows Store publisher. Not used if AppX is build for testing. See [AppX Package Code Signing](#appx-package-code-signing) below.


key: publisherDisplayName

description:
A friendly name for the publisher that can be displayed to users. Corresponds to [Properties.PublisherDisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211460.aspx).
Defaults to company name from the application metadata.


key: showNameOnTiles

description: 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.


key: setBuildNumber

description: Whether to set build number. See https://github.com/electron-userland/electron-builder/issues/3875


key: externalAllowed

description: Allows external asar files.


key: smartUnpack

description: Whether to automatically unpack executables files.


key: BintrayOptions

description:
[Bintray](https://bintray.com/) options. Requires an API key. An API key can be obtained from the user [profile](https://bintray.com/profile/edit) page ("Edit Your Profile" -> API Key).
Define `BT_TOKEN` environment variable.


key: component

description: The Bintray component (Debian only).


key: distribution

description: The Bintray distribution (Debian only).


key: owner

description: The owner.


key: package

description: The Bintray package name.


key: provider

description: The provider. Must be `bintray`.


key: publishAutoUpdate

description:
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.


key: repo

description: The Bintray repository name.


key: user

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


description: The provider.


key: artifactName

description: The [artifact file name template](/configuration/configuration#artifact-file-name-template).


key: category

description: The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).


key: compression

description: The compression type.


key: depends

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


key: description

description: As [description](/configuration/configuration#Metadata-description) from application package.json, but allows you to specify different for Linux.


key: desktop

description: The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value).


key: fpm

description:
*Advanced only* The [fpm](https://github.com/jordansissel/fpm/wiki#usage) options.

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


key: mimeTypes

description: 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.


key: packageCategory

description: The [package category](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Section).


key: priority

description: The [Priority](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Priority) attribute.


key: synopsis

description: The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).


key: name

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


key: path

description: The path of the file within the DMG.


key: background

description:
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.


key: backgroundColor

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


key: contents

description: The content — to customize icon locations.


key: format

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


key: icon

description:
The path to DMG icon (volume icon), which will be shown when mounted, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.
Defaults to the application icon (`build/icon.icns`).


key: iconSize

description: The size of all the icons inside the DMG.


key: iconTextSize

description: The size of all the icon texts inside the DMG.


key: internetEnabled

description: 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).


key: title

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

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

default: ${productName} ${version}


key: window

description: The DMG windows position and size.


key: height

description: The height. Defaults to background image height or 380.


key: width

description: The width. Defaults to background image width or 540.


key: x

description: The X position relative to left of the screen.


key: y

description: The Y position relative to top of the screen.


key: cache

description: The [cache location](https://github.com/electron-userland/electron-download#cache-location).


key: mirror

description: The mirror.


key: FileAssociation

description:
File associations.

macOS (corresponds to [CFBundleDocumentTypes](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-101685)) and NSIS only.

On Windows works only if [nsis.perMachine](https://electron.build/configuration/configuration#NsisOptions-perMachine) is set to `true`.


key: description

description: *windows-only.* The description.


key: ext

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


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`).


key: isPackage

description: *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`.


key: mimeType

description: *linux-only.* The mime-type.


key: name

description: The name. e.g. `PNG`. Defaults to `ext`.


key: role

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


key: filter

description: The [glob patterns](/file-patterns).


key: from

description: The source path relative to the project directory.


key: to

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


key: GenericServerOptions

description:
Generic (any HTTP(S) server) options.
In all publish options [File Macros](/file-patterns#file-macros) are supported.


key: channel

description: The channel.


key: provider

description: The provider. Must be `generic`.


key: publishAutoUpdate

description:
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.


key: url

description: The base url. e.g. `https://bucket_name.s3.amazonaws.com`.


key: useMultipleRangeRequest

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


key: GithubOptions

description:
[GitHub](https://help.github.com/articles/about-releases/) options.

GitHub [personal access token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/) 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.

enum: draft prerelease release

default: draft


key: host

description: The host (including the port if need).


key: owner

description: The owner.


key: private

description: Whether to use private github auto-update provider if `GH_TOKEN` environment variable is defined. See [Private GitHub Update Repo](/auto-update#private-github-update-repo).


key: protocol

description: The protocol. GitHub Publisher supports only `https`.


description: The provider. Must be `github`.


key: releaseType

description:
The type of release. By default `draft` release will be created.

Also you can set release type using environment variable. If `EP_DRAFT`is set to `true` — `draft`, if `EP_PRE_RELEASE`is set to `true` — `prerelease`.


key: repo

description: The repository name. [Detected automatically](#github-repository-and-bintray-package).


key: token

description: The access token to support auto-update from private github repositories. Never specify it in the configuration files. Only for [setFeedURL](/auto-update#appupdatersetfeedurloptions).


key: vPrefixedTagName

description: Whether to use `v`-prefixed tag name.


key: appId

description:
The application id. Used as [CFBundleIdentifier](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102070) for MacOS and as
[Application User Model ID](https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx) for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.


key: artifactName

description: The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).


key: asar

description:
Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).

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


key: asarUnpack

description: A [glob patterns](/file-patterns) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive.


key: category

description: The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).


key: compression

description: 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.

enum: maximum normal store

default: normal


key: description

description: As [description](/configuration/configuration#Metadata-description) from application package.json, but allows you to specify different for Linux.


key: desktop

description: The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value).


key: detectUpdateChannel

description: 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`.


key: electronUpdaterCompatibility

description: The [electron-updater compatibility](/auto-update#compatibility) semver range.


key: executableName

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


key: fileAssociations

description: The file associations.


key: forceCodeSigning

description: Whether to fail if app will be not code signed.


key: generateUpdatesFilesForAllChannels

description: Please see [Building and Releasing using Channels](https://github.com/electron-userland/electron-builder/issues/1182#issuecomment-324947139).


key: icon

description:
The path to icon set directory or one png file, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) 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.


key: maintainer

description: The maintainer. Defaults to [author](/configuration/configuration#Metadata-author).


key: mimeTypes

description: 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.


key: packageCategory

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


key: protocols

description: The URL protocol schemes.


key: releaseInfo

description:
The release info. Intended for command line usage:

```
-c.releaseInfo.releaseNotes="new features"
```


key: synopsis

description: The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).


key: target

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](/multi-platform-build#docker) can be used to build Linux targets on any platform.

Please [do not put an AppImage into another archive](https://github.com/probonopd/AppImageKit/wiki/Creating-AppImages#common-mistake) like a .zip or .tar.gz.

default: AppImage


key: vendor

description: The vendor. Defaults to [author](/configuration/configuration#Metadata-author).


key: artifactName

description: The [artifact file name template](/configuration/configuration#artifact-file-name-template).


key: category

description: The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).


key: compression

description: The compression type.


key: depends

description: Package dependencies.


key: description

description: As [description](/configuration/configuration#Metadata-description) from application package.json, but allows you to specify different for Linux.


key: desktop

description: The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value).


key: fpm

description:
*Advanced only* The [fpm](https://github.com/jordansissel/fpm/wiki#usage) options.

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


description: The package category.


key: appId

description:
The application id. Used as [CFBundleIdentifier](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102070) for MacOS and as
[Application User Model ID](https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx) for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.


description: The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).


key: asar

description:
Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).

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


key: asarUnpack

description: A [glob patterns](/file-patterns) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive.


key: binaries

description: Paths of any extra binaries that need to be signed.


key: bundleShortVersion

description: The `CFBundleShortVersionString`. Do not use it unless you need to.


key: bundleVersion

description: The `CFBundleVersion`. Do not use it unless [you need to](https://github.com/electron-userland/electron-builder/issues/565#issuecomment-230678643).


description:
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](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW8).


description: 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.


key: darkModeSupport

description: 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.


key: hardenedRuntime

description: Whether your app has to be signed with hardened runtime.


key: gatekeeperAssess

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


key: detectUpdateChannel

description: 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`.


key: electronLanguages

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


key: electronUpdaterCompatibility

description: The [electron-updater compatibility](/auto-update#compatibility) semver range.


key: entitlements

description:
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](/configuration/mas).


key: entitlementsInherit

description:
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](https://github.com/electron-userland/electron-osx-sign/blob/master/default.entitlements.darwin.inherit.plist).

This option only applies when signing with `entitlements` provided.


key: extendInfo

description: The extra entries for `Info.plist`.


key: extraDistFiles

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


key: fileAssociations

description: The file associations.


key: forceCodeSigning

description: Whether to fail if app will be not code signed.


key: generateUpdatesFilesForAllChannels

description: Please see [Building and Releasing using Channels](https://github.com/electron-userland/electron-builder/issues/1182#issuecomment-324947139).


key: helperBundleId

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


key: icon

description: The path to application icon.


key: identity

description:
The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](/code-signing) instead of specifying this option.
MAS installer identity is specified in the [mas](/configuration/mas).


key: minimumSystemVersion

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


key: protocols

description: The URL protocol schemes.


key: provisioningProfile

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


key: releaseInfo

description:
The release info. Intended for command line usage:

```
-c.releaseInfo.releaseNotes="new features"
```


key: requirements

description: Path of [requirements file](https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html) used in signing. Not applicable for MAS.


key: target

description: 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).


key: type

description: Whether to sign app for development or for distribution.

enum: development distribution

default: distribution


key: appId

description:
The application id. Used as [CFBundleIdentifier](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102070) for MacOS and as
[Application User Model ID](https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx) for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.


key: artifactName

description: The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).


key: asar

description:
Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).

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


key: asarUnpack

description: A [glob patterns](/file-patterns) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive.


key: binaries

description: Paths of any extra binaries that need to be signed.


key: bundleShortVersion

description: The `CFBundleShortVersionString`. Do not use it unless you need to.


key: bundleVersion

description: The `CFBundleVersion`. Do not use it unless [you need to](https://github.com/electron-userland/electron-builder/issues/565#issuecomment-230678643).


key: category

description:
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](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW8).


key: compression

description: 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.


key: darkModeSupport

description: 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.


key: hardenedRuntime

description: Whether your app has to be signed with hardened runtime.


key: detectUpdateChannel

description: 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`.


key: electronLanguages

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


key: electronUpdaterCompatibility

description: The [electron-updater compatibility](/auto-update#compatibility) semver range.


key: entitlements

description:
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](https://github.com/electron-userland/electron-osx-sign/blob/master/default.entitlements.mas.plist).


key: entitlementsInherit

description:
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](https://github.com/electron-userland/electron-osx-sign/blob/master/default.entitlements.mas.inherit.plist).


key: extendInfo

description: The extra entries for `Info.plist`.


key: extraDistFiles

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


key: fileAssociations

description: The file associations.


key: forceCodeSigning

description: Whether to fail if app will be not code signed.


key: generateUpdatesFilesForAllChannels

description: Please see [Building and Releasing using Channels](https://github.com/electron-userland/electron-builder/issues/1182#issuecomment-324947139).


key: helperBundleId

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


key: icon

description: The path to application icon.


key: identity

description:
The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](/code-signing) instead of specifying this option.
MAS installer identity is specified in the [mas](/configuration/mas).


key: minimumSystemVersion

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


key: protocols

description: The URL protocol schemes.


key: provisioningProfile

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


key: releaseInfo

description:
The release info. Intended for command line usage:

```
-c.releaseInfo.releaseNotes="new features"
```


key: requirements

description: Path of [requirements file](https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html) used in signing. Not applicable for MAS.


key: target

description: 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).


key: type

description: Whether to sign app for development or for distribution.


key: app

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


key: buildResources

description:
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


key: output

description: The output directory. [File macros](/file-patterns#file-macros) are supported.

default: dist


key: artifactName

description: The [artifact file name template](/configuration/configuration#artifact-file-name-template).


key: createDesktopShortcut

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


key: createStartMenuShortcut

description: Whether to create start menu shortcut.


key: menuCategory

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

type: string boolean


key: oneClick

description: One-click installation.


key: perMachine

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


key: runAfterFinish

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


key: shortcutName

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


key: upgradeCode

description: The [upgrade code](https://msdn.microsoft.com/en-us/library/windows/desktop/aa372375(v=vs.85).aspx). Optional, by default generated using app id.


key: warningsAsErrors

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


key: allowElevation

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


key: allowToChangeInstallationDirectory

description: *assisted installer only.* Whether to allow user to change installation directory.


description: The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName} Setup ${version}.${ext}`.


key: deleteAppDataOnUninstall

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


key: differentialPackage

description: Defaults to `true` for web installer (`nsis-web`)


key: displayLanguageSelector

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


key: guid

description: See [GUID vs Application Name](../configuration/nsis#guid-vs-application-name).


key: include

description: The path to NSIS include script to customize installer. Defaults to `build/installer.nsh`. See [Custom NSIS script](#custom-nsis-script).


key: installerHeader

description: *assisted installer only.* `MUI_HEADERIMAGE`, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.


key: installerHeaderIcon

description:
*one-click installer only.* The path to header icon (above the progress bar), relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.
Defaults to `build/installerHeaderIcon.ico` or application icon.


key: installerIcon

description:
The path to installer icon, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.
Defaults to `build/installerIcon.ico` or application icon.


key: installerLanguages

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


key: installerSidebar

description:
*assisted installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.
Defaults to `build/installerSidebar.bmp` or `${NSISDIR}\\Contrib\\Graphics\\Wizard\\nsis3-metro.bmp`. Image size 164 × 314 pixels.


key: language

description: [LCID Dec](https://msdn.microsoft.com/en-au/goglobal/bb964664.aspx), defaults to `1033`(`English - United States`).


key: license

description:
The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). In addition to `txt, `rtf` and `html` supported (don't forget to use `target="_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](https://github.com/meikidd/iso-639-1/blob/master/src/data.js).

Appropriate license file will be selected by user OS language.


key: menuCategory

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


key: multiLanguageInstaller

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


key: oneClick

description: Whether to create one-click installer or assisted.


key: packElevateHelper

description: 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`.


key: perMachine

description:
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.


key: preCompressedFileExtensions

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


key: runAfterFinish

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


key: script

description: The path to NSIS script to customize installer. Defaults to `build/installer.nsi`. See [Custom NSIS script](#custom-nsis-script).


key: shortcutName

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


key: unicode

description: Whether to create [Unicode installer](http://nsis.sourceforge.net/Docs/Chapter1.html#intro-unicode).


key: uninstallDisplayName

description: The uninstaller display name in the control panel.


key: uninstallerIcon

description:
The path to uninstaller icon, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.
Defaults to `build/uninstallerIcon.ico` or application icon.


key: uninstallerSidebar

description:
*assisted installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) 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`


key: warningsAsErrors

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


key: NsisWebOptions

description: Web Installer options.


key: allowElevation

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


key: allowToChangeInstallationDirectory

description: *assisted installer only.* Whether to allow user to change installation directory.


key: appPackageUrl

description:
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](https://github.com/electron-userland/electron-builder/issues/1810#issuecomment-317650878).

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


key: artifactName

description: The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName} Web Setup ${version}.${ext}`.


key: createDesktopShortcut

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


key: createStartMenuShortcut

description: Whether to create start menu shortcut.


key: deleteAppDataOnUninstall

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


key: differentialPackage

description: Defaults to `true` for web installer (`nsis-web`)


key: displayLanguageSelector

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


key: guid

description: See [GUID vs Application Name](../configuration/nsis#guid-vs-application-name).


key: include

description: The path to NSIS include script to customize installer. Defaults to `build/installer.nsh`. See [Custom NSIS script](#custom-nsis-script).


key: installerHeader

description: *assisted installer only.* `MUI_HEADERIMAGE`, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.


key: installerHeaderIcon

description:
*one-click installer only.* The path to header icon (above the progress bar), relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.
Defaults to `build/installerHeaderIcon.ico` or application icon.


key: installerIcon

description:
The path to installer icon, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.
Defaults to `build/installerIcon.ico` or application icon.


key: installerLanguages

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


key: installerSidebar

description:
*assisted installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.
Defaults to `build/installerSidebar.bmp` or `${NSISDIR}\\Contrib\\Graphics\\Wizard\\nsis3-metro.bmp`. Image size 164 × 314 pixels.


key: language

description: [LCID Dec](https://msdn.microsoft.com/en-au/goglobal/bb964664.aspx), defaults to `1033`(`English - United States`).


key: license

description:
The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). In addition to `txt, `rtf` and `html` supported (don't forget to use `target="_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](https://github.com/meikidd/iso-639-1/blob/master/src/data.js).

Appropriate license file will be selected by user OS language.


key: menuCategory

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


key: multiLanguageInstaller

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


key: oneClick

description: Whether to create one-click installer or assisted.


key: packElevateHelper

description: 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`.


key: perMachine

description:
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.


key: preCompressedFileExtensions

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


key: runAfterFinish

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


key: script

description: The path to NSIS script to customize installer. Defaults to `build/installer.nsi`. See [Custom NSIS script](#custom-nsis-script).


key: shortcutName

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


key: unicode

description: Whether to create [Unicode installer](http://nsis.sourceforge.net/Docs/Chapter1.html#intro-unicode).


key: uninstallDisplayName

description: The uninstaller display name in the control panel.


key: uninstallerIcon

description:
The path to uninstaller icon, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.
Defaults to `build/uninstallerIcon.ico` or application icon.


key: uninstallerSidebar

description:
*assisted installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) 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`


key: warningsAsErrors

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


key: PkgBackgroundOptions

description: Options for the background image in a PKG installer

default: center

enum: none proportional tofit

default: tofit


key: alignment

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


key: file

description: Path to the image to use as an installer background.


key: scaling

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


key: PkgOptions

description: macOS product archive options.

default: /Applications

enum: update upgrade

default: upgrade

default: build/pkg-scripts


key: allowAnywhere

description:
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](https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW70).


key: allowCurrentUserHome

description:
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](https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW70).


key: allowRootDirectory

description:
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](https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW70).


key: artifactName

description: The [artifact file name template](/configuration/configuration#artifact-file-name-template).


key: background

description: Options for the background image for the installer.


key: conclusion

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


key: hasStrictIdentifier

description: Require identical bundle identifiers at install path?


key: identity

description: The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](/code-signing) instead of specifying this option.


key: installLocation

description:
The install location. [Do not use it](https://stackoverflow.com/questions/12863944/how-do-you-specify-a-default-install-location-to-home-with-pkgbuild) 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.


key: isRelocatable

description: Install bundle over previous version if moved by user?


key: isVersionChecked

description: Don't install bundle if newer version on disk?


key: license

description: The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). In addition to `txt, `rtf` and `html` supported (don't forget to use `target="_blank"` for links).


key: overwriteAction

description:
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.


key: productbuild

description: should be not documented, only to experiment


key: scripts

description:
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`).


key: welcome

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


key: PortableOptions

description: Portable options.

default: user

enum: admin highest user


key: guid

description: See [GUID vs Application Name](../configuration/nsis#guid-vs-application-name).


key: requestExecutionLevel

description: The [requested execution level](http://nsis.sourceforge.net/Reference/RequestExecutionLevel) for Windows.


key: unicode

description: Whether to create [Unicode installer](http://nsis.sourceforge.net/Docs/Chapter1.html#intro-unicode).


key: warningsAsErrors

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


key: unpackDirName

description:
The unpack directory name in [TEMP](https://www.askvg.com/where-does-windows-store-temporary-files-and-how-to-change-temp-folder-location/) directory.

Defaults to [uuid](https://github.com/segmentio/ksuid) of build (changed on each build of portable executable).


key: Protocol

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

Please note — on macOS [you need to register an `open-url` event handler](http://electron.atom.io/docs/api/app/#event-open-url-macos).

default: Editor

enum: Editor None Shell Viewer

required: name schemes


key: name

description: The name. e.g. `IRC server URL`.


key: role

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


key: schemes

description: The schemes. e.g. `["irc", "ircs"]`.


key: releaseDate

description: The release date.


key: releaseName

description: The release name.


key: releaseNotes

description: The release notes.


key: releaseNotesFile

description: 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](#MetadataDirectories-buildResources).


key: acl

description:
The ACL. Set to `null` to not [add](https://github.com/electron-userland/electron-builder/issues/1822).

Please see [required permissions for the S3 provider](https://github.com/electron-userland/electron-builder/issues/1618#issuecomment-314679128).

enum: private public-read

default: public-read


key: bucket

description: The bucket name.


key: channel

description: The update channel.

default: latest


key: encryption

description: Server-side encryption algorithm to use for the object.


key: endpoint

description:
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`.


key: path

description: The directory path.


key: provider

description: The provider. Must be `s3`.


key: publishAutoUpdate

description:
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.


key: region

description: The region. Is determined and set automatically when publishing.


key: storageClass

description: The type of storage to use for the object.

default: STANDARD


key: after

description:
Specifies any [parts](https://snapcraft.io/docs/reference/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.


key: artifactName

description: The [artifact file name template](/configuration/configuration#artifact-file-name-template).


key: assumes

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


key: buildPackages

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


key: category

description: The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).


key: confinement

description: The type of [confinement](https://snapcraft.io/docs/reference/confinement) supported by the snap.

enum: classic devmode strict

default: strict


key: description

description: As [description](/configuration/configuration#Metadata-description) from application package.json, but allows you to specify different for Linux.


key: desktop

description: The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value).


key: environment

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


key: grade

description: 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).

enum: devel stable

default: stable


key: hooks

description: The [hooks](https://docs.snapcraft.io/build-snaps/hooks) directory, relative to `build` (build resources directory).

default: build/snap-hooks


key: mimeTypes

description: 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.


key: plugs

description:
The list of [plugs](https://snapcraft.io/docs/reference/interfaces).
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"
]
```


key: stagePackages

description:
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.


key: summary

description: The 78 character long summary. Defaults to [productName](/configuration/configuration#Configuration-productName).


key: synopsis

description: The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).


key: useTemplateApp

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


key: SpacesOptions

description:
[DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces) options.
Access key is required, define `DO_KEY_ID` and `DO_SECRET_KEY` environment variables.

required: name provider region


key: acl

description: The ACL. Set to `null` to not [add](https://github.com/electron-userland/electron-builder/issues/1822).


key: channel

description: The update channel.


key: name

description: The space name.


key: path

description: The directory path.


key: provider

description: The provider. Must be `spaces`.


key: publishAutoUpdate

description:
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.


key: region

description: The region (e.g. `nyc3`).


key: artifactName

description: The [artifact file name template](/configuration/configuration#artifact-file-name-template).


key: iconUrl

description:
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](https://github.com/atom/grunt-electron-installer/issues/73), 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.


key: loadingGif

description:
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](https://github.com/electron/windows-installer/blob/master/resources/install-spinner.gif)).


key: msi

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


key: remoteReleases

description: 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.

type: null string boolean


key: remoteToken

description: Authentication token for remote updates


key: useAppIdAsId

description: Use `appId` to identify package instead of `name`.


key: arch

description: The arch or list of archs.


key: target

description: The target name. e.g. `snap`.


key: additionalCertificateFile

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


key: appId

description:
The application id. Used as [CFBundleIdentifier](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102070) for MacOS and as
[Application User Model ID](https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx) for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.


description: The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).


key: asar

description:
Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).

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


key: asarUnpack

description: A [glob patterns](/file-patterns) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive.


key: certificateFile

description:
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](/code-signing).


key: certificatePassword

description:
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](/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](https://www.parallels.com/products/desktop/) Windows 10 virtual machines exits).


key: certificateSubjectName

description: 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](https://www.parallels.com/products/desktop/) Windows 10 virtual machines exits).


key: compression

description: 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


key: detectUpdateChannel

description: 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`.


key: electronUpdaterCompatibility

description: The [electron-updater compatibility](/auto-update#compatibility) semver range.


key: fileAssociations

description: The file associations.


key: forceCodeSigning

description: Whether to fail if app will be not code signed.


key: generateUpdatesFilesForAllChannels

description: Please see [Building and Releasing using Channels](https://github.com/electron-userland/electron-builder/issues/1182#issuecomment-324947139).


key: icon

description: The path to application icon.


key: legalTrademarks

description: The trademarks and registered trademarks.


key: protocols

description: The URL protocol schemes.


key: publisherName

description:
[The publisher name](https://github.com/electron-userland/electron-builder/issues/1187#issuecomment-278972073), exactly as in your code signed certificate. Several names can be provided.
Defaults to common name from your code signing certificate.


key: releaseInfo

description:
The release info. Intended for command line usage:

```
-c.releaseInfo.releaseNotes="new features"
```


key: requestedExecutionLevel

description:
The [security level](https://msdn.microsoft.com/en-us/library/6ad1fshk.aspx#Anchor_9) at which the application requests to be executed.
Cannot be specified per target, allowed only in the `win`.

default: asInvoker


The URL of the RFC 3161 time stamp server.


key: sign

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

typeof: function


key: signAndEditExecutable

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


key: signDlls

description: Whether to sign DLL files. Advanced option.


key: signingHashAlgorithms

description: Array of signing algorithms used. For AppX `sha256` is always used.


key: target

description:
The target package type: list of `nsis`, `nsis-web` (Web installer), `portable` ([portable](/configuration/nsis#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


key: timeStampServer

description: The URL of the time stamp server.


key: verifyUpdateCodeSignature

description:
Whether to verify the signature of an available update before installation.
The [publisher name](#publisherName) will be used for the signature verification.


key: $schema

description: JSON Schema for this document.


key: afterAllArtifactBuild

description: The function (or path to file or module id) to be [run after all artifacts are build](#afterAllArtifactBuild).


key: afterPack

description: The function (or path to file or module id) to be [run after pack](#afterpack) (but before pack into distributable format and sign).


key: afterSign

description: The function (or path to file or module id) to be [run after pack and sign](#aftersign) (but before pack into distributable format).


key: appId

description:
The application id. Used as [CFBundleIdentifier](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102070) for MacOS and as
[Application User Model ID](https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx) for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.


key: appImage

description: AppImage options.


key: artifactBuildCompleted

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


key: artifactBuildStarted

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


key: artifactName

description: The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).


key: asar

description:
Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).

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


key: asarUnpack

description: A [glob patterns](/file-patterns) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive.


key: beforeBuild

description:
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.


key: buildDependenciesFromSource

description: Whether to build the application native dependencies from source.


key: buildVersion

description:
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`).


key: compression

description: 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.


key: copyright

description: The human-readable copyright line for the app.

default: Copyright © year ${author}


key: deb

description: Debian package options.


key: detectUpdateChannel

description: 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`.


key: dmg

description: macOS DMG options.


key: electronCompile

description: Whether to use [electron-compile](http://github.com/electron/electron-compile) to compile app. Defaults to `true` if `electron-compile` in the dependencies. And `false` if in the `devDependencies` or doesn't specified.


key: electronDist

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


key: electronDownload

description: The [electron-download](https://github.com/electron-userland/electron-download#usage) options.


key: electronUpdaterCompatibility

description: The [electron-updater compatibility](/auto-update#compatibility) semver range.


key: electronVersion

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


key: extends

description:
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.


key: extraMetadata

description: Inject properties to `package.json`.


key: fileAssociations

description: The file associations.


key: forceCodeSigning

description: Whether to fail if app will be not code signed.


key: framework

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


key: generateUpdatesFilesForAllChannels

description: Please see [Building and Releasing using Channels](https://github.com/electron-userland/electron-builder/issues/1182#issuecomment-324947139).


key: includePdb

description: Whether to include PDB files.


key: launchUiVersion

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


key: linux

description: Options related to how build Linux targets.


key: mac

description: Options related to how build macOS targets.


key: mas

description: MAS (Mac Application Store) options.


key: muonVersion

description: The version of muon you are packaging for.


key: nodeGypRebuild

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

Don't [use](https://github.com/electron-userland/electron-builder/issues/683#issuecomment-241214075) [npm](http://electron.atom.io/docs/tutorial/using-native-node-modules/#using-npm) (neither `.npmrc`) for configuring electron headers. Use `electron-builder node-gyp-rebuild` instead.


key: nodeVersion

description:
*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.


key: npmArgs

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


key: npmRebuild

description: Whether to [rebuild](https://docs.npmjs.com/cli/rebuild) native dependencies before starting to package the app.


key: onNodeModuleFile

description: The function (or path to file or module id) to be [run on each node module](#onnodemodulefile) file.


key: pkg

description: macOS PKG options.


key: productName

description: As [name](#Metadata-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](https://docs.npmjs.com/files/package.json#name).


key: protocols

description: The URL protocol schemes.


key: readonly

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


key: releaseInfo

description:
The release info. Intended for command line usage:

```
-c.releaseInfo.releaseNotes="new features"
```


key: remoteBuild

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


key: removePackageScripts

description: Whether to remove `scripts` field from `package.json` files.


key: snap

description: Snap options.


key: win

description: Options related to how build Windows targets.


key: options

description: Set the options for cssmin

type: number string

enum: min gzip

default: min


key: banner

description: Prefix the compressed source with the given banner, with a linebreak in between.


key: keepSpecialComments

description: To keep or remove special comments, exposing the underlying option from 'clean-css'.


key: report

description: Either report only minification result or report minification and gzip results. This is useful to see exactly how well clean-css is performing but using  'gzip'  will make the task take 5-10x longer to complete.


description: Set the options for JSHint

type: boolean string


key: jshintrc

description: Either a boolean value or a string containing the file name of the jshintrc file.


description: A schema for cargo-make makefiles

file: path/to/script

default: path/to/script

initKeys: pre main post

profile: development

default: path/to/dir

default: development

examples: development production

required: source mapping

default: git

enum: linux windows mac

enum: stable beta nightly


key: extend

description: A potentially optional external makefile to extend


key: path

description: The path of the external makefile, relative to this file


key: optional

description: If true, the external makefile is optional and does not need to exist


key: file

description: Scipt file name


description: If true, the `file` value is an absolute path


key: script

description: Script content split to parts to enable a more fine tuned extension capability


key: pre

description: Pre-main script section


key: main

description: Main script section


key: post

description: Post-main script section


description: Load environment files


key: envfile

description: File containing environment variables and their values


description: The path to the env file


description: The env file path and attributes