monorepo-next 9.4.4 → 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 +37 -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
|
-
let
|
143
|
-
|
144
|
-
if (!nextConfig.shouldBumpVersion) {
|
145
|
-
visitedNodes.add(dag.node.packageName);
|
165
|
+
let releaseTree = releaseTrees[dag.node.packageName];
|
166
|
+
let doesPackageHaveChanges = !!releaseTree;
|
146
167
|
|
147
|
-
return;
|
148
|
-
}
|
149
|
-
|
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) {
|
@@ -170,6 +185,10 @@ async function secondPass({
|
|
170
185
|
|
171
186
|
visitedNodes.add(dag.node.packageName);
|
172
187
|
|
188
|
+
if (!releaseTree[nextConfigSymbol].shouldBumpVersion) {
|
189
|
+
return;
|
190
|
+
}
|
191
|
+
|
173
192
|
for (let group of dag.node.dependents) {
|
174
193
|
if (group.isCycle) {
|
175
194
|
continue;
|
@@ -219,7 +238,7 @@ function thirdPass({
|
|
219
238
|
|
220
239
|
let shouldVersionBump = !(shouldExcludeDevChanges && isDevDep);
|
221
240
|
|
222
|
-
if (shouldVersionBump) {
|
241
|
+
if (shouldVersionBump && current[nextConfigSymbol].shouldBumpVersion) {
|
223
242
|
current[shouldVersionBumpSymbol]();
|
224
243
|
}
|
225
244
|
|