Skip to content

Commit 2abe5f5

Browse files
committed
Fix changesets patch to ignore peerDependency bumps for fixed RR packages
1 parent 540626b commit 2abe5f5

File tree

3 files changed

+34
-13
lines changed

3 files changed

+34
-13
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@
118118
"pnpm": {
119119
"patchedDependencies": {
120120
"@changesets/[email protected]": "patches/@[email protected]",
121-
"@changesets/assemble-release-plan@5.2.4": "patches/@changesets__assemble-release-plan@5.2.4.patch"
121+
"@changesets/assemble-release-plan": "patches/@changesets__assemble-release-plan.patch"
122122
},
123123
"overrides": {
124124
"workerd": "1.20240614.0"

patches/@[email protected] patches/@changesets__assemble-release-plan.patch

+27-6
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,59 @@
11
diff --git a/dist/assemble-release-plan.cjs.dev.js b/dist/assemble-release-plan.cjs.dev.js
2-
index e1376ca756d69816f8c79637ee7b45161f092167..d9dc4c17cc90bc31794956a603f0baf6c5fee0d9 100644
2+
index e1376ca756d69816f8c79637ee7b45161f092167..314c42e8c39a34dacc3ed0c10bc7e62ca46de7d3 100644
33
--- a/dist/assemble-release-plan.cjs.dev.js
44
+++ b/dist/assemble-release-plan.cjs.dev.js
5-
@@ -257,7 +257,7 @@ function shouldBumpMajor({
5+
@@ -254,10 +254,16 @@ function shouldBumpMajor({
6+
preInfo,
7+
onlyUpdatePeerDependentsWhenOutOfRange
8+
}) {
9+
+ // PATCH: Don't do peerDependency-driven major bumps because we release in lock step
10+
+ if (nextRelease.name === "react-router" || nextRelease.name.startsWith('@react-router/')) {
11+
+ return false;
12+
+ }
13+
+
614
// we check if it is a peerDependency because if it is, our dependent bump type might need to be major.
715
return depType === "peerDependencies" && nextRelease.type !== "none" && nextRelease.type !== "patch" && ( // 1. If onlyUpdatePeerDependentsWhenOutOfRange set to true, bump major if the version is leaving the range.
816
// 2. If onlyUpdatePeerDependentsWhenOutOfRange set to false, bump major regardless whether or not the version is leaving the range.
917
- !onlyUpdatePeerDependentsWhenOutOfRange || !semverSatisfies__default['default'](incrementVersion(nextRelease, preInfo), versionRange)) && ( // bump major only if the dependent doesn't already has a major release.
18+
+ // PATCH: pass includePrerelease to incrementVersion()
1019
+ !onlyUpdatePeerDependentsWhenOutOfRange || !semverSatisfies__default['default'](incrementVersion(nextRelease, preInfo), versionRange, { includePrerelease: true })) && ( // bump major only if the dependent doesn't already has a major release.
1120
!releases.has(dependent) || releases.has(dependent) && releases.get(dependent).type !== "major");
1221
}
1322

1423
diff --git a/dist/assemble-release-plan.cjs.prod.js b/dist/assemble-release-plan.cjs.prod.js
15-
index 3a83720644a94cdf6e62fa188a72c51c0384d00e..b3ce3ce688c16cafe92fc16569a7850ea644b904 100644
24+
index 3a83720644a94cdf6e62fa188a72c51c0384d00e..273f6bb9b46cf166f9d72058e524b4f3cbc05957 100644
1625
--- a/dist/assemble-release-plan.cjs.prod.js
1726
+++ b/dist/assemble-release-plan.cjs.prod.js
18-
@@ -130,7 +130,7 @@ function getDependencyVersionRanges(dependentPkgJSON, dependencyRelease) {
27+
@@ -130,7 +130,10 @@ function getDependencyVersionRanges(dependentPkgJSON, dependencyRelease) {
1928
}
2029

2130
function shouldBumpMajor({dependent: dependent, depType: depType, versionRange: versionRange, releases: releases, nextRelease: nextRelease, preInfo: preInfo, onlyUpdatePeerDependentsWhenOutOfRange: onlyUpdatePeerDependentsWhenOutOfRange}) {
2231
- return "peerDependencies" === depType && "none" !== nextRelease.type && "patch" !== nextRelease.type && (!onlyUpdatePeerDependentsWhenOutOfRange || !semverSatisfies__default.default(incrementVersion(nextRelease, preInfo), versionRange)) && (!releases.has(dependent) || releases.has(dependent) && "major" !== releases.get(dependent).type);
32+
+ if (nextRelease.name === "react-router" || nextRelease.name.startsWith('@react-router/')) {
33+
+ return false;
34+
+ }
2335
+ return "peerDependencies" === depType && "none" !== nextRelease.type && "patch" !== nextRelease.type && (!onlyUpdatePeerDependentsWhenOutOfRange || !semverSatisfies__default.default(incrementVersion(nextRelease, preInfo), versionRange, { includePrerelease: true })) && (!releases.has(dependent) || releases.has(dependent) && "major" !== releases.get(dependent).type);
2436
}
2537

2638
function flattenReleases(changesets, packagesByName, ignoredPackages) {
2739
diff --git a/dist/assemble-release-plan.esm.js b/dist/assemble-release-plan.esm.js
28-
index 62891eb5dee97a33e6587514267c3cde5b314830..d183129242ce8582ce2e7a40d507b46f51583427 100644
40+
index 62891eb5dee97a33e6587514267c3cde5b314830..9a70c1ac86f530dc0cb3857d202675ed23d694b5 100644
2941
--- a/dist/assemble-release-plan.esm.js
3042
+++ b/dist/assemble-release-plan.esm.js
31-
@@ -246,7 +246,7 @@ function shouldBumpMajor({
43+
@@ -243,10 +243,16 @@ function shouldBumpMajor({
44+
preInfo,
45+
onlyUpdatePeerDependentsWhenOutOfRange
46+
}) {
47+
+ // PATCH: Don't do peerDependency-driven major bumps because we release in lock step
48+
+ if (nextRelease.name === "react-router" || nextRelease.name.startsWith('@react-router/')) {
49+
+ return false;
50+
+ }
51+
+
3252
// we check if it is a peerDependency because if it is, our dependent bump type might need to be major.
3353
return depType === "peerDependencies" && nextRelease.type !== "none" && nextRelease.type !== "patch" && ( // 1. If onlyUpdatePeerDependentsWhenOutOfRange set to true, bump major if the version is leaving the range.
3454
// 2. If onlyUpdatePeerDependentsWhenOutOfRange set to false, bump major regardless whether or not the version is leaving the range.
3555
- !onlyUpdatePeerDependentsWhenOutOfRange || !semverSatisfies(incrementVersion(nextRelease, preInfo), versionRange)) && ( // bump major only if the dependent doesn't already has a major release.
56+
+ // PATCH: pass includePrerelease to incrementVersion()
3657
+ !onlyUpdatePeerDependentsWhenOutOfRange || !semverSatisfies(incrementVersion(nextRelease, preInfo), versionRange, { includePrerelease: true })) && ( // bump major only if the dependent doesn't already has a major release.
3758
!releases.has(dependent) || releases.has(dependent) && releases.get(dependent).type !== "major");
3859
}

pnpm-lock.yaml

+6-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)