Files
test-repo/scripts/release/steps/validate-new-version.js
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

28 lines
715 B
JavaScript
Raw Normal View History

import styleText from "node-style-text";
2021-07-26 09:24:44 +08:00
import semver from "semver";
2018-06-05 16:37:52 -03:00
2023-12-17 22:51:37 +09:00
export default function validateNewVersion({ version, previousVersion, next }) {
2022-10-14 17:17:47 +08:00
if (!version) {
throw new Error("'--version' is required");
}
2018-06-05 16:37:52 -03:00
if (!semver.valid(version)) {
2022-10-14 17:17:47 +08:00
throw new Error(
`Invalid version '${styleText.red.underline(version)}' specified`,
2022-10-14 17:17:47 +08:00
);
2018-06-05 16:37:52 -03:00
}
if (!semver.gt(version, previousVersion)) {
2019-11-17 18:36:21 +08:00
throw new Error(
`Version '${styleText.yellow.underline(version)}' has already been published`,
2019-11-17 18:36:21 +08:00
);
2018-06-05 16:37:52 -03:00
}
2023-12-17 22:51:37 +09:00
if (next && semver.prerelease(version) === null) {
throw new Error(
`Version '${styleText.yellow.underline(
2023-12-17 22:51:37 +09:00
version,
)}' is not a prerelease version`,
);
}
2021-07-26 09:24:44 +08:00
}