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

35 lines
981 B
JavaScript

import enquirer from "enquirer";
import semver from "semver";
const SEMVER_INCREMENTS = ["patch", "minor", "major"];
const CUSTOM_VERSION_VALUE_PLACEHOLDER = "custom-version";
export default async function chooseVersion(params) {
let version = await new enquirer.Select({
name: "version",
message: `Choose a version to release (current: ${params.previousVersion})`,
choices: [
...SEMVER_INCREMENTS.map((type) => {
const version = semver.inc(params.previousVersion, type);
return {
message: `${type}: ${version}`,
value: version,
};
}),
{ role: "separator" },
{ message: "Other", value: CUSTOM_VERSION_VALUE_PLACEHOLDER },
],
}).run();
if (version === CUSTOM_VERSION_VALUE_PLACEHOLDER) {
({ version } = await enquirer.prompt({
type: "input",
name: "version",
message: `Input version (current: ${params.previousVersion})`,
}));
}
params.version = version;
}