From 08ae3c34a9591783614eecaa9fb0ee71a467ddc3 Mon Sep 17 00:00:00 2001 From: Ismael Navarro-Fuentes Date: Fri, 1 Aug 2025 16:04:08 -0700 Subject: [PATCH 1/8] Add Map Definition --- fabric/item/map/definition/1.0.0/schema.json | 205 +++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 fabric/item/map/definition/1.0.0/schema.json diff --git a/fabric/item/map/definition/1.0.0/schema.json b/fabric/item/map/definition/1.0.0/schema.json new file mode 100644 index 00000000..f18f6182 --- /dev/null +++ b/fabric/item/map/definition/1.0.0/schema.json @@ -0,0 +1,205 @@ +{ + "$id": "https://developer.microsoft.com/json-schemas/fabric/item/map/definition/1.0.0/schema.json", + "$schema": "https://json-schema.org/draft-07/schema#", + "title": "Map Definition", + "type": "object", + "additionalProperties": false, + "properties": { + "schema": { + "type": "string", + "description": "The schema version for the map definition" + }, + "basemap": { + "type": "object", + "description": "Configuration for the base map settings", + "additionalProperties": false, + "properties": { + "options": { + "type": ["string", "null"], + "description": "Options for the map" + }, + "controls": { + "type": "object", + "description": "Map control settings", + "additionalProperties": false, + "properties": { + "zoom": { + "type": ["boolean", "null"], + "description": "Enable zoom control" + }, + "pitch": { + "type": ["boolean", "null"], + "description": "Enable pitch control" + }, + "compass": { + "type": ["boolean", "null"], + "description": "Enable compass control" + }, + "fullscreen": { + "type": ["boolean", "null"], + "description": "Enable fullscreen control" + }, + "scale": { + "type": ["boolean", "null"], + "description": "Enable scale control" + }, + "traffic": { + "type": ["boolean", "null"], + "description": "Enable traffic control" + } + } + }, + "backgroundColor": { + "type": ["string", "null"], + "description": "Background color of the map" + }, + "theme": { + "type": ["string", "null"], + "description": "Theme for the map" + } + } + }, + "dataSources": { + "type": "object", + "description": "Data sources for the map", + "additionalProperties": false, + "properties": { + "lakehouses": { + "type": "array", + "description": "Array of lakehouse data sources", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "workspaceId": { + "type": "string", + "description": "The workspace ID of the lakehouse", + "format": "uuid" + }, + "artifactId": { + "type": "string", + "description": "The artifact ID of the lakehouse", + "format": "uuid" + } + }, + "required": ["workspaceId", "artifactId"] + } + }, + "kqlDataBases": { + "type": "array", + "description": "Array of KQL database data sources", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "workspaceId": { + "type": "string", + "description": "The workspace ID of the KQL database", + "format": "uuid" + }, + "artifactId": { + "type": "string", + "description": "The artifact ID of the KQL database", + "format": "uuid" + } + }, + "required": ["workspaceId", "artifactId"] + } + } + } + }, + "layerSources": { + "type": "array", + "description": "Array of layer sources for the map", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the layer source", + "format": "uuid" + }, + "name": { + "type": "string", + "description": "Name of the layer source" + }, + "type": { + "type": "string", + "description": "Type of the layer source" + }, + "options": { + "type": ["string", "null"], + "description": "Options for the layer source" + }, + "parentArtifactId": { + "type": "string", + "description": "ID of the parent artifact", + "format": "uuid" + }, + "relativePath": { + "type": ["string", "null"], + "description": "Relative path to the data source" + }, + "querysetTabId": { + "type": ["string", "null"], + "description": "ID of the queryset and tab in format 'querysetId_tabId'", + "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}_[0-9a-zA-Z]+$" + }, + "latitudeColumnName": { + "type": ["string", "null"], + "description": "Name of the latitude column" + }, + "longitudeColumnName": { + "type": ["string", "null"], + "description": "Name of the longitude column" + }, + "geometryColumnName": { + "type": ["string", "null"], + "description": "Name of the geometry column" + }, + "refreshIntervalMs": { + "type": "integer", + "description": "Refresh interval in milliseconds", + "minimum": 0 + } + }, + "required": ["id", "name", "type", "parentArtifactId", "refreshIntervalMs"] + } + }, + "layerSettings": { + "type": "array", + "description": "Array of layer settings for the map", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the layer", + "format": "uuid" + }, + "name": { + "type": "string", + "description": "Name of the layer" + }, + "sourceId": { + "type": "string", + "description": "ID of the associated layer source", + "format": "uuid" + }, + "sourceLayerId": { + "type": ["string", "null"], + "description": "ID of the specific layer within the source" + }, + "options": { + "type": "string", + "description": "Options for the layer rendering" + } + }, + "required": ["id", "name", "sourceId", "options"] + } + } + }, + "required": ["schemaVersion"] +} From 1d0876d38afd06fd7cf2f5e77cf38a399a7a1f1a Mon Sep 17 00:00:00 2001 From: Ismael Navarro-Fuentes Date: Mon, 4 Aug 2025 17:05:44 -0700 Subject: [PATCH 2/8] Update definition --- fabric/item/map/definition/1.0.0/schema.json | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/fabric/item/map/definition/1.0.0/schema.json b/fabric/item/map/definition/1.0.0/schema.json index f18f6182..8d7eb667 100644 --- a/fabric/item/map/definition/1.0.0/schema.json +++ b/fabric/item/map/definition/1.0.0/schema.json @@ -35,10 +35,6 @@ "type": ["boolean", "null"], "description": "Enable compass control" }, - "fullscreen": { - "type": ["boolean", "null"], - "description": "Enable fullscreen control" - }, "scale": { "type": ["boolean", "null"], "description": "Enable scale control" @@ -164,7 +160,7 @@ "minimum": 0 } }, - "required": ["id", "name", "type", "parentArtifactId", "refreshIntervalMs"] + "required": ["id", "name", "type", "parentArtifactId"] } }, "layerSettings": { @@ -197,9 +193,9 @@ "description": "Options for the layer rendering" } }, - "required": ["id", "name", "sourceId", "options"] + "required": ["id", "name", "sourceId"] } } }, - "required": ["schemaVersion"] + "required": ["schema"] } From 3ccf63a998fa3c303a59edc373139b550a625011 Mon Sep 17 00:00:00 2001 From: Ismael Navarro-Fuentes Date: Tue, 5 Aug 2025 10:45:04 -0700 Subject: [PATCH 3/8] Add dollar sign prefix to schema --- fabric/item/map/definition/1.0.0/schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fabric/item/map/definition/1.0.0/schema.json b/fabric/item/map/definition/1.0.0/schema.json index 8d7eb667..04276710 100644 --- a/fabric/item/map/definition/1.0.0/schema.json +++ b/fabric/item/map/definition/1.0.0/schema.json @@ -5,7 +5,7 @@ "type": "object", "additionalProperties": false, "properties": { - "schema": { + "$schema": { "type": "string", "description": "The schema version for the map definition" }, From 946f0b62e4e875513d91f8ef34e64140f9d91938 Mon Sep 17 00:00:00 2001 From: Ismael Navarro-Fuentes Date: Tue, 5 Aug 2025 17:16:20 -0700 Subject: [PATCH 4/8] Add "$" prefix to schema --- fabric/item/map/definition/1.0.0/schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fabric/item/map/definition/1.0.0/schema.json b/fabric/item/map/definition/1.0.0/schema.json index 04276710..51db421c 100644 --- a/fabric/item/map/definition/1.0.0/schema.json +++ b/fabric/item/map/definition/1.0.0/schema.json @@ -197,5 +197,5 @@ } } }, - "required": ["schema"] + "required": ["$schema"] } From 21fe0437d7def48d463c1994a03840d052d375e9 Mon Sep 17 00:00:00 2001 From: jameskanmsft Date: Wed, 24 Sep 2025 10:27:38 -0700 Subject: [PATCH 5/8] Add displayName and description to schema.json --- .../operationsAgents/definition/1.0.0/schema.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/fabric/item/operationsAgents/definition/1.0.0/schema.json b/fabric/item/operationsAgents/definition/1.0.0/schema.json index 0530241b..92b7b55a 100644 --- a/fabric/item/operationsAgents/definition/1.0.0/schema.json +++ b/fabric/item/operationsAgents/definition/1.0.0/schema.json @@ -87,16 +87,18 @@ "type": "string", "format": "uuid" }, + "displayName": { + "type": "string" + }, + "description": { + "type": "string" + }, "kind": { "type": "string", "enum": [ "PowerAutomateAction" ] }, - "workspaceId": { - "type": "string", - "format": "uuid" - }, "parameters": { "type": "array", "items": { @@ -109,6 +111,8 @@ }, "required": [ "id", + "displayName", + "description" "kind", "connection" ] From 461d062c9ada95b661784acd6d0fbcee926bc02c Mon Sep 17 00:00:00 2001 From: jameskanmsft Date: Wed, 24 Sep 2025 10:28:53 -0700 Subject: [PATCH 6/8] Fix schema.json to include 'description' in required fields --- fabric/item/operationsAgents/definition/1.0.0/schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fabric/item/operationsAgents/definition/1.0.0/schema.json b/fabric/item/operationsAgents/definition/1.0.0/schema.json index 92b7b55a..92f80a69 100644 --- a/fabric/item/operationsAgents/definition/1.0.0/schema.json +++ b/fabric/item/operationsAgents/definition/1.0.0/schema.json @@ -112,7 +112,7 @@ "required": [ "id", "displayName", - "description" + "description", "kind", "connection" ] From aa805caeb1d5f34c0cbc8d95c09f85d4cef62694 Mon Sep 17 00:00:00 2001 From: Nick Pape <5674316+nick-pape@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:03:31 -0500 Subject: [PATCH 7/8] Update title in webpack-patch-plugin configuration --- spfx-build/webpack-patch-plugin | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 spfx-build/webpack-patch-plugin diff --git a/spfx-build/webpack-patch-plugin b/spfx-build/webpack-patch-plugin new file mode 100644 index 00000000..754ff4b7 --- /dev/null +++ b/spfx-build/webpack-patch-plugin @@ -0,0 +1,25 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Webpack Patch Plugin Configuration (config/webpack-patch.json)", + "description": "Defines parameters for the Webpack Patch Plugin that applies custom patches to the base webpack configuration", + "type": "object", + "additionalProperties": false, + "properties": { + "$schema": { + "type": "string", + "description": "The JSON schema reference for this configuration file" + }, + "patchFiles": { + "title": "Patch Files", + "description": "A list of file paths (relative to the project root) that are webpack config patches. These patches will be applied in order after the base webpack config is generated. Each patch file must export a function with the signature: (config: WebpackConfiguration) => WebpackConfiguration | Promise", + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "description": "Relative path to a webpack config patch file" + }, + "uniqueItems": true, + "default": [] + } + } +} From e0599b307a37426dc54f14e879f029bf23c98e47 Mon Sep 17 00:00:00 2001 From: Nick Pape <5674316+nick-pape@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:05:42 -0500 Subject: [PATCH 8/8] Rename webpack-patch-plugin to webpack-patch.schema.json --- spfx-build/{webpack-patch-plugin => webpack-patch.schema.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename spfx-build/{webpack-patch-plugin => webpack-patch.schema.json} (100%) diff --git a/spfx-build/webpack-patch-plugin b/spfx-build/webpack-patch.schema.json similarity index 100% rename from spfx-build/webpack-patch-plugin rename to spfx-build/webpack-patch.schema.json