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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monorepo-next",
3
- "version": "9.4.4",
3
+ "version": "9.4.5",
4
4
  "description": "Detach monorepo packages from normal linking",
5
5
  "bin": {
6
6
  "next": "bin/next.js"
@@ -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 nextConfig = loadPackageConfig(dag.node.cwd);
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
- let isDevDep = dag.dependencyType === 'devDependencies';
153
-
154
- if (dag.node.isPackage && shouldInheritGreaterReleaseType && !isDevDep && shouldBumpInRangeDependencies) {
155
- await init({ dag, releaseTrees });
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