Version Extraction Algorithm
The Starlight Plugin Show Latest Version plugin fetches the latest release of your package as specified in the source
configuration option.
Regex Pattern
The Starlight Plugin Show Latest Version plugin uses a regex pattern to extract the version (and prerelease). The default pattern is:
/^(?:v|[^0-9\s]*@)?v?(?<version>[0-9]+\.[0-9]+\.[0-9]+)(?:-(?<prerelease>[0-9A-Za-z]+(?:\.[0-9A-Za-z]+)*))?(?![-.]|[^-\w.])$/;
You can override the pattern using the regexPattern
configuration option.
Supported tag_name
s
The tag_name
can be one of the following formats which will produce these badges:
1.2.3
→ v1.2.310.20.30
→ v10.20.30v1.2.3
→ v1.2.3[email protected]
→ v1.2.3[email protected]
→ v1.2.3[email protected]
→ v1.2.3feature/[email protected]
→ v1.2.31.2.3-rc.1
→ v1.2.3-rc.1[email protected]
→ v1.2.3-beta.2v1.2.3-alpha.34
→ v1.2.3-alpha.34[email protected]
→ v1.2.3-rc.11.2.3-alpha
→ v1.2.3-alpha1.2.3-beta
→ v1.2.3-beta1.2.3-rc
→ v1.2.3-rc1.2.3-feature.test
→ v1.2.3-feature.test1.2.3-long.complex.prerelease.tag
→ v1.2.3-long.complex.prerelease.tag
Invalid tag_name
s
Here are examples of tag_name
formats which would not be supported by the default version extraction algorithm:
1.2
→ no semantic versioning because it is missing the third numberv1.2
→ no semantic versioning because it is missing the third number1.2.
→ invalid version format, incompletev1.2.
→ invalid version format, incomplete1.2.3.4
→ too many version segments1.2.3.
→ invalid version format, trailing dotv1.2.3.4
→ too many version segments1.2.3-
→ invalid prerelease format1.2.3-.rc
→ invalid prerelease format1.2.3-rc.
→ invalid prerelease format1.2.3--rc
→ invalid prerelease formatrandom-text
→ non-version string
→ empty string123
→ non-version stringv1.2.3-special!char
→ invalid version format with special characters1.2.3-pre release
→ invalid version format due to space