@scaleway/changesets-renovate
Version:
Automatically create changesets for Renovate and pnpm catalogs
26 lines (25 loc) • 963 B
JavaScript
import { createChangeset } from "./createChangeset.js";
import { getBumpsFromGit, handleChangesetFile } from "./git-utils.js";
import { getPackagesNames } from "./utils.js";
import { simpleGit } from "simple-git";
//#region src/handle-packages.ts
/**
* Handle package.json changes (original Renovate flow)
*/
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 fileName = `.changeset/renovate-${(await simpleGit().revparse(["--short", "HEAD"])).trim()}.md`;
await createChangeset(fileName, await getBumpsFromGit(files), packageNames);
await handleChangesetFile(fileName);
}
//#endregion
export { handlePackageChanges };