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

46 lines
1.2 KiB
JavaScript
Raw Normal View History

2018-06-05 16:37:52 -03:00
"use strict";
2018-06-05 19:10:27 -03:00
const execa = require("execa");
2018-08-08 23:49:22 +08:00
const semver = require("semver");
const { logPromise, readJson, writeJson } = require("../utils");
2018-06-05 16:37:52 -03:00
async function format() {
2020-03-21 18:48:04 +02:00
await execa("yarn", ["lint:eslint", "--fix"]);
await execa("yarn", ["lint:prettier", "--write"]);
2018-06-05 16:37:52 -03:00
}
async function commit(version) {
2018-06-05 19:10:27 -03:00
await execa("git", [
2018-06-05 16:37:52 -03:00
"commit",
"-am",
2020-03-21 22:07:52 +02:00
`Bump Prettier dependency to ${version}`,
2018-06-05 16:37:52 -03:00
]);
2018-06-05 19:10:27 -03:00
await execa("git", ["push"]);
2018-06-05 16:37:52 -03:00
}
2018-08-08 23:49:22 +08:00
async function bump({ version, previousVersion, previousVersionOnMaster }) {
const pkg = await readJson("package.json");
if (semver.diff(version, previousVersion) === "patch") {
pkg.version = previousVersionOnMaster; // restore the `-dev` version
} else {
pkg.version = semver.inc(version, "minor") + "-dev";
}
await writeJson("package.json", pkg, { spaces: 2 });
}
2020-03-21 22:07:52 +02:00
module.exports = async function (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",
2018-06-05 19:10:27 -03:00
execa("yarn", ["add", "--dev", `prettier@${version}`])
2018-06-05 16:37:52 -03:00
);
await logPromise("Updating files", format());
2018-08-08 23:49:22 +08:00
await logPromise("Bump master version", bump(params));
2018-06-05 16:37:52 -03:00
await logPromise("Committing changed files", commit(version));
};