From bea13630d3674549722d63f1a62dc5553f1a061f Mon Sep 17 00:00:00 2001 From: Aidan Daly Date: Mon, 2 Mar 2026 16:56:49 -0500 Subject: [PATCH] fix: handle single-number preview format in version bump script --- scripts/bump-version.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/scripts/bump-version.ts b/scripts/bump-version.ts index c00d0b20..93c9c42c 100644 --- a/scripts/bump-version.ts +++ b/scripts/bump-version.ts @@ -18,6 +18,8 @@ * - 0.3.0 -> 0.3.0-preview.1.0 * - 0.3.0-preview.1.0 -> 0.3.0-preview.1.1 (preview) * - 0.3.0-preview.1.0 -> 0.3.0-preview.2.0 (preview-major) + * - 0.3.0-preview.3 -> 0.3.0-preview.3.1 (preview, single-number compat) + * - 0.3.0-preview.3 -> 0.3.0-preview.4.0 (preview-major, single-number compat) */ import { execSync } from 'child_process'; import { existsSync, readFileSync, writeFileSync } from 'fs'; @@ -70,6 +72,19 @@ function parseVersion(version: string): ParsedVersion { }; } + // Match single-number preview format: X.Y.Z-preview.N (e.g., 0.3.0-preview.3) + // Treat as preview.N.0 for compatibility with the two-part format + const singlePreviewMatch = /^(\d+)\.(\d+)\.(\d+)-preview\.(\d+)$/.exec(version); + if (singlePreviewMatch) { + return { + major: parseInt(singlePreviewMatch[1]!, 10), + minor: parseInt(singlePreviewMatch[2]!, 10), + patch: parseInt(singlePreviewMatch[3]!, 10), + previewMajor: parseInt(singlePreviewMatch[4]!, 10), + previewMinor: 0, + }; + } + // Match standard versions like: 1.2.3, 1.2.3-beta.1, 1.2.3-rc.0 const match = /^(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z]+)\.(\d+))?$/.exec(version);