Skip to content

Commit 013d0eb

Browse files
committed
chore: patch changesets so if current linked package version is 0.0.0, it will use the highest linked version as new version
1 parent a29ecf3 commit 013d0eb

File tree

2 files changed

+96
-8
lines changed

2 files changed

+96
-8
lines changed

patches/@changesets__assemble-release-plan.patch

Lines changed: 92 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,24 @@
11
diff --git a/dist/changesets-assemble-release-plan.cjs.js b/dist/changesets-assemble-release-plan.cjs.js
2-
index e32a5e5d39c3bd920201b5694632d2b44c92d486..009b24b11165fca5f210e82fa2ab6dd879e2d5a2 100644
2+
index e32a5e5d39c3bd920201b5694632d2b44c92d486..7a71b816f8e2c4b2c12b4824b1520aae28c4be7a 100644
33
--- a/dist/changesets-assemble-release-plan.cjs.js
44
+++ b/dist/changesets-assemble-release-plan.cjs.js
5-
@@ -237,7 +237,7 @@ function determineDependents({
5+
@@ -143,10 +143,14 @@ function applyLinks(releases, packagesByName, linked) {
6+
linkedPackage.type = highestReleaseType;
7+
}
8+
9+
- if (linkedPackage.oldVersion !== highestVersion) {
10+
+ if (linkedPackage.oldVersion !== highestVersion && linkedPackage.oldVersion !== '0.0.0') {
11+
updated = true;
12+
linkedPackage.oldVersion = highestVersion;
13+
}
14+
+
15+
+ if (linkedPackage.oldVersion === '0.0.0') {
16+
+ linkedPackage.newVersion = highestVersion;
17+
+ }
18+
}
19+
}
20+
21+
@@ -237,7 +241,7 @@ function determineDependents({
622
preInfo,
723
onlyUpdatePeerDependentsWhenOutOfRange: config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange
824
})) {
@@ -11,11 +27,37 @@ index e32a5e5d39c3bd920201b5694632d2b44c92d486..009b24b11165fca5f210e82fa2ab6dd8
1127
} else if ((!releases.has(dependent) || releases.get(dependent).type === "none") && (config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.updateInternalDependents === "always" || !semverSatisfies__default["default"](incrementVersion(nextRelease, preInfo), versionRange))) {
1228
switch (depType) {
1329
case "dependencies":
30+
@@ -507,6 +511,9 @@ function getSnapshotVersion(release, preInfo, useCalculatedVersion, snapshotSuff
31+
}
32+
33+
function getNewVersion(release, preInfo) {
34+
+ if (release.oldVersion === "0.0.0" && 'newVersion' in release) {
35+
+ return release.newVersion;
36+
+ }
37+
if (release.type === "none") {
38+
return release.oldVersion;
39+
}
1440
diff --git a/dist/changesets-assemble-release-plan.esm.js b/dist/changesets-assemble-release-plan.esm.js
15-
index 221822a2e3ac86431b8aadeaf5f01eaee72a5c8e..b6a66643e171760b9624edeaa033097d8f6cd091 100644
41+
index 221822a2e3ac86431b8aadeaf5f01eaee72a5c8e..4fadfae06be91d7e4fa7f041c800cd031f3b696e 100644
1642
--- a/dist/changesets-assemble-release-plan.esm.js
1743
+++ b/dist/changesets-assemble-release-plan.esm.js
18-
@@ -226,7 +226,7 @@ function determineDependents({
44+
@@ -132,10 +132,14 @@ function applyLinks(releases, packagesByName, linked) {
45+
linkedPackage.type = highestReleaseType;
46+
}
47+
48+
- if (linkedPackage.oldVersion !== highestVersion) {
49+
+ if (linkedPackage.oldVersion !== highestVersion && linkedPackage.oldVersion !== '0.0.0') {
50+
updated = true;
51+
linkedPackage.oldVersion = highestVersion;
52+
}
53+
+
54+
+ if (linkedPackage.oldVersion === '0.0.0') {
55+
+ linkedPackage.newVersion = highestVersion;
56+
+ }
57+
}
58+
}
59+
60+
@@ -226,7 +230,7 @@ function determineDependents({
1961
preInfo,
2062
onlyUpdatePeerDependentsWhenOutOfRange: config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange
2163
})) {
@@ -24,6 +66,37 @@ index 221822a2e3ac86431b8aadeaf5f01eaee72a5c8e..b6a66643e171760b9624edeaa033097d
2466
} else if ((!releases.has(dependent) || releases.get(dependent).type === "none") && (config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.updateInternalDependents === "always" || !semverSatisfies(incrementVersion(nextRelease, preInfo), versionRange))) {
2567
switch (depType) {
2668
case "dependencies":
69+
@@ -496,6 +500,9 @@ function getSnapshotVersion(release, preInfo, useCalculatedVersion, snapshotSuff
70+
}
71+
72+
function getNewVersion(release, preInfo) {
73+
+ if (release.oldVersion === "0.0.0" && 'newVersion' in release) {
74+
+ return release.newVersion;
75+
+ }
76+
if (release.type === "none") {
77+
return release.oldVersion;
78+
}
79+
diff --git a/src/apply-links.ts b/src/apply-links.ts
80+
index e954f65ee308e9ee752ba1508081750af39a8685..c02ef9215a2393adbffd5bbbe90f8c00ffec38a0 100644
81+
--- a/src/apply-links.ts
82+
+++ b/src/apply-links.ts
83+
@@ -46,10 +46,15 @@ export default function applyLinks(
84+
updated = true;
85+
linkedPackage.type = highestReleaseType;
86+
}
87+
- if (linkedPackage.oldVersion !== highestVersion) {
88+
+ if (linkedPackage.oldVersion !== highestVersion && linkedPackage.oldVersion !== '0.0.0') {
89+
updated = true;
90+
linkedPackage.oldVersion = highestVersion;
91+
}
92+
+
93+
+ if (linkedPackage.oldVersion === '0.0.0') {
94+
+ // @ts-ignore
95+
+ linkedPackage.newVersion = highestVersion;
96+
+ }
97+
}
98+
}
99+
27100
diff --git a/src/determine-dependents.ts b/src/determine-dependents.ts
28101
index 4fc6508482d1a6e3ac1af875e1ac1c15f7555fbc..e9c1eea0972ea5db4dee0eabb8118e621b81b9fa 100644
29102
--- a/src/determine-dependents.ts
@@ -37,3 +110,18 @@ index 4fc6508482d1a6e3ac1af875e1ac1c15f7555fbc..e9c1eea0972ea5db4dee0eabb8118e62
37110
} else if (
38111
(!releases.has(dependent) ||
39112
releases.get(dependent)!.type === "none") &&
113+
diff --git a/src/index.ts b/src/index.ts
114+
index 33dca862a2402768e3f2d0b533b744cd10dd4ff9..97b98d1bbaef991a13c119ee16151c41992af5e0 100644
115+
--- a/src/index.ts
116+
+++ b/src/index.ts
117+
@@ -111,6 +111,10 @@ function getNewVersion(
118+
release: InternalRelease,
119+
preInfo: PreInfo | undefined
120+
): string {
121+
+ if (release.oldVersion === "0.0.0" && 'newVersion' in release) {
122+
+ // @ts-ignore
123+
+ return release.newVersion;
124+
+ }
125+
if (release.type === "none") {
126+
return release.oldVersion;
127+
}

pnpm-lock.yaml

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)