{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "additionalProperties": false,
    "definitions": {
        "AppXOptions": {
            "additionalProperties": false,
            "description": "AppX Options ([appx](#Config-appx)).",
            "properties": {
                "backgroundColor": {
                    "description": "The background color of the app tile.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "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).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "identityName": {
                    "description": "Describes the contents of the package. The Name attribute is case-sensitive. Corresponds to [Identity.Name](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "makeappxArgs": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ]
                },
                "publisher": {
                    "description": "Describes the publisher information in a form `CN=your name exactly as in your cert`. The Publisher attribute must match the publisher subject information of the certificate used to sign a package.\nBy default will be extracted from code sign certificate.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "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).",
                    "type": [
                        "null",
                        "string"
                    ]
                }
            },
            "title": "AppXOptions",
            "type": "object"
        },
        "AsarOptions": {
            "additionalProperties": false,
            "properties": {
                "ordering": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "smartUnpack": {
                    "type": "boolean"
                }
            },
            "title": "AsarOptions",
            "type": "object"
        },
        "BintrayOptions": {
            "additionalProperties": false,
            "description": "Bintray options.",
            "properties": {
                "owner": {
                    "description": "The owner.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "package": {
                    "description": "The Bintray package name.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "provider": {
                    "$ref": "#/definitions/PublishProvider",
                    "description": "The provider."
                },
                "repo": {
                    "default": "generic",
                    "description": "The Bintray repository name.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "token": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "user": {
                    "description": "The Bintray user account. Used in cases where the owner is an organization.",
                    "type": [
                        "null",
                        "string"
                    ]
                }
            },
            "title": "BintrayOptions",
            "type": "object"
        },
        "DebOptions": {
            "additionalProperties": false,
            "description": "Debian Package Specific Options",
            "properties": {
                "afterInstall": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "afterRemove": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "category": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "compression": {
                    "anyOf": [
                        {
                            "enum": [
                                "bzip2",
                                "gz",
                                "xz"
                            ],
                            "type": "string"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "default": "xz",
                    "description": "The compression type."
                },
                "depends": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Package dependencies. Defaults to `[\"gconf2\", \"gconf-service\", \"libnotify4\", \"libappindicator1\", \"libxtst6\", \"libnss3\"]`."
                },
                "description": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "desktop": {
                    "anyOf": [
                        {
                            "additionalProperties": {
                                "type": "string"
                            },
                            "type": "object"
                        },
                        {
                            "type": "null"
                        }
                    ]
                },
                "fpm": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "should be not documented, only to experiment"
                },
                "icon": {
                    "type": "string"
                },
                "maintainer": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "packageCategory": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "priority": {
                    "description": "The [Priority](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Priority) attribute.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "synopsis": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "vendor": {
                    "type": [
                        "null",
                        "string"
                    ]
                }
            },
            "title": "DebOptions",
            "type": "object"
        },
        "DmgContent": {
            "additionalProperties": false,
            "properties": {
                "name": {
                    "description": "The name of the file within the DMG. Defaults to basename of `path`.",
                    "type": "string"
                },
                "path": {
                    "type": "string"
                },
                "type": {
                    "enum": [
                        "file",
                        "link"
                    ],
                    "type": "string"
                },
                "x": {
                    "type": "number"
                },
                "y": {
                    "type": "number"
                }
            },
            "title": "DmgContent",
            "type": "object"
        },
        "DmgOptions": {
            "additionalProperties": false,
            "description": "macOS DMG Options ([dmg](#Config-dmg)).",
            "properties": {
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "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.\nIf background is not specified, use `window.size`. Default locations expected background size to be 540x380.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "backgroundColor": {
                    "description": "The background color (accepts css colors). Defaults to `#ffffff` (white) if no background image.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "contents": {
                    "description": "The content — to customize icon locations.",
                    "items": {
                        "$ref": "#/definitions/DmgContent"
                    },
                    "type": "array"
                },
                "format": {
                    "default": "UDZO",
                    "description": "The disk image format. `ULFO` (lzfse-compressed image (OS X 10.11+ only)).",
                    "enum": [
                        "UDBZ",
                        "UDCO",
                        "UDRO",
                        "UDRW",
                        "UDZO",
                        "ULFO"
                    ],
                    "type": "string"
                },
                "icon": {
                    "description": "The path to DMG icon (volume icon), which will be shown when mounted, relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory.\nDefaults to the application icon (`build/icon.icns`).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "iconSize": {
                    "default": 80,
                    "description": "The size of all the icons inside the DMG.",
                    "type": [
                        "null",
                        "number"
                    ]
                },
                "iconTextSize": {
                    "default": 12,
                    "description": "The size of all the icon texts inside the DMG.",
                    "type": [
                        "null",
                        "number"
                    ]
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "title": {
                    "default": "${productName} ${version}",
                    "description": "The title of the produced DMG, which will be shown when mounted (volume name).\n\nMacro `${productName}`, `${version}` and `${name}` are supported.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "window": {
                    "$ref": "#/definitions/DmgWindow",
                    "description": "The DMG windows position and size. See [dmg.window](#DmgWindow)."
                }
            },
            "title": "DmgOptions",
            "type": "object"
        },
        "DmgWindow": {
            "additionalProperties": false,
            "description": "DMG Windows Position and Size",
            "properties": {
                "height": {
                    "description": "The height. Defaults to background image height or 380.",
                    "type": "number"
                },
                "width": {
                    "description": "The width. Defaults to background image width or 540.",
                    "type": "number"
                },
                "x": {
                    "default": 400,
                    "description": "The X position relative to left of the screen.",
                    "type": "number"
                },
                "y": {
                    "default": 100,
                    "description": "The Y position relative to top of the screen.",
                    "type": "number"
                }
            },
            "title": "DmgWindow",
            "type": "object"
        },
        "FileAssociation": {
            "additionalProperties": false,
            "description": "File associations.\n\nmacOS (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.\n\nOn Windows works only if [nsis.perMachine](https://github.com/electron-userland/electron-builder/wiki/Options#NsisOptions-perMachine) is set to `true`.",
            "properties": {
                "description": {
                    "description": "*windows-only.* The description.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "ext": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The extension (minus the leading period). e.g. `png`."
                },
                "icon": {
                    "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.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "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`.",
                    "type": "boolean"
                },
                "name": {
                    "description": "The name. e.g. `PNG`. Defaults to `ext`.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "role": {
                    "default": "Editor",
                    "description": "*macOS-only* The app’s role with respect to the type. The value can be `Editor`, `Viewer`, `Shell`, or `None`. Corresponds to `CFBundleTypeRole`.",
                    "type": "string"
                }
            },
            "title": "FileAssociation",
            "type": "object"
        },
        "FilePattern": {
            "additionalProperties": false,
            "properties": {
                "filter": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "string"
                        }
                    ]
                },
                "from": {
                    "type": "string"
                },
                "to": {
                    "type": "string"
                }
            },
            "title": "FilePattern",
            "type": "object"
        },
        "GenericServerOptions": {
            "additionalProperties": false,
            "description": "Generic (any HTTP(S) server) options.",
            "properties": {
                "channel": {
                    "default": "latest",
                    "description": "The channel.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "owner": {
                    "description": "The owner.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "provider": {
                    "$ref": "#/definitions/PublishProvider",
                    "description": "The provider."
                },
                "token": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "url": {
                    "description": "The base url. e.g. `https://bucket_name.s3.amazonaws.com`. You can use `${os}` (expanded to `mac`, `linux` or `win` according to target platform) and `${arch}` macros.",
                    "type": "string"
                }
            },
            "title": "GenericServerOptions",
            "type": "object"
        },
        "GithubOptions": {
            "additionalProperties": false,
            "description": "GitHub options.\n\nGitHub [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.\nDefine `GH_TOKEN` environment variable.",
            "properties": {
                "host": {
                    "default": "github.com",
                    "description": "The host (including the port if need).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "owner": {
                    "description": "The owner.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "private": {
                    "description": "Whether to use private github auto-update provider if `GH_TOKEN` environment variable is set.",
                    "type": [
                        "null",
                        "boolean"
                    ]
                },
                "protocol": {
                    "anyOf": [
                        {
                            "enum": [
                                "http",
                                "https"
                            ],
                            "type": "string"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "default": "https",
                    "description": "The protocol. GitHub Publisher supports only `https`."
                },
                "provider": {
                    "$ref": "#/definitions/PublishProvider",
                    "description": "The provider."
                },
                "repo": {
                    "description": "The repository name. [Detected automatically](#github-repository-and-bintray-package).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "token": {
                    "description": "The access token to support auto-update from private github repositories. Never specify it in the configuration files. Only for [setFeedURL](module:electron-updater/out/AppUpdater.AppUpdater+setFeedURL).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "vPrefixedTagName": {
                    "default": true,
                    "description": "Whether to use `v`-prefixed tag name.",
                    "type": "boolean"
                }
            },
            "title": "GithubOptions",
            "type": "object"
        },
        "LinuxBuildOptions": {
            "additionalProperties": false,
            "description": "Linux Options",
            "properties": {
                "afterInstall": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "afterRemove": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "asar": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/AsarOptions"
                        },
                        {
                            "type": [
                                "null",
                                "boolean"
                            ]
                        }
                    ]
                },
                "asarUnpack": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "category": {
                    "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "depends": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ]
                },
                "description": {
                    "description": "As [description](#AppMetadata-description) from application package.json, but allows you to specify different for Linux.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "desktop": {
                    "anyOf": [
                        {
                            "additionalProperties": {
                                "type": "string"
                            },
                            "type": "object"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)."
                },
                "executableName": {
                    "description": "The executable name. Defaults to `productName`.\nCannot be specified per target, allowed only in the `linux`.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "extraFiles": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "extraResources": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "fileAssociations": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FileAssociation"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/FileAssociation"
                            },
                            "type": "array"
                        }
                    ]
                },
                "files": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "forceCodeSigning": {
                    "type": "boolean"
                },
                "fpm": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "should be not documented, only to experiment"
                },
                "icon": {
                    "description": "The path to icon set directory, relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon.\nBy default will be generated automatically based on the macOS icns file.",
                    "type": "string"
                },
                "maintainer": {
                    "description": "The maintainer. Defaults to [author](#AppMetadata-author).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "packageCategory": {
                    "description": "The [package category](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Section). Not applicable for AppImage.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "synopsis": {
                    "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "target": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TargetConfig"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/TargetConfig"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ],
                    "default": "AppImage",
                    "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`.\n\nelectron-builder [docker image](https://github.com/electron-userland/electron-builder/wiki/Docker) can be used to build Linux targets on any platform. See [Multi platform build](https://github.com/electron-userland/electron-builder/wiki/Multi-Platform-Build)."
                },
                "vendor": {
                    "description": "The vendor. Defaults to [author](#AppMetadata-author).",
                    "type": [
                        "null",
                        "string"
                    ]
                }
            },
            "title": "LinuxBuildOptions",
            "type": "object"
        },
        "LinuxTargetSpecificOptions": {
            "additionalProperties": false,
            "properties": {
                "afterInstall": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "afterRemove": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "category": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "depends": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Package dependencies."
                },
                "description": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "desktop": {
                    "anyOf": [
                        {
                            "additionalProperties": {
                                "type": "string"
                            },
                            "type": "object"
                        },
                        {
                            "type": "null"
                        }
                    ]
                },
                "fpm": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "should be not documented, only to experiment"
                },
                "icon": {
                    "type": "string"
                },
                "maintainer": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "packageCategory": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "synopsis": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "vendor": {
                    "type": [
                        "null",
                        "string"
                    ]
                }
            },
            "title": "LinuxTargetSpecificOptions",
            "type": "object"
        },
        "MacOptions": {
            "additionalProperties": false,
            "description": "macOS Options ([mac](#Config-mac)).",
            "properties": {
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "asar": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/AsarOptions"
                        },
                        {
                            "type": [
                                "null",
                                "boolean"
                            ]
                        }
                    ]
                },
                "asarUnpack": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "bundleVersion": {
                    "description": "The `CFBundleVersion`. Do not use it unless [you need to](see (https://github.com/electron-userland/electron-builder/issues/565#issuecomment-230678643)).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "category": {
                    "description": "The application category type, as shown in the Finder via *View -> Arrange by Application Category* when viewing the Applications directory.\n\nFor example, `\"category\": \"public.app-category.developer-tools\"` will set the application category to *Developer Tools*.\n\nValid 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).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "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).\nMAS entitlements is specified in the [mas](#MasBuildOptions-entitlements).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "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).\nOtherwise [default](https://github.com/electron-userland/electron-osx-sign/blob/master/default.entitlements.darwin.inherit.plist).\n\nThis option only applies when signing with `entitlements` provided.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "extendInfo": {
                    "description": "The extra entries for `Info.plist`."
                },
                "extraFiles": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "extraResources": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "fileAssociations": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FileAssociation"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/FileAssociation"
                            },
                            "type": "array"
                        }
                    ]
                },
                "files": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "forceCodeSigning": {
                    "type": "boolean"
                },
                "helperBundleId": {
                    "default": "${appBundleIdentifier}.helper",
                    "description": "The bundle identifier to use in the application helper's plist.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "icon": {
                    "default": "build/icon.icns",
                    "description": "The path to application icon.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "identity": {
                    "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](https://github.com/electron-userland/electron-builder/wiki/Code-Signing) instead of specifying this option.\nMAS installer identity is specified in the [mas](#MasBuildOptions-identity).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "target": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TargetConfig"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/TargetConfig"
                                    },
                                    {
                                        "enum": [
                                            "7z",
                                            "default",
                                            "dir",
                                            "dmg",
                                            "mas",
                                            "pkg",
                                            "tar.bz2",
                                            "tar.gz",
                                            "tar.lz",
                                            "tar.xz",
                                            "zip"
                                        ],
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "enum": [
                                "7z",
                                "default",
                                "dir",
                                "dmg",
                                "mas",
                                "pkg",
                                "tar.bz2",
                                "tar.gz",
                                "tar.lz",
                                "tar.xz",
                                "zip"
                            ],
                            "type": "string"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The target package type: list of `default`, `dmg`, `mas`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`. Defaults to `default` (dmg and zip for Squirrel.Mac)."
                },
                "type": {
                    "anyOf": [
                        {
                            "enum": [
                                "development",
                                "distribution"
                            ],
                            "type": "string"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "default": "distribution",
                    "description": "Whether to sign app for development or for distribution."
                }
            },
            "title": "MacOptions",
            "type": "object"
        },
        "MasBuildOptions": {
            "additionalProperties": false,
            "description": "MAS (Mac Application Store) Options ([mas](#Config-mas)).",
            "properties": {
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "asar": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/AsarOptions"
                        },
                        {
                            "type": [
                                "null",
                                "boolean"
                            ]
                        }
                    ]
                },
                "asarUnpack": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "bundleVersion": {
                    "description": "The `CFBundleVersion`. Do not use it unless [you need to](see (https://github.com/electron-userland/electron-builder/issues/565#issuecomment-230678643)).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "category": {
                    "description": "The application category type, as shown in the Finder via *View -> Arrange by Application Category* when viewing the Applications directory.\n\nFor example, `\"category\": \"public.app-category.developer-tools\"` will set the application category to *Developer Tools*.\n\nValid 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).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "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).\nOtherwise [default](https://github.com/electron-userland/electron-osx-sign/blob/master/default.entitlements.mas.plist).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "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).\nOtherwise [default](https://github.com/electron-userland/electron-osx-sign/blob/master/default.entitlements.mas.inherit.plist).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "extendInfo": {
                    "description": "The extra entries for `Info.plist`."
                },
                "extraFiles": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "extraResources": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "fileAssociations": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FileAssociation"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/FileAssociation"
                            },
                            "type": "array"
                        }
                    ]
                },
                "files": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "forceCodeSigning": {
                    "type": "boolean"
                },
                "helperBundleId": {
                    "default": "${appBundleIdentifier}.helper",
                    "description": "The bundle identifier to use in the application helper's plist.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "icon": {
                    "default": "build/icon.icns",
                    "description": "The path to application icon.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "identity": {
                    "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](https://github.com/electron-userland/electron-builder/wiki/Code-Signing) instead of specifying this option.\nMAS installer identity is specified in the [mas](#MasBuildOptions-identity).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "target": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TargetConfig"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/TargetConfig"
                                    },
                                    {
                                        "enum": [
                                            "7z",
                                            "default",
                                            "dir",
                                            "dmg",
                                            "mas",
                                            "pkg",
                                            "tar.bz2",
                                            "tar.gz",
                                            "tar.lz",
                                            "tar.xz",
                                            "zip"
                                        ],
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "enum": [
                                "7z",
                                "default",
                                "dir",
                                "dmg",
                                "mas",
                                "pkg",
                                "tar.bz2",
                                "tar.gz",
                                "tar.lz",
                                "tar.xz",
                                "zip"
                            ],
                            "type": "string"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The target package type: list of `default`, `dmg`, `mas`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`. Defaults to `default` (dmg and zip for Squirrel.Mac)."
                },
                "type": {
                    "anyOf": [
                        {
                            "enum": [
                                "development",
                                "distribution"
                            ],
                            "type": "string"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "default": "distribution",
                    "description": "Whether to sign app for development or for distribution."
                }
            },
            "title": "MasBuildOptions",
            "type": "object"
        },
        "MetadataDirectories": {
            "additionalProperties": false,
            "description": "`directories`",
            "properties": {
                "app": {
                    "description": "The application directory (containing the application package.json), defaults to `app`, `www` or working directory.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "buildResources": {
                    "default": "build",
                    "description": "The path to build resources.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "output": {
                    "default": "dist",
                    "description": "The output directory.",
                    "type": [
                        "null",
                        "string"
                    ]
                }
            },
            "title": "MetadataDirectories",
            "type": "object"
        },
        "NsisOptions": {
            "additionalProperties": false,
            "description": "NSIS specific options ([nsis](#Config-nsis)).\n\nSee [NSIS target notes](https://github.com/electron-userland/electron-builder/wiki/NSIS).",
            "properties": {
                "allowElevation": {
                    "default": true,
                    "description": "*boring installer only.* Allow requesting for elevation. If false, user will have to restart installer with elevated permissions.",
                    "type": "boolean"
                },
                "allowToChangeInstallationDirectory": {
                    "default": false,
                    "description": "*boring installer only.* Whether to allow user to change installation directory.",
                    "type": "boolean"
                },
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern). Defaults to `${productName} Setup ${version}.${ext}`.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "deleteAppDataOnUninstall": {
                    "default": false,
                    "description": "*one-click installer only.* Whether to delete app data on uninstall.",
                    "type": "boolean"
                },
                "guid": {
                    "description": "See [GUID vs Application Name](https://github.com/electron-userland/electron-builder/wiki/NSIS#guid-vs-application-name).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "include": {
                    "description": "The path to NSIS include script to customize installer. Defaults to `build/installer.nsh`. See [Custom NSIS script](https://github.com/electron-userland/electron-builder/wiki/NSIS#custom-nsis-script).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "installerHeader": {
                    "default": "build/installerHeader.bmp",
                    "description": "*boring installer only.* `MUI_HEADERIMAGE`, relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "installerHeaderIcon": {
                    "description": "*one-click installer only.* The path to header icon (above the progress bar), relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerHeaderIcon.ico` or application icon.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "installerIcon": {
                    "description": "The path to installer icon, relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerIcon.ico` or application icon.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "installerSidebar": {
                    "description": "*boring installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "language": {
                    "description": "[LCID Dec](https://msdn.microsoft.com/en-au/goglobal/bb964664.aspx), defaults to `1033`(`English - United States`).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "license": {
                    "description": "The path to EULA license file. Defaults to `license.rtf` or `license.txt` or `eula.rtf` or `eula.txt` (or uppercase variants, e.g. `EULA.txt` or `LICENSE.TXT`).\n\nMultiple 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.\nIf 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).\n\nAppropriate license file will be selected by user OS language.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "menuCategory": {
                    "default": false,
                    "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"
                    ]
                },
                "multiLanguageInstaller": {
                    "description": "*boring installer only.* Whether to create multi-language installer. Defaults to `unicode` option value.\n[Not all strings are translated](https://github.com/electron-userland/electron-builder/issues/646#issuecomment-238155800).",
                    "type": "boolean"
                },
                "oneClick": {
                    "default": true,
                    "description": "One-click installation.",
                    "type": "boolean"
                },
                "perMachine": {
                    "type": "boolean"
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "runAfterFinish": {
                    "default": true,
                    "description": "*one-click installer only.* Run application after finish.",
                    "type": "boolean"
                },
                "script": {
                    "description": "The path to NSIS script to customize installer. Defaults to `build/installer.nsi`. See [Custom NSIS script](https://github.com/electron-userland/electron-builder/wiki/NSIS#custom-nsis-script).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "unicode": {
                    "default": true,
                    "description": "Whether to create [Unicode installer](http://nsis.sourceforge.net/Docs/Chapter1.html#intro-unicode).",
                    "type": "boolean"
                },
                "uninstallerSidebar": {
                    "description": "*boring installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `installerSidebar` option or `build/uninstallerSidebar.bmp` or `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "useZip": {
                    "default": false,
                    "type": "boolean"
                },
                "warningsAsErrors": {
                    "default": true,
                    "description": "If `warningsAsErrors` is `true` (default): NSIS will treat warnings as errors. If `warningsAsErrors` is `false`: NSIS will allow warnings.",
                    "type": "boolean"
                }
            },
            "title": "NsisOptions",
            "type": "object"
        },
        "NsisWebOptions": {
            "additionalProperties": false,
            "description": "Web Installer Specific Options ([nsisWeb](#Config-nsisWeb)).",
            "properties": {
                "allowElevation": {
                    "default": true,
                    "description": "*boring installer only.* Allow requesting for elevation. If false, user will have to restart installer with elevated permissions.",
                    "type": "boolean"
                },
                "allowToChangeInstallationDirectory": {
                    "default": false,
                    "description": "*boring installer only.* Whether to allow user to change installation directory.",
                    "type": "boolean"
                },
                "appPackageUrl": {
                    "description": "The application package download URL. Optional — by default computed using publish configuration.\n\nURL like `https://example.com/download/latest` allows web installer to be version independent (installer will download latest application package).\n\nCustom `X-Arch` http header is set to `32` or `64`.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern). Defaults to `${productName} Web Setup ${version}.${ext}`.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "deleteAppDataOnUninstall": {
                    "default": false,
                    "description": "*one-click installer only.* Whether to delete app data on uninstall.",
                    "type": "boolean"
                },
                "guid": {
                    "description": "See [GUID vs Application Name](https://github.com/electron-userland/electron-builder/wiki/NSIS#guid-vs-application-name).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "include": {
                    "description": "The path to NSIS include script to customize installer. Defaults to `build/installer.nsh`. See [Custom NSIS script](https://github.com/electron-userland/electron-builder/wiki/NSIS#custom-nsis-script).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "installerHeader": {
                    "default": "build/installerHeader.bmp",
                    "description": "*boring installer only.* `MUI_HEADERIMAGE`, relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "installerHeaderIcon": {
                    "description": "*one-click installer only.* The path to header icon (above the progress bar), relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerHeaderIcon.ico` or application icon.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "installerIcon": {
                    "description": "The path to installer icon, relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerIcon.ico` or application icon.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "installerSidebar": {
                    "description": "*boring installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "language": {
                    "description": "[LCID Dec](https://msdn.microsoft.com/en-au/goglobal/bb964664.aspx), defaults to `1033`(`English - United States`).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "license": {
                    "description": "The path to EULA license file. Defaults to `license.rtf` or `license.txt` or `eula.rtf` or `eula.txt` (or uppercase variants, e.g. `EULA.txt` or `LICENSE.TXT`).\n\nMultiple 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.\nIf 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).\n\nAppropriate license file will be selected by user OS language.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "menuCategory": {
                    "default": false,
                    "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"
                    ]
                },
                "multiLanguageInstaller": {
                    "description": "*boring installer only.* Whether to create multi-language installer. Defaults to `unicode` option value.\n[Not all strings are translated](https://github.com/electron-userland/electron-builder/issues/646#issuecomment-238155800).",
                    "type": "boolean"
                },
                "oneClick": {
                    "default": true,
                    "description": "One-click installation.",
                    "type": "boolean"
                },
                "perMachine": {
                    "type": "boolean"
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "runAfterFinish": {
                    "default": true,
                    "description": "*one-click installer only.* Run application after finish.",
                    "type": "boolean"
                },
                "script": {
                    "description": "The path to NSIS script to customize installer. Defaults to `build/installer.nsi`. See [Custom NSIS script](https://github.com/electron-userland/electron-builder/wiki/NSIS#custom-nsis-script).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "unicode": {
                    "default": true,
                    "description": "Whether to create [Unicode installer](http://nsis.sourceforge.net/Docs/Chapter1.html#intro-unicode).",
                    "type": "boolean"
                },
                "uninstallerSidebar": {
                    "description": "*boring installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `installerSidebar` option or `build/uninstallerSidebar.bmp` or `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "useZip": {
                    "default": false,
                    "type": "boolean"
                },
                "warningsAsErrors": {
                    "default": true,
                    "description": "If `warningsAsErrors` is `true` (default): NSIS will treat warnings as errors. If `warningsAsErrors` is `false`: NSIS will allow warnings.",
                    "type": "boolean"
                }
            },
            "title": "NsisWebOptions",
            "type": "object"
        },
        "PkgOptions": {
            "additionalProperties": false,
            "description": "macOS Product Archive Options ([pkg](#Config-pkg)).",
            "properties": {
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "identity": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "installLocation": {
                    "default": "/Applications",
                    "description": "The install location.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "productbuild": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "should be not documented, only to experiment"
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "scripts": {
                    "default": "build/pkg-scripts",
                    "description": "The scripts directory, relative to `build` (build resources directory).\nThe 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.\nScripts are required to be executable (`chmod +x file`).",
                    "type": [
                        "null",
                        "string"
                    ]
                }
            },
            "title": "PkgOptions",
            "type": "object"
        },
        "PortableOptions": {
            "additionalProperties": false,
            "description": "Portable Specific Options ([portable](#Config-portable)).",
            "properties": {
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "guid": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "requestExecutionLevel": {
                    "default": "user",
                    "description": "The [requested execution level](http://nsis.sourceforge.net/Reference/RequestExecutionLevel) for Windows.",
                    "enum": [
                        "admin",
                        "highest",
                        "user"
                    ],
                    "type": "string"
                },
                "unicode": {
                    "type": "boolean"
                },
                "warningsAsErrors": {
                    "type": "boolean"
                }
            },
            "title": "PortableOptions",
            "type": "object"
        },
        "Protocol": {
            "additionalProperties": false,
            "description": "URL Protocol Schemes. Protocols to associate the app with. macOS only.\n\nPlease note — on macOS [you need to register an `open-url` event handler](http://electron.atom.io/docs/api/app/#event-open-url-macos).",
            "properties": {
                "name": {
                    "description": "The name. e.g. `IRC server URL`.",
                    "type": "string"
                },
                "role": {
                    "default": "Editor",
                    "description": "*macOS-only* The app’s role with respect to the type.",
                    "enum": [
                        "Editor",
                        "None",
                        "Shell",
                        "Viewer"
                    ],
                    "type": "string"
                },
                "schemes": {
                    "description": "The schemes. e.g. `[\"irc\", \"ircs\"]`.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "title": "Protocol",
            "type": "object"
        },
        "PublishProvider": {
            "enum": [
                "bintray",
                "generic",
                "github",
                "s3"
            ],
            "title": "PublishProvider",
            "type": "string"
        },
        "S3Options": {
            "additionalProperties": false,
            "description": "Amazon S3 options. `https` must be used, so, if you use direct Amazon S3 endpoints, format `https://s3.amazonaws.com/bucket_name` [must be used](http://stackoverflow.com/a/11203685/1910191). And do not forget to make files/directories public.\n\nAWS credentials are required, please see [getting your credentials](http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/getting-your-credentials.html).\nDefine `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` [environment variables](http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-environment.html).\nOr in the [~/.aws/credentials](http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html).",
            "properties": {
                "acl": {
                    "anyOf": [
                        {
                            "enum": [
                                "private",
                                "public-read"
                            ],
                            "type": "string"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "default": "public-read",
                    "description": "The ACL."
                },
                "bucket": {
                    "description": "The bucket name.",
                    "type": "string"
                },
                "channel": {
                    "default": "latest",
                    "description": "The channel.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "owner": {
                    "description": "The owner.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "path": {
                    "default": "/",
                    "description": "The directory path.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "provider": {
                    "$ref": "#/definitions/PublishProvider",
                    "description": "The provider."
                },
                "region": {
                    "description": "The region. Is determined and set automatically when publishing.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "storageClass": {
                    "anyOf": [
                        {
                            "enum": [
                                "REDUCED_REDUNDANCY",
                                "STANDARD",
                                "STANDARD_IA"
                            ],
                            "type": "string"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "default": "STANDARD",
                    "description": "The type of storage to use for the object."
                },
                "token": {
                    "type": [
                        "null",
                        "string"
                    ]
                }
            },
            "title": "S3Options",
            "type": "object"
        },
        "SnapOptions": {
            "additionalProperties": false,
            "description": "[Snap](http://snapcraft.io) Options",
            "properties": {
                "afterInstall": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "afterRemove": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "asar": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/AsarOptions"
                        },
                        {
                            "type": [
                                "null",
                                "boolean"
                            ]
                        }
                    ]
                },
                "asarUnpack": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "assumes": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The list of features that must be supported by the core in order for this snap to install."
                },
                "category": {
                    "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "confinement": {
                    "anyOf": [
                        {
                            "enum": [
                                "classic",
                                "devmode",
                                "strict"
                            ],
                            "type": "string"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "default": "strict",
                    "description": "The type of [confinement](https://snapcraft.io/docs/reference/confinement) supported by the snap."
                },
                "depends": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ]
                },
                "description": {
                    "description": "As [description](#AppMetadata-description) from application package.json, but allows you to specify different for Linux.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "desktop": {
                    "anyOf": [
                        {
                            "additionalProperties": {
                                "type": "string"
                            },
                            "type": "object"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)."
                },
                "executableName": {
                    "description": "The executable name. Defaults to `productName`.\nCannot be specified per target, allowed only in the `linux`.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "extraFiles": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "extraResources": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "fileAssociations": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FileAssociation"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/FileAssociation"
                            },
                            "type": "array"
                        }
                    ]
                },
                "files": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "forceCodeSigning": {
                    "type": "boolean"
                },
                "fpm": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "should be not documented, only to experiment"
                },
                "grade": {
                    "anyOf": [
                        {
                            "enum": [
                                "devel",
                                "stable"
                            ],
                            "type": "string"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "default": "stable",
                    "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)."
                },
                "icon": {
                    "description": "The path to icon set directory, relative to the the [build resources](https://github.com/electron-userland/electron-builder/wiki/Options#MetadataDirectories-buildResources) or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon.\nBy default will be generated automatically based on the macOS icns file.",
                    "type": "string"
                },
                "maintainer": {
                    "description": "The maintainer. Defaults to [author](#AppMetadata-author).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "packageCategory": {
                    "description": "The [package category](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Section). Not applicable for AppImage.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "plugs": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The list of [plugs](https://snapcraft.io/docs/reference/interfaces).\nDefaults to `[\"home\", \"x11\", \"unity7\", \"browser-support\", \"network\", \"gsettings\", \"pulseaudio\", \"opengl\"]`.\n\nIf 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."
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "stagePackages": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The list of Ubuntu packages to use that are needed to support the `app` part creation. Like `depends` for `deb`.\nDefaults to `[\"libnotify4\", \"libappindicator1\", \"libxtst6\", \"libnss3\", \"libxss1\", \"fontconfig-config\", \"gconf2\", \"libasound2\", \"pulseaudio\"]`.\n\nIf list contains `default`, it will be replaced to default list, so, `[\"default\", \"foo\"]` can be used to add custom package `foo` in addition to defaults."
                },
                "summary": {
                    "description": "The 78 character long summary. Defaults to [productName](#AppMetadata-productName).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "synopsis": {
                    "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "target": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TargetConfig"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/TargetConfig"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ],
                    "default": "AppImage",
                    "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`.\n\nelectron-builder [docker image](https://github.com/electron-userland/electron-builder/wiki/Docker) can be used to build Linux targets on any platform. See [Multi platform build](https://github.com/electron-userland/electron-builder/wiki/Multi-Platform-Build)."
                },
                "ubuntuAppPlatformContent": {
                    "description": "Specify `ubuntu-app-platform1` to use [ubuntu-app-platform](https://insights.ubuntu.com/2016/11/17/how-to-create-snap-packages-on-qt-applications/).\nSnap size will be greatly reduced, but it is not recommended for now because \"the snaps must be connected before running uitk-gallery for the first time\".",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "vendor": {
                    "description": "The vendor. Defaults to [author](#AppMetadata-author).",
                    "type": [
                        "null",
                        "string"
                    ]
                }
            },
            "title": "SnapOptions",
            "type": "object"
        },
        "SquirrelWindowsOptions": {
            "additionalProperties": false,
            "description": "Squirrel.Windows Options ([squirrelWindows](#Config-squirrelWindows)).\n\nTo use Squirrel.Windows please install `electron-builder-squirrel-windows` dependency. Squirrel.Windows target is maintained, but deprecated. Please use `nsis` instead.",
            "properties": {
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "asar": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/AsarOptions"
                        },
                        {
                            "type": [
                                "null",
                                "boolean"
                            ]
                        }
                    ]
                },
                "asarUnpack": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "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.\nPlease see [Code Signing](https://github.com/electron-userland/electron-builder/wiki/Code-Signing).",
                    "type": "string"
                },
                "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.\nPlease see [Code Signing](https://github.com/electron-userland/electron-builder/wiki/Code-Signing).",
                    "type": "string"
                },
                "certificateSha1": {
                    "description": "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.",
                    "type": "string"
                },
                "certificateSubjectName": {
                    "description": "The name of the subject of the signing certificate. Required only for EV Code Signing and works only on Windows.",
                    "type": "string"
                },
                "extraFiles": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "extraResources": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "fileAssociations": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FileAssociation"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/FileAssociation"
                            },
                            "type": "array"
                        }
                    ]
                },
                "files": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "forceCodeSigning": {
                    "type": "boolean"
                },
                "icon": {
                    "default": "build/icon.ico",
                    "description": "The path to application icon.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "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.\n\nPlease note — [local icon file url is not accepted](https://github.com/atom/grunt-electron-installer/issues/73), must be https/http.\n\nIf you don't plan to build windows installer, you can omit it.\nIf your project repository is public on GitHub, it will be `https://github.com/${u}/${p}/blob/master/build/icon.ico?raw=true` by default.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "legalTrademarks": {
                    "description": "The trademarks and registered trademarks.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "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)\n(otherwise [default](https://github.com/electron/windows-installer/blob/master/resources/install-spinner.gif)).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "msi": {
                    "description": "Whether to create an MSI installer. Defaults to `false` (MSI is not created).",
                    "type": "boolean"
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "publisherName": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ],
                    "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.\nDefaults to common name from your code signing certificate."
                },
                "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"
                    ]
                },
                "remoteToken": {
                    "description": "Authentication token for remote updates",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "rfc3161TimeStampServer": {
                    "description": "The URL of the RFC 3161 time stamp server. Defaults to `http://timestamp.comodoca.com/rfc3161`.",
                    "type": "string"
                },
                "signingHashAlgorithms": {
                    "anyOf": [
                        {
                            "items": {
                                "enum": [
                                    "sha1",
                                    "sha256"
                                ],
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Array of signing algorithms used. Defaults to `['sha1', 'sha256']`\n\nFor AppX `sha256` is always used."
                },
                "target": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TargetConfig"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/TargetConfig"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ],
                    "description": "Target package type: list of `nsis`, `nsis-web` (Web installer), `portable` (portable app without installation), `appx`, `squirrel`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`. Defaults to `nsis`.\nAppX package can be built only on Windows 10.\n\nTo use Squirrel.Windows please install `electron-builder-squirrel-windows` dependency."
                },
                "timeStampServer": {
                    "description": "The URL of the time stamp server. Defaults to `http://timestamp.verisign.com/scripts/timstamp.dll`.",
                    "type": "string"
                },
                "useAppIdAsId": {
                    "description": "Use `appId` to identify package instead of `name`.",
                    "type": "boolean"
                }
            },
            "title": "SquirrelWindowsOptions",
            "type": "object"
        },
        "TargetConfig": {
            "additionalProperties": false,
            "properties": {
                "arch": {
                    "anyOf": [
                        {
                            "items": {
                                "enum": [
                                    "armv7l",
                                    "ia32",
                                    "x64"
                                ],
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The arch or list of archs."
                },
                "target": {
                    "description": "The target name. e.g. `snap`.",
                    "type": "string"
                }
            },
            "title": "TargetConfig",
            "type": "object"
        },
        "WinBuildOptions": {
            "additionalProperties": false,
            "description": "Windows Specific Options ([win](#Config-win)).",
            "properties": {
                "artifactName": {
                    "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "asar": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/AsarOptions"
                        },
                        {
                            "type": [
                                "null",
                                "boolean"
                            ]
                        }
                    ]
                },
                "asarUnpack": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "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.\nPlease see [Code Signing](https://github.com/electron-userland/electron-builder/wiki/Code-Signing).",
                    "type": "string"
                },
                "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.\nPlease see [Code Signing](https://github.com/electron-userland/electron-builder/wiki/Code-Signing).",
                    "type": "string"
                },
                "certificateSha1": {
                    "description": "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.",
                    "type": "string"
                },
                "certificateSubjectName": {
                    "description": "The name of the subject of the signing certificate. Required only for EV Code Signing and works only on Windows.",
                    "type": "string"
                },
                "extraFiles": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "extraResources": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FilePattern"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/FilePattern"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "fileAssociations": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FileAssociation"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/FileAssociation"
                            },
                            "type": "array"
                        }
                    ]
                },
                "files": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "forceCodeSigning": {
                    "type": "boolean"
                },
                "icon": {
                    "default": "build/icon.ico",
                    "description": "The path to application icon.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "legalTrademarks": {
                    "description": "The trademarks and registered trademarks.",
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "publish": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/GithubOptions"
                        },
                        {
                            "$ref": "#/definitions/S3Options"
                        },
                        {
                            "$ref": "#/definitions/GenericServerOptions"
                        },
                        {
                            "$ref": "#/definitions/BintrayOptions"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/GithubOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/S3Options"
                                    },
                                    {
                                        "$ref": "#/definitions/GenericServerOptions"
                                    },
                                    {
                                        "$ref": "#/definitions/BintrayOptions"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ]
                },
                "publisherName": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ],
                    "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.\nDefaults to common name from your code signing certificate."
                },
                "rfc3161TimeStampServer": {
                    "description": "The URL of the RFC 3161 time stamp server. Defaults to `http://timestamp.comodoca.com/rfc3161`.",
                    "type": "string"
                },
                "signingHashAlgorithms": {
                    "anyOf": [
                        {
                            "items": {
                                "enum": [
                                    "sha1",
                                    "sha256"
                                ],
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Array of signing algorithms used. Defaults to `['sha1', 'sha256']`\n\nFor AppX `sha256` is always used."
                },
                "target": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TargetConfig"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/TargetConfig"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": [
                                "null",
                                "string"
                            ]
                        }
                    ],
                    "description": "Target package type: list of `nsis`, `nsis-web` (Web installer), `portable` (portable app without installation), `appx`, `squirrel`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`. Defaults to `nsis`.\nAppX package can be built only on Windows 10.\n\nTo use Squirrel.Windows please install `electron-builder-squirrel-windows` dependency."
                },
                "timeStampServer": {
                    "description": "The URL of the time stamp server. Defaults to `http://timestamp.verisign.com/scripts/timstamp.dll`.",
                    "type": "string"
                }
            },
            "title": "WinBuildOptions",
            "type": "object"
        }
    },
    "description": "Configuration Options",
    "properties": {
        "afterPack": {
            "description": "*programmatic API only* The function to be run after pack (but before pack into distributable format and sign). Promise must be returned.",
            "typeof": "function"
        },
        "apk": {
            "anyOf": [
                {
                    "$ref": "#/definitions/LinuxTargetSpecificOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "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\n[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).\n\nDefaults to `com.electron.${name}`. It is strongly recommended that an explicit ID be set.",
            "type": [
                "null",
                "string"
            ]
        },
        "appimage": {
            "anyOf": [
                {
                    "$ref": "#/definitions/LinuxTargetSpecificOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "appx": {
            "anyOf": [
                {
                    "$ref": "#/definitions/AppXOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "artifactName": {
            "description": "The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern). Defaults to `${productName}-${version}.${ext}` (some target can have another defaults, see corresponding options).\n\nCurrently supported only for `mas`, `pkg`, `dmg` and `nsis`.",
            "type": [
                "null",
                "string"
            ]
        },
        "asar": {
            "anyOf": [
                {
                    "$ref": "#/definitions/AsarOptions"
                },
                {
                    "type": [
                        "null",
                        "boolean"
                    ]
                }
            ],
            "default": true,
            "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/).\n\nNode modules, that must be unpacked, will be detected automatically, you don't need to explicitly set [asarUnpack](#Config-asarUnpack) - please file issue if this doesn't work."
        },
        "asarUnpack": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": [
                        "null",
                        "string"
                    ]
                }
            ],
            "description": "A [glob patterns](https://www.npmjs.com/package/glob#glob-primer) 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."
        },
        "beforeBuild": {
            "description": "*programmatic API only* The function to be run before dependencies are installed or rebuilt. Works when `npmRebuild` is set to `true`. Promise must be returned. Resolving to `false` will skip dependencies install or rebuild.",
            "typeof": "function"
        },
        "buildVersion": {
            "description": "The build version. Maps to the `CFBundleVersion` on macOS, and `FileVersion` metadata property on Windows. Defaults to the `version`.\nIf `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`).",
            "type": [
                "null",
                "string"
            ]
        },
        "compression": {
            "anyOf": [
                {
                    "enum": [
                        "maximum",
                        "normal",
                        "store"
                    ],
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "default": "normal",
            "description": "The compression level. If you want to rapidly test build, `store` can reduce build time significantly."
        },
        "copyright": {
            "description": "The human-readable copyright line for the app. Defaults to `Copyright © year author`.",
            "type": [
                "null",
                "string"
            ]
        },
        "deb": {
            "anyOf": [
                {
                    "$ref": "#/definitions/DebOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "directories": {
            "anyOf": [
                {
                    "$ref": "#/definitions/MetadataDirectories"
                },
                {
                    "type": "null"
                }
            ]
        },
        "dmg": {
            "anyOf": [
                {
                    "$ref": "#/definitions/DmgOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "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.",
            "type": "boolean"
        },
        "electronDist": {
            "description": "The path to custom Electron build (e.g. `~/electron/out/R`). Only macOS supported, file issue if need for Linux or Windows.",
            "type": "string"
        },
        "electronDownload": {
            "description": "The [electron-download](https://github.com/electron-userland/electron-download#usage) options."
        },
        "electronVersion": {
            "description": "The version of electron you are packaging for. Defaults to version of `electron`, `electron-prebuilt` or `electron-prebuilt-compile` dependency.",
            "type": [
                "null",
                "string"
            ]
        },
        "extraFiles": {
            "anyOf": [
                {
                    "$ref": "#/definitions/FilePattern"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/FilePattern"
                            },
                            {
                                "type": "string"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "type": [
                        "null",
                        "string"
                    ]
                }
            ],
            "description": "The same as [extraResources](#Config-extraResources) but copy into the app's content directory (`Contents` for MacOS, root directory for Linux/Windows)."
        },
        "extraResources": {
            "anyOf": [
                {
                    "$ref": "#/definitions/FilePattern"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/FilePattern"
                            },
                            {
                                "type": "string"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "type": [
                        "null",
                        "string"
                    ]
                }
            ],
            "description": "A [glob patterns](https://www.npmjs.com/package/glob#glob-primer) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux/Windows).\n\nGlob rules the same as for [files](#multiple-glob-patterns)."
        },
        "fileAssociations": {
            "anyOf": [
                {
                    "$ref": "#/definitions/FileAssociation"
                },
                {
                    "items": {
                        "$ref": "#/definitions/FileAssociation"
                    },
                    "type": "array"
                }
            ],
            "description": "File associations."
        },
        "files": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": [
                        "null",
                        "string"
                    ]
                }
            ],
            "description": "A [glob patterns](https://www.npmjs.com/package/glob#glob-primer) relative to the [app directory](#MetadataDirectories-app), which specifies which files to include when copying files to create the package."
        },
        "forceCodeSigning": {
            "default": false,
            "description": "Whether to fail if application will be not signed (to prevent unsigned app if code signing configuration is not correct).",
            "type": "boolean"
        },
        "freebsd": {
            "anyOf": [
                {
                    "$ref": "#/definitions/LinuxTargetSpecificOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "icon": {
            "type": [
                "null",
                "string"
            ]
        },
        "linux": {
            "anyOf": [
                {
                    "$ref": "#/definitions/LinuxBuildOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mac": {
            "anyOf": [
                {
                    "$ref": "#/definitions/MacOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mas": {
            "anyOf": [
                {
                    "$ref": "#/definitions/MasBuildOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "muonVersion": {
            "description": "The version of muon you are packaging for.",
            "type": [
                "null",
                "string"
            ]
        },
        "nodeGypRebuild": {
            "default": false,
            "description": "Whether to execute `node-gyp rebuild` before starting to package the app.",
            "type": "boolean"
        },
        "npmArgs": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": [
                        "null",
                        "string"
                    ]
                }
            ],
            "description": "Additional command line arguments to use when installing app native deps."
        },
        "npmRebuild": {
            "default": true,
            "description": "Whether to [rebuild](https://docs.npmjs.com/cli/rebuild) native dependencies (`npm rebuild`) before starting to package the app.",
            "type": "boolean"
        },
        "npmSkipBuildFromSource": {
            "default": false,
            "description": "Whether to omit using [--build-from-source](https://github.com/mapbox/node-pre-gyp#options) flag when installing app native deps.",
            "type": "boolean"
        },
        "nsis": {
            "anyOf": [
                {
                    "$ref": "#/definitions/NsisOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "nsisWeb": {
            "anyOf": [
                {
                    "$ref": "#/definitions/NsisWebOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "p5p": {
            "anyOf": [
                {
                    "$ref": "#/definitions/LinuxTargetSpecificOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "pacman": {
            "anyOf": [
                {
                    "$ref": "#/definitions/LinuxTargetSpecificOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "pkg": {
            "anyOf": [
                {
                    "$ref": "#/definitions/PkgOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "portable": {
            "anyOf": [
                {
                    "$ref": "#/definitions/PortableOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "productName": {
            "description": "As [name](#AppMetadata-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}).",
            "type": [
                "null",
                "string"
            ]
        },
        "protocols": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Protocol"
                },
                {
                    "items": {
                        "$ref": "#/definitions/Protocol"
                    },
                    "type": "array"
                }
            ],
            "description": "URL protocol schemes."
        },
        "publish": {
            "anyOf": [
                {
                    "$ref": "#/definitions/GithubOptions"
                },
                {
                    "$ref": "#/definitions/S3Options"
                },
                {
                    "$ref": "#/definitions/GenericServerOptions"
                },
                {
                    "$ref": "#/definitions/BintrayOptions"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/GithubOptions"
                            },
                            {
                                "$ref": "#/definitions/S3Options"
                            },
                            {
                                "$ref": "#/definitions/GenericServerOptions"
                            },
                            {
                                "$ref": "#/definitions/BintrayOptions"
                            },
                            {
                                "type": "string"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "type": [
                        "null",
                        "string"
                    ]
                }
            ],
            "description": "Array of option objects. Order is important — first item will be used as a default auto-update server."
        },
        "rpm": {
            "anyOf": [
                {
                    "$ref": "#/definitions/LinuxTargetSpecificOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "snap": {
            "anyOf": [
                {
                    "$ref": "#/definitions/SnapOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "squirrelWindows": {
            "anyOf": [
                {
                    "$ref": "#/definitions/SquirrelWindowsOptions"
                },
                {
                    "type": "null"
                }
            ]
        },
        "target": {
            "anyOf": [
                {
                    "$ref": "#/definitions/TargetConfig"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/TargetConfig"
                            },
                            {
                                "type": "string"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "type": [
                        "null",
                        "string"
                    ]
                }
            ]
        },
        "win": {
            "anyOf": [
                {
                    "$ref": "#/definitions/WinBuildOptions"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "type": "object"
}

