semver

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LatestPreReleases added in v0.2.0

type LatestPreReleases struct {
	Alpha *semver.Version
	Beta  *semver.Version
	RC    *semver.Version
}

LatestPreReleases contains the latest version for each pre-release type

type PreReleaseInfo added in v0.2.0

type PreReleaseInfo struct {
	Type   PreReleaseType
	Number int
}

PreReleaseInfo contains parsed pre-release information

type PreReleaseType added in v0.2.0

type PreReleaseType string

PreReleaseType represents the type of pre-release

const (
	PreReleaseAlpha PreReleaseType = "alpha"
	PreReleaseBeta  PreReleaseType = "beta"
	PreReleaseRC    PreReleaseType = "rc"
)

type VersionManager

type VersionManager struct{}

VersionManager 管理语义化版本

func NewVersionManager

func NewVersionManager() *VersionManager

NewVersionManager 创建一个新的 VersionManager

func (*VersionManager) BumpMajor

func (vm *VersionManager) BumpMajor(v *semver.Version) *semver.Version

BumpMajor 递增主版本号

func (*VersionManager) BumpMinor

func (vm *VersionManager) BumpMinor(v *semver.Version) *semver.Version

BumpMinor 递增次版本号

func (*VersionManager) BumpPatch

func (vm *VersionManager) BumpPatch(v *semver.Version) *semver.Version

BumpPatch 递增补丁版本号

func (*VersionManager) BumpPreRelease added in v0.2.0

func (vm *VersionManager) BumpPreRelease(v *semver.Version) (*semver.Version, error)

BumpPreRelease increments the pre-release number (alpha-1 → alpha-2)

func (*VersionManager) CalculateNewVersion

func (vm *VersionManager) CalculateNewVersion(current *semver.Version, bumpType string) (*semver.Version, error)

CalculateNewVersion 根据更新类型计算新版本号

func (*VersionManager) FindNextPreReleaseNumber added in v0.2.0

func (vm *VersionManager) FindNextPreReleaseNumber(versions []*semver.Version, baseVersion *semver.Version, preType PreReleaseType) int

FindNextPreReleaseNumber finds the next available number for a pre-release type

func (*VersionManager) FormatVersion

func (vm *VersionManager) FormatVersion(v *semver.Version) string

FormatVersion 格式化版本号为 vX.Y.Z 格式

func (*VersionManager) GetAllPreReleasesForBase added in v0.2.0

func (vm *VersionManager) GetAllPreReleasesForBase(versions []*semver.Version, baseVersion *semver.Version) []*semver.Version

GetAllPreReleasesForBase returns all pre-release versions for a given base version, sorted

func (*VersionManager) GetLatestPreReleases added in v0.2.0

func (vm *VersionManager) GetLatestPreReleases(versions []*semver.Version, baseVersion *semver.Version) *LatestPreReleases

GetLatestPreReleases returns the latest version for each pre-release type for a given base version

func (*VersionManager) GetLatestStableVersion added in v0.2.0

func (vm *VersionManager) GetLatestStableVersion(versions []*semver.Version) *semver.Version

GetLatestStableVersion returns the latest stable (non-pre-release) version

func (*VersionManager) GetLatestVersion

func (vm *VersionManager) GetLatestVersion(versions []*semver.Version) *semver.Version

GetLatestVersion 获取最新版本,如果没有版本则返回 v0.0.0

func (*VersionManager) GetPreReleaseInfo added in v0.2.0

func (vm *VersionManager) GetPreReleaseInfo(v *semver.Version) *PreReleaseInfo

GetPreReleaseInfo parses the pre-release suffix and returns type and number Expected format: alpha-1, beta-2, rc-1

func (*VersionManager) IsPreRelease added in v0.2.0

func (vm *VersionManager) IsPreRelease(v *semver.Version) bool

IsPreRelease checks if a version has a pre-release suffix

func (*VersionManager) NextPreReleaseStage added in v0.2.0

func (vm *VersionManager) NextPreReleaseStage(v *semver.Version) (*semver.Version, error)

NextPreReleaseStage advances the pre-release stage (alpha → beta → rc)

func (*VersionManager) ParseTags

func (vm *VersionManager) ParseTags(tags []string) ([]*semver.Version, error)

ParseTags 解析 tags,返回符合 semver 格式的版本列表

func (*VersionManager) ReleaseStable added in v0.2.0

func (vm *VersionManager) ReleaseStable(v *semver.Version) (*semver.Version, error)

ReleaseStable removes the pre-release suffix to create a stable version

func (*VersionManager) SetPreRelease added in v0.2.0

func (vm *VersionManager) SetPreRelease(v *semver.Version, preType PreReleaseType, num int) (*semver.Version, error)

SetPreRelease creates a new version with the specified pre-release type and number

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL