ethers-rs/.github/workflows/release-tag-from.js

38 lines
1.1 KiB
JavaScript

const semver = require("semver");
const previousVersion = (currentVersion, releaseType) => {
const parsedVersion = semver.parse(currentVersion);
switch (releaseType) {
case "major": {
return `v${parsedVersion.major - 1}.0.0`;
}
case "minor": {
return `v${parsedVersion.major}.${parsedVersion.minor - 1}.0`;
}
case "patch": {
return `v${parsedVersion.major}.${parsedVersion.minor}.${
parsedVersion.patch - 1
}`;
}
case "alpha": {
return `v${parsedVersion.major}.${parsedVersion.minor}.${
parsedVersion.patch
}-alpha.${parsedVersion.prerelease[1] - 1}`;
}
case "beta": {
return `v${parsedVersion.major}.${parsedVersion.minor}.${
parsedVersion.patch
}-beta.${parsedVersion.prerelease[1] - 1}`;
}
case "rc": {
return `v${parsedVersion.major}.${parsedVersion.minor}.${
parsedVersion.patch
}-rc.${parsedVersion.prerelease[1] - 1}`;
}
}
};
const [currentVersion, releaseType] = process.argv.slice(-2);
console.log(previousVersion(currentVersion, releaseType));