Files
test-repo/scripts/release/steps/bump-prettier.js
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

54 lines
1.6 KiB
JavaScript
Raw Normal View History

2021-07-26 09:24:44 +08:00
import fs from "node:fs";
import semver from "semver";
import { runYarn, runGit, logPromise, readJson, writeJson } from "../utils.js";
2018-06-05 16:37:52 -03:00
async function format() {
2021-04-21 22:15:12 +08:00
await runYarn(["lint:eslint", "--fix"]);
await runYarn(["lint:prettier", "--write"]);
2018-06-05 16:37:52 -03:00
}
async function commit(version) {
2021-04-21 22:15:12 +08:00
await runGit(["commit", "-am", `Bump Prettier dependency to ${version}`]);
2020-10-18 09:05:28 +08:00
// Add rev to `.git-blame-ignore-revs` file
const file = ".git-blame-ignore-revs";
const mark = "# Prettier bump after release";
2021-04-21 22:15:12 +08:00
const { stdout: rev } = await runGit(["rev-parse", "HEAD"]);
2020-10-18 09:05:28 +08:00
let text = fs.readFileSync(file, "utf8");
text = text.replace(mark, `${mark}\n# ${version}\n${rev}`);
fs.writeFileSync(file, text);
2021-04-21 22:15:12 +08:00
await runGit(["commit", "-am", `Git blame ignore ${version}`]);
2020-10-18 09:05:28 +08:00
2021-04-21 22:15:12 +08:00
await runGit(["push"]);
2018-06-05 16:37:52 -03:00
}
2021-01-24 01:14:13 +08:00
async function bump({
version,
previousVersion,
previousVersionOnDefaultBranch,
}) {
2018-08-08 23:49:22 +08:00
const pkg = await readJson("package.json");
if (semver.diff(version, previousVersion) === "patch") {
2021-01-24 01:14:13 +08:00
pkg.version = previousVersionOnDefaultBranch; // restore the `-dev` version
2018-08-08 23:49:22 +08:00
} else {
pkg.version = semver.inc(version, "minor") + "-dev";
}
await writeJson("package.json", pkg, { spaces: 2 });
}
export default async function bumpPrettier(params) {
2018-08-08 23:49:22 +08:00
const { dry, version } = params;
2018-06-05 16:37:52 -03:00
if (dry) {
return;
}
await logPromise(
"Installing Prettier",
2021-04-21 22:15:12 +08:00
runYarn(["add", "--dev", `prettier@${version}`])
2018-06-05 16:37:52 -03:00
);
await logPromise("Updating files", format());
2021-06-05 19:36:33 +09:00
await logPromise("Bump default branch version", bump(params));
2018-06-05 16:37:52 -03:00
await logPromise("Committing changed files", commit(version));
2021-07-26 09:24:44 +08:00
}