monorepo-next 9.4.1 → 9.4.3

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.1",
3
+ "version": "9.4.3",
4
4
  "description": "Detach monorepo packages from normal linking",
5
5
  "bin": {
6
6
  "next": "bin/next.js"
package/src/build-dag.js CHANGED
@@ -32,7 +32,7 @@ function thirdPass({
32
32
  let {
33
33
  dependencyType,
34
34
  dependencyRange,
35
- } = doesDependOnPackage(_package, currentPackageName) || {};
35
+ } = doesDependOnPackage(_package, currentPackageName) ?? {};
36
36
 
37
37
  if (dependencyType) {
38
38
  let parent = group;
@@ -87,7 +87,7 @@ function createPackageNode({
87
87
  parent,
88
88
  branch,
89
89
  }) {
90
- let _package = workspaceMeta.packages[packageName] || workspaceMeta;
90
+ let _package = workspaceMeta.packages[packageName] ?? workspaceMeta;
91
91
 
92
92
  let node = {
93
93
  isPackage: !_package.isPrivate,
@@ -13,7 +13,7 @@ function copyDeps(left, right) {
13
13
  }
14
14
 
15
15
  function firstPass(workspaceMeta, workspacePackageJson, workspacesPackageJsons) {
16
- workspaceMeta.packageName = workspacePackageJson.name || 'Workspace Root';
16
+ workspaceMeta.packageName = workspacePackageJson.name ?? 'Workspace Root';
17
17
  workspaceMeta.version = workspacePackageJson.version;
18
18
  workspaceMeta.isPrivate = true;
19
19
  workspaceMeta.packages = {};
@@ -24,7 +24,7 @@ function firstPass(workspaceMeta, workspacePackageJson, workspacesPackageJsons)
24
24
  cwd: path.join(workspaceMeta.cwd, workspace),
25
25
  packageName,
26
26
  version: packageJson.version,
27
- isPrivate: packageJson.private || false,
27
+ isPrivate: packageJson.private ?? false,
28
28
  };
29
29
  copyDeps(workspaceMeta.packages[packageName], packageJson);
30
30
  }
@@ -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
 
@@ -207,7 +207,7 @@ function thirdPass({
207
207
 
208
208
  let isDevDep = dag.dependencyType === 'devDependencies';
209
209
  let currentReleaseType = current.releaseType;
210
- let incomingReleaseType = parent ? parent.releaseType : currentReleaseType;
210
+ let incomingReleaseType = parent?.releaseType ?? currentReleaseType;
211
211
 
212
212
  if (shouldInheritGreaterReleaseType && !isDevDep && isReleaseTypeLessThan(currentReleaseType, incomingReleaseType)) {
213
213
  currentReleaseType = incomingReleaseType;
@@ -306,18 +306,19 @@ async function buildReleaseGraph({
306
306
  shouldInheritGreaterReleaseType,
307
307
  shouldExcludeDevChanges,
308
308
  }) {
309
- let log = createLogger(_debug);
309
+ let logSync = createSyncLogger(_debug);
310
+ let logAsync = createAsyncLogger(_debug);
310
311
 
311
312
  let releaseTrees = {};
312
313
 
313
- await log(firstPass, {
314
+ await logAsync(firstPass, {
314
315
  releaseTrees,
315
316
  packagesWithChanges,
316
317
  });
317
318
 
318
319
  // only packages with changes have been analyzed
319
320
 
320
- await log(secondPass, {
321
+ await logAsync(secondPass, {
321
322
  releaseTrees,
322
323
  packagesWithChanges,
323
324
  shouldBumpInRangeDependencies,
@@ -327,7 +328,7 @@ async function buildReleaseGraph({
327
328
 
328
329
  // packages without changes, but need to be analyzed because of options
329
330
 
330
- log(thirdPass, {
331
+ logSync(thirdPass, {
331
332
  releaseTrees,
332
333
  packagesWithChanges,
333
334
  shouldInheritGreaterReleaseType,
@@ -336,7 +337,7 @@ async function buildReleaseGraph({
336
337
 
337
338
  // dependents have now inherited release type
338
339
 
339
- log(fourthPass, {
340
+ logSync(fourthPass, {
340
341
  releaseTrees,
341
342
  packagesWithChanges,
342
343
  shouldBumpInRangeDependencies,
package/src/detach.js CHANGED
@@ -58,7 +58,7 @@ async function detach({
58
58
  let workspaceKey = 'Workspace Root';
59
59
 
60
60
  let choices = dag.node.dependents.map(dependent => {
61
- return dependent.node.packageName || path.basename(dependent.node.cwd);
61
+ return dependent.node.packageName ?? path.basename(dependent.node.cwd);
62
62
  });
63
63
 
64
64
  let { answers } = await inquirer.prompt([{
@@ -109,7 +109,7 @@ async function getWorkspacesPaths({
109
109
  await fs.readFile(path.join(cwd, 'pnpm-workspace.yaml')),
110
110
  );
111
111
  } else {
112
- packagesGlobs = workspaces.packages || workspaces;
112
+ packagesGlobs = workspaces.packages ?? workspaces;
113
113
  }
114
114
 
115
115
  let _2dFilesArray = await Promise.all(packagesGlobs.map(packagesGlob => {
@@ -157,7 +157,7 @@ function getWorkspacesPathsSync({
157
157
  fs.readFileSync(path.join(cwd, 'pnpm-workspace.yaml')),
158
158
  );
159
159
  } else {
160
- packagesGlobs = workspaces.packages || workspaces;
160
+ packagesGlobs = workspaces.packages ?? workspaces;
161
161
  }
162
162
 
163
163
  let _2dFilesArray = packagesGlobs.map(packagesGlob => {
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,