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 +1 -1
- package/src/build-release-graph.js +11 -8
- package/src/log.js +41 -9
- package/src/release.js +5 -5
package/package.json
CHANGED
@@ -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 {
|
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
|
311
|
+
let logSync = createSyncLogger(_debug);
|
312
|
+
let logAsync = createAsyncLogger(_debug);
|
310
313
|
|
311
314
|
let releaseTrees = {};
|
312
315
|
|
313
|
-
await
|
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
|
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
|
-
|
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
|
-
|
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
|
6
|
-
|
7
|
-
|
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
|
-
|
18
|
+
function finish(debug, before) {
|
19
|
+
let elapsed = new Date() - before;
|
20
|
+
|
21
|
+
debug(`end in ${elapsed}ms`);
|
22
|
+
}
|
10
23
|
|
11
|
-
|
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
|
32
|
+
return callback.apply(this, args);
|
15
33
|
} finally {
|
16
|
-
|
34
|
+
finish(_debug, before);
|
35
|
+
}
|
36
|
+
};
|
37
|
+
}
|
17
38
|
|
18
|
-
|
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
|
-
|
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 {
|
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
|
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
|
55
|
+
let workspaceMeta = await logAsync(buildDepGraph, { workspaceCwd });
|
56
56
|
|
57
|
-
let packagesWithChanges = await
|
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
|
72
|
+
let releaseTrees = await logAsync(buildReleaseGraph, {
|
73
73
|
debug: _debug,
|
74
74
|
packagesWithChanges,
|
75
75
|
shouldBumpInRangeDependencies,
|