diff --git a/spfx/adaptive-card-extension-manifest.schema.json b/spfx/adaptive-card-extension-manifest.schema.json index 79ee3c07..76db91a8 100644 --- a/spfx/adaptive-card-extension-manifest.schema.json +++ b/spfx/adaptive-card-extension-manifest.schema.json @@ -1,5 +1,5 @@ { - "id": "adaptive-card-extension-manifest.schema.json", + "$id": "adaptive-card-extension-manifest.schema.json", "title": "Adaptive Card Extension manifest", "description": "All Adaptive Card Extension built on the SharePoint framework need a valid component manifest. This interface represents properties that are required by all types of BaseAdaptiveCardExtension. Adaptive Card Extension specific manifests will extend this interface to add properties required by that component type.", "definitions": { diff --git a/spfx/any-value.schema.json b/spfx/any-value.schema.json index daf98d1d..236c6c85 100644 --- a/spfx/any-value.schema.json +++ b/spfx/any-value.schema.json @@ -1,5 +1,5 @@ { - "id": "any-value.schema.json", + "$id": "any-value.schema.json", "type": ["array", "boolean", "integer", "number", "object", "string"], "items": { diff --git a/spfx/client-side-application-manifest.schema.json b/spfx/client-side-application-manifest.schema.json index 02e46fa3..6186780e 100644 --- a/spfx/client-side-application-manifest.schema.json +++ b/spfx/client-side-application-manifest.schema.json @@ -1,5 +1,5 @@ { - "id": "client-side-application-manifest.schema.json", + "$id": "client-side-application-manifest.schema.json", "title": "Client-side application manifest", "description": "A client-side application is the architectural component that manages the appearance and behavior of an entire web page.", diff --git a/spfx/client-side-assembly-manifest.schema.json b/spfx/client-side-assembly-manifest.schema.json index c2ce1e9c..0598c194 100644 --- a/spfx/client-side-assembly-manifest.schema.json +++ b/spfx/client-side-assembly-manifest.schema.json @@ -1,5 +1,5 @@ { - "id": "client-side-assembly-manifest.schema.json", + "$id": "client-side-assembly-manifest.schema.json", "title": "Client-side assembly manifest", "description": "A client-side assembly is a standalone-executable bundle containing a component, the loader, and all of their dependencies.", diff --git a/spfx/client-side-component-loader-configuration.schema.json b/spfx/client-side-component-loader-configuration.schema.json index c336573e..ef1fc990 100644 --- a/spfx/client-side-component-loader-configuration.schema.json +++ b/spfx/client-side-component-loader-configuration.schema.json @@ -1,5 +1,5 @@ { - "id": "client-side-component-loader-configuration.schema.json", + "$id": "client-side-component-loader-configuration.schema.json", "title": "Client-side component manifest", "description": "All client side components built on the SharePoint framework need a valid component manifest. This interface represents properties that are required by all types of client side components like Applications and Web Parts. Component specific manifests will extend this interface to add properties required by that component type.", diff --git a/spfx/client-side-component-manifest.schema.json b/spfx/client-side-component-manifest.schema.json index 8cb7471b..a26ef18d 100644 --- a/spfx/client-side-component-manifest.schema.json +++ b/spfx/client-side-component-manifest.schema.json @@ -1,5 +1,5 @@ { - "id": "client-side-component-manifest.schema.json", + "$id": "client-side-component-manifest.schema.json", "title": "Client-side component manifest", "description": "All client side components built on the SharePoint framework need a valid component manifest. This interface represents properties that are required by all types of client side components like Applications and Web Parts. Component specific manifests will extend this interface to add properties required by that component type.", "definitions": { diff --git a/spfx/client-side-extension-manifest.schema.json b/spfx/client-side-extension-manifest.schema.json index 8d899875..81194006 100644 --- a/spfx/client-side-extension-manifest.schema.json +++ b/spfx/client-side-extension-manifest.schema.json @@ -1,5 +1,5 @@ { - "id": "client-side-extension-manifest.schema.json", + "$id": "client-side-extension-manifest.schema.json", "title": "Client-side extension manifest", "description": "A client-side extension is a plug-in component that customizes or augments the functionality of a client-side application.", diff --git a/spfx/client-side-library-manifest.schema.json b/spfx/client-side-library-manifest.schema.json index 278b091c..25cd6e76 100644 --- a/spfx/client-side-library-manifest.schema.json +++ b/spfx/client-side-library-manifest.schema.json @@ -1,5 +1,5 @@ { - "id": "client-side-library-manifest.schema.json", + "$id": "client-side-library-manifest.schema.json", "title": "Client-side library manifest", "description": "A client-side library is a library containing reusable JavaScript code and/or resources.", diff --git a/spfx/client-side-manifest-base.schema.json b/spfx/client-side-manifest-base.schema.json index f08c701d..a13c3416 100644 --- a/spfx/client-side-manifest-base.schema.json +++ b/spfx/client-side-manifest-base.schema.json @@ -1,5 +1,5 @@ { - "id": "client-side-manifest-base.schema.json", + "$id": "client-side-manifest-base.schema.json", "title": "Client-side component manifest base", "description": "Properties common to all deployable manifests.", diff --git a/spfx/client-side-multi-version-manifest.schema.json b/spfx/client-side-multi-version-manifest.schema.json index 783dc2b1..658e2ece 100644 --- a/spfx/client-side-multi-version-manifest.schema.json +++ b/spfx/client-side-multi-version-manifest.schema.json @@ -1,5 +1,5 @@ { - "id": "client-side-multi-version-manifest.schema.json", + "$id": "client-side-multi-version-manifest.schema.json", "title": "Client-side multi-version manifest", "description": "Multi-version manifests are defined by this schema.", diff --git a/spfx/client-side-web-part-manifest.schema.json b/spfx/client-side-web-part-manifest.schema.json index 990126a1..e1c9e568 100644 --- a/spfx/client-side-web-part-manifest.schema.json +++ b/spfx/client-side-web-part-manifest.schema.json @@ -1,5 +1,5 @@ { - "id": "client-side-web-part-manifest.schema.json", + "$id": "client-side-web-part-manifest.schema.json", "title": "Client-side webpart manifest", "description": "A client-side webpart is a control that is part of the end user page authoring experience or exposed in Teams as an app.", diff --git a/spfx/command-set-extension-manifest.schema.json b/spfx/command-set-extension-manifest.schema.json index a9871b8e..81aba8cc 100644 --- a/spfx/command-set-extension-manifest.schema.json +++ b/spfx/command-set-extension-manifest.schema.json @@ -1,5 +1,5 @@ { - "id": "command-set-extension-manifest.schema.json", + "$id": "command-set-extension-manifest.schema.json", "title": "Command set extension manifest", "description": "A client-side extension that defines a set of custom commands that can be shown in a menu, tool bar, etc.", @@ -8,7 +8,10 @@ { "type": "object", "properties": { - "$schema": { "type": "string" }, + "$schema": { + "type": "string", + "minLength": 1 + }, "manifestVersion": { "$ref": "any-value.schema.json" }, "id": { "$ref": "any-value.schema.json" }, @@ -55,9 +58,9 @@ }, "type": { "type": "string", - "enum": ["command"], + "enum": ["command", "group"], "title": "Type", - "description": "Type of the item. Currently only \"command\" is allowed." + "description": "Type of the item. Use 'command' for executable commands, or 'group' for containers that organize commands into submenus." }, "ariaLabel": { "title": "ARIA Label", @@ -66,8 +69,15 @@ }, "iconImageUrl": { "type": "string", + "minLength": 1, "title": "Icon Image URL", "description": "An optional URL for an image to be displayed next to the item. The requirements for this image are defined by the type of extension; some extension types may not display the image at all." + }, + "group": { + "type": "string", + "pattern": "^[A-Z0-9_]+$", + "title": "Group", + "description": "Optional ID of a parent group item this command/group belongs to. The parent must be defined in the same manifest with type 'group'. Maximum nesting depth is 2 levels." } }, "additionalProperties": false diff --git a/spfx/guid.schema.json b/spfx/guid.schema.json index 92d7d032..68c18cd0 100644 --- a/spfx/guid.schema.json +++ b/spfx/guid.schema.json @@ -1,5 +1,5 @@ { - "id": "guid.schema.json", + "$id": "guid.schema.json", "type": "string", "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" diff --git a/spfx/localized-string.schema.json b/spfx/localized-string.schema.json index 7ed6ff42..713feaee 100644 --- a/spfx/localized-string.schema.json +++ b/spfx/localized-string.schema.json @@ -1,5 +1,5 @@ { - "id": "localized-string.schema.json", + "$id": "localized-string.schema.json", "type": "object", "oneOf": [ diff --git a/spfx/prefab-app-manifest.schema.json b/spfx/prefab-app-manifest.schema.json index 5aa5b58b..9c8bf7ce 100644 --- a/spfx/prefab-app-manifest.schema.json +++ b/spfx/prefab-app-manifest.schema.json @@ -1,5 +1,5 @@ { - "id": "prefab-app-manifest.schema.json", + "$id": "prefab-app-manifest.schema.json", "title": "PREFAB application manifest", "description": "A PREFAB application is the architectural component that allows developers to declaratively specify behavior of a full page application.", diff --git a/spfx/semver.schema.json b/spfx/semver.schema.json index a2ad984c..bc06ee8c 100644 --- a/spfx/semver.schema.json +++ b/spfx/semver.schema.json @@ -1,5 +1,5 @@ { - "id": "semver.schema.json", + "$id": "semver.schema.json", "type": "string", "minLength": 5,