diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index 2e72235c3d2..891d701559d 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -1417,6 +1417,36 @@ "fileMatch": ["boyka-config.json"], "url": "https://www.schemastore.org/boyka-config.json" }, + { + "name": "Breadkit board definition", + "description": "Board geometry and electrical strip definitions for Breadkit", + "fileMatch": ["*.bkboard.yml", "*.bkboard.yaml"], + "url": "https://breadkit.github.io/breadkit/schema/board-v1.json" + }, + { + "name": "Breadkit circuit IR", + "description": "Resolved single-board Breadkit circuit interchange format", + "fileMatch": ["*.bkir.json"], + "url": "https://breadkit.github.io/breadkit/schema/ir-v1.json" + }, + { + "name": "Breadkit circuit IR v2", + "description": "Resolved multi-board Breadkit circuit interchange format", + "fileMatch": ["*.bkir-v2.json"], + "url": "https://breadkit.github.io/breadkit/schema/ir-v2.json" + }, + { + "name": "Breadkit lint results", + "description": "JSON results produced by the Breadkit circuit linter", + "fileMatch": ["*.bklint.json"], + "url": "https://breadkit.github.io/breadkit-lint/schemas/lint-v1.json" + }, + { + "name": "Breadkit part definition", + "description": "Part pin, footprint, and rendering definitions for Breadkit", + "fileMatch": ["*.bkpart.yml", "*.bkpart.yaml"], + "url": "https://breadkit.github.io/breadkit/schema/part-v1.json" + }, { "name": "BrickKit", "description": "BrickKit project configuration (brickkit.yaml): declares components, install sources, deploy target and resource bindings", @@ -10644,9 +10674,104 @@ }, { "name": "moon.yml", - "description": "Moonrepo project configuration file", - "fileMatch": ["moon.yml"], - "url": "https://raw.githubusercontent.com/moonrepo/moon/master/website/static/schemas/project.json" + "description": "moon (moonrepo) project configuration file", + "fileMatch": [ + "moon.yml", + "moon.yaml", + "moon.json", + "moon.jsonc", + "moon.toml" + ], + "url": "https://moonrepo.dev/schemas/v2/project.json", + "versions": { + "1": "https://moonrepo.dev/schemas/v1/project.json", + "2": "https://moonrepo.dev/schemas/v2/project.json" + } + }, + { + "name": "moon workspace", + "description": "moon (moonrepo) workspace configuration file", + "fileMatch": [ + "**/.moon/workspace.yml", + "**/.moon/workspace.yaml", + "**/.moon/workspace.json", + "**/.moon/workspace.jsonc", + "**/.moon/workspace.toml", + "**/.config/moon/workspace.yml", + "**/.config/moon/workspace.yaml", + "**/.config/moon/workspace.json", + "**/.config/moon/workspace.jsonc", + "**/.config/moon/workspace.toml" + ], + "url": "https://moonrepo.dev/schemas/v2/workspace.json", + "versions": { + "1": "https://moonrepo.dev/schemas/v1/workspace.json", + "2": "https://moonrepo.dev/schemas/v2/workspace.json" + } + }, + { + "name": "moon toolchains", + "description": "moon (moonrepo) toolchains configuration file", + "fileMatch": [ + "**/.moon/toolchains.yml", + "**/.moon/toolchains.yaml", + "**/.moon/toolchains.json", + "**/.moon/toolchains.jsonc", + "**/.moon/toolchains.toml", + "**/.config/moon/toolchains.yml", + "**/.config/moon/toolchains.yaml", + "**/.config/moon/toolchains.json", + "**/.config/moon/toolchains.jsonc", + "**/.config/moon/toolchains.toml" + ], + "url": "https://moonrepo.dev/schemas/v2/toolchains.json" + }, + { + "name": "moon extensions", + "description": "moon (moonrepo) extensions configuration file", + "fileMatch": [ + "**/.moon/extensions.yml", + "**/.moon/extensions.yaml", + "**/.moon/extensions.json", + "**/.moon/extensions.jsonc", + "**/.moon/extensions.toml", + "**/.config/moon/extensions.yml", + "**/.config/moon/extensions.yaml", + "**/.config/moon/extensions.json", + "**/.config/moon/extensions.jsonc", + "**/.config/moon/extensions.toml" + ], + "url": "https://moonrepo.dev/schemas/v2/extensions.json" + }, + { + "name": "moon tasks", + "description": "moon (moonrepo) inherited tasks configuration file", + "fileMatch": [ + "**/.moon/tasks/**/*.yml", + "**/.moon/tasks/**/*.yaml", + "**/.moon/tasks/**/*.json", + "**/.moon/tasks/**/*.jsonc", + "**/.moon/tasks/**/*.toml", + "**/.config/moon/tasks/**/*.yml", + "**/.config/moon/tasks/**/*.yaml", + "**/.config/moon/tasks/**/*.json", + "**/.config/moon/tasks/**/*.jsonc", + "**/.config/moon/tasks/**/*.toml" + ], + "url": "https://moonrepo.dev/schemas/v2/tasks.json", + "versions": { + "1": "https://moonrepo.dev/schemas/v1/tasks.json", + "2": "https://moonrepo.dev/schemas/v2/tasks.json" + } + }, + { + "name": "moon template", + "description": "moon (moonrepo) code generation template configuration file (template.yml)", + "url": "https://moonrepo.dev/schemas/v2/template.json", + "versions": { + "1": "https://moonrepo.dev/schemas/v1/template.json", + "2": "https://moonrepo.dev/schemas/v2/template.json" + } }, { "name": "WireMock stub mapping", diff --git a/src/negative_test/package/version-empty-string.json b/src/negative_test/package/version-empty-string.json new file mode 100644 index 00000000000..b69cf98179e --- /dev/null +++ b/src/negative_test/package/version-empty-string.json @@ -0,0 +1,4 @@ +{ + "name": "version-empty-string", + "version": "" +} diff --git a/src/schema-validation.jsonc b/src/schema-validation.jsonc index 6b278157013..1fe894d1ae7 100644 --- a/src/schema-validation.jsonc +++ b/src/schema-validation.jsonc @@ -4,11 +4,8 @@ "abc-clinical-demand-forecast-5.1.0.json", "abc-supply-plan-14.1.0.json", "abc-supply-plan-14.2.0.json", - "backportrc.json", - "behat.json", "bootstraprc.json", "bower.json", - "boyka-config.json", "bukkit-plugin.json", "bxci.schema-1.0.json", "bxci.schema-1.0.1.json", @@ -25,7 +22,6 @@ "dofigen.json", "drone.json", "drupal-recipe.json", - "electron-builder.json", "esmrc.json", "expo-37.0.0.json", "expo-38.0.0.json", @@ -53,7 +49,6 @@ "libman.json", "lintstagedrc.schema.json", "metricshub.json", - "metricshub-connector.json", "minecraft-advancement.json", "minecraft-biome.json", "minecraft-dimension.json", @@ -106,7 +101,6 @@ "metaschema-draft-07-unofficial-strict.json", "glazewm.json", "youtrack-app.json", - "cinnamon-spice-settings.json", "podman-desktop-extension.json", "podman-desktop-extension-1.27.json" ], diff --git a/src/schemas/json/behat.json b/src/schemas/json/behat.json index 139d532e131..5203994c29e 100644 --- a/src/schemas/json/behat.json +++ b/src/schemas/json/behat.json @@ -68,7 +68,14 @@ "title": "Suite contexts", "type": "array", "items": { - "type": ["string", "object"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ] }, "uniqueItems": true }, diff --git a/src/schemas/json/bukkit-plugin.json b/src/schemas/json/bukkit-plugin.json index 267eaad6514..f91b14938ff 100644 --- a/src/schemas/json/bukkit-plugin.json +++ b/src/schemas/json/bukkit-plugin.json @@ -17,7 +17,14 @@ }, "aliases": { "description": "Alternate command names a user may use instead.", - "type": ["string", "array"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ] }, "permission": { "description": "The permission required to use the command.", @@ -47,13 +54,27 @@ }, "children": { "description": "Allows other permissions to be set as a relation to the parent permission.", - "type": ["array", "object"], + "anyOf": [ + { + "type": "array" + }, + { + "type": "object" + } + ], "items": { "type": "string" }, "additionalProperties": { "$ref": "#/definitions/permission", - "type": ["boolean", "object"], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object" + } + ], "items": { "type": "boolean" } @@ -62,7 +83,14 @@ } }, "default-permission": { - "type": ["string", "boolean"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + } + ], "enum": [true, false, "op", "not op"], "default": "op" } @@ -79,7 +107,14 @@ }, "version": { "description": "A plugin revision identifier.", - "type": ["string", "number"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] }, "description": { "description": "Human readable plugin summary.", @@ -168,7 +203,14 @@ }, "api-version": { "description": "Gives the API version which this plugin is designed to support.", - "type": ["string", "number"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], "examples": ["1.13", "1.14", "1.15", "1.16"] }, "libraries": { diff --git a/src/schemas/json/catalog-info.json b/src/schemas/json/catalog-info.json index 1872bd4dab2..69feaaa4558 100644 --- a/src/schemas/json/catalog-info.json +++ b/src/schemas/json/catalog-info.json @@ -30,7 +30,7 @@ ], "allOf": [ { - "$ref": "catalog-info.json#/definitions/entity" + "$ref": "#/definitions/entity" }, { "type": "object", @@ -70,7 +70,14 @@ "minLength": 1 }, "definition": { - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "description": "The definition of the API, based on the format defined by the type.", "minLength": 1, "properties": { @@ -125,7 +132,7 @@ ], "allOf": [ { - "$ref": "catalog-info.json#/definitions/entity" + "$ref": "#/definitions/entity" }, { "type": "object", @@ -217,7 +224,7 @@ ], "allOf": [ { - "$ref": "catalog-info.json#/definitions/entity" + "$ref": "#/definitions/entity" }, { "type": "object", @@ -270,7 +277,7 @@ ], "allOf": [ { - "$ref": "catalog-info.json#/definitions/entity" + "$ref": "#/definitions/entity" }, { "type": "object", @@ -369,7 +376,7 @@ ], "allOf": [ { - "$ref": "catalog-info.json#/definitions/entity" + "$ref": "#/definitions/entity" }, { "type": "object", @@ -435,7 +442,7 @@ ], "allOf": [ { - "$ref": "catalog-info.json#/definitions/entity" + "$ref": "#/definitions/entity" }, { "type": "object", @@ -501,7 +508,7 @@ ], "allOf": [ { - "$ref": "catalog-info.json#/definitions/entity" + "$ref": "#/definitions/entity" }, { "type": "object", @@ -593,7 +600,7 @@ ], "allOf": [ { - "$ref": "catalog-info.json#/definitions/entity" + "$ref": "#/definitions/entity" }, { "type": "object", @@ -656,7 +663,14 @@ "description": "A templated object describing the inputs to the action." }, "if": { - "type": ["string", "boolean"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + } + ], "description": "A templated condition that skips the step when evaluated to false. If the condition is true or not defined, the step is executed. The condition is true, if the input is not `false`, `undefined`, `null`, `\"\"`, `0`, or `[]`." } } @@ -787,7 +801,7 @@ ], "allOf": [ { - "$ref": "catalog-info.json#/definitions/entity" + "$ref": "#/definitions/entity" }, { "type": "object", @@ -934,7 +948,14 @@ "description": "A templated object describing the inputs to the action." }, "if": { - "type": ["string", "boolean"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + } + ], "description": "A templated condition that skips the step when evaluated to false. If the condition is true or not defined, the step is executed. The condition is true, if the input is not `false`, `undefined`, `null`, `\"\"`, `0`, or `[]`." }, "backstage:permissions": { @@ -1052,7 +1073,7 @@ ], "allOf": [ { - "$ref": "catalog-info.json#/definitions/entity" + "$ref": "#/definitions/entity" }, { "type": "object", @@ -1241,7 +1262,14 @@ "additionalProperties": true, "patternProperties": { "^.+$": { - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "properties": { "$json": { "type": "string", @@ -1306,11 +1334,11 @@ "type": "array", "description": "The relations that this entity has with other entities.", "items": { - "$ref": "catalog-info.json#/definitions/common/definitions/relation" + "$ref": "#/definitions/common/definitions/relation" } }, "status": { - "$ref": "catalog-info.json#/definitions/common/definitions/status" + "$ref": "#/definitions/common/definitions/status" } } }, @@ -1357,7 +1385,7 @@ "description": "The type of relation." }, "target": { - "$ref": "catalog-info.json#/definitions/common/definitions/reference" + "$ref": "#/definitions/common/definitions/reference" } } }, @@ -1371,7 +1399,7 @@ "items": { "type": "array", "items": { - "$ref": "catalog-info.json#/definitions/common/definitions/statusItem" + "$ref": "#/definitions/common/definitions/statusItem" } } } @@ -1388,7 +1416,7 @@ "minLength": 1 }, "level": { - "$ref": "catalog-info.json#/definitions/common/definitions/statusLevel", + "$ref": "#/definitions/common/definitions/statusLevel", "description": "The status level / severity of the status item." }, "message": { @@ -1396,7 +1424,7 @@ "description": "A brief message describing the status, intended for human consumption." }, "error": { - "$ref": "catalog-info.json#/definitions/common/definitions/error", + "$ref": "#/definitions/common/definitions/error", "description": "An optional serialized error object related to the status." } } diff --git a/src/schemas/json/chisel-slices.json b/src/schemas/json/chisel-slices.json index c074fdce73d..42aabb1f569 100644 --- a/src/schemas/json/chisel-slices.json +++ b/src/schemas/json/chisel-slices.json @@ -17,7 +17,14 @@ "examples": ["ubuntu"] }, "essential": { - "type": ["array", "object"], + "anyOf": [ + { + "type": "array" + }, + { + "type": "object" + } + ], "description": "A list of slices that are a dependency for all slices of this package. Each slice item is formatted as '_'.", "uniqueItems": true, "items": { @@ -28,7 +35,14 @@ "patternProperties": { "^.+$": { "description": "The name of the dependency slice part.", - "type": ["object", "null"], + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], "additionalProperties": false, "properties": { "arch": { @@ -64,7 +78,14 @@ "additionalProperties": false, "properties": { "essential": { - "type": ["array", "object"], + "anyOf": [ + { + "type": "array" + }, + { + "type": "object" + } + ], "description": "The name of the dependency slice part. The slice part is formatted as '_'.", "uniqueItems": true, "items": { @@ -78,7 +99,14 @@ "patternProperties": { "^.+$": { "description": "The name of the dependency slice part.", - "type": ["object", "null"], + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], "additionalProperties": false, "properties": { "arch": { @@ -136,7 +164,14 @@ "patternProperties": { "^.+$": { "description": "Path description.", - "type": ["object", "null"], + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], "additionalProperties": false, "properties": { "make": { diff --git a/src/schemas/json/cinnamon-spice-settings.json b/src/schemas/json/cinnamon-spice-settings.json index 273af60657c..b8c5cb18511 100644 --- a/src/schemas/json/cinnamon-spice-settings.json +++ b/src/schemas/json/cinnamon-spice-settings.json @@ -200,7 +200,14 @@ "default": { "title": "default", "description": "A default value of the radiogroup from `options`\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html", - "type": ["string", "number"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] }, "options": { "title": "options", @@ -210,7 +217,14 @@ "\\S": { "title": "option", "description": "An option of the the radiogroup\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html", - "type": ["string", "number"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] } }, "minProperties": 1, @@ -327,7 +341,17 @@ "default": { "title": "default", "description": "A default value of the combobox from `options`\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html", - "type": ["string", "number", "boolean"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] }, "options": { "title": "options", @@ -337,7 +361,17 @@ "\\S": { "title": "option", "description": "An option of the the combobox\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html", - "type": ["string", "number", "boolean"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] } }, "minProperties": 1, diff --git a/src/schemas/json/cloud-sdk-pipeline-config-schema.json b/src/schemas/json/cloud-sdk-pipeline-config-schema.json index a7d4fa24a94..b361b3ef74b 100644 --- a/src/schemas/json/cloud-sdk-pipeline-config-schema.json +++ b/src/schemas/json/cloud-sdk-pipeline-config-schema.json @@ -208,7 +208,14 @@ "properties": { "sendNotification": { "description": "The sendNotification post-build action can be used to send notifications to project members in case of an unsuccessful build outcome or if the build goes back to normal. By default, an email is sent to the list of users who committed a change since the last non-broken build. Additionally, a set of recipients can be defined that should always receive notifications.", - "type": ["object", "null"], + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ], "properties": { "enabled": { "description": "If set to true, notifications will be sent.", @@ -241,7 +248,14 @@ }, "general": { "description": "The general configuration of the pipeline", - "type": ["object", "null"], + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ], "properties": { "productiveBranch": { "description": "The name of your default branch. This branch will be used for deploying your application. Other branches will skip deployment.", @@ -304,7 +318,14 @@ }, "stages": { "description": "Configuration, which will modify the behaviour of stages in the SAP Cloud SDK Pipeline.", - "type": ["object", "null"], + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ], "properties": { "backendIntegrationTests": { "type": "object", @@ -397,7 +418,14 @@ "description": "In case you audited an advisory, and it turns out to be a false positive, you can mark it as audited by adding its id to the auditedAdvisories in the stage configuration. A false positive in this case is when you are confident your application is not affected in any way by the underlying bug or vulnerability.", "type": "array", "items": { - "type": ["integer", "string"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] } } }, @@ -522,7 +550,14 @@ }, "preset": { "description": "Name or numerical ID of Checkmarx preset to be used when scanning this project. When a name (string) is specified, the pipeline will try to discover the corresponding numerical ID via the Checkmarx API. Please also make sure to specify checkmarxCredentialsId and checkmarxServerUrl in such a case. For determining available presets in your Checkmarx webclient, go to Checkmarx -> Management -> Scan Settings -> Preset Manager. Alternatively, you can determine the numerical ID of your targeted preset by following those guides: Token-based Authentication and Get All Preset Details.", - "type": ["integer", "string"], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "default": 36 }, "checkmarxCredentialsId": { @@ -650,7 +685,14 @@ } }, "steps": { - "type": ["object", "null"], + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ], "properties": { "mavenExecute": { "description": "The mavenExecute step is used for all invocations of the mvn build tool. It is either used directly for executing specific maven phases such as test, or indirectly for steps that execute maven plugins such as checkPmd.", @@ -952,7 +994,14 @@ "description": "Url to the npm registry that should be used for installing npm dependencies." }, "dockerOptions": { - "type": ["array", "string"], + "anyOf": [ + { + "type": "array" + }, + { + "type": "string" + } + ], "description": "Docker options to be set when starting the container (List or String)." }, "extension": { @@ -998,7 +1047,14 @@ "type": "string" }, "options": { - "type": ["array", "string"], + "anyOf": [ + { + "type": "array" + }, + { + "type": "string" + } + ], "description": "A list of additional options (in the form of '-Dxy=z') to be passed to the sonar scanner tool." }, "dockerImage": { diff --git a/src/schemas/json/cloudify.json b/src/schemas/json/cloudify.json index 9f1d8a8ab20..5f1bd116e06 100644 --- a/src/schemas/json/cloudify.json +++ b/src/schemas/json/cloudify.json @@ -78,19 +78,84 @@ "properties": { "equal": { "description": "", - "type": ["number", "string", "boolean", "integer"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "integer" + } + ] }, "greater_than": { - "type": ["number", "string", "boolean", "integer"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "integer" + } + ] }, "greater_or_equal": { - "type": ["number", "string", "boolean", "integer"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "integer" + } + ] }, "less_than": { - "type": ["number", "string", "boolean", "integer"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "integer" + } + ] }, "less_or_equal": { - "type": ["number", "string", "boolean", "integer"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "integer" + } + ] } } }, @@ -98,7 +163,20 @@ "valid_values": { "type": "array", "items": { - "type": ["number", "string", "boolean", "integer"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "integer" + } + ] } } } @@ -8184,7 +8262,14 @@ "type": "object", "properties": { "security_group_rules": { - "type": ["array", "object"], + "anyOf": [ + { + "type": "array" + }, + { + "type": "object" + } + ], "default": { "get_property": ["SELF", "security_group_rules"] } @@ -9863,13 +9948,27 @@ "type": "object", "properties": { "ansible_playbook_executable_path": { - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "default": { "get_property": ["SELF", "ansible_playbook_executable_path"] } }, "playbook_source_path": { - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "default": { "get_property": ["SELF", "playbook_source_path"] } @@ -11450,7 +11549,14 @@ "type": "object", "properties": { "stop_command": { - "type": ["string", "object"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ] } } } diff --git a/src/schemas/json/datalogic-scan2deploy-android.json b/src/schemas/json/datalogic-scan2deploy-android.json index c88bd166bf2..2e9ef467a91 100644 --- a/src/schemas/json/datalogic-scan2deploy-android.json +++ b/src/schemas/json/datalogic-scan2deploy-android.json @@ -120,7 +120,14 @@ }, "script": { "$id": "#/properties/global/properties/script", - "type": ["string", "array"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ], "title": "Script Schema", "description": "A string specifying the absolute/relative path of a file, or a JSON array of strings describing the file content line-by-line. The script file will be interpreted last in staging process.", "items": { diff --git a/src/schemas/json/deployed.json b/src/schemas/json/deployed.json index a5745f44fab..93eab3598cc 100644 --- a/src/schemas/json/deployed.json +++ b/src/schemas/json/deployed.json @@ -5,7 +5,14 @@ "definitions": { "privateKey": { "description": "Buffer or string that contains a private key for either key-based or hostbased user authentication (OpenSSH format).", - "type": ["string", "object"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ] }, "passphrase": { "description": "For an encrypted privateKey, this is the passphrase used to decrypt it.", @@ -157,7 +164,14 @@ "type": "array", "uniqueItems": true, "items": { - "type": ["string", "array"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ], "items": [ { "description": "The name of the plugin.", diff --git a/src/schemas/json/dofigen.json b/src/schemas/json/dofigen.json index 2412f01d564..2a567f5353a 100644 --- a/src/schemas/json/dofigen.json +++ b/src/schemas/json/dofigen.json @@ -275,9 +275,16 @@ ] }, "workdir": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } }, "anyOf": [ @@ -305,8 +312,15 @@ "type": "object", "properties": { "fromContext": { - "type": ["string", "null"], - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ] } }, "required": ["fromContext"] @@ -321,14 +335,31 @@ "type": "object", "properties": { "checksum": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "chmod": { - "type": ["string", "number", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "chown": { "anyOf": [ @@ -353,19 +384,40 @@ ] }, "link": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "target": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "unpack": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } }, "additionalProperties": false @@ -375,14 +427,31 @@ "type": "object", "properties": { "checksum": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "chmod": { - "type": ["string", "number", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "chown": { "anyOf": [ @@ -407,24 +476,52 @@ ] }, "keepGitDir": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "link": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "repo": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "target": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } }, "additionalProperties": false @@ -434,19 +531,40 @@ "type": "object", "properties": { "readwrite": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "source": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "target": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } }, "anyOf": [ @@ -474,8 +592,15 @@ "type": "object", "properties": { "fromContext": { - "type": ["string", "null"], - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ] } }, "required": ["fromContext"] @@ -490,9 +615,19 @@ "type": "object", "properties": { "chmod": { - "type": ["string", "number", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "chown": { "anyOf": [ @@ -506,14 +641,28 @@ ] }, "id": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "readonly": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "sharing": { "anyOf": [ @@ -528,14 +677,28 @@ "default": null }, "source": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "target": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } }, "anyOf": [ @@ -563,8 +726,15 @@ "type": "object", "properties": { "fromContext": { - "type": ["string", "null"], - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ] } }, "required": ["fromContext"] @@ -584,9 +754,19 @@ "type": "object", "properties": { "chmod": { - "type": ["string", "number", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "chown": { "anyOf": [ @@ -614,14 +794,28 @@ "fromContext": true, "fromImage": true, "link": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "parents": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "paths": { "anyOf": [ @@ -635,9 +829,16 @@ ] }, "target": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } }, "additionalProperties": false, @@ -666,8 +867,15 @@ "type": "object", "properties": { "fromContext": { - "type": ["string", "null"], - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ] } }, "required": ["fromContext"] @@ -682,9 +890,19 @@ "type": "object", "properties": { "chmod": { - "type": ["string", "number", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "chown": { "anyOf": [ @@ -698,24 +916,52 @@ ] }, "content": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "link": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "substitute": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "target": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } }, "additionalProperties": false @@ -761,8 +1007,15 @@ "type": "object", "patternProperties": { "^.+$": { - "type": ["string", "null"], - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ] } } }, @@ -771,31 +1024,66 @@ "type": "object", "properties": { "cmd": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "interval": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "retries": { - "type": ["integer", "null"], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null", + "nullable": true + } + ], "default": null, "maximum": 65535, - "minimum": 0, - "nullable": true + "minimum": 0 }, "start": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "timeout": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } }, "additionalProperties": false @@ -807,26 +1095,54 @@ "properties": { "digest": true, "host": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "path": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "platform": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "port": { - "type": ["integer", "null"], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null", + "nullable": true + } + ], "default": null, "maximum": 65535, - "minimum": 0, - "nullable": true + "minimum": 0 }, "tag": true }, @@ -994,11 +1310,18 @@ "type": "object", "properties": { "port": { - "type": ["integer", "null"], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null", + "nullable": true + } + ], "default": null, "maximum": 65535, - "minimum": 0, - "nullable": true + "minimum": 0 }, "protocol": { "anyOf": [ @@ -1144,43 +1467,92 @@ "type": "object", "properties": { "env": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "gid": { - "type": ["integer", "null"], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null", + "nullable": true + } + ], "default": null, "maximum": 65535, - "minimum": 0, - "nullable": true + "minimum": 0 }, "id": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "mode": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "required": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "target": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "uid": { - "type": ["integer", "null"], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null", + "nullable": true + } + ], "default": null, "maximum": 65535, - "minimum": 0, - "nullable": true + "minimum": 0 } } }, @@ -1194,38 +1566,80 @@ "type": "object", "properties": { "gid": { - "type": ["integer", "null"], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null", + "nullable": true + } + ], "default": null, "maximum": 65535, - "minimum": 0, - "nullable": true + "minimum": 0 }, "id": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "mode": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "required": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "target": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "uid": { - "type": ["integer", "null"], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null", + "nullable": true + } + ], "default": null, "maximum": 65535, - "minimum": 0, - "nullable": true + "minimum": 0 } } }, @@ -1401,9 +1815,16 @@ ] }, "workdir": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } }, "anyOf": [ @@ -1431,8 +1852,15 @@ "type": "object", "properties": { "fromContext": { - "type": ["string", "null"], - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ] } }, "required": ["fromContext"] @@ -1447,14 +1875,28 @@ "type": "object", "properties": { "size": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "target": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } } }, @@ -1463,9 +1905,19 @@ "type": "object", "properties": { "chmod": { - "type": ["string", "number", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "chown": { "anyOf": [ @@ -1490,14 +1942,28 @@ ] }, "link": { - "type": ["boolean", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "target": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } } }, @@ -1506,14 +1972,28 @@ "type": "object", "properties": { "group": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null }, "user": { - "type": ["string", "null"], - "default": null, - "nullable": true + "anyOf": [ + { + "type": "string" + }, + { + "type": "null", + "nullable": true + } + ], + "default": null } }, "additionalProperties": false diff --git a/src/schemas/json/drupal-recipe.json b/src/schemas/json/drupal-recipe.json index 2d2b1865f08..9b99e2803c1 100644 --- a/src/schemas/json/drupal-recipe.json +++ b/src/schemas/json/drupal-recipe.json @@ -145,7 +145,20 @@ }, "value": { "description": "The property value i.e. Logged-in user", - "type": ["string", "number", "boolean", "array"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array" + } + ] } }, "required": ["property_name", "value"] @@ -173,7 +186,20 @@ }, "value": { "description": "The property value i.e. true", - "type": ["string", "number", "boolean", "array"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array" + } + ] } }, "required": ["module", "key", "value"] diff --git a/src/schemas/json/electron-builder.json b/src/schemas/json/electron-builder.json index 6f7898ecc83..3fc68d19982 100644 --- a/src/schemas/json/electron-builder.json +++ b/src/schemas/json/electron-builder.json @@ -8,22 +8,50 @@ "properties": { "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "category": { "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "description": { "description": "As [description](/configuration/configuration#Metadata-description) from application package.json, but allows you to specify different for Linux.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "desktop": { "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)." }, "license": { "description": "The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). Only plain text is supported.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "mimeTypes": { "anyOf": [ @@ -88,13 +116,27 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, "synopsis": { "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "systemIntegration": { "default": "ask", @@ -119,16 +161,37 @@ }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "backgroundColor": { "default": "#464646", "description": "The background color of the app tile. See [Visual Elements](https://msdn.microsoft.com/en-us/library/windows/apps/br211471.aspx).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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).\nDefaults to the application product name.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "electronUpdaterAware": { "default": false, @@ -136,7 +199,14 @@ }, "identityName": { "description": "The name. Corresponds to [Identity.Name](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx). Defaults to the [application name](/configuration/configuration#Metadata-name).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "languages": { "anyOf": [ @@ -147,7 +217,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The list of [supported languages](https://docs.microsoft.com/en-us/windows/uwp/globalizing/manage-language-and-region#specify-the-supported-languages-in-the-apps-manifest) that will be listed in the Windows Store.\nThe first entry (index 0) will be the default language.\nDefaults to en-US if omitted." @@ -214,17 +291,38 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, "publisher": { "description": "The Windows Store publisher. Not used if AppX is build for testing. See [AppX Package Code Signing](#appx-package-code-signing) below.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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).\nDefaults to company name from the application metadata.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "showNameOnTiles": { "description": "Whether to overlay the app's name on top of tile images on the Start screen. Defaults to `false`. (https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap-shownameontiles) in the dependencies.", @@ -247,7 +345,14 @@ "type": "boolean" }, "ordering": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "smartUnpack": { "default": true, @@ -264,20 +369,48 @@ "properties": { "component": { "description": "The Bintray component (Debian only).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "distribution": { "default": "stable", "description": "The Bintray distribution (Debian only).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "owner": { "description": "The owner.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "package": { "description": "The Bintray package name.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "provider": { "description": "The provider. Must be `bintray`.", @@ -305,17 +438,45 @@ "repo": { "default": "generic", "description": "The Bintray repository name.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "token": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "updaterCacheDirName": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "user": { "description": "The Bintray user account. Used in cases where the owner is an organization.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } }, "required": ["provider"], @@ -348,7 +509,14 @@ ] }, "updaterCacheDirName": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } }, "required": ["provider"], @@ -359,18 +527,46 @@ "additionalProperties": false, "properties": { "afterInstall": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "afterRemove": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "category": { "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "compression": { "anyOf": [ @@ -401,7 +597,14 @@ }, "description": { "description": "As [description](/configuration/configuration#Metadata-description) from application package.json, but allows you to specify different for Linux.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "desktop": { "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)." @@ -424,7 +627,14 @@ "type": "string" }, "maintainer": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "mimeTypes": { "anyOf": [ @@ -442,11 +652,25 @@ }, "packageCategory": { "description": "The [package category](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Section).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "priority": { "description": "The [Priority](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Priority) attribute.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "publish": { "anyOf": [ @@ -497,16 +721,37 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, "synopsis": { "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "vendor": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } }, "title": "DebOptions", @@ -543,15 +788,36 @@ "properties": { "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "backgroundColor": { "description": "The background color (accepts css colors). Defaults to `#ffffff` (white) if no background image.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "contents": { "description": "The content — to customize icon locations.", @@ -568,17 +834,38 @@ }, "icon": { "description": "The path to DMG icon (volume icon), which will be shown when mounted, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.\nDefaults to the application icon (`build/icon.icns`).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "iconSize": { "default": 80, "description": "The size of all the icons inside the DMG.", - "type": ["null", "number"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] }, "iconTextSize": { "default": 12, "description": "The size of all the icon texts inside the DMG.", - "type": ["null", "number"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] }, "internetEnabled": { "default": false, @@ -634,15 +921,29 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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.", + "anyOf": [ + { + "type": "null" + }, + { + "type": "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." @@ -684,20 +985,48 @@ }, "cache": { "description": "The [cache location](https://github.com/electron-userland/electron-download#cache-location).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "customDir": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "customFilename": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "isVerifyChecksum": { "type": "boolean" }, "mirror": { "description": "The mirror.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "platform": { "enum": ["darwin", "linux", "mas", "win32"], @@ -719,7 +1048,14 @@ "properties": { "description": { "description": "*windows-only.* The description.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "ext": { "anyOf": [ @@ -737,7 +1073,14 @@ }, "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.\n\nNot supported on Linux, file issue if need (default icon will be `x-office-document`).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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`.", @@ -745,11 +1088,25 @@ }, "mimeType": { "description": "*linux-only.* The mime-type.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "name": { "description": "The name. e.g. `PNG`. Defaults to `ext`.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "role": { "default": "Editor", @@ -797,7 +1154,14 @@ "channel": { "default": "latest", "description": "The channel.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "provider": { "description": "The provider. Must be `generic`.", @@ -823,7 +1187,14 @@ ] }, "updaterCacheDirName": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "url": { "description": "The base url. e.g. `https://bucket_name.s3.amazonaws.com`.", @@ -845,15 +1216,36 @@ "host": { "default": "github.com", "description": "The host (including the port if need).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "owner": { "description": "The owner.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "private": { "description": "Whether to use private github auto-update provider if `GH_TOKEN` environment variable is defined. See [Private GitHub Update Repo](/auto-update#private-github-update-repo).", - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] }, "protocol": { "anyOf": [ @@ -906,14 +1298,35 @@ }, "repo": { "description": "The repository name. [Detected automatically](#github-repository-and-bintray-package).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "token": { "description": "The access token to support auto-update from private github repositories. Never specify it in the configuration files. Only for [setFeedURL](/auto-update#appupdatersetfeedurloptions).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "updaterCacheDirName": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "vPrefixedTagName": { "default": true, @@ -931,11 +1344,25 @@ "appId": { "default": "com.electron.${name}", "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). It is strongly recommended that an explicit ID is set.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "asar": { "anyOf": [ @@ -943,7 +1370,14 @@ "$ref": "#/definitions/AsarOptions" }, { - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] } ], "default": true, @@ -958,14 +1392,28 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "A [glob patterns](/file-patterns) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive." }, "category": { "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "compression": { "anyOf": [ @@ -981,10 +1429,24 @@ "description": "The compression level. If you want to rapidly test build, `store` can reduce build time significantly. `maximum` doesn't lead to noticeable size difference, but increase build time." }, "cscKeyPassword": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "cscLink": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "depends": { "anyOf": [ @@ -1001,7 +1463,14 @@ }, "description": { "description": "As [description](/configuration/configuration#Metadata-description) from application package.json, but allows you to specify different for Linux.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "desktop": { "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)." @@ -1013,11 +1482,25 @@ }, "electronUpdaterCompatibility": { "description": "The [electron-updater compatibility](/auto-update#compatibility) semver range.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "executableName": { "description": "The executable name. Defaults to `productName`.\nCannot be specified per target, allowed only in the `linux`.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "extraFiles": { "anyOf": [ @@ -1038,7 +1521,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -1061,7 +1551,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -1098,7 +1595,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -1117,7 +1621,14 @@ }, "maintainer": { "description": "The maintainer. Defaults to [author](/configuration/configuration#Metadata-author).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "mimeTypes": { "anyOf": [ @@ -1135,7 +1646,14 @@ }, "packageCategory": { "description": "backward compatibility + to allow specify fpm-only category for all possible fpm targets in one place", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "protocols": { "anyOf": [ @@ -1200,7 +1718,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -1210,7 +1735,14 @@ }, "synopsis": { "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "target": { "anyOf": [ @@ -1231,7 +1763,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "default": "AppImage", @@ -1239,7 +1778,14 @@ }, "vendor": { "description": "The vendor. Defaults to [author](/configuration/configuration#Metadata-author).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } }, "title": "LinuxConfiguration", @@ -1249,18 +1795,46 @@ "additionalProperties": false, "properties": { "afterInstall": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "afterRemove": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "category": { "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "compression": { "anyOf": [ @@ -1291,7 +1865,14 @@ }, "description": { "description": "As [description](/configuration/configuration#Metadata-description) from application package.json, but allows you to specify different for Linux.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "desktop": { "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)." @@ -1314,7 +1895,14 @@ "type": "string" }, "maintainer": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "mimeTypes": { "anyOf": [ @@ -1332,7 +1920,14 @@ }, "packageCategory": { "description": "The package category.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "publish": { "anyOf": [ @@ -1383,16 +1978,37 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, "synopsis": { "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "vendor": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } }, "title": "LinuxTargetSpecificOptions", @@ -1404,11 +2020,25 @@ "appId": { "default": "com.electron.${name}", "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). It is strongly recommended that an explicit ID is set.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "asar": { "anyOf": [ @@ -1416,7 +2046,14 @@ "$ref": "#/definitions/AsarOptions" }, { - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] } ], "default": true, @@ -1431,7 +2068,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "A [glob patterns](/file-patterns) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive." @@ -1452,15 +2096,36 @@ }, "bundleShortVersion": { "description": "The `CFBundleShortVersionString`. Do not use it unless you need to.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "bundleVersion": { "description": "The `CFBundleVersion`. Do not use it unless [you need to](https://github.com/electron-userland/electron-builder/issues/565#issuecomment-230678643).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "compression": { "anyOf": [ @@ -1476,16 +2141,44 @@ "description": "The compression level. If you want to rapidly test build, `store` can reduce build time significantly. `maximum` doesn't lead to noticeable size difference, but increase build time." }, "cscInstallerKeyPassword": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "cscInstallerLink": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "cscKeyPassword": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "cscLink": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "darkModeSupport": { "default": false, @@ -1523,15 +2216,36 @@ }, "electronUpdaterCompatibility": { "description": "The [electron-updater compatibility](/auto-update#compatibility) semver range.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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](/configuration/mas).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "extendInfo": { "description": "The extra entries for `Info.plist`." @@ -1545,7 +2259,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "Extra files to put in archive. Not applicable for `tar.*`." @@ -1569,7 +2290,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -1592,7 +2320,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -1629,7 +2364,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -1645,20 +2387,48 @@ "helperBundleId": { "default": "${appBundleIdentifier}.helper", "description": "The bundle identifier to use in the application helper's plist.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "icon": { "default": "build/icon.icns", "description": "The path to application icon.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "identity": { "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](/code-signing) instead of specifying this option.\nMAS installer identity is specified in the [mas](/configuration/mas).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "minimumSystemVersion": { "description": "The minimum version of macOS required for the app to run. Corresponds to `LSMinimumSystemVersion`.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "protocols": { "anyOf": [ @@ -1676,7 +2446,14 @@ }, "provisioningProfile": { "description": "The path to the provisioning profile to use when signing, absolute or relative to the app root.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "publish": { "anyOf": [ @@ -1727,7 +2504,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -1737,7 +2521,14 @@ }, "requirements": { "description": "Path of [requirements file](https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html) used in signing. Not applicable for MAS.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "target": { "anyOf": [ @@ -1817,11 +2608,25 @@ "appId": { "default": "com.electron.${name}", "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). It is strongly recommended that an explicit ID is set.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "asar": { "anyOf": [ @@ -1829,7 +2634,14 @@ "$ref": "#/definitions/AsarOptions" }, { - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] } ], "default": true, @@ -1844,7 +2656,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "A [glob patterns](/file-patterns) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive." @@ -1865,15 +2684,36 @@ }, "bundleShortVersion": { "description": "The `CFBundleShortVersionString`. Do not use it unless you need to.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "bundleVersion": { "description": "The `CFBundleVersion`. Do not use it unless [you need to](https://github.com/electron-userland/electron-builder/issues/565#issuecomment-230678643).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "compression": { "anyOf": [ @@ -1889,16 +2729,44 @@ "description": "The compression level. If you want to rapidly test build, `store` can reduce build time significantly. `maximum` doesn't lead to noticeable size difference, but increase build time." }, "cscInstallerKeyPassword": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "cscInstallerLink": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "cscKeyPassword": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "cscLink": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "darkModeSupport": { "default": false, @@ -1931,15 +2799,36 @@ }, "electronUpdaterCompatibility": { "description": "The [electron-updater compatibility](/auto-update#compatibility) semver range.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "extendInfo": { "description": "The extra entries for `Info.plist`." @@ -1953,7 +2842,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "Extra files to put in archive. Not applicable for `tar.*`." @@ -1977,7 +2873,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -2000,7 +2903,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -2037,7 +2947,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -2053,20 +2970,48 @@ "helperBundleId": { "default": "${appBundleIdentifier}.helper", "description": "The bundle identifier to use in the application helper's plist.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "icon": { "default": "build/icon.icns", "description": "The path to application icon.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "identity": { "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](/code-signing) instead of specifying this option.\nMAS installer identity is specified in the [mas](/configuration/mas).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "minimumSystemVersion": { "description": "The minimum version of macOS required for the app to run. Corresponds to `LSMinimumSystemVersion`.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "protocols": { "anyOf": [ @@ -2084,7 +3029,14 @@ }, "provisioningProfile": { "description": "The path to the provisioning profile to use when signing, absolute or relative to the app root.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "publish": { "anyOf": [ @@ -2135,7 +3087,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -2145,7 +3104,14 @@ }, "requirements": { "description": "Path of [requirements file](https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html) used in signing. Not applicable for MAS.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "target": { "anyOf": [ @@ -2224,17 +3190,38 @@ "properties": { "app": { "description": "The application directory (containing the application package.json), defaults to `app`, `www` or working directory.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "buildResources": { "default": "build", "description": "The path to build resources.\n\nPlease note — build resources is not packed into the app. If you need to use some files, e.g. as tray icon, please include required files explicitly: `\"files\": [\"**\\/*\", \"build/icon.*\"]`", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "output": { "default": "dist", "description": "The output directory. [File macros](/file-patterns#file-macros) are supported.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } }, "title": "MetadataDirectories", @@ -2245,7 +3232,14 @@ "properties": { "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "createDesktopShortcut": { "default": true, @@ -2260,7 +3254,14 @@ "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"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + } + ] }, "oneClick": { "default": true, @@ -2321,7 +3322,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -2332,11 +3340,25 @@ }, "shortcutName": { "description": "The name that will be used for all shortcuts. Defaults to the application name.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "upgradeCode": { "description": "The [upgrade code](https://msdn.microsoft.com/en-us/library/windows/desktop/aa372375(v=vs.85).aspx). Optional, by default generated using app id.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "warningsAsErrors": { "default": true, @@ -2362,7 +3384,14 @@ }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName} Setup ${version}.${ext}`.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "createDesktopShortcut": { "default": true, @@ -2390,24 +3419,59 @@ }, "guid": { "description": "See [GUID vs Application Name](../configuration/nsis#guid-vs-application-name).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "include": { "description": "The path to NSIS include script to customize installer. Defaults to `build/installer.nsh`. See [Custom NSIS script](#custom-nsis-script).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "installerHeader": { "default": "build/installerHeader.bmp", "description": "*assisted installer only.* `MUI_HEADERIMAGE`, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "installerHeaderIcon": { "description": "*one-click installer only.* The path to header icon (above the progress bar), relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerHeaderIcon.ico` or application icon.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "installerIcon": { "description": "The path to installer icon, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerIcon.ico` or application icon.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "installerLanguages": { "anyOf": [ @@ -2418,27 +3482,62 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The installer languages (e.g. `en_US`, `de_DE`). Change only if you understand what do you do and for what." }, "installerSidebar": { "description": "*assisted installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`. Image size 164 × 314 pixels.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "language": { "description": "[LCID Dec](https://msdn.microsoft.com/en-au/goglobal/bb964664.aspx), defaults to `1033`(`English - United States`).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "license": { "description": "The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). In addition to `txt, `rtf` and `html` supported (don't forget to use `target=\"_blank\"` for links).\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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + } + ] }, "multiLanguageInstaller": { "description": "Whether to create multi-language installer. Defaults to `unicode` option value.", @@ -2468,7 +3567,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "default": [ @@ -2533,7 +3639,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -2544,11 +3657,25 @@ }, "script": { "description": "The path to NSIS script to customize installer. Defaults to `build/installer.nsi`. See [Custom NSIS script](#custom-nsis-script).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "shortcutName": { "description": "The name that will be used for all shortcuts. Defaults to the application name.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "unicode": { "default": true, @@ -2562,11 +3689,25 @@ }, "uninstallerIcon": { "description": "The path to uninstaller icon, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/uninstallerIcon.ico` or application icon.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "uninstallerSidebar": { "description": "*assisted installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration#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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "useZip": { "default": false, @@ -2597,11 +3738,25 @@ }, "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).\nPlease note — it is [full URL](https://github.com/electron-userland/electron-builder/issues/1810#issuecomment-317650878).\n\nCustom `X-Arch` http header is set to `32` or `64`.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName} Web Setup ${version}.${ext}`.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "createDesktopShortcut": { "default": true, @@ -2629,24 +3784,59 @@ }, "guid": { "description": "See [GUID vs Application Name](../configuration/nsis#guid-vs-application-name).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "include": { "description": "The path to NSIS include script to customize installer. Defaults to `build/installer.nsh`. See [Custom NSIS script](#custom-nsis-script).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "installerHeader": { "default": "build/installerHeader.bmp", "description": "*assisted installer only.* `MUI_HEADERIMAGE`, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "installerHeaderIcon": { "description": "*one-click installer only.* The path to header icon (above the progress bar), relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerHeaderIcon.ico` or application icon.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "installerIcon": { "description": "The path to installer icon, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerIcon.ico` or application icon.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "installerLanguages": { "anyOf": [ @@ -2657,27 +3847,62 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The installer languages (e.g. `en_US`, `de_DE`). Change only if you understand what do you do and for what." }, "installerSidebar": { "description": "*assisted installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`. Image size 164 × 314 pixels.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "language": { "description": "[LCID Dec](https://msdn.microsoft.com/en-au/goglobal/bb964664.aspx), defaults to `1033`(`English - United States`).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "license": { "description": "The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). In addition to `txt, `rtf` and `html` supported (don't forget to use `target=\"_blank\"` for links).\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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + } + ] }, "multiLanguageInstaller": { "description": "Whether to create multi-language installer. Defaults to `unicode` option value.", @@ -2707,7 +3932,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "default": [ @@ -2772,7 +4004,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -2783,11 +4022,25 @@ }, "script": { "description": "The path to NSIS script to customize installer. Defaults to `build/installer.nsi`. See [Custom NSIS script](#custom-nsis-script).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "shortcutName": { "description": "The name that will be used for all shortcuts. Defaults to the application name.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "unicode": { "default": true, @@ -2801,11 +4054,25 @@ }, "uninstallerIcon": { "description": "The path to uninstaller icon, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/uninstallerIcon.ico` or application icon.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "uninstallerSidebar": { "description": "*assisted installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration#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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "useZip": { "default": false, @@ -2875,21 +4142,49 @@ "allowAnywhere": { "default": true, "description": "Whether can be installed at the root of any volume, including non-system volumes. Otherwise, it cannot be installed at the root of a volume.\n\nCorresponds to [enable_anywhere](https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW70).", - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] }, "allowCurrentUserHome": { "default": true, "description": "Whether can be installed into the current user's home directory.\nA home directory installation is done as the current user (not as root), and it cannot write outside of the home directory.\nIf the product cannot be installed in the user's home directory and be not completely functional from user's home directory.\n\nCorresponds to [enable_currentUserHome](https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW70).", - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] }, "allowRootDirectory": { "default": true, "description": "Whether can be installed into the root directory. Should usually be `true` unless the product can be installed only to the user's home directory.\n\nCorresponds to [enable_localSystem](https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW70).", - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "background": { "anyOf": [ @@ -2904,35 +4199,84 @@ }, "conclusion": { "description": "The path to the conclusion file. This may be used to customize the text on the final \"Summary\" page of the installer.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "hasStrictIdentifier": { "default": true, "description": "Require identical bundle identifiers at install path?", - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] }, "identity": { "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](/code-signing) instead of specifying this option.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "installLocation": { "default": "/Applications", "description": "The install location. [Do not use it](https://stackoverflow.com/questions/12863944/how-do-you-specify-a-default-install-location-to-home-with-pkgbuild) to create per-user package.\nMostly never you will need to change this option. `/Applications` would install it as expected into `/Applications` if the local system domain is chosen, or into `$HOME/Applications` if the home installation is chosen.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "isRelocatable": { "default": true, "description": "Install bundle over previous version if moved by user?", - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] }, "isVersionChecked": { "default": true, "description": "Don't install bundle if newer version on disk?", - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] }, "license": { "description": "The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). In addition to `txt, `rtf` and `html` supported (don't forget to use `target=\"_blank\"` for links).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "overwriteAction": { "anyOf": [ @@ -3010,18 +4354,39 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "welcome": { "description": "The path to the welcome file. This may be used to customize the text on the Introduction page of the installer.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } }, "title": "PkgOptions", @@ -3048,11 +4413,25 @@ "properties": { "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "guid": { "description": "See [GUID vs Application Name](../configuration/nsis#guid-vs-application-name).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "publish": { "anyOf": [ @@ -3103,7 +4482,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -3175,15 +4561,36 @@ }, "releaseName": { "description": "The release name.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "releaseNotes": { "description": "The release notes.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "releaseNotesFile": { "description": "The path to release notes file. Defaults to `release-notes-${platform}.md` (where `platform` it is current platform — `mac`, `linux` or `windows`) or `release-notes.md` in the [build resources](#MetadataDirectories-buildResources).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } }, "title": "ReleaseInfo", @@ -3212,7 +4619,14 @@ "channel": { "default": "latest", "description": "The update channel.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "encryption": { "anyOf": [ @@ -3228,12 +4642,26 @@ }, "endpoint": { "description": "The endpoint URI to send requests to. The default endpoint is built from the configured region.\nThe endpoint should be a string like `https://{service}.{region}.amazonaws.com`.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "path": { "default": "/", "description": "The directory path.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "provider": { "description": "The provider. Must be `s3`.", @@ -3260,7 +4688,14 @@ }, "region": { "description": "The region. Is determined and set automatically when publishing.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "storageClass": { "anyOf": [ @@ -3276,7 +4711,14 @@ "description": "The type of storage to use for the object." }, "updaterCacheDirName": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } }, "required": ["bucket", "provider"], @@ -3302,7 +4744,14 @@ }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "assumes": { "anyOf": [ @@ -3313,7 +4762,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The list of features that must be supported by the core in order for this snap to install." @@ -3334,7 +4790,14 @@ }, "category": { "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "confinement": { "anyOf": [ @@ -3351,7 +4814,14 @@ }, "description": { "description": "As [description](/configuration/configuration#Metadata-description) from application package.json, but allows you to specify different for Linux.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "desktop": { "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)." @@ -3381,7 +4851,14 @@ "hooks": { "default": "build/snap-hooks", "description": "The [hooks](https://docs.snapcraft.io/build-snaps/hooks) directory, relative to `build` (build resources directory).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "mimeTypes": { "anyOf": [ @@ -3470,7 +4947,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -3490,11 +4974,25 @@ }, "summary": { "description": "The 78 character long summary. Defaults to [productName](/configuration/configuration#Configuration-productName).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "synopsis": { "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "useTemplateApp": { "description": "Whether to use template snap. Defaults to `true` if `stagePackages` not specified.", @@ -3524,7 +5022,14 @@ "channel": { "default": "latest", "description": "The update channel.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "name": { "description": "The space name.", @@ -3533,7 +5038,14 @@ "path": { "default": "/", "description": "The directory path.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "provider": { "description": "The provider. Must be `spaces`.", @@ -3563,7 +5075,14 @@ "type": "string" }, "updaterCacheDirName": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } }, "required": ["name", "provider", "region"], @@ -3575,15 +5094,36 @@ "properties": { "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "msi": { "description": "Whether to create an MSI installer. Defaults to `false` (MSI is not created).", @@ -3642,17 +5182,41 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] }, "remoteToken": { "description": "Authentication token for remote updates", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "useAppIdAsId": { "description": "Use `appId` to identify package instead of `name`.", @@ -3695,16 +5259,37 @@ "properties": { "additionalCertificateFile": { "description": "The path to an additional certificate file you want to add to the signature block.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "appId": { "default": "com.electron.${name}", "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). It is strongly recommended that an explicit ID is set.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "asar": { "anyOf": [ @@ -3712,7 +5297,14 @@ "$ref": "#/definitions/AsarOptions" }, { - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] } ], "default": true, @@ -3727,26 +5319,61 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "A [glob patterns](/file-patterns) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive." }, "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](/code-signing).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "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](/code-signing).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "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 (or on macOS if [Parallels Desktop](https://www.parallels.com/products/desktop/) Windows 10 virtual machines exits).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "certificateSubjectName": { "description": "The name of the subject of the signing certificate. Required only for EV Code Signing and works only on Windows (or on macOS if [Parallels Desktop](https://www.parallels.com/products/desktop/) Windows 10 virtual machines exits).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "compression": { "anyOf": [ @@ -3762,10 +5389,24 @@ "description": "The compression level. If you want to rapidly test build, `store` can reduce build time significantly. `maximum` doesn't lead to noticeable size difference, but increase build time." }, "cscKeyPassword": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "cscLink": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "detectUpdateChannel": { "default": true, @@ -3774,7 +5415,14 @@ }, "electronUpdaterCompatibility": { "description": "The [electron-updater compatibility](/auto-update#compatibility) semver range.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "extraFiles": { "anyOf": [ @@ -3795,7 +5443,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -3818,7 +5473,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -3855,7 +5517,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -3871,11 +5540,25 @@ "icon": { "default": "build/icon.ico", "description": "The path to application icon.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "legalTrademarks": { "description": "The trademarks and registered trademarks.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "protocols": { "anyOf": [ @@ -3940,7 +5623,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -3953,7 +5643,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "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." @@ -3978,7 +5675,14 @@ "rfc3161TimeStampServer": { "default": "http://timestamp.comodoca.com/rfc3161", "description": "The URL of the RFC 3161 time stamp server.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "sign": { "anyOf": [ @@ -3986,7 +5690,14 @@ "typeof": "function" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The custom function (or path to file or module id) to sign Windows executable." @@ -4036,7 +5747,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "default": "nsis", @@ -4045,7 +5763,14 @@ "timeStampServer": { "default": "http://timestamp.verisign.com/scripts/timestamp.dll", "description": "The URL of the time stamp server.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "verifyUpdateCodeSignature": { "default": true, @@ -4061,7 +5786,14 @@ "properties": { "$schema": { "description": "JSON Schema for this document.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "afterAllArtifactBuild": { "anyOf": [ @@ -4069,7 +5801,14 @@ "typeof": "function" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The function (or path to file or module id) to be [run after all artifacts are build](#afterAllArtifactBuild)." @@ -4080,7 +5819,14 @@ "typeof": "function" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The function (or path to file or module id) to be [run after pack](#afterpack) (but before pack into distributable format and sign)." @@ -4091,7 +5837,14 @@ "typeof": "function" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The function (or path to file or module id) to be [run after pack and sign](#aftersign) (but before pack into distributable format)." @@ -4109,7 +5862,14 @@ "appId": { "default": "com.electron.${name}", "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). It is strongly recommended that an explicit ID is set.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "appImage": { "anyOf": [ @@ -4138,7 +5898,14 @@ "typeof": "function" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The function (or path to file or module id) to be run on artifact build completed." @@ -4149,14 +5916,28 @@ "typeof": "function" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The function (or path to file or module id) to be run on artifact build start." }, "artifactName": { "description": "The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "asar": { "anyOf": [ @@ -4164,7 +5945,14 @@ "$ref": "#/definitions/AsarOptions" }, { - "type": ["null", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] } ], "default": true, @@ -4179,7 +5967,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "A [glob patterns](/file-patterns) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive." @@ -4190,7 +5985,14 @@ "typeof": "function" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The function (or path to file or module id) to be run before dependencies are installed or rebuilt. Works when `npmRebuild` is set to `true`. Resolving to `false` will skip dependencies install or rebuild.\n\nIf provided and `node_modules` are missing, it will not invoke production dependencies check." @@ -4202,7 +6004,14 @@ }, "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "compression": { "anyOf": [ @@ -4220,13 +6029,34 @@ "copyright": { "default": "Copyright © year ${author}", "description": "The human-readable copyright line for the app.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "cscKeyPassword": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "cscLink": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "deb": { "anyOf": [ @@ -4279,15 +6109,36 @@ }, "electronUpdaterCompatibility": { "description": "The [electron-updater compatibility](/auto-update#compatibility) semver range.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "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"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "extends": { "description": "The name of a built-in configuration preset or path to config file (relative to project dir). Currently, only `react-cra` is supported.\n\nIf `react-scripts` in the app dependencies, `react-cra` will be set automatically. Set to `null` to disable automatic detection.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "extraFiles": { "anyOf": [ @@ -4308,7 +6159,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -4334,7 +6192,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -4371,7 +6236,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -4381,7 +6253,14 @@ }, "framework": { "description": "The framework name. One of `electron`, `proton-native`, `libui`. Defaults to `electron`.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "freebsd": { "anyOf": [ @@ -4399,7 +6278,14 @@ "type": "boolean" }, "icon": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "includePdb": { "default": false, @@ -4408,7 +6294,17 @@ }, "launchUiVersion": { "description": "*libui-based frameworks only* The version of LaunchUI you are packaging for. Applicable for Windows only. Defaults to version suitable for used framework version.", - "type": ["null", "string", "boolean"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] }, "linux": { "anyOf": [ @@ -4455,7 +6351,14 @@ }, "muonVersion": { "description": "The version of muon you are packaging for.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "nodeGypRebuild": { "default": false, @@ -4464,7 +6367,14 @@ }, "nodeVersion": { "description": "*libui-based frameworks only* The version of NodeJS you are packaging for.\nYou can set it to `current` to set the Node.js version that you use to run.", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "npmArgs": { "anyOf": [ @@ -4475,7 +6385,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "Additional command line arguments to use when installing app native deps." @@ -4514,7 +6431,14 @@ "typeof": "function" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ], "description": "The function (or path to file or module id) to be [run on each node module](#onnodemodulefile) file." @@ -4562,7 +6486,14 @@ }, "productName": { "description": "As [name](#Metadata-name), but allows you to specify a product name for your executable which contains spaces and other special characters not allowed in the [name property](https://docs.npmjs.com/files/package.json#name).", - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "protocols": { "anyOf": [ @@ -4579,7 +6510,14 @@ "description": "The URL protocol schemes." }, "protonNodeVersion": { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] }, "publish": { "anyOf": [ @@ -4630,7 +6568,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, @@ -4703,7 +6648,14 @@ "type": "array" }, { - "type": ["null", "string"] + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] } ] }, diff --git a/src/schemas/json/helmfile.json b/src/schemas/json/helmfile.json index c0bd75e191f..f3509ee41b7 100644 --- a/src/schemas/json/helmfile.json +++ b/src/schemas/json/helmfile.json @@ -480,7 +480,14 @@ }, "installed": { "description": "Installed, when set to true, `delete --purge` the release", - "type": ["boolean", "string"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] }, "installedTemplate": { "type": "string" diff --git a/src/schemas/json/install.json b/src/schemas/json/install.json index e1c7aaafc0c..30cf5a1b7d7 100644 --- a/src/schemas/json/install.json +++ b/src/schemas/json/install.json @@ -76,7 +76,14 @@ } }, "showIf": { - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "title": "Conditionally show a field", "description": "The `showIf` property can accept a boolean option property key:\n\n\n\t\"showIf\": \"optionName\"\n\nAn object with a property key, operator, and expected value can also be used for more complex matching:\n\t\"showIf\": {\"optionName\": {\"op\": \"==\", \"value\": \"foo\"}}\nThe showIf property can also accept multiple criteria, all of which must be matched for the field to be visible.\nYou can also use `showIf` to show options based on the current product the customer has elected to purchase:\n\t\"showIf\": {\"INSTALL_PRODUCT.id\": \"business\"}", "additionalProperties": { @@ -90,7 +97,17 @@ }, "value": { "title": "Expected value", - "type": ["string", "number", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null" + } + ] } } } @@ -140,7 +157,14 @@ "type": "number" }, "products": { - "type": ["array", "object"], + "anyOf": [ + { + "type": "array" + }, + { + "type": "object" + } + ], "title": "Limit this option to a set of eligible products.", "description": "Most option types can be limited to a set of eligible products with an array of qualifying product IDs:\n\t{\"products\": [\"pro\", \"enterprise\"]}\nRadio options can be limited to specific products with products. Much like `enumNames`, each key in the object is a string from the enum array. However the value is an array containing a string `productId` for each eligible product:\n\t\"{enumNames\":{\n\t\"announcement\": \"Just show a message\",\n\t\"cta\": \"Redirect them to a special page\",\n\t\"signup\": \"Gather emails to sign visitors up for your newsletter\"\n\t},\n\t\"products\": {\n\t\"cta\": [\"plus\", \"pro\"],\n\t\"signup\": [\"pro\"]\n\t}", "items": { diff --git a/src/schemas/json/jest.json b/src/schemas/json/jest.json index 5cfdedcc26e..bd01a1260f6 100644 --- a/src/schemas/json/jest.json +++ b/src/schemas/json/jest.json @@ -9,7 +9,14 @@ "description": "Whether all imported modules in your tests should be mocked automatically. All modules used in your tests will have a replacement implementation, keeping the API surface." }, "bail": { - "type": ["boolean", "number"], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], "default": 0, "description": "How many failures until jest stops running. Value of `true` is equivalent to 1." }, @@ -144,7 +151,14 @@ "description": "Whether to hash functions using SHA1" }, "defaultPlatform": { - "type": ["string", "null"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "The default platform" }, "forceNodeFilesystemAPI": { @@ -192,7 +206,14 @@ "description": "A number limiting the number of tests that are allowed to run at the same time when using `test.concurrent`. Any test above this limit will be queued and executed once a slot is released." }, "maxWorkers": { - "type": ["number", "string"], + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ], "description": "Specifies the maximum number of workers the worker-pool will spawn for running tests." }, "moduleDirectories": { @@ -267,7 +288,14 @@ "description": "A preset that is used as a base for Jest's configuration." }, "prettierPath": { - "type": ["string", "null"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "The path to a module that exports an object with a `format` method." }, "projects": { @@ -512,7 +540,14 @@ "description": "Whether to use `watchman` for file crawling." }, "workerIdleMemoryLimit": { - "type": ["number", "string"], + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ], "description": "Specifies the memory limit for workers before they are recycled." }, "//": { diff --git a/src/schemas/json/jsdoc-1.0.0.json b/src/schemas/json/jsdoc-1.0.0.json index c859ebde367..8b822179b36 100644 --- a/src/schemas/json/jsdoc-1.0.0.json +++ b/src/schemas/json/jsdoc-1.0.0.json @@ -157,7 +157,14 @@ "type": "string" }, "title": "Unknown tags", - "type": ["boolean", "array"], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "array" + } + ], "uniqueItems": true }, "dictionaries": { diff --git a/src/schemas/json/lerna.json b/src/schemas/json/lerna.json index 1c136fdfdc7..e55b144b9ab 100644 --- a/src/schemas/json/lerna.json +++ b/src/schemas/json/lerna.json @@ -53,7 +53,14 @@ "properties": { "ignoreChanges": { "description": "An array of globs that won't be included in \"lerna changed/publish\". Use this to prevent publishing of a new version unnecessarily for changes, such as fixing a README.md typo.", - "type": ["string", "array"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ], "items": { "type": "string" } @@ -70,7 +77,14 @@ "properties": { "ignore": { "description": "An array of globs that won't be bootstrapped when running \"lerna bootstrap\" command.", - "type": ["string", "array"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ], "items": { "type": "string" } @@ -110,7 +124,14 @@ "properties": { "allowBranch": { "description": "A whitelist of globs that match git branches where \"lerna version\" is enabled.", - "type": ["string", "array"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ], "items": { "type": "string" } diff --git a/src/schemas/json/lintstagedrc.schema.json b/src/schemas/json/lintstagedrc.schema.json index da51ecc7607..377623546c4 100644 --- a/src/schemas/json/lintstagedrc.schema.json +++ b/src/schemas/json/lintstagedrc.schema.json @@ -14,7 +14,14 @@ "type": "string" }, "linter": { - "type": ["string", "array"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ] }, "lintersMap": { "description": "keys (String) are glob patterns, values (Array | String) are commands to execute.", diff --git a/src/schemas/json/metaschema-draft-07-unofficial-strict.json b/src/schemas/json/metaschema-draft-07-unofficial-strict.json index 604778c6ac8..e86d0d59896 100644 --- a/src/schemas/json/metaschema-draft-07-unofficial-strict.json +++ b/src/schemas/json/metaschema-draft-07-unofficial-strict.json @@ -7,7 +7,23 @@ "pattern": "^\\s+$|\\s{2,}" }, "simple-type": { - "type": ["boolean", "integer", "null", "number", "string"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "integer" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] }, "numeric-type-requirement": { "oneOf": [ diff --git a/src/schemas/json/metricshub-connector.json b/src/schemas/json/metricshub-connector.json index 3d0f87008f6..2e5357f2f6a 100644 --- a/src/schemas/json/metricshub-connector.json +++ b/src/schemas/json/metricshub-connector.json @@ -673,7 +673,14 @@ "description": "Column Computed" }, "value": { - "type": ["string", "number"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], "description": "Number Value" } } @@ -713,7 +720,14 @@ "type": "object", "description": "Inline Translation Table", "additionalProperties": { - "type": ["string", "number"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], "description": "Translation key-value pairs" } } diff --git a/src/schemas/json/metricshub.json b/src/schemas/json/metricshub.json index 6820c395a3b..f030c2fae6c 100644 --- a/src/schemas/json/metricshub.json +++ b/src/schemas/json/metricshub.json @@ -91,7 +91,17 @@ "type": "object", "description": "Resource attributes", "additionalProperties": { - "type": ["string", "number", "array"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array" + } + ], "description": "Attribute key-value pair" } }, @@ -99,7 +109,14 @@ "type": "object", "description": "Resource metrics", "additionalProperties": { - "type": ["string", "number"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], "description": "Metrics key-value pair" } }, @@ -886,7 +903,14 @@ "description": "The Command Line to Execute" }, "timeout": { - "type": ["number", "string"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], "description": "The Command Line Timeout" }, "executeLocally": { @@ -1363,7 +1387,14 @@ "description": "Column Computed" }, "value": { - "type": ["string", "number"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], "description": "Number Value" } } @@ -1609,7 +1640,14 @@ "type": "object", "description": "Inline Translation Table", "additionalProperties": { - "type": ["string", "number"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], "description": "Translation key-value pairs" } } @@ -2052,7 +2090,14 @@ "type": "object", "description": "Top level attributes", "additionalProperties": { - "type": ["string", "number"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], "description": "Attribute key-value pair" } }, @@ -2060,7 +2105,14 @@ "type": "object", "description": "Top level metrics", "additionalProperties": { - "type": ["string", "number"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], "description": "Metrics key-value pair" } }, @@ -2117,7 +2169,17 @@ "type": "object", "description": "Resource group attributes", "additionalProperties": { - "type": ["string", "number", "array"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array" + } + ], "description": "Attribute key-value pair" } }, @@ -2125,7 +2187,14 @@ "type": "object", "description": "Resource group metrics", "additionalProperties": { - "type": ["string", "number"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], "description": "Metrics key-value pair" } }, diff --git a/src/schemas/json/minecraft-advancement.json b/src/schemas/json/minecraft-advancement.json index 8770df1d466..8634bab5852 100644 --- a/src/schemas/json/minecraft-advancement.json +++ b/src/schemas/json/minecraft-advancement.json @@ -5,7 +5,23 @@ "definitions": { "jsonTextComponent": { "$comment": "https://minecraft.wiki/w/Raw_JSON_text_format", - "type": ["string", "boolean", "number", "array", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array" + }, + { + "type": "object" + } + ], "properties": { "extra": { "description": "A list of additional raw JSON text components to be displayed after this one.", @@ -120,7 +136,17 @@ }, "text": { "description": "A string containing plain text to display directly. Can also be a number or boolean that is displayed directly.", - "type": ["string", "number", "boolean"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "number" + } + ] }, "translate": { "description": "A translation identifier, corresponding to the identifiers found in loaded language files. Displayed as the corresponding text in the player's selected language. If no corresponding translation can be found, the identifier itself is used as the translated text.", @@ -222,7 +248,14 @@ "player": { "title": "player options", "description": "Check properties of the player for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Criteria", - "type": ["array", "object"] + "anyOf": [ + { + "type": "array" + }, + { + "type": "object" + } + ] } } } diff --git a/src/schemas/json/minecraft-biome.json b/src/schemas/json/minecraft-biome.json index 81617c58cda..f5a14659b50 100644 --- a/src/schemas/json/minecraft-biome.json +++ b/src/schemas/json/minecraft-biome.json @@ -618,7 +618,14 @@ "uniqueItems": true, "items": { "description": "A feature for the current biome\nhttps://minecraft.wiki/w/Custom_biome", - "type": ["string", "array"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ] } }, "creature_spawn_probability": { diff --git a/src/schemas/json/minecraft-dimension.json b/src/schemas/json/minecraft-dimension.json index 26e9c19b18d..3e2e4f7f903 100644 --- a/src/schemas/json/minecraft-dimension.json +++ b/src/schemas/json/minecraft-dimension.json @@ -303,7 +303,14 @@ "settings": { "title": "Settings", "description": "The noise settings used in the terrain generator. Can be set to a string to use a preset defined in the worldgen/noise_settings folder with a list of customized options.", - "type": ["string", "object"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ] }, "biome_source": { "title": "biome source", diff --git a/src/schemas/json/minecraft-item-modifier.json b/src/schemas/json/minecraft-item-modifier.json index 9bc86dada9c..ba415ec26c4 100644 --- a/src/schemas/json/minecraft-item-modifier.json +++ b/src/schemas/json/minecraft-item-modifier.json @@ -56,13 +56,27 @@ "$ref": "#/definitions/numberProvider", "title": "Minimum", "description": "The minimum value.", - "type": ["number", "object"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "object" + } + ] }, "max": { "$ref": "#/definitions/numberProvider", "title": "Max", "description": "The maximum value.", - "type": ["number", "object"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "object" + } + ] } } } @@ -82,7 +96,14 @@ "$ref": "#/definitions/numberProvider", "title": "n", "description": "The amount of trials.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + } + ] }, "p": { "$ref": "#/definitions/numberProvider", @@ -106,7 +127,14 @@ "target": { "title": "Target", "description": "Scoreboard name provider.", - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "enum": ["this", "killer", "direct_killer", "player_killer"], "properties": { "type": { @@ -452,7 +480,14 @@ "$ref": "#/definitions/numberProvider", "title": "Levels", "description": "Specifies the exact enchantment level to use.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + } + ] } } } @@ -557,19 +592,40 @@ "$ref": "#/definitions/numberProvider", "title": "Limit", "description": "Specifies the exact limit to use.", - "type": ["integer", "object"], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + } + ], "properties": { "min": { "$ref": "#/definitions/numberProvider", "title": "Minimum", "description": "Minimum limit to use.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + } + ] }, "max": { "$ref": "#/definitions/numberProvider", "title": "Max", "description": "Max limit to use.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + } + ] } } } @@ -591,7 +647,14 @@ "$ref": "#/definitions/numberProvider", "title": "Count", "description": "Specifies the number of additional items per level of looting.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + } + ] }, "limit": { "title": "Limit", @@ -638,7 +701,14 @@ "$ref": "#/definitions/numberProvider", "title": "Amount", "description": "Specifies the amount of the modifier.", - "type": ["number", "object"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "object" + } + ] }, "id": { "title": "ID", @@ -649,7 +719,14 @@ "$ref": "#/definitions/slotEnum", "title": "Slot", "description": "Slots the item must be in for the modifier to take effect.", - "type": ["string", "array"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ], "items": { "$ref": "#/definitions/slotEnum", "type": "string" @@ -756,7 +833,14 @@ "$ref": "#/definitions/numberProvider", "title": "Count", "description": "Specifies the stack size to set.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + } + ] }, "add": { "title": "Add", @@ -781,7 +865,14 @@ "$ref": "#/definitions/numberProvider", "title": "Damage", "description": "Specifies the damage fraction to set (1.0 is undamaged, 0.0 is zero durability left).", - "type": ["number", "object"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "object" + } + ] }, "add": { "title": "Add", @@ -809,7 +900,14 @@ "additionalProperties": { "$ref": "#/definitions/numberProvider", "description": "Key name is the enchantment ID.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + } + ] } }, "add": { @@ -890,7 +988,17 @@ "name": { "title": "Name", "description": "A JSON text component name, allowing color, translations, etc. Advanced components are resolved only if entity successfully targets an entity.", - "type": ["array", "object", "string"] + "anyOf": [ + { + "type": "array" + }, + { + "type": "object" + }, + { + "type": "string" + } + ] }, "entity": { "title": "Entity", @@ -948,7 +1056,14 @@ "$ref": "#/definitions/numberProvider", "title": "Duration", "description": "The duration of the effect.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + } + ] } } } diff --git a/src/schemas/json/minecraft-loot-table.json b/src/schemas/json/minecraft-loot-table.json index e582e46271f..63f37a13d49 100644 --- a/src/schemas/json/minecraft-loot-table.json +++ b/src/schemas/json/minecraft-loot-table.json @@ -53,13 +53,27 @@ "$ref": "#/definitions/numberProvider", "title": "Minimum", "description": "The minimum value.", - "type": ["number", "object"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "object" + } + ] }, "max": { "$ref": "#/definitions/numberProvider", "title": "Max", "description": "The maximum value.", - "type": ["number", "object"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "object" + } + ] } } } @@ -79,7 +93,14 @@ "$ref": "#/definitions/numberProvider", "title": "n", "description": "The amount of trials.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + } + ] }, "p": { "$ref": "#/definitions/numberProvider", @@ -103,7 +124,14 @@ "target": { "title": "Target", "description": "Scoreboard name provider.", - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "enum": ["this", "killer", "direct_killer", "player_killer"], "properties": { "type": { @@ -307,13 +335,27 @@ "$ref": "#/definitions/numberProvider", "title": "Rolls", "description": "Specifies the number of rolls on the pool.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + } + ] }, "bonus_rolls": { "$ref": "#/definitions/numberProvider", "title": "Bonus Rolls", "description": "Specifies the number of bonus rolls on the pool per point of luck. Rounded down after multiplying.", - "type": ["number", "object"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "object" + } + ] }, "entries": { "title": "Entries", diff --git a/src/schemas/json/minecraft-predicate.json b/src/schemas/json/minecraft-predicate.json index 6fb9050bd41..4f356b7bfd4 100644 --- a/src/schemas/json/minecraft-predicate.json +++ b/src/schemas/json/minecraft-predicate.json @@ -113,7 +113,17 @@ "type": "object", "additionalProperties": { "$ref": "#/definitions/integerRange", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] } } } @@ -325,7 +335,17 @@ "$ref": "#/definitions/integerRange", "title": "Value", "description": "The time value in ticks.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] }, "period": { "title": "Period", @@ -374,13 +394,33 @@ "$ref": "#/definitions/numberProvider", "title": "Value", "description": "The value to test.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] }, "range": { "$ref": "#/definitions/integerRange", "title": "Range", "description": "If true, the condition evaluates to true only if it's thundering.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] } } } @@ -408,13 +448,33 @@ "$ref": "#/definitions/numberProvider", "title": "Max", "description": "The max value.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] }, "min": { "$ref": "#/definitions/numberProvider", "title": "Minimum", "description": "The minimum value.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] } } }, @@ -468,13 +528,33 @@ "$ref": "#/definitions/numberProvider", "title": "Minimum", "description": "The minimum value.", - "type": ["number", "object"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] }, "max": { "$ref": "#/definitions/numberProvider", "title": "Max", "description": "The maximum value.", - "type": ["number", "object"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] } } } @@ -494,7 +574,17 @@ "$ref": "#/definitions/numberProvider", "title": "n", "description": "The amount of trials.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] }, "p": { "$ref": "#/definitions/numberProvider", @@ -518,7 +608,17 @@ "target": { "title": "Target", "description": "Scoreboard name provider.", - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ], "enum": ["this", "killer", "direct_killer", "player_killer"], "properties": { "type": { @@ -602,7 +702,17 @@ "$ref": "#/definitions/integerRange", "title": "Levels", "description": "The level of the enchantment.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] } } } @@ -669,13 +779,33 @@ "$ref": "#/definitions/integerRange", "title": "Count", "description": "The amount of the item.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] }, "durability": { "$ref": "#/definitions/integerRange", "title": "Durability", "description": "The durability of the item.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] }, "enchantments": { "$ref": "#/definitions/enchantments", @@ -821,7 +951,23 @@ "$ref": "#/definitions/integerRange", "title": "Key", "description": "Block property key and value pair.", - "type": ["boolean", "integer", "string", "object"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "integer" + }, + { + "type": "string" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] } } } @@ -873,7 +1019,23 @@ "$ref": "#/definitions/integerRange", "title": "State", "description": "A map of fluid property names to values. Test will fail if the fluid doesn't match.", - "type": ["boolean", "integer", "string", "object"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "integer" + }, + { + "type": "string" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] } } }, @@ -886,7 +1048,17 @@ "$ref": "#/definitions/integerRange", "title": "Light", "description": "The light Level of visible light. Calculated using: (max(sky-darkening,block)).", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] } } }, @@ -964,13 +1136,33 @@ "$ref": "#/definitions/integerRange", "title": "Amplifier", "description": "The effect amplifier.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] }, "duration": { "$ref": "#/definitions/integerRange", "title": "Duration", "description": "The effect duration in ticks.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] }, "visible": { "title": "Visible", @@ -1088,7 +1280,17 @@ "type": "object", "additionalProperties": { "description": "An advancement ID.", - "type": ["boolean", "object"], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ], "additionalProperties": { "type": "boolean" } @@ -1104,7 +1306,17 @@ "$ref": "#/definitions/integerRange", "title": "Level", "description": "The level of the player.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] }, "recipes": { "title": "Recipes", @@ -1146,7 +1358,17 @@ "$ref": "#/definitions/integerRange", "title": "Value", "description": "The value of the statistic.", - "type": ["integer", "object"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] } } } diff --git a/src/schemas/json/minecraft-recipe.json b/src/schemas/json/minecraft-recipe.json index d70e9b67920..20e0843449b 100644 --- a/src/schemas/json/minecraft-recipe.json +++ b/src/schemas/json/minecraft-recipe.json @@ -81,7 +81,14 @@ "title": "key", "description": "All keys used for this shaped crafting recipe.", "additionalProperties": { - "type": ["object", "array"], + "anyOf": [ + { + "type": "object" + }, + { + "type": "array" + } + ], "description": "The ingredient corresponding to this key.", "properties": { "item": { @@ -319,7 +326,14 @@ "$ref": "#/definitions/ingredient", "title": "ingredients", "description": "The ingredients.", - "type": ["object", "array"], + "anyOf": [ + { + "type": "object" + }, + { + "type": "array" + } + ], "items": { "$ref": "#/definitions/ingredient" } diff --git a/src/schemas/json/minecraft-template-pool.json b/src/schemas/json/minecraft-template-pool.json index f0ba665656a..d241f14b374 100644 --- a/src/schemas/json/minecraft-template-pool.json +++ b/src/schemas/json/minecraft-template-pool.json @@ -61,7 +61,14 @@ "processors": { "title": "Processors", "description": "The namespaced ID of a processor if this is a string.", - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "properties": { "processors": { "title": "Processors", @@ -113,7 +120,14 @@ "processors": { "title": "Processors", "description": "The namespaced ID of a processor if this is a string.", - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "properties": { "processors": { "title": "Processors", diff --git a/src/schemas/json/package.json b/src/schemas/json/package.json index 2c191825bdb..541ca85dce2 100644 --- a/src/schemas/json/package.json +++ b/src/schemas/json/package.json @@ -381,7 +381,8 @@ }, "version": { "description": "Version must be parsable by node-semver, which is bundled with npm as a dependency.", - "type": "string" + "type": "string", + "minLength": 1 }, "description": { "description": "This helps people discover your package, as it's listed in 'npm search'.", diff --git a/src/schemas/json/thunderbird-extension.json b/src/schemas/json/thunderbird-extension.json index 04592499398..3e8677f696b 100644 --- a/src/schemas/json/thunderbird-extension.json +++ b/src/schemas/json/thunderbird-extension.json @@ -1322,7 +1322,14 @@ "type": "string" }, "icon": { - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "additionalProperties": false, "patternProperties": { "^[1-9]\\d+$": { diff --git a/src/schemas/json/webextension.json b/src/schemas/json/webextension.json index e9d12b7dca4..e95a20d3da4 100644 --- a/src/schemas/json/webextension.json +++ b/src/schemas/json/webextension.json @@ -1269,7 +1269,14 @@ "type": "string" }, "icon": { - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "additionalProperties": false, "patternProperties": { "^[1-9]\\d+$": { diff --git a/src/schemas/json/xs-app.json b/src/schemas/json/xs-app.json index 10da9908095..2ffe2270853 100644 --- a/src/schemas/json/xs-app.json +++ b/src/schemas/json/xs-app.json @@ -4,7 +4,14 @@ "$comment": "Based on xs-app-schema.json from @sap/approuter v23. Source: /lib/configuration/schemas/xs-app-schema.json within @sap/approuter", "definitions": { "sourceSchema": { - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "minLength": 1, "format": "regex", "additionalProperties": false, @@ -21,7 +28,17 @@ "required": ["path"] }, "scopesSchema": { - "type": ["string", "array", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + }, + { + "type": "object" + } + ], "minProperties": 1, "additionalProperties": false, "properties": { @@ -64,7 +81,14 @@ } }, "scopeTemplate": { - "type": ["string", "array"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ], "minLength": 1, "minItems": 1, "items": { @@ -73,7 +97,14 @@ } }, "hostPatternSchema": { - "type": ["string", "object"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], "minLength": 1, "additionalProperties": true }, @@ -434,7 +465,14 @@ "oneOf": [{ "required": ["file"] }, { "required": ["path"] }], "properties": { "status": { - "type": ["integer", "array"], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "array" + } + ], "minimum": 1, "minItems": 1, "uniqueItems": true, diff --git a/src/schemas/json/yamllint.json b/src/schemas/json/yamllint.json index 543c54ab51c..30305900168 100644 --- a/src/schemas/json/yamllint.json +++ b/src/schemas/json/yamllint.json @@ -10,11 +10,25 @@ "type": "object", "properties": { "ignore": { - "type": ["string", "array"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ], "items": { "type": "string" } }, "ignore-from-file": { - "type": ["string", "array"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ], "items": { "type": "string" } } },