import { getReleasesMdFile, loadRepo, VersionFile } from "./repo.ts";
const repo = await loadRepo();const versionFile = new VersionFile();const currentVersion = versionFile.version;const newVersion = versionFile.version.inc(getVersionIncrementKind());
console.log(`Bumping version from ${currentVersion} to ${newVersion}...`);versionFile.updateVersion(newVersion);
const releasesMdFile = getReleasesMdFile();const versionGitLog = await getGitLogFromLastVersion();releasesMdFile.updateWithGitLog({ gitLog: versionGitLog, version: newVersion.toString(),});
await repo.runCommandWithOutput(["deno", "fmt", "Releases.md"]);
function getVersionIncrementKind() { if (Deno.args.some((a) => a === "--patch")) { return "patch"; } else if (Deno.args.some((a) => a === "--minor")) { return "minor"; } else if (Deno.args.some((a) => a === "--major")) { return "major"; } else { throw new Error("Please provide a --patch, --minor, or --major flag."); }}
async function getGitLogFromLastVersion() { await repo.gitFetchTags("upstream"); await repo.gitFetchHistory("upstream");
return await repo.getGitLogFromTags( "upstream", currentVersion.toString(), undefined, );}