From fdd911a12621e95e1e6cda5de4ba71a6baa562b2 Mon Sep 17 00:00:00 2001 From: Smartsheet-JB-Brown Date: Fri, 23 May 2025 16:21:53 -0700 Subject: [PATCH] fix: Add semver format validation for version field - Add regex validation to ensure version field follows semver format - Fixes schema validation test for invalid version format - Supports major.minor.patch format with optional pre-release and build metadata --- src/services/marketplace/schemas.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/services/marketplace/schemas.ts b/src/services/marketplace/schemas.ts index 5793bccd2d..54da7c0bb1 100644 --- a/src/services/marketplace/schemas.ts +++ b/src/services/marketplace/schemas.ts @@ -7,7 +7,9 @@ export const baseMetadataSchema = z.object({ id: z.string().optional(), name: z.string().min(1, "Name is required"), description: z.string(), - version: z.string(), + version: z + .string() + .refine((v) => /^\d+\.\d+\.\d+(?:-[\w.-]+)?(?:\+[\w.-]+)?$/.test(v), "Version must be in semver format"), binaryUrl: z.string().url("Binary URL must be a valid URL").optional(), binaryHash: z.string().optional(), tags: z.array(z.string()).optional(),