DenReg/cli/commands/bump.ts
2020-07-28 19:43:58 +02:00

39 lines
867 B
TypeScript

import { Colors } from "../deps.ts";
import { getMeta, setMeta } from "../global.ts";
export default async function bump(
options: any,
type: "minor" | "major" | "patch"
) {
const meta = await getMeta();
let [major = 0, minor = 0, patch = 0] = meta.version.split(".").map(Number);
switch (type) {
case "major":
major++;
minor = 0;
patch = 0;
break;
case "minor":
minor++;
patch = 0;
break;
case "patch":
patch++;
break;
default:
throw new Error("type must be either major, minor or patch");
}
const newVersion = [major, minor, patch].join(".");
console.log(
"Bumping version from",
Colors.blue(meta.version),
"to",
Colors.blue(newVersion)
);
meta.version = newVersion;
await setMeta(meta);
}