monorepo-next 9.4.3 → 9.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/build-release-graph.js +39 -18
package/package.json
CHANGED
@@ -48,6 +48,7 @@ function isReleaseTypeInRange(version, type, range) {
|
|
48
48
|
}
|
49
49
|
|
50
50
|
let shouldVersionBumpSymbol = Symbol('shouldVersionBump');
|
51
|
+
let nextConfigSymbol = Symbol('nextConfig');
|
51
52
|
|
52
53
|
async function init({
|
53
54
|
dag,
|
@@ -71,6 +72,8 @@ async function init({
|
|
71
72
|
}
|
72
73
|
}
|
73
74
|
|
75
|
+
let nextConfig = loadPackageConfig(cwd);
|
76
|
+
|
74
77
|
let canBumpVersion = !!(version && name);
|
75
78
|
let canPublish = isPackage;
|
76
79
|
|
@@ -81,6 +84,9 @@ async function init({
|
|
81
84
|
releaseType: defaultReleaseType,
|
82
85
|
cwd,
|
83
86
|
name,
|
87
|
+
get [nextConfigSymbol]() {
|
88
|
+
return nextConfig;
|
89
|
+
},
|
84
90
|
[shouldVersionBumpSymbol]() {
|
85
91
|
shouldVersionBump = true;
|
86
92
|
},
|
@@ -124,6 +130,23 @@ async function secondPass({
|
|
124
130
|
shouldInheritGreaterReleaseType,
|
125
131
|
shouldExcludeDevChanges,
|
126
132
|
}) {
|
133
|
+
function shouldInit({
|
134
|
+
dag,
|
135
|
+
parent,
|
136
|
+
}) {
|
137
|
+
let isDevDep = dag.dependencyType === 'devDependencies';
|
138
|
+
|
139
|
+
if (dag.node.isPackage && shouldInheritGreaterReleaseType && !isDevDep && shouldBumpInRangeDependencies) {
|
140
|
+
return true;
|
141
|
+
} else if (!isReleaseTypeInRange(parent.oldVersion, parent.releaseType, dag.dependencyRange)) {
|
142
|
+
return true;
|
143
|
+
} else if (shouldBumpInRangeDependencies) {
|
144
|
+
return true;
|
145
|
+
}
|
146
|
+
|
147
|
+
return false;
|
148
|
+
}
|
149
|
+
|
127
150
|
let visitedNodes = new Set();
|
128
151
|
|
129
152
|
for (let { dag, changedReleasableFiles } of packagesWithChanges) {
|
@@ -139,28 +162,20 @@ async function secondPass({
|
|
139
162
|
return;
|
140
163
|
}
|
141
164
|
|
142
|
-
|
143
|
-
|
144
|
-
let nextConfig = loadPackageConfig(dag.node.cwd);
|
145
|
-
|
146
|
-
if (!nextConfig.shouldBumpVersion) {
|
147
|
-
return;
|
148
|
-
}
|
165
|
+
let releaseTree = releaseTrees[dag.node.packageName];
|
166
|
+
let doesPackageHaveChanges = !!releaseTree;
|
149
167
|
|
150
|
-
let doesPackageHaveChanges = !!releaseTrees[dag.node.packageName];
|
151
168
|
if (!doesPackageHaveChanges) {
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
} else if (!isReleaseTypeInRange(parent.oldVersion, parent.releaseType, dag.dependencyRange)) {
|
157
|
-
await init({ dag, releaseTrees });
|
158
|
-
} else if (shouldBumpInRangeDependencies) {
|
159
|
-
await init({ dag, releaseTrees });
|
160
|
-
} else {
|
169
|
+
if (!shouldInit({
|
170
|
+
dag,
|
171
|
+
parent,
|
172
|
+
})) {
|
161
173
|
return;
|
162
174
|
}
|
163
175
|
|
176
|
+
releaseTree = await init({ dag, releaseTrees });
|
177
|
+
|
178
|
+
let isDevDep = dag.dependencyType === 'devDependencies';
|
164
179
|
let shouldVersionBump = !(shouldExcludeDevChanges && isDevDep);
|
165
180
|
|
166
181
|
if (!shouldVersionBump) {
|
@@ -168,6 +183,12 @@ async function secondPass({
|
|
168
183
|
}
|
169
184
|
}
|
170
185
|
|
186
|
+
visitedNodes.add(dag.node.packageName);
|
187
|
+
|
188
|
+
if (!releaseTree[nextConfigSymbol].shouldBumpVersion) {
|
189
|
+
return;
|
190
|
+
}
|
191
|
+
|
171
192
|
for (let group of dag.node.dependents) {
|
172
193
|
if (group.isCycle) {
|
173
194
|
continue;
|
@@ -217,7 +238,7 @@ function thirdPass({
|
|
217
238
|
|
218
239
|
let shouldVersionBump = !(shouldExcludeDevChanges && isDevDep);
|
219
240
|
|
220
|
-
if (shouldVersionBump) {
|
241
|
+
if (shouldVersionBump && current[nextConfigSymbol].shouldBumpVersion) {
|
221
242
|
current[shouldVersionBumpSymbol]();
|
222
243
|
}
|
223
244
|
|