Files
publish-action/src/version-utils.ts
T

26 lines
705 B
TypeScript
Raw Normal View History

2021-05-21 19:59:44 +03:00
import semverParse from 'semver/functions/parse';
import SemVer from 'semver/classes/semver';
export function isStableSemverVersion(version: SemVer): boolean {
return version.prerelease.length === 0;
2021-05-21 19:59:44 +03:00
}
export function getMajorTagFromFullTag(fullTag: string): string {
return fullTag.split('.')[0];
2021-05-21 19:59:44 +03:00
}
export function validateSemverVersionFromTag(tag: string): void {
const semverVersion = semverParse(tag);
if (!semverVersion) {
throw new Error(
`The '${tag}' doesn't satisfy semantic versioning specification`
);
}
2021-05-21 19:59:44 +03:00
if (!isStableSemverVersion(semverVersion)) {
throw new Error(
'It is not allowed to specify pre-release version to update the major tag'
);
}
2021-05-21 19:59:44 +03:00
}