@scaleway/changesets-renovate
Version:
Automatically create changesets for Renovate and pnpm catalogs
25 lines (24 loc) • 942 B
JavaScript
import { simpleGit } from "simple-git";
import { createChangeset } from "./createChangeset.js";
import { getBumpsFromGit, handleChangesetFile } from "./git-utils.js";
import { getPackagesNames } from "./utils.js";
async function handlePackageChanges(diffFiles) {
const files = diffFiles.filter((file) => file.includes("package.json"));
if (files.length === 0) {
console.log("No package.json changes to published packages, skipping");
return;
}
const packageNames = await getPackagesNames(files);
if (packageNames.length === 0) {
console.log("No packages modified, skipping");
return;
}
const shortHash = (await simpleGit().revparse(["--short", "HEAD"])).trim();
const fileName = `.changeset/renovate-${shortHash}.md`;
const packageBumps = await getBumpsFromGit(files);
await createChangeset(fileName, packageBumps, packageNames);
await handleChangesetFile(fileName);
}
export {
handlePackageChanges
};