From 219bed15bf766199ad6d0f30c28ff9babb9e02db Mon Sep 17 00:00:00 2001 From: saberzero1 Date: Wed, 18 Mar 2026 01:17:10 +0100 Subject: [PATCH] chore: updated plugin schema definition --- quartz/plugins/quartz-plugins.schema.json | 33 +++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/quartz/plugins/quartz-plugins.schema.json b/quartz/plugins/quartz-plugins.schema.json index 563cebcf0..2afbd1287 100644 --- a/quartz/plugins/quartz-plugins.schema.json +++ b/quartz/plugins/quartz-plugins.schema.json @@ -191,8 +191,37 @@ "additionalProperties": false, "properties": { "source": { - "type": "string", - "description": "Plugin source path or identifier. Supports github:user/repo, git+https://, and https:// URLs. Append #ref to pin to a specific branch or tag (e.g., github:user/repo#my-branch). Local file paths (e.g., ./my-plugin, ../sibling-plugin, /absolute/path) are also supported for local development or airgapped environments." + "oneOf": [ + { + "type": "string", + "description": "Plugin source path or identifier. Supports github:user/repo, git+https://, and https:// URLs. Append #ref to pin to a specific branch or tag (e.g., github:user/repo#my-branch). Local file paths (e.g., ./my-plugin, ../sibling-plugin, /absolute/path) are also supported for local development or airgapped environments." + }, + { + "type": "object", + "required": ["repo"], + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "description": "Override name for the plugin directory. If omitted, the name is derived from the repository URL." + }, + "repo": { + "type": "string", + "description": "Git repository URL (e.g., https://github.com/user/repo.git). Supports the same URL formats as the string source." + }, + "subdir": { + "type": "string", + "description": "Subdirectory within the repository containing the plugin. Used when the plugin is not at the repository root." + }, + "ref": { + "type": "string", + "description": "Git ref (branch or tag) to pin to. If omitted, the default branch is used." + } + }, + "description": "Object source with explicit repo URL and optional subdirectory, ref, and name overrides for monorepo-style plugins." + } + ], + "description": "Plugin source: either a string path/identifier or an object with repo/subdir configuration." }, "enabled": { "type": "boolean",