diff --git a/src/schema-validation.jsonc b/src/schema-validation.jsonc index 377b564d3c9..3c94e004cef 100644 --- a/src/schema-validation.jsonc +++ b/src/schema-validation.jsonc @@ -3,7 +3,6 @@ "ajvNotStrictMode": [ "abc-clinical-demand-forecast-5.1.0.json", "abc-supply-plan-14.1.0.json", - "appsettings.json", "aurora-1.0.json", "aurora-1.1.json", "aurora-1.2.json", @@ -35,7 +34,6 @@ "codeship-steps.json", "commitlintrc.json", "compile-commands.json", - "creatomic.json", "dart-test.json", "datalogic-scan2deploy-android.json", "datalogic-scan2deploy-ce.json", @@ -115,7 +113,6 @@ "gaspar-1.0.json", "gaspar-3.0.json", "github-action.json", - "github-funding.json", "github-workflow.json", "helmfile.json", "hemtt-0.6.2.json", @@ -147,7 +144,6 @@ "mprocs-0.6.4.json", "nest-cli.json", "netlify.json", - "nightwatch.json", "now.json", "nuget-project-3.3.0.json", "nuget-project.json", @@ -190,12 +186,10 @@ "renovate-global-schema-43.json", "renovate-inherited-schema-42.json", "renovate-inherited-schema-43.json", - "resjson.json", "sarif-1.0.0.json", "sigmacv.json", "size-limit.json", "solidaritySchema.json", - "sprite.json", "stylelintrc.json", "taurus.json", "template.json", @@ -237,10 +231,6 @@ "lsdlschema-3.1.json", "lsdlschema-3.2.json", "lsdlschema-3.3.json", - "lsdlschema-3.4.json", - "lsdlschema-3.5.json", - "lsdlschema-4.0.json", - "lsdlschema-4.1.json", "lsdlschema.json", "nodemon.json", "openhab-5.1.json", diff --git a/src/schemas/json/appsettings.json b/src/schemas/json/appsettings.json index fd03461a93d..187878a95d8 100644 --- a/src/schemas/json/appsettings.json +++ b/src/schemas/json/appsettings.json @@ -36,6 +36,7 @@ } }, "pwa": { + "type": "object", "properties": { "cacheId": { "description": "The cache identifier of the service worker (can be any string). Change this property to force the service worker to reload in browsers.", @@ -70,6 +71,7 @@ } }, "ElmahIo": { + "type": "object", "properties": { "ApiKey": { "description": "An elmah.io API key with the Messages | Write permission.", @@ -285,6 +287,7 @@ "$ref": "#/definitions/logLevel" }, "Console": { + "type": "object", "properties": { "LogLevel": { "$ref": "#/definitions/logLevel" @@ -322,6 +325,7 @@ } }, "EventSource": { + "type": "object", "properties": { "LogLevel": { "$ref": "#/definitions/logLevel" @@ -329,6 +333,7 @@ } }, "Debug": { + "type": "object", "properties": { "LogLevel": { "$ref": "#/definitions/logLevel" @@ -336,6 +341,7 @@ } }, "EventLog": { + "type": "object", "properties": { "LogLevel": { "$ref": "#/definitions/logLevel" @@ -343,6 +349,7 @@ } }, "ElmahIo": { + "type": "object", "properties": { "LogLevel": { "$ref": "#/definitions/logLevel" @@ -350,6 +357,7 @@ } }, "ElmahIoBreadcrumbs": { + "type": "object", "properties": { "LogLevel": { "$ref": "#/definitions/logLevel" @@ -393,7 +401,14 @@ "default": false }, "throwConfigExceptions": { - "type": ["boolean", "null"], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "description": "Throws an exception when there is a config error? If not set, then throwExceptions will be used for this setting.", "default": false }, @@ -469,7 +484,17 @@ }, "patternProperties": { ".*": { - "type": ["number", "string", "boolean"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] } } }, @@ -691,15 +716,16 @@ "additionalProperties": false }, "MinimumLevel": { - "type": ["string", "object"], "title": "Minimum LogLevel Threshold", "description": "Minimum LogLevel Threshold. (Support dynamic reload if the underlying IConfigurationProvider supports it)", "oneOf": [ { - "$ref": "#/definitions/Serilog/definitions/SerilogLogEventLevel" + "$ref": "#/definitions/Serilog/definitions/SerilogLogEventLevel", + "type": "string" }, { - "$ref": "#/definitions/Serilog/definitions/DetailedMinimumLevel" + "$ref": "#/definitions/Serilog/definitions/DetailedMinimumLevel", + "type": "object" } ] }, @@ -886,7 +912,17 @@ "required": ["Name"] }, "MethodCallReferenceItem": { - "type": ["string", "object", "null"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + }, + { + "type": "null" + } + ], "oneOf": [ { "$ref": "#/definitions/Serilog/definitions/CSharpMethodName" @@ -897,17 +933,27 @@ ] }, "MethodCallReference": { - "type": ["array", "string", "object"], - "minLength": 1, - "pattern": "^(?[a-zA-Z_]\\w*)$", - "minItems": 1, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Serilog/definitions/MethodCallReferenceItem" - }, - "additionalProperties": { - "$ref": "#/definitions/Serilog/definitions/MethodCallReferenceItem" - } + "anyOf": [ + { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/Serilog/definitions/MethodCallReferenceItem" + } + }, + { + "type": "string", + "minLength": 1, + "pattern": "^(?[a-zA-Z_]\\w*)$" + }, + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Serilog/definitions/MethodCallReferenceItem" + } + } + ] }, "CSharpMethodName": { "type": "string", diff --git a/src/schemas/json/creatomic.json b/src/schemas/json/creatomic.json index 4060c06a03a..06b6a570c99 100644 --- a/src/schemas/json/creatomic.json +++ b/src/schemas/json/creatomic.json @@ -1,6 +1,6 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "https://json.schemastore.org/creatomic.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://json.schemastore.org/creatomic.json", "properties": { "tslint.enable": { "type": "boolean", @@ -14,10 +14,17 @@ "scope": "resource" }, "tslint.rulesDirectory": { - "type": ["string", "array"], - "items": { - "type": "string" - }, + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], "description": "An additional rules directory", "default": "", "scope": "resource" @@ -41,10 +48,17 @@ "scope": "resource" }, "tslint.exclude": { - "type": ["string", "array"], - "items": { - "type": "string" - }, + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], "description": "Configure glob patterns of file paths to exclude from linting", "scope": "resource" }, @@ -62,10 +76,17 @@ "scope": "resource" }, "tslint.autoFixOnSave": { - "type": ["boolean", "array"], - "items": { - "type": "string" - }, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], "default": false, "description": "Turns auto fix on save on or off, or defines which rules (e.g. `no-var-keyword`) to auto fix on save.", "scope": "resource" diff --git a/src/schemas/json/github-workflow.json b/src/schemas/json/github-workflow.json index c5abb097f1d..11f4f97cb48 100644 --- a/src/schemas/json/github-workflow.json +++ b/src/schemas/json/github-workflow.json @@ -288,6 +288,10 @@ "statuses": { "$ref": "#/definitions/permissions-level" }, + "vulnerability-alerts": { + "type": "string", + "enum": ["read", "none"] + }, "copilot-requests": { "type": "string", "enum": ["write"] diff --git a/src/schemas/json/label-commenter-config.json b/src/schemas/json/label-commenter-config.json index 68992519f97..e0da0aa4b3b 100644 --- a/src/schemas/json/label-commenter-config.json +++ b/src/schemas/json/label-commenter-config.json @@ -1,5 +1,6 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://json.schemastore.org/label-commenter-config.json", "$comment": "https://github.com/peaceiris/actions-label-commenter", "definitions": { "labelItem": { @@ -51,7 +52,6 @@ } }, "description": "Configuration for Actions Label Commenter, for posting messages triggered by labels.", - "id": "https://json.schemastore.org/label-commenter-config.json", "properties": { "comment": { "title": "Comment", @@ -72,6 +72,7 @@ "type": "array", "items": { "$ref": "#/definitions/labelType", + "type": "object", "title": "Label", "properties": { "name": { diff --git a/src/schemas/json/lsdlschema-0.7.json b/src/schemas/json/lsdlschema-0.7.json index 3d61601d2ae..3cd4c7e8436 100644 --- a/src/schemas/json/lsdlschema-0.7.json +++ b/src/schemas/json/lsdlschema-0.7.json @@ -7,7 +7,7 @@ "properties": { "Version": { "description": "Version of LSDL", - "enum": ["0.7.0"] + "const": "0.7.0" }, "Language": { "description": "Target language for the linguistic schema", @@ -388,7 +388,7 @@ "properties": { "Type": { "description": "The part of speech of the term", - "enum": ["Noun"] + "const": "Noun" }, "State": { "$ref": "#/definitions/state", diff --git a/src/schemas/json/lsdlschema-1.0.json b/src/schemas/json/lsdlschema-1.0.json index 892b4d193a1..cca6896abc8 100644 --- a/src/schemas/json/lsdlschema-1.0.json +++ b/src/schemas/json/lsdlschema-1.0.json @@ -7,7 +7,7 @@ "properties": { "Version": { "description": "Version of LSDL", - "enum": ["1.0.0"] + "const": "1.0.0" }, "Language": { "description": "Target language for the linguistic schema", @@ -412,7 +412,7 @@ "properties": { "Type": { "description": "The part of speech of the term", - "enum": ["Noun"] + "const": "Noun" }, "State": { "$ref": "#/definitions/state", diff --git a/src/schemas/json/lsdlschema-2.0.json b/src/schemas/json/lsdlschema-2.0.json index 40cd54ae078..48d384da82f 100644 --- a/src/schemas/json/lsdlschema-2.0.json +++ b/src/schemas/json/lsdlschema-2.0.json @@ -7,7 +7,7 @@ "properties": { "Version": { "description": "Version of LSDL", - "enum": ["2.0.0"] + "const": "2.0.0" }, "Language": { "description": "Target language for the linguistic schema", diff --git a/src/schemas/json/lsdlschema-3.0.json b/src/schemas/json/lsdlschema-3.0.json index 9e90b3db2ef..368c9144ab3 100644 --- a/src/schemas/json/lsdlschema-3.0.json +++ b/src/schemas/json/lsdlschema-3.0.json @@ -7,7 +7,7 @@ "properties": { "Version": { "description": "Version of LSDL", - "enum": ["3.0.0"] + "const": "3.0.0" }, "Language": { "description": "Target language for the linguistic schema", diff --git a/src/schemas/json/lsdlschema-3.1.json b/src/schemas/json/lsdlschema-3.1.json index dcb466b9599..fc78a9bda72 100644 --- a/src/schemas/json/lsdlschema-3.1.json +++ b/src/schemas/json/lsdlschema-3.1.json @@ -7,7 +7,7 @@ "properties": { "Version": { "description": "Version of LSDL", - "enum": ["3.1.0"] + "const": "3.1.0" }, "Language": { "description": "Target language for the linguistic schema", diff --git a/src/schemas/json/lsdlschema-3.2.json b/src/schemas/json/lsdlschema-3.2.json index 61aedd6fa44..c83439bafe6 100644 --- a/src/schemas/json/lsdlschema-3.2.json +++ b/src/schemas/json/lsdlschema-3.2.json @@ -7,7 +7,7 @@ "properties": { "Version": { "description": "Version of LSDL", - "enum": ["3.2.0"] + "const": "3.2.0" }, "Language": { "description": "Target language for the linguistic schema", diff --git a/src/schemas/json/lsdlschema-3.3.json b/src/schemas/json/lsdlschema-3.3.json index 4e4257e8873..ec4f31beaeb 100644 --- a/src/schemas/json/lsdlschema-3.3.json +++ b/src/schemas/json/lsdlschema-3.3.json @@ -7,7 +7,7 @@ "properties": { "Version": { "description": "Version of LSDL", - "enum": ["3.3.0"] + "const": "3.3.0" }, "Language": { "description": "Target language for the linguistic schema", diff --git a/src/schemas/json/lsdlschema-3.4.json b/src/schemas/json/lsdlschema-3.4.json index 5f0f62c7869..ac409bb02c6 100644 --- a/src/schemas/json/lsdlschema-3.4.json +++ b/src/schemas/json/lsdlschema-3.4.json @@ -7,7 +7,7 @@ "properties": { "Version": { "description": "Version of LSDL", - "enum": ["3.4.0"] + "const": "3.4.0" }, "Language": { "description": "Target language for the linguistic schema", diff --git a/src/schemas/json/lsdlschema-3.5.json b/src/schemas/json/lsdlschema-3.5.json index f4587d06800..4cb30459850 100644 --- a/src/schemas/json/lsdlschema-3.5.json +++ b/src/schemas/json/lsdlschema-3.5.json @@ -7,7 +7,7 @@ "properties": { "Version": { "description": "Version of LSDL", - "enum": ["3.5.0"] + "const": "3.5.0" }, "Language": { "description": "Target language for the linguistic schema", diff --git a/src/schemas/json/lsdlschema-4.0.json b/src/schemas/json/lsdlschema-4.0.json index abfaab51ce1..27f715d1ece 100644 --- a/src/schemas/json/lsdlschema-4.0.json +++ b/src/schemas/json/lsdlschema-4.0.json @@ -7,7 +7,7 @@ "properties": { "Version": { "description": "Version of LSDL", - "enum": ["4.0.0"] + "const": "4.0.0" }, "Language": { "description": "Target language for the linguistic schema", diff --git a/src/schemas/json/lsdlschema-4.1.json b/src/schemas/json/lsdlschema-4.1.json index d11c68cf756..9e4233a01c0 100644 --- a/src/schemas/json/lsdlschema-4.1.json +++ b/src/schemas/json/lsdlschema-4.1.json @@ -7,7 +7,7 @@ "properties": { "Version": { "description": "Version of LSDL", - "enum": ["4.1.0"] + "const": "4.1.0" }, "Language": { "description": "Target language for the linguistic schema", diff --git a/src/schemas/json/nightwatch.json b/src/schemas/json/nightwatch.json index e48a29285dc..1dd80c132c5 100644 --- a/src/schemas/json/nightwatch.json +++ b/src/schemas/json/nightwatch.json @@ -1,30 +1,67 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "https://json.schemastore.org/nightwatch.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://json.schemastore.org/nightwatch.json", "properties": { "custom_commands_path": { - "type": ["null", "string", "array"], + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "Location(s) where custom commands will be loaded from.", - "items": { - "type": "string" - }, "default": null }, "custom_assertions_path": { - "type": ["null", "string", "array"], + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "Location(s) where custom assertions will be loaded from.", - "items": { - "type": "string" - }, "default": null }, "page_objects_path": { - "type": ["null", "string", "array"], + "anyOf": [ + { + "type": "array" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "Location(s) where page object files will be loaded from.", "default": null }, "globals_path": { - "type": ["null", "string"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "Location of an external globals module which will be loaded and made available to the test as a property globals on the main client instance.", "default": null }, @@ -100,11 +137,21 @@ "default": "tests_output" }, "src_folders": { - "type": ["null", "string", "array"], + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "A string or array of folders (excluding subfolders) where the tests are located.", - "items": { - "type": "string" - }, "default": null }, "live_output": { @@ -131,14 +178,35 @@ "default": false }, "cli_args": { - "type": ["object", "array"] + "anyOf": [ + { + "type": "array" + }, + { + "type": "object" + } + ] }, "server_path": { - "type": ["null", "string"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null }, "log_path": { - "type": ["string", "boolean"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + } + ], "default": "" }, "port": {}, @@ -170,25 +238,46 @@ "description": "Skip the remaining test cases from the current test suite, when one test case fails." }, "test_workers": { - "type": ["boolean", "object"], - "description": "Whether or not to run individual test files in parallel.", - "default": false, - "properties": { - "enabled": { + "anyOf": [ + { "type": "boolean" }, - "workers": { - "type": ["string", "number"], - "description": "Automatically compute the number of workers based on CPU cores with \"auto\" or manually specify the number of workers" - }, - "node_options": { - "type": ["string", "array"], - "description": "Pass node arguments to individual workers (all of the process.execArgv using \"auto\" or selectively pass node arguments via [\"--inspect\"])", - "items": { - "type": "string" + { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "workers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Automatically compute the number of workers based on CPU cores with \"auto\" or manually specify the number of workers" + }, + "node_options": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ], + "description": "Pass node arguments to individual workers (all of the process.execArgv using \"auto\" or selectively pass node arguments via [\"--inspect\"])" + } } } - } + ], + "description": "Whether or not to run individual test files in parallel.", + "default": false }, "test_runner": { "type": "string", @@ -204,10 +293,24 @@ "default": false }, "cli_args": { - "type": ["object", "array"] + "anyOf": [ + { + "type": "array" + }, + { + "type": "object" + } + ] }, "server_path": { - "type": ["null", "string"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null }, "log_path": { @@ -302,15 +405,29 @@ } }, "exclude": { - "type": ["null", "array"], + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ], "description": "An array of folders or file patterns to be skipped (relative to the main source folder).", - "items": { - "type": "string" - }, "default": null }, "filter": { - "type": ["null", "string"], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "Folder or file pattern to be used when loading the tests. Files that don't match this pattern will be ignored.", "default": null }, diff --git a/src/schemas/json/resjson.json b/src/schemas/json/resjson.json index 19be6f7a9b1..4a8b676d4bc 100644 --- a/src/schemas/json/resjson.json +++ b/src/schemas/json/resjson.json @@ -1,21 +1,12 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - "additionalProperties": { - "minProperties": 1, - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/resource" - } - ] - }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://json.schemastore.org/resjson.json", + "$ref": "#/definitions/resource", "definitions": { "resource": { "type": "object", + "minProperties": 1, "additionalProperties": { - "minProperties": 1, "anyOf": [ { "type": "string" @@ -27,7 +18,6 @@ } } }, - "id": "https://json.schemastore.org/resjson.json", "title": "JSON schema for Windows resource files (.resjson)", "type": "object" } diff --git a/src/schemas/json/sprite.json b/src/schemas/json/sprite.json index d90a5e3c9d7..99ceaa557dc 100644 --- a/src/schemas/json/sprite.json +++ b/src/schemas/json/sprite.json @@ -1,14 +1,21 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://json.schemastore.org/sprite.json", "description": "Schema for image sprite generation files", - "id": "https://json.schemastore.org/sprite.json", "properties": { "customstyles": { "description": "Define custom CSS declarations to inject into the generated stylesheet.", "type": "object", "additionalProperties": { - "description": "A custom CSS declaration (property: value).", - "type": ["string", "number"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "A custom CSS declaration (property: value)." } }, "dpi": {