@dappnode/dappnodesdk
Version:
dappnodesdk is a tool to make the creation of new dappnode packages as simple as possible. It helps to initialize and publish in ethereum blockchain
37 lines • 1.28 kB
JavaScript
import { YargsError } from "../../params.js";
import { releaseTypes } from "../../types.js";
const typesList = releaseTypes.join(" | ");
export function parseReleaseType({ type }) {
const tag = process.env.TRAVIS_TAG || process.env.GITHUB_REF;
const typeFromEnv = process.env.RELEASE_TYPE;
/**
* Custom options to pass the type argument
*/
if (!type) {
if (typeFromEnv)
type = typeFromEnv;
if (tag === null || tag === void 0 ? void 0 : tag.includes("release"))
type = parseReleaseTypeFromTag(tag);
}
if (!type && typeFromEnv) {
type = typeFromEnv;
}
if (!type && (tag === null || tag === void 0 ? void 0 : tag.includes("release"))) {
type = parseReleaseTypeFromTag(tag);
}
validateReleaseType(type);
return type;
}
function parseReleaseTypeFromTag(tag) {
return (tag.split("release/")[1] || "patch");
}
/**
* Make sure the release type exists and is correct
*/
function validateReleaseType(type) {
if (!type)
throw new YargsError(`Missing required argument [type]: ${typesList}`);
if (!releaseTypes.includes(type))
throw new YargsError(`Invalid release type "${type}", must be: ${typesList}`);
}
//# sourceMappingURL=parseReleaseType.js.map