From 40b08f73256b200985fbccfdc05803bd2b792ee8 Mon Sep 17 00:00:00 2001 From: Oli Juhl <59018053+olivermrbl@users.noreply.github.com> Date: Fri, 11 Apr 2025 10:18:31 +0200 Subject: [PATCH] chore: Patch changesets to avoid major bumps (#12151) --- .yarn/patches/changesets.patch | 47 ++++++++++++++++++++++++++++++++++ package.json | 3 ++- yarn.lock | 14 ++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 .yarn/patches/changesets.patch diff --git a/.yarn/patches/changesets.patch b/.yarn/patches/changesets.patch new file mode 100644 index 0000000000..94949bce2f --- /dev/null +++ b/.yarn/patches/changesets.patch @@ -0,0 +1,47 @@ +diff --git a/dist/changesets-assemble-release-plan.cjs.js b/dist/changesets-assemble-release-plan.cjs.js +index ee5c0f67fabadeb112e9f238d8b144a4d125830f..c475255224dc1ebde360c1bd31e8fdd285dd8336 100644 +--- a/dist/changesets-assemble-release-plan.cjs.js ++++ b/dist/changesets-assemble-release-plan.cjs.js +@@ -206,6 +206,10 @@ function shouldBumpMajor({ + preInfo, + onlyUpdatePeerDependentsWhenOutOfRange + }) { ++ // Disable major bumps for peerDependencies ++ if (depType === "peerDependencies") { ++ return false; ++ } + // we check if it is a peerDependency because if it is, our dependent bump type might need to be major. + return depType === "peerDependencies" && nextRelease.type !== "none" && nextRelease.type !== "patch" && ( // 1. If onlyUpdatePeerDependentsWhenOutOfRange set to true, bump major if the version is leaving the range. + // 2. If onlyUpdatePeerDependentsWhenOutOfRange set to false, bump major regardless whether or not the version is leaving the range. +diff --git a/src/determine-dependents.ts b/src/determine-dependents.ts +index 08c08127ccfb5974d81b3ace592fced5b68aeaf7..4f7a86c34bd944aa0e8225190e0f4f5b6207c961 100644 +--- a/src/determine-dependents.ts ++++ b/src/determine-dependents.ts +@@ -1,13 +1,13 @@ +-import semverSatisfies from "semver/functions/satisfies"; + import { ++ Config, + DependencyType, + PackageJSON, + VersionType, +- Config, + } from "@changesets/types"; + import { Package } from "@manypkg/get-packages"; +-import { InternalRelease, PreInfo } from "./types"; ++import semverSatisfies from "semver/functions/satisfies"; + import { incrementVersion } from "./increment"; ++import { InternalRelease, PreInfo } from "./types"; + + /* + WARNING: +@@ -223,6 +223,10 @@ function shouldBumpMajor({ + preInfo: PreInfo | undefined; + onlyUpdatePeerDependentsWhenOutOfRange: boolean; + }) { ++ // Disable major bumps for peerDependencies ++ if (depType === "peerDependencies") { ++ return false; ++ } + // we check if it is a peerDependency because if it is, our dependent bump type might need to be major. + return ( + depType === "peerDependencies" && diff --git a/package.json b/package.json index 0575a952b7..cd2059760a 100644 --- a/package.json +++ b/package.json @@ -82,6 +82,7 @@ "resolutions": { "@redocly/cli/react": "^17.0.1", "@redocly/cli/react-dom": "^17.0.1", - "pg": "8.11.3" + "pg": "8.11.3", + "@changesets/assemble-release-plan@^6.0.0": "patch:@changesets/assemble-release-plan@npm:^6.0.0#.yarn/patches/changesets.patch" } } diff --git a/yarn.lock b/yarn.lock index 32b003824e..e386399c5f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2995,6 +2995,20 @@ __metadata: languageName: node linkType: hard +"@changesets/assemble-release-plan@patch:@changesets/assemble-release-plan@npm:^6.0.0#.yarn/patches/changesets.patch::locator=root%40workspace%3A.": + version: 6.0.0 + resolution: "@changesets/assemble-release-plan@patch:@changesets/assemble-release-plan@npm%3A6.0.0#.yarn/patches/changesets.patch::version=6.0.0&hash=d9ce1e&locator=root%40workspace%3A." + dependencies: + "@babel/runtime": ^7.20.1 + "@changesets/errors": ^0.2.0 + "@changesets/get-dependents-graph": ^2.0.0 + "@changesets/types": ^6.0.0 + "@manypkg/get-packages": ^1.1.3 + semver: ^7.5.3 + checksum: 30adac69c1aaa4e3905e4336560f2dfbe413e8215f56d9b7c2f3802242c228f7b38c911b120f74594b082091e9a483bcfbcff53ecaa8b15cee3809f462de196c + languageName: node + linkType: hard + "@changesets/changelog-git@npm:^0.2.0": version: 0.2.0 resolution: "@changesets/changelog-git@npm:0.2.0"