monorepo-next 9.4.2 → 9.4.4

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.2",
3
+ "version": "9.4.4",
4
4
  "description": "Detach monorepo packages from normal linking",
5
5
  "bin": {
6
6
  "next": "bin/next.js"
@@ -11,7 +11,7 @@ const semver = require('semver');
11
11
  const dependencyTypes = require('./dependency-types');
12
12
  const { loadPackageConfig } = require('./config');
13
13
  const debug = require('./debug');
14
- const { createLogger } = require('./log');
14
+ const { createSyncLogger, createAsyncLogger } = require('./log');
15
15
 
16
16
  const defaultReleaseType = 'patch';
17
17
 
@@ -139,11 +139,11 @@ async function secondPass({
139
139
  return;
140
140
  }
141
141
 
142
- visitedNodes.add(dag.node.packageName);
143
-
144
142
  let nextConfig = loadPackageConfig(dag.node.cwd);
145
143
 
146
144
  if (!nextConfig.shouldBumpVersion) {
145
+ visitedNodes.add(dag.node.packageName);
146
+
147
147
  return;
148
148
  }
149
149
 
@@ -168,6 +168,8 @@ async function secondPass({
168
168
  }
169
169
  }
170
170
 
171
+ visitedNodes.add(dag.node.packageName);
172
+
171
173
  for (let group of dag.node.dependents) {
172
174
  if (group.isCycle) {
173
175
  continue;
@@ -306,18 +308,19 @@ async function buildReleaseGraph({
306
308
  shouldInheritGreaterReleaseType,
307
309
  shouldExcludeDevChanges,
308
310
  }) {
309
- let log = createLogger(_debug);
311
+ let logSync = createSyncLogger(_debug);
312
+ let logAsync = createAsyncLogger(_debug);
310
313
 
311
314
  let releaseTrees = {};
312
315
 
313
- await log(firstPass, {
316
+ await logAsync(firstPass, {
314
317
  releaseTrees,
315
318
  packagesWithChanges,
316
319
  });
317
320
 
318
321
  // only packages with changes have been analyzed
319
322
 
320
- await log(secondPass, {
323
+ await logAsync(secondPass, {
321
324
  releaseTrees,
322
325
  packagesWithChanges,
323
326
  shouldBumpInRangeDependencies,
@@ -327,7 +330,7 @@ async function buildReleaseGraph({
327
330
 
328
331
  // packages without changes, but need to be analyzed because of options
329
332
 
330
- log(thirdPass, {
333
+ logSync(thirdPass, {
331
334
  releaseTrees,
332
335
  packagesWithChanges,
333
336
  shouldInheritGreaterReleaseType,
@@ -336,7 +339,7 @@ async function buildReleaseGraph({
336
339
 
337
340
  // dependents have now inherited release type
338
341
 
339
- log(fourthPass, {
342
+ logSync(fourthPass, {
340
343
  releaseTrees,
341
344
  packagesWithChanges,
342
345
  shouldBumpInRangeDependencies,
package/src/log.js CHANGED
@@ -2,24 +2,56 @@
2
2
 
3
3
  const _debug = require('./debug');
4
4
 
5
- function createLogger(debug = _debug) {
6
- return async function log(callback, ...args) {
7
- let _debug = debug.extend(callback.name);
5
+ function prepare(callback, debug = _debug) {
6
+ let _debug = debug.extend(callback.name);
7
+
8
+ _debug('begin');
9
+
10
+ let before = new Date();
11
+
12
+ return {
13
+ debug: _debug,
14
+ before,
15
+ };
16
+ }
8
17
 
9
- _debug('begin');
18
+ function finish(debug, before) {
19
+ let elapsed = new Date() - before;
20
+
21
+ debug(`end in ${elapsed}ms`);
22
+ }
10
23
 
11
- let before = new Date();
24
+ function createSyncLogger(debug) {
25
+ return function log(callback, ...args) {
26
+ let {
27
+ debug: _debug,
28
+ before,
29
+ } = prepare(callback, debug);
12
30
 
13
31
  try {
14
- return await callback(...args);
32
+ return callback.apply(this, args);
15
33
  } finally {
16
- let elapsed = new Date() - before;
34
+ finish(_debug, before);
35
+ }
36
+ };
37
+ }
17
38
 
18
- _debug(`end in ${elapsed}ms`);
39
+ function createAsyncLogger(debug) {
40
+ return async function log(callback, ...args) {
41
+ let {
42
+ debug: _debug,
43
+ before,
44
+ } = prepare(callback, debug);
45
+
46
+ try {
47
+ return await callback.apply(this, args);
48
+ } finally {
49
+ finish(_debug, before);
19
50
  }
20
51
  };
21
52
  }
22
53
 
23
54
  module.exports = {
24
- createLogger,
55
+ createSyncLogger,
56
+ createAsyncLogger,
25
57
  };
package/src/release.js CHANGED
@@ -18,7 +18,7 @@ const {
18
18
  const semver = require('semver');
19
19
  const { builder } = require('../bin/commands/release');
20
20
  const debug = require('./debug');
21
- const { createLogger } = require('./log');
21
+ const { createAsyncLogger } = require('./log');
22
22
 
23
23
  async function release({
24
24
  cwd = process.cwd(),
@@ -43,7 +43,7 @@ async function release({
43
43
  cached,
44
44
  } = {}) {
45
45
  let _debug = debug.extend(release.name);
46
- let log = createLogger(_debug);
46
+ let logAsync = createAsyncLogger(_debug);
47
47
 
48
48
  let currentBranch = await getCurrentBranch(cwd);
49
49
  if (currentBranch !== defaultBranch) {
@@ -52,9 +52,9 @@ async function release({
52
52
 
53
53
  let workspaceCwd = await getWorkspaceCwd(cwd);
54
54
 
55
- let workspaceMeta = await log(buildDepGraph, { workspaceCwd });
55
+ let workspaceMeta = await logAsync(buildDepGraph, { workspaceCwd });
56
56
 
57
- let packagesWithChanges = await log(buildChangeGraph, {
57
+ let packagesWithChanges = await logAsync(buildChangeGraph, {
58
58
  workspaceMeta,
59
59
  shouldExcludeDevChanges,
60
60
  cached,
@@ -69,7 +69,7 @@ async function release({
69
69
  return;
70
70
  }
71
71
 
72
- let releaseTrees = await log(buildReleaseGraph, {
72
+ let releaseTrees = await logAsync(buildReleaseGraph, {
73
73
  debug: _debug,
74
74
  packagesWithChanges,
75
75
  shouldBumpInRangeDependencies,