UNPKG

long-git-cli

Version:

A CLI tool for Git tag management.

41 lines 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseTag = parseTag; exports.incrementVersion = incrementVersion; exports.formatTag = formatTag; exports.compareVersions = compareVersions; /** 解析 tag 字符串,提取版本号信息 */ function parseTag(tag) { const match = tag.match(/^test-v(\d+)\.(\d+)\.(\d{4})$/); if (!match) { throw new Error(`无效的 tag 格式: ${tag},期望格式: test-v00.00.0000`); } return { version: tag, major: parseInt(match[1], 10), minor: parseInt(match[2], 10), patch: parseInt(match[3], 10), build: parseInt(match[3], 10) }; } /** 递增版本号,将 build 和 patch 版本号加 1 */ function incrementVersion(tagInfo) { return { ...tagInfo, build: tagInfo.build + 1, patch: tagInfo.build + 1 }; } /** 格式化版本信息为 tag 字符串 */ function formatTag(tagInfo) { return `test-v${tagInfo.major.toString().padStart(2, '0')}.${tagInfo.minor.toString().padStart(2, '0')}.${tagInfo.build.toString().padStart(4, '0')}`; } /** 比较两个版本号的大小 */ function compareVersions(a, b) { if (a.major !== b.major) return a.major - b.major; if (a.minor !== b.minor) return a.minor - b.minor; return a.build - b.build; } //# sourceMappingURL=tag.js.map