2021-07-26 09:24:44 +08:00
|
|
|
import chalk from "chalk";
|
|
|
|
|
import semver from "semver";
|
2018-06-05 16:37:52 -03:00
|
|
|
|
2021-09-10 11:17:09 +09:00
|
|
|
export default function validateNewVersion({ version, previousVersion }) {
|
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 '${chalk.red.underline(version)}' specified`
|
|
|
|
|
);
|
2018-06-05 16:37:52 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!semver.gt(version, previousVersion)) {
|
2019-11-17 18:36:21 +08:00
|
|
|
throw new Error(
|
2022-10-14 17:17:47 +08:00
|
|
|
`Version '${chalk.yellow.underline(version)}' has already been published`
|
2019-11-17 18:36:21 +08:00
|
|
|
);
|
2018-06-05 16:37:52 -03:00
|
|
|
}
|
2021-07-26 09:24:44 +08:00
|
|
|
}
|