workspace-tools 0.41.0 → 0.41.1

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.
Files changed (160) hide show
  1. package/README.md +1 -1
  2. package/lib/dependencies/index.d.ts +2 -2
  3. package/lib/dependencies/index.js +31 -12
  4. package/lib/dependencies/index.js.map +1 -1
  5. package/lib/dependencies/transitiveDeps.d.ts +1 -1
  6. package/lib/dependencies/transitiveDeps.js +59 -38
  7. package/lib/dependencies/transitiveDeps.js.map +1 -1
  8. package/lib/getPackageInfo.d.ts +1 -1
  9. package/lib/getPackageInfo.js +46 -40
  10. package/lib/getPackageInfo.js.map +1 -1
  11. package/lib/getPackageInfos.d.ts +4 -2
  12. package/lib/getPackageInfos.js +35 -53
  13. package/lib/getPackageInfos.js.map +1 -1
  14. package/lib/git/config.d.ts +1 -1
  15. package/lib/git/config.js +15 -12
  16. package/lib/git/config.js.map +1 -1
  17. package/lib/git/getDefaultRemote.js +45 -30
  18. package/lib/git/getDefaultRemote.js.map +1 -1
  19. package/lib/git/getDefaultRemoteBranch.d.ts +1 -1
  20. package/lib/git/getDefaultRemoteBranch.js +35 -24
  21. package/lib/git/getDefaultRemoteBranch.js.map +1 -1
  22. package/lib/git/getRepositoryName.d.ts +1 -1
  23. package/lib/git/getRepositoryName.js +17 -19
  24. package/lib/git/getRepositoryName.js.map +1 -1
  25. package/lib/git/git.d.ts +2 -5
  26. package/lib/git/git.js +62 -64
  27. package/lib/git/git.js.map +1 -1
  28. package/lib/git/gitUtilities.d.ts +3 -3
  29. package/lib/git/gitUtilities.js +377 -147
  30. package/lib/git/gitUtilities.js.map +1 -1
  31. package/lib/git/index.d.ts +5 -5
  32. package/lib/git/index.js +50 -28
  33. package/lib/git/index.js.map +1 -1
  34. package/lib/git/types.js +4 -3
  35. package/lib/git/types.js.map +1 -1
  36. package/lib/graph/createDependencyMap.d.ts +2 -2
  37. package/lib/graph/createDependencyMap.js +18 -18
  38. package/lib/graph/createDependencyMap.js.map +1 -1
  39. package/lib/graph/createPackageGraph.d.ts +3 -3
  40. package/lib/graph/createPackageGraph.js +58 -45
  41. package/lib/graph/createPackageGraph.js.map +1 -1
  42. package/lib/graph/getPackageDependencies.d.ts +1 -1
  43. package/lib/graph/getPackageDependencies.js +17 -17
  44. package/lib/graph/getPackageDependencies.js.map +1 -1
  45. package/lib/graph/index.d.ts +4 -4
  46. package/lib/graph/index.js +25 -27
  47. package/lib/graph/index.js.map +1 -1
  48. package/lib/index.d.ts +29 -26
  49. package/lib/index.js +154 -70
  50. package/lib/index.js.map +1 -1
  51. package/lib/isCachingEnabled.js +17 -6
  52. package/lib/isCachingEnabled.js.map +1 -1
  53. package/lib/lockfile/nameAtVersion.js +9 -4
  54. package/lib/lockfile/nameAtVersion.js.map +1 -1
  55. package/lib/lockfile/parseBerryLock.d.ts +1 -1
  56. package/lib/lockfile/parseBerryLock.js +13 -11
  57. package/lib/lockfile/parseBerryLock.js.map +1 -1
  58. package/lib/lockfile/parseLockFile.d.ts +2 -0
  59. package/lib/lockfile/parseLockFile.js +87 -0
  60. package/lib/lockfile/parseLockFile.js.map +1 -0
  61. package/lib/lockfile/parseNpmLock.d.ts +1 -1
  62. package/lib/lockfile/parseNpmLock.js +15 -7
  63. package/lib/lockfile/parseNpmLock.js.map +1 -1
  64. package/lib/lockfile/parsePnpmLock.d.ts +1 -1
  65. package/lib/lockfile/parsePnpmLock.js +14 -9
  66. package/lib/lockfile/parsePnpmLock.js.map +1 -1
  67. package/lib/lockfile/queryLockFile.d.ts +1 -1
  68. package/lib/lockfile/queryLockFile.js +11 -6
  69. package/lib/lockfile/queryLockFile.js.map +1 -1
  70. package/lib/lockfile/readYaml.js +17 -9
  71. package/lib/lockfile/readYaml.js.map +1 -1
  72. package/lib/lockfile/types.js +3 -2
  73. package/lib/lockfile/types.js.map +1 -1
  74. package/lib/logging.js +10 -6
  75. package/lib/logging.js.map +1 -1
  76. package/lib/paths.d.ts +1 -1
  77. package/lib/paths.js +59 -59
  78. package/lib/paths.js.map +1 -1
  79. package/lib/scope.js +30 -21
  80. package/lib/scope.js.map +1 -1
  81. package/lib/types/Catalogs.js +8 -3
  82. package/lib/types/Catalogs.js.map +1 -1
  83. package/lib/types/PackageGraph.js +4 -3
  84. package/lib/types/PackageGraph.js.map +1 -1
  85. package/lib/types/PackageInfo.d.ts +1 -1
  86. package/lib/types/PackageInfo.js +3 -2
  87. package/lib/types/PackageInfo.js.map +1 -1
  88. package/lib/types/WorkspaceInfo.d.ts +1 -1
  89. package/lib/types/WorkspaceInfo.js +3 -2
  90. package/lib/types/WorkspaceInfo.js.map +1 -1
  91. package/lib/types/WorkspaceManager.js +3 -2
  92. package/lib/types/WorkspaceManager.js.map +1 -1
  93. package/lib/workspaces/catalogsToYaml.d.ts +1 -1
  94. package/lib/workspaces/catalogsToYaml.js +12 -10
  95. package/lib/workspaces/catalogsToYaml.js.map +1 -1
  96. package/lib/workspaces/findWorkspacePath.d.ts +2 -1
  97. package/lib/workspaces/findWorkspacePath.js +10 -12
  98. package/lib/workspaces/findWorkspacePath.js.map +1 -1
  99. package/lib/workspaces/getAllPackageJsonFiles.js +32 -28
  100. package/lib/workspaces/getAllPackageJsonFiles.js.map +1 -1
  101. package/lib/workspaces/getCatalogVersion.d.ts +1 -1
  102. package/lib/workspaces/getCatalogVersion.js +19 -32
  103. package/lib/workspaces/getCatalogVersion.js.map +1 -1
  104. package/lib/workspaces/getCatalogs.d.ts +2 -2
  105. package/lib/workspaces/getCatalogs.js +17 -22
  106. package/lib/workspaces/getCatalogs.js.map +1 -1
  107. package/lib/workspaces/getChangedPackages.d.ts +1 -1
  108. package/lib/workspaces/getChangedPackages.js +47 -30
  109. package/lib/workspaces/getChangedPackages.js.map +1 -1
  110. package/lib/workspaces/getPackagesByFiles.js +29 -24
  111. package/lib/workspaces/getPackagesByFiles.js.map +1 -1
  112. package/lib/workspaces/getWorkspaceInfos.d.ts +2 -2
  113. package/lib/workspaces/getWorkspaceInfos.js +43 -58
  114. package/lib/workspaces/getWorkspaceInfos.js.map +1 -1
  115. package/lib/workspaces/getWorkspaceManagerRoot.d.ts +1 -1
  116. package/lib/workspaces/getWorkspaceManagerRoot.js +16 -13
  117. package/lib/workspaces/getWorkspaceManagerRoot.js.map +1 -1
  118. package/lib/workspaces/getWorkspacePackagePaths.d.ts +1 -1
  119. package/lib/workspaces/getWorkspacePackagePaths.js +86 -72
  120. package/lib/workspaces/getWorkspacePackagePaths.js.map +1 -1
  121. package/lib/workspaces/getWorkspacePatterns.d.ts +1 -1
  122. package/lib/workspaces/getWorkspacePatterns.js +18 -20
  123. package/lib/workspaces/getWorkspacePatterns.js.map +1 -1
  124. package/lib/workspaces/implementations/WorkspaceUtilities.d.ts +1 -1
  125. package/lib/workspaces/implementations/WorkspaceUtilities.js +3 -2
  126. package/lib/workspaces/implementations/WorkspaceUtilities.js.map +1 -1
  127. package/lib/workspaces/implementations/getPackageJsonWorkspacePatterns.d.ts +1 -1
  128. package/lib/workspaces/implementations/getPackageJsonWorkspacePatterns.js +24 -22
  129. package/lib/workspaces/implementations/getPackageJsonWorkspacePatterns.js.map +1 -1
  130. package/lib/workspaces/implementations/getWorkspaceManagerAndRoot.d.ts +1 -1
  131. package/lib/workspaces/implementations/getWorkspaceManagerAndRoot.js +38 -43
  132. package/lib/workspaces/implementations/getWorkspaceManagerAndRoot.js.map +1 -1
  133. package/lib/workspaces/implementations/getWorkspaceUtilities.d.ts +2 -2
  134. package/lib/workspaces/implementations/getWorkspaceUtilities.js +25 -13
  135. package/lib/workspaces/implementations/getWorkspaceUtilities.js.map +1 -1
  136. package/lib/workspaces/implementations/index.d.ts +2 -2
  137. package/lib/workspaces/implementations/index.js +19 -7
  138. package/lib/workspaces/implementations/index.js.map +1 -1
  139. package/lib/workspaces/implementations/lerna.d.ts +1 -1
  140. package/lib/workspaces/implementations/lerna.js +55 -31
  141. package/lib/workspaces/implementations/lerna.js.map +1 -1
  142. package/lib/workspaces/implementations/npm.d.ts +1 -1
  143. package/lib/workspaces/implementations/npm.js +12 -7
  144. package/lib/workspaces/implementations/npm.js.map +1 -1
  145. package/lib/workspaces/implementations/pnpm.d.ts +1 -1
  146. package/lib/workspaces/implementations/pnpm.js +28 -17
  147. package/lib/workspaces/implementations/pnpm.js.map +1 -1
  148. package/lib/workspaces/implementations/rush.d.ts +1 -1
  149. package/lib/workspaces/implementations/rush.js +27 -16
  150. package/lib/workspaces/implementations/rush.js.map +1 -1
  151. package/lib/workspaces/implementations/yarn.d.ts +1 -1
  152. package/lib/workspaces/implementations/yarn.js +34 -26
  153. package/lib/workspaces/implementations/yarn.js.map +1 -1
  154. package/lib/workspaces/wrapWorkspaceUtility.d.ts +1 -1
  155. package/lib/workspaces/wrapWorkspaceUtility.js +25 -27
  156. package/lib/workspaces/wrapWorkspaceUtility.js.map +1 -1
  157. package/package.json +21 -12
  158. package/lib/lockfile/index.d.ts +0 -6
  159. package/lib/lockfile/index.js +0 -105
  160. package/lib/lockfile/index.js.map +0 -1
package/README.md CHANGED
@@ -28,7 +28,7 @@ Log additional output from certain functions.
28
28
 
29
29
  ## Breaking changes
30
30
 
31
- For details of changes in all versions, see the [changelog](https://github.com/microsoft/workspace-tools/blob/main/packages/workspace-tools/CHANGELOG.md). This only lists the most significant breaking API changes.
31
+ For details of changes in all versions, see the [changelog](https://github.com/microsoft/lage/blob/main/packages/workspace-tools/CHANGELOG.md). This only lists the most significant breaking API changes.
32
32
 
33
33
  ### 0.41.0
34
34
 
@@ -1,5 +1,5 @@
1
- import { getTransitiveConsumers, getTransitiveProviders } from "./transitiveDeps";
2
- import { getPackageDependencies } from "../graph/getPackageDependencies";
1
+ import { getTransitiveConsumers, getTransitiveProviders } from "./transitiveDeps.js";
2
+ import { getPackageDependencies } from "../graph/getPackageDependencies.js";
3
3
  export declare const getTransitiveDependencies: typeof getTransitiveProviders;
4
4
  export { getTransitiveProviders };
5
5
  export declare const getTransitiveDependents: typeof getTransitiveConsumers;
@@ -1,13 +1,32 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInternalDeps = exports.getTransitiveConsumers = exports.getTransitiveDependents = exports.getTransitiveProviders = exports.getTransitiveDependencies = void 0;
4
- const transitiveDeps_1 = require("./transitiveDeps");
5
- Object.defineProperty(exports, "getTransitiveConsumers", { enumerable: true, get: function () { return transitiveDeps_1.getTransitiveConsumers; } });
6
- Object.defineProperty(exports, "getTransitiveProviders", { enumerable: true, get: function () { return transitiveDeps_1.getTransitiveProviders; } });
7
- const getPackageDependencies_1 = require("../graph/getPackageDependencies");
8
- // Some deprecated functions below for backwards compatibility
9
- exports.getTransitiveDependencies = transitiveDeps_1.getTransitiveProviders;
10
- exports.getTransitiveDependents = transitiveDeps_1.getTransitiveConsumers;
11
- /** @deprecated Do not use */
12
- exports.getInternalDeps = getPackageDependencies_1.getPackageDependencies;
13
- //# sourceMappingURL=index.js.map
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get getInternalDeps () {
13
+ return getInternalDeps;
14
+ },
15
+ get getTransitiveConsumers () {
16
+ return _transitiveDeps.getTransitiveConsumers;
17
+ },
18
+ get getTransitiveDependencies () {
19
+ return getTransitiveDependencies;
20
+ },
21
+ get getTransitiveDependents () {
22
+ return getTransitiveDependents;
23
+ },
24
+ get getTransitiveProviders () {
25
+ return _transitiveDeps.getTransitiveProviders;
26
+ }
27
+ });
28
+ const _transitiveDeps = require("./transitiveDeps.js");
29
+ const _getPackageDependencies = require("../graph/getPackageDependencies.js");
30
+ const getTransitiveDependencies = _transitiveDeps.getTransitiveProviders;
31
+ const getTransitiveDependents = _transitiveDeps.getTransitiveConsumers;
32
+ const getInternalDeps = _getPackageDependencies.getPackageDependencies;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dependencies/index.ts"],"names":[],"mappings":";;;AAAA,qDAAkF;AAWzE,uGAXA,uCAAsB,OAWA;AAJtB,uGAPwB,uCAAsB,OAOxB;AAN/B,4EAAyE;AAEzE,8DAA8D;AAEjD,QAAA,yBAAyB,GAAG,uCAAsB,CAAC;AAInD,QAAA,uBAAuB,GAAG,uCAAsB,CAAC;AAI9D,6BAA6B;AAChB,QAAA,eAAe,GAAG,+CAAsB,CAAC"}
1
+ {"version":3,"sources":["../../src/dependencies/index.ts"],"sourcesContent":["import { getTransitiveConsumers, getTransitiveProviders } from \"./transitiveDeps.js\";\nimport { getPackageDependencies } from \"../graph/getPackageDependencies.js\";\n\n// Some deprecated functions below for backwards compatibility\n\nexport const getTransitiveDependencies = getTransitiveProviders;\n\nexport { getTransitiveProviders };\n\nexport const getTransitiveDependents = getTransitiveConsumers;\n\nexport { getTransitiveConsumers };\n\n/** @deprecated Do not use */\nexport const getInternalDeps = getPackageDependencies;\n"],"names":["getInternalDeps","getTransitiveConsumers","getTransitiveDependencies","getTransitiveDependents","getTransitiveProviders","getPackageDependencies"],"mappings":";;;;;;;;;;;QAcaA;eAAAA;;QAHJC;eAAAA,sCAAsB;;QANlBC;eAAAA;;QAIAC;eAAAA;;QAFJC;eAAAA,sCAAsB;;;gCAPgC;wCACxB;AAIhC,MAAMF,4BAA4BE,sCAAsB;AAIxD,MAAMD,0BAA0BF,sCAAsB;AAKtD,MAAMD,kBAAkBK,8CAAsB"}
@@ -1,4 +1,4 @@
1
- import { PackageInfos } from "../types/PackageInfo";
1
+ import { type PackageInfos } from "../types/PackageInfo.js";
2
2
  export declare function getDependentMap(packages: PackageInfos): Map<string, Set<string>>;
3
3
  /**
4
4
  * For a package graph of `a->b->c` (where `b` depends on `a`), transitive consumers of `a` are `b` & `c`
@@ -1,37 +1,65 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTransitiveProviders = exports.getTransitiveConsumers = exports.getDependentMap = void 0;
4
- const getPackageDependencies_1 = require("../graph/getPackageDependencies");
5
- const isCachingEnabled_1 = require("../isCachingEnabled");
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get getDependentMap () {
13
+ return getDependentMap;
14
+ },
15
+ get getTransitiveConsumers () {
16
+ return getTransitiveConsumers;
17
+ },
18
+ get getTransitiveProviders () {
19
+ return getTransitiveProviders;
20
+ }
21
+ });
22
+ const _getPackageDependencies = require("../graph/getPackageDependencies.js");
23
+ const _isCachingEnabled = require("../isCachingEnabled.js");
6
24
  const graphCache = new Map();
7
25
  function memoizedKey(packages, scope = []) {
8
- return JSON.stringify({ packages, scope });
26
+ return JSON.stringify({
27
+ packages,
28
+ scope
29
+ });
9
30
  }
10
31
  function getPackageGraph(packages, scope = []) {
11
32
  const internalPackages = new Set(Object.keys(packages));
12
33
  const key = memoizedKey(packages, scope);
13
- if ((0, isCachingEnabled_1.isCachingEnabled)() && graphCache.has(key)) {
34
+ if ((0, _isCachingEnabled.isCachingEnabled)() && graphCache.has(key)) {
14
35
  return graphCache.get(key);
15
36
  }
16
37
  const edges = [];
17
38
  const visited = new Set();
18
- const stack = scope.length > 0 ? [...scope] : Object.keys(packages);
19
- while (stack.length > 0) {
39
+ const stack = scope.length > 0 ? [
40
+ ...scope
41
+ ] : Object.keys(packages);
42
+ while(stack.length > 0){
20
43
  const pkg = stack.pop();
21
44
  if (visited.has(pkg)) {
22
45
  continue;
23
46
  }
24
47
  visited.add(pkg);
25
48
  const info = packages[pkg];
26
- const deps = (0, getPackageDependencies_1.getPackageDependencies)(info, internalPackages);
49
+ const deps = (0, _getPackageDependencies.getPackageDependencies)(info, internalPackages);
27
50
  if (deps.length > 0) {
28
- for (const dep of deps) {
51
+ for (const dep of deps){
29
52
  stack.push(dep);
30
- edges.push([dep, pkg]);
53
+ edges.push([
54
+ dep,
55
+ pkg
56
+ ]);
31
57
  }
32
- }
33
- else {
34
- edges.push([null, pkg]);
58
+ } else {
59
+ edges.push([
60
+ null,
61
+ pkg
62
+ ]);
35
63
  }
36
64
  }
37
65
  graphCache.set(key, edges);
@@ -40,7 +68,7 @@ function getPackageGraph(packages, scope = []) {
40
68
  function getDependentMap(packages) {
41
69
  const graph = getPackageGraph(packages);
42
70
  const map = new Map();
43
- for (const [from, to] of graph) {
71
+ for (const [from, to] of graph){
44
72
  if (!map.has(to)) {
45
73
  map.set(to, new Set());
46
74
  }
@@ -50,52 +78,45 @@ function getDependentMap(packages) {
50
78
  }
51
79
  return map;
52
80
  }
53
- exports.getDependentMap = getDependentMap;
54
- /**
55
- * For a package graph of `a->b->c` (where `b` depends on `a`), transitive consumers of `a` are `b` & `c`
56
- * and their consumers (or what are the consequences of `a`)
57
- * @deprecated Do not use
58
- */
59
81
  function getTransitiveConsumers(targets, packages, scope = []) {
60
82
  const graph = getPackageGraph(packages, scope);
61
- const pkgQueue = [...targets];
83
+ const pkgQueue = [
84
+ ...targets
85
+ ];
62
86
  const visited = new Set();
63
- while (pkgQueue.length > 0) {
87
+ while(pkgQueue.length > 0){
64
88
  const pkg = pkgQueue.shift();
65
89
  if (!visited.has(pkg)) {
66
90
  visited.add(pkg);
67
- for (const [from, to] of graph) {
91
+ for (const [from, to] of graph){
68
92
  if (from === pkg) {
69
93
  pkgQueue.push(to);
70
94
  }
71
95
  }
72
96
  }
73
97
  }
74
- return [...visited].filter((pkg) => !targets.includes(pkg));
98
+ return [
99
+ ...visited
100
+ ].filter((pkg)=>!targets.includes(pkg));
75
101
  }
76
- exports.getTransitiveConsumers = getTransitiveConsumers;
77
- /**
78
- * For a package graph of `a->b->c` (where `b` depends on `a`), transitive providers of `c` are `a` & `b`
79
- * and their providers (or what is needed to satisfy `c`)
80
- *
81
- * @deprecated Do not use
82
- */
83
102
  function getTransitiveProviders(targets, packages) {
84
103
  const graph = getPackageGraph(packages);
85
- const pkgQueue = [...targets];
104
+ const pkgQueue = [
105
+ ...targets
106
+ ];
86
107
  const visited = new Set();
87
- while (pkgQueue.length > 0) {
108
+ while(pkgQueue.length > 0){
88
109
  const pkg = pkgQueue.shift();
89
110
  if (!visited.has(pkg)) {
90
111
  visited.add(pkg);
91
- for (const [from, to] of graph) {
112
+ for (const [from, to] of graph){
92
113
  if (to === pkg && from) {
93
114
  pkgQueue.push(from);
94
115
  }
95
116
  }
96
117
  }
97
118
  }
98
- return [...visited].filter((pkg) => !targets.includes(pkg));
119
+ return [
120
+ ...visited
121
+ ].filter((pkg)=>!targets.includes(pkg));
99
122
  }
100
- exports.getTransitiveProviders = getTransitiveProviders;
101
- //# sourceMappingURL=transitiveDeps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transitiveDeps.js","sourceRoot":"","sources":["../../src/dependencies/transitiveDeps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/dependencies/transitiveDeps.ts"],"sourcesContent":["import { type PackageInfos } from \"../types/PackageInfo.js\";\nimport { getPackageDependencies } from \"../graph/getPackageDependencies.js\";\nimport { isCachingEnabled } from \"../isCachingEnabled.js\";\n\nconst graphCache = new Map<string, [string | null, string][]>();\n\nfunction memoizedKey(packages: PackageInfos, scope: string[] = []) {\n return JSON.stringify({ packages, scope });\n}\n\nfunction getPackageGraph(packages: PackageInfos, scope: string[] = []) {\n const internalPackages = new Set(Object.keys(packages));\n const key = memoizedKey(packages, scope);\n\n if (isCachingEnabled() && graphCache.has(key)) {\n return graphCache.get(key)!;\n }\n\n const edges: [string | null, string][] = [];\n\n const visited = new Set<string>();\n const stack: string[] = scope.length > 0 ? [...scope] : Object.keys(packages);\n\n while (stack.length > 0) {\n const pkg = stack.pop()!;\n\n if (visited.has(pkg)) {\n continue;\n }\n\n visited.add(pkg);\n\n const info = packages[pkg];\n const deps = getPackageDependencies(info, internalPackages);\n\n if (deps.length > 0) {\n for (const dep of deps) {\n stack.push(dep);\n edges.push([dep, pkg]);\n }\n } else {\n edges.push([null, pkg]);\n }\n }\n\n graphCache.set(key, edges);\n\n return edges;\n}\n\nexport function getDependentMap(packages: PackageInfos): Map<string, Set<string>> {\n const graph = getPackageGraph(packages);\n const map = new Map<string, Set<string>>();\n for (const [from, to] of graph) {\n if (!map.has(to)) {\n map.set(to, new Set());\n }\n\n if (from) {\n map.get(to)!.add(from);\n }\n }\n\n return map;\n}\n\n/**\n * For a package graph of `a->b->c` (where `b` depends on `a`), transitive consumers of `a` are `b` & `c`\n * and their consumers (or what are the consequences of `a`)\n * @deprecated Do not use\n */\nexport function getTransitiveConsumers(targets: string[], packages: PackageInfos, scope: string[] = []): string[] {\n const graph = getPackageGraph(packages, scope);\n const pkgQueue: string[] = [...targets];\n const visited = new Set<string>();\n\n while (pkgQueue.length > 0) {\n const pkg = pkgQueue.shift()!;\n\n if (!visited.has(pkg)) {\n visited.add(pkg);\n\n for (const [from, to] of graph) {\n if (from === pkg) {\n pkgQueue.push(to);\n }\n }\n }\n }\n\n return [...visited].filter((pkg) => !targets.includes(pkg));\n}\n\n/**\n * For a package graph of `a->b->c` (where `b` depends on `a`), transitive providers of `c` are `a` & `b`\n * and their providers (or what is needed to satisfy `c`)\n *\n * @deprecated Do not use\n */\nexport function getTransitiveProviders(targets: string[], packages: PackageInfos): string[] {\n const graph = getPackageGraph(packages);\n const pkgQueue: string[] = [...targets];\n const visited = new Set<string>();\n\n while (pkgQueue.length > 0) {\n const pkg = pkgQueue.shift()!;\n\n if (!visited.has(pkg)) {\n visited.add(pkg);\n\n for (const [from, to] of graph) {\n if (to === pkg && from) {\n pkgQueue.push(from);\n }\n }\n }\n }\n\n return [...visited].filter((pkg) => !targets.includes(pkg));\n}\n"],"names":["getDependentMap","getTransitiveConsumers","getTransitiveProviders","graphCache","Map","memoizedKey","packages","scope","JSON","stringify","getPackageGraph","internalPackages","Set","Object","keys","key","isCachingEnabled","has","get","edges","visited","stack","length","pkg","pop","add","info","deps","getPackageDependencies","dep","push","set","graph","map","from","to","targets","pkgQueue","shift","filter","includes"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PackageInfo } from "./types/PackageInfo";
1
+ import type { PackageInfo } from "./types/PackageInfo.js";
2
2
  /**
3
3
  * Read package.json from the given path if it exists.
4
4
  *
@@ -1,53 +1,59 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getPackageInfoAsync = exports.getPackageInfo = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const promises_1 = __importDefault(require("fs/promises"));
9
- const path_1 = __importDefault(require("path"));
10
- const logging_1 = require("./logging");
11
- /**
12
- * Read package.json from the given path if it exists.
13
- *
14
- * @returns The package info, or undefined if it doesn't exist or can't be read.
15
- * (Logs verbose warnings instead of throwing on error.)
16
- */
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get getPackageInfo () {
13
+ return getPackageInfo;
14
+ },
15
+ get getPackageInfoAsync () {
16
+ return getPackageInfoAsync;
17
+ }
18
+ });
19
+ const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
20
+ const _promises = /*#__PURE__*/ _interop_require_default(require("fs/promises"));
21
+ const _path = /*#__PURE__*/ _interop_require_default(require("path"));
22
+ const _logging = require("./logging.js");
23
+ function _interop_require_default(obj) {
24
+ return obj && obj.__esModule ? obj : {
25
+ default: obj
26
+ };
27
+ }
17
28
  function getPackageInfo(cwd) {
18
- const packageJsonPath = path_1.default.join(cwd, "package.json");
29
+ const packageJsonPath = _path.default.join(cwd, "package.json");
19
30
  try {
20
- if (!fs_1.default.existsSync(packageJsonPath)) {
21
- (0, logging_1.logVerboseWarning)(`File does not exist: ${packageJsonPath}`);
31
+ if (!_fs.default.existsSync(packageJsonPath)) {
32
+ (0, _logging.logVerboseWarning)(`File does not exist: ${packageJsonPath}`);
22
33
  return undefined;
23
34
  }
24
- const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, "utf-8"));
25
- return { ...packageJson, packageJsonPath };
26
- }
27
- catch (e) {
28
- (0, logging_1.logVerboseWarning)(`Error reading or parsing ${packageJsonPath}: ${e?.message || e}`);
35
+ const packageJson = JSON.parse(_fs.default.readFileSync(packageJsonPath, "utf-8"));
36
+ return {
37
+ ...packageJson,
38
+ packageJsonPath
39
+ };
40
+ } catch (e) {
41
+ (0, _logging.logVerboseWarning)(`Error reading or parsing ${packageJsonPath}: ${e?.message || e}`);
29
42
  }
30
43
  }
31
- exports.getPackageInfo = getPackageInfo;
32
- /**
33
- * Read package.json from the given path if it exists.
34
- *
35
- * @returns The package info, or undefined if it doesn't exist or can't be read.
36
- * (Logs verbose warnings instead of throwing on error.)
37
- */
38
44
  async function getPackageInfoAsync(cwd) {
39
- const packageJsonPath = path_1.default.join(cwd, "package.json");
45
+ const packageJsonPath = _path.default.join(cwd, "package.json");
40
46
  try {
41
- if (!fs_1.default.existsSync(packageJsonPath)) {
42
- (0, logging_1.logVerboseWarning)(`File does not exist: ${packageJsonPath}`);
47
+ if (!_fs.default.existsSync(packageJsonPath)) {
48
+ (0, _logging.logVerboseWarning)(`File does not exist: ${packageJsonPath}`);
43
49
  return undefined;
44
50
  }
45
- const packageJson = JSON.parse(await promises_1.default.readFile(packageJsonPath, "utf-8"));
46
- return { ...packageJson, packageJsonPath };
47
- }
48
- catch (e) {
49
- (0, logging_1.logVerboseWarning)(`Error reading or parsing ${packageJsonPath}: ${e?.message || e}`);
51
+ const packageJson = JSON.parse(await _promises.default.readFile(packageJsonPath, "utf-8"));
52
+ return {
53
+ ...packageJson,
54
+ packageJsonPath
55
+ };
56
+ } catch (e) {
57
+ (0, _logging.logVerboseWarning)(`Error reading or parsing ${packageJsonPath}: ${e?.message || e}`);
50
58
  }
51
59
  }
52
- exports.getPackageInfoAsync = getPackageInfoAsync;
53
- //# sourceMappingURL=getPackageInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPackageInfo.js","sourceRoot":"","sources":["../src/getPackageInfo.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,2DAAqC;AACrC,gDAAwB;AAExB,uCAA8C;AAE9C;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI;QACF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YACnC,IAAA,2BAAiB,EAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YAC7D,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,OAAO,EAAE,GAAG,WAAW,EAAE,eAAe,EAAE,CAAC;KAC5C;IAAC,OAAO,CAAC,EAAE;QACV,IAAA,2BAAiB,EAAC,4BAA4B,eAAe,KAAM,CAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;KACjG;AACH,CAAC;AAbD,wCAaC;AAED;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CAAC,GAAW;IACnD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI;QACF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YACnC,IAAA,2BAAiB,EAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YAC7D,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,kBAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACpF,OAAO,EAAE,GAAG,WAAW,EAAE,eAAe,EAAE,CAAC;KAC5C;IAAC,OAAO,CAAC,EAAE;QACV,IAAA,2BAAiB,EAAC,4BAA4B,eAAe,KAAM,CAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;KACjG;AACH,CAAC;AAbD,kDAaC"}
1
+ {"version":3,"sources":["../src/getPackageInfo.ts"],"sourcesContent":["import fs from \"fs\";\nimport fsPromises from \"fs/promises\";\nimport path from \"path\";\nimport type { PackageInfo } from \"./types/PackageInfo.js\";\nimport { logVerboseWarning } from \"./logging.js\";\n\n/**\n * Read package.json from the given path if it exists.\n *\n * @returns The package info, or undefined if it doesn't exist or can't be read.\n * (Logs verbose warnings instead of throwing on error.)\n */\nexport function getPackageInfo(cwd: string): PackageInfo | undefined {\n const packageJsonPath = path.join(cwd, \"package.json\");\n try {\n if (!fs.existsSync(packageJsonPath)) {\n logVerboseWarning(`File does not exist: ${packageJsonPath}`);\n return undefined;\n }\n\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf-8\"));\n return { ...packageJson, packageJsonPath };\n } catch (e) {\n logVerboseWarning(`Error reading or parsing ${packageJsonPath}: ${(e as Error)?.message || e}`);\n }\n}\n\n/**\n * Read package.json from the given path if it exists.\n *\n * @returns The package info, or undefined if it doesn't exist or can't be read.\n * (Logs verbose warnings instead of throwing on error.)\n */\nexport async function getPackageInfoAsync(cwd: string): Promise<PackageInfo | undefined> {\n const packageJsonPath = path.join(cwd, \"package.json\");\n try {\n if (!fs.existsSync(packageJsonPath)) {\n logVerboseWarning(`File does not exist: ${packageJsonPath}`);\n return undefined;\n }\n\n const packageJson = JSON.parse(await fsPromises.readFile(packageJsonPath, \"utf-8\"));\n return { ...packageJson, packageJsonPath };\n } catch (e) {\n logVerboseWarning(`Error reading or parsing ${packageJsonPath}: ${(e as Error)?.message || e}`);\n }\n}\n"],"names":["getPackageInfo","getPackageInfoAsync","cwd","packageJsonPath","path","join","fs","existsSync","logVerboseWarning","undefined","packageJson","JSON","parse","readFileSync","e","message","fsPromises","readFile"],"mappings":";;;;;;;;;;;QAYgBA;eAAAA;;QAqBMC;eAAAA;;;2DAjCP;iEACQ;6DACN;yBAEiB;;;;;;AAQ3B,SAASD,eAAeE,GAAW;IACxC,MAAMC,kBAAkBC,aAAI,CAACC,IAAI,CAACH,KAAK;IACvC,IAAI;QACF,IAAI,CAACI,WAAE,CAACC,UAAU,CAACJ,kBAAkB;YACnCK,IAAAA,0BAAiB,EAAC,CAAC,qBAAqB,EAAEL,iBAAiB;YAC3D,OAAOM;QACT;QAEA,MAAMC,cAAcC,KAAKC,KAAK,CAACN,WAAE,CAACO,YAAY,CAACV,iBAAiB;QAChE,OAAO;YAAE,GAAGO,WAAW;YAAEP;QAAgB;IAC3C,EAAE,OAAOW,GAAG;QACVN,IAAAA,0BAAiB,EAAC,CAAC,yBAAyB,EAAEL,gBAAgB,EAAE,EAAE,AAACW,GAAaC,WAAWD,GAAG;IAChG;AACF;AAQO,eAAeb,oBAAoBC,GAAW;IACnD,MAAMC,kBAAkBC,aAAI,CAACC,IAAI,CAACH,KAAK;IACvC,IAAI;QACF,IAAI,CAACI,WAAE,CAACC,UAAU,CAACJ,kBAAkB;YACnCK,IAAAA,0BAAiB,EAAC,CAAC,qBAAqB,EAAEL,iBAAiB;YAC3D,OAAOM;QACT;QAEA,MAAMC,cAAcC,KAAKC,KAAK,CAAC,MAAMI,iBAAU,CAACC,QAAQ,CAACd,iBAAiB;QAC1E,OAAO;YAAE,GAAGO,WAAW;YAAEP;QAAgB;IAC3C,EAAE,OAAOW,GAAG;QACVN,IAAAA,0BAAiB,EAAC,CAAC,yBAAyB,EAAEL,gBAAgB,EAAE,EAAE,AAACW,GAAaC,WAAWD,GAAG;IAChG;AACF"}
@@ -1,5 +1,5 @@
1
- import { PackageInfos } from "./types/PackageInfo";
2
- import type { WorkspaceManager } from "./types/WorkspaceManager";
1
+ import { type PackageInfos } from "./types/PackageInfo.js";
2
+ import type { WorkspaceManager } from "./types/WorkspaceManager.js";
3
3
  /**
4
4
  * Read all the package.json files in a monorepo and return a mapping from package name to info.
5
5
  * Only works for monorepos which use a supported workspace/monorepo manager.
@@ -8,6 +8,8 @@ import type { WorkspaceManager } from "./types/WorkspaceManager";
8
8
  * - The workspace manager, root, and list of package paths for `cwd` are cached internally,
9
9
  * but the package contents are not.
10
10
  * - To get an array listing package names, paths, and contents, use `getWorkspaceInfos` instead.
11
+ * - If no workspace config is found, it will return info for the root package.json if one exists.
12
+ * (This is different than `getWorkspaceInfos`.)
11
13
  *
12
14
  * @param cwd Start looking for the manager config from here
13
15
  * @param managerOverride Workspace/monorepo manager to use instead of auto-detecting
@@ -1,72 +1,54 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPackageInfosAsync = exports.getPackageInfos = void 0;
4
- const getWorkspaceInfos_1 = require("./workspaces/getWorkspaceInfos");
5
- const getPackageInfo_1 = require("./getPackageInfo");
6
- const paths_1 = require("./paths");
7
- /**
8
- * Read all the package.json files in a monorepo and return a mapping from package name to info.
9
- * Only works for monorepos which use a supported workspace/monorepo manager.
10
- *
11
- * Notes:
12
- * - The workspace manager, root, and list of package paths for `cwd` are cached internally,
13
- * but the package contents are not.
14
- * - To get an array listing package names, paths, and contents, use `getWorkspaceInfos` instead.
15
- *
16
- * @param cwd Start looking for the manager config from here
17
- * @param managerOverride Workspace/monorepo manager to use instead of auto-detecting
18
- *
19
- * @returns Mapping from package name to package info.
20
- * If no workspace config is found, it will return info for the root package.json if one exists.
21
- * Will be empty on error (it logs verbose warnings instead of throwing).
22
- */
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get getPackageInfos () {
13
+ return getPackageInfos;
14
+ },
15
+ get getPackageInfosAsync () {
16
+ return getPackageInfosAsync;
17
+ }
18
+ });
19
+ const _getWorkspaceInfos = require("./workspaces/getWorkspaceInfos.js");
20
+ const _getPackageInfo = require("./getPackageInfo.js");
21
+ const _paths = require("./paths.js");
23
22
  function getPackageInfos(cwd, managerOverride) {
24
- const workspacePackages = (0, getWorkspaceInfos_1.getWorkspaceInfos)(cwd, managerOverride);
25
- return buildPackageInfos({ cwd, workspacePackages });
23
+ const workspacePackages = (0, _getWorkspaceInfos.getWorkspaceInfos)(cwd, managerOverride);
24
+ return buildPackageInfos({
25
+ cwd,
26
+ workspacePackages
27
+ });
26
28
  }
27
- exports.getPackageInfos = getPackageInfos;
28
- /**
29
- * Read all the package.json files in a monorepo and return a mapping from package name to info.
30
- * Only works for monorepos which use a supported workspace/monorepo manager.
31
- *
32
- * Notes:
33
- * - **WARNING**: As of writing, this will start promises to read all package.json files in
34
- * parallel, without direct concurrency control.
35
- * - The workspace manager, root, and list of package paths for `cwd` are cached internally,
36
- * but the package contents are not.
37
- * - To get an array listing package names, paths, and contents, use `getWorkspaceInfos` instead.
38
- *
39
- * @param cwd Start looking for the manager config from here
40
- * @param managerOverride Workspace/monorepo manager to use instead of auto-detecting
41
- *
42
- * @returns Mapping from package name to package info.
43
- * If no workspace config is found, it will return info for the root package.json if one exists.
44
- * Will be empty on error (it logs verbose warnings instead of throwing).
45
- */
46
29
  async function getPackageInfosAsync(cwd, managerOverride) {
47
- const workspacePackages = await (0, getWorkspaceInfos_1.getWorkspaceInfosAsync)(cwd, managerOverride);
48
- return buildPackageInfos({ cwd, workspacePackages });
30
+ const workspacePackages = await (0, _getWorkspaceInfos.getWorkspaceInfosAsync)(cwd, managerOverride);
31
+ return buildPackageInfos({
32
+ cwd,
33
+ workspacePackages
34
+ });
49
35
  }
50
- exports.getPackageInfosAsync = getPackageInfosAsync;
51
36
  /**
52
37
  * Convert an array of workspace package infos into a name-to-packageInfo map.
53
38
  * If there are no workspace packages, reads the root package.json instead.
54
- */
55
- function buildPackageInfos(params) {
39
+ */ function buildPackageInfos(params) {
56
40
  const { cwd, workspacePackages } = params;
57
41
  const packageInfos = {};
58
42
  if (workspacePackages?.length) {
59
- for (const pkg of workspacePackages) {
43
+ for (const pkg of workspacePackages){
60
44
  packageInfos[pkg.name] = pkg.packageJson;
61
45
  }
62
- }
63
- else {
64
- const packageRoot = (0, paths_1.findPackageRoot)(cwd);
65
- const rootInfo = packageRoot && (0, getPackageInfo_1.getPackageInfo)(packageRoot);
46
+ } else {
47
+ const packageRoot = (0, _paths.findPackageRoot)(cwd);
48
+ const rootInfo = packageRoot && (0, _getPackageInfo.getPackageInfo)(packageRoot);
66
49
  if (rootInfo) {
67
50
  packageInfos[rootInfo.name] = rootInfo;
68
51
  }
69
52
  }
70
53
  return packageInfos;
71
54
  }
72
- //# sourceMappingURL=getPackageInfos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPackageInfos.js","sourceRoot":"","sources":["../src/getPackageInfos.ts"],"names":[],"mappings":";;;AACA,sEAA2F;AAC3F,qDAAkD;AAGlD,mCAA0C;AAE1C;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,eAAe,CAAC,GAAW,EAAE,eAAkC;IAC7E,MAAM,iBAAiB,GAAG,IAAA,qCAAiB,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAClE,OAAO,iBAAiB,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACvD,CAAC;AAHD,0CAGC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,oBAAoB,CAAC,GAAW,EAAE,eAAkC;IACxF,MAAM,iBAAiB,GAAG,MAAM,IAAA,0CAAsB,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC7E,OAAO,iBAAiB,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACvD,CAAC;AAHD,oDAGC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,MAG1B;IACC,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;IAC1C,MAAM,YAAY,GAAiB,EAAE,CAAC;IAEtC,IAAI,iBAAiB,EAAE,MAAM,EAAE;QAC7B,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE;YACnC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;SAC1C;KACF;SAAM;QACL,MAAM,WAAW,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAA,+BAAc,EAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,QAAQ,EAAE;YACZ,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;SACxC;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"sources":["../src/getPackageInfos.ts"],"sourcesContent":["import { type PackageInfos } from \"./types/PackageInfo.js\";\nimport { getWorkspaceInfos, getWorkspaceInfosAsync } from \"./workspaces/getWorkspaceInfos.js\";\nimport { getPackageInfo } from \"./getPackageInfo.js\";\nimport type { WorkspacePackageInfo } from \"./types/WorkspaceInfo.js\";\nimport type { WorkspaceManager } from \"./types/WorkspaceManager.js\";\nimport { findPackageRoot } from \"./paths.js\";\n\n/**\n * Read all the package.json files in a monorepo and return a mapping from package name to info.\n * Only works for monorepos which use a supported workspace/monorepo manager.\n *\n * Notes:\n * - The workspace manager, root, and list of package paths for `cwd` are cached internally,\n * but the package contents are not.\n * - To get an array listing package names, paths, and contents, use `getWorkspaceInfos` instead.\n * - If no workspace config is found, it will return info for the root package.json if one exists.\n * (This is different than `getWorkspaceInfos`.)\n *\n * @param cwd Start looking for the manager config from here\n * @param managerOverride Workspace/monorepo manager to use instead of auto-detecting\n *\n * @returns Mapping from package name to package info.\n * If no workspace config is found, it will return info for the root package.json if one exists.\n * Will be empty on error (it logs verbose warnings instead of throwing).\n */\nexport function getPackageInfos(cwd: string, managerOverride?: WorkspaceManager): PackageInfos {\n const workspacePackages = getWorkspaceInfos(cwd, managerOverride);\n return buildPackageInfos({ cwd, workspacePackages });\n}\n\n/**\n * Read all the package.json files in a monorepo and return a mapping from package name to info.\n * Only works for monorepos which use a supported workspace/monorepo manager.\n *\n * Notes:\n * - **WARNING**: As of writing, this will start promises to read all package.json files in\n * parallel, without direct concurrency control.\n * - The workspace manager, root, and list of package paths for `cwd` are cached internally,\n * but the package contents are not.\n * - To get an array listing package names, paths, and contents, use `getWorkspaceInfos` instead.\n *\n * @param cwd Start looking for the manager config from here\n * @param managerOverride Workspace/monorepo manager to use instead of auto-detecting\n *\n * @returns Mapping from package name to package info.\n * If no workspace config is found, it will return info for the root package.json if one exists.\n * Will be empty on error (it logs verbose warnings instead of throwing).\n */\nexport async function getPackageInfosAsync(cwd: string, managerOverride?: WorkspaceManager): Promise<PackageInfos> {\n const workspacePackages = await getWorkspaceInfosAsync(cwd, managerOverride);\n return buildPackageInfos({ cwd, workspacePackages });\n}\n\n/**\n * Convert an array of workspace package infos into a name-to-packageInfo map.\n * If there are no workspace packages, reads the root package.json instead.\n */\nfunction buildPackageInfos(params: {\n cwd: string;\n workspacePackages: WorkspacePackageInfo[] | undefined;\n}): PackageInfos {\n const { cwd, workspacePackages } = params;\n const packageInfos: PackageInfos = {};\n\n if (workspacePackages?.length) {\n for (const pkg of workspacePackages) {\n packageInfos[pkg.name] = pkg.packageJson;\n }\n } else {\n const packageRoot = findPackageRoot(cwd);\n const rootInfo = packageRoot && getPackageInfo(packageRoot);\n if (rootInfo) {\n packageInfos[rootInfo.name] = rootInfo;\n }\n }\n\n return packageInfos;\n}\n"],"names":["getPackageInfos","getPackageInfosAsync","cwd","managerOverride","workspacePackages","getWorkspaceInfos","buildPackageInfos","getWorkspaceInfosAsync","params","packageInfos","length","pkg","name","packageJson","packageRoot","findPackageRoot","rootInfo","getPackageInfo"],"mappings":";;;;;;;;;;;QAyBgBA;eAAAA;;QAuBMC;eAAAA;;;mCA/CoC;gCAC3B;uBAGC;AAoBzB,SAASD,gBAAgBE,GAAW,EAAEC,eAAkC;IAC7E,MAAMC,oBAAoBC,IAAAA,oCAAiB,EAACH,KAAKC;IACjD,OAAOG,kBAAkB;QAAEJ;QAAKE;IAAkB;AACpD;AAoBO,eAAeH,qBAAqBC,GAAW,EAAEC,eAAkC;IACxF,MAAMC,oBAAoB,MAAMG,IAAAA,yCAAsB,EAACL,KAAKC;IAC5D,OAAOG,kBAAkB;QAAEJ;QAAKE;IAAkB;AACpD;AAEA;;;CAGC,GACD,SAASE,kBAAkBE,MAG1B;IACC,MAAM,EAAEN,GAAG,EAAEE,iBAAiB,EAAE,GAAGI;IACnC,MAAMC,eAA6B,CAAC;IAEpC,IAAIL,mBAAmBM,QAAQ;QAC7B,KAAK,MAAMC,OAAOP,kBAAmB;YACnCK,YAAY,CAACE,IAAIC,IAAI,CAAC,GAAGD,IAAIE,WAAW;QAC1C;IACF,OAAO;QACL,MAAMC,cAAcC,IAAAA,sBAAe,EAACb;QACpC,MAAMc,WAAWF,eAAeG,IAAAA,8BAAc,EAACH;QAC/C,IAAIE,UAAU;YACZP,YAAY,CAACO,SAASJ,IAAI,CAAC,GAAGI;QAChC;IACF;IAEA,OAAOP;AACT"}
@@ -1,4 +1,4 @@
1
- import { GitCommonOptions } from "./types";
1
+ import { type GitCommonOptions } from "./types.js";
2
2
  /**
3
3
  * Get the value of a git config key. Returns null if it's not set.
4
4
  * (Note: setting `throwOnError: true` will cause it to fail if the key is unset.)
package/lib/git/config.js CHANGED
@@ -1,17 +1,20 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getConfigValue = void 0;
4
- const git_1 = require("./git");
5
- /**
6
- * Get the value of a git config key. Returns null if it's not set.
7
- * (Note: setting `throwOnError: true` will cause it to fail if the key is unset.)
8
- */
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getConfigValue", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getConfigValue;
9
+ }
10
+ });
11
+ const _git = require("./git.js");
9
12
  function getConfigValue(options) {
10
13
  const { key, ...gitOptions } = options;
11
- const results = (0, git_1.git)(["config", key], gitOptions);
14
+ const results = (0, _git.git)([
15
+ "config",
16
+ key
17
+ ], gitOptions);
12
18
  // command failure here just means it's not set
13
19
  return results.success ? results.stdout.trim() : null;
14
- }
15
- exports.getConfigValue = getConfigValue;
16
- // Other config helpers can move here in the future
17
- //# sourceMappingURL=config.js.map
20
+ } // Other config helpers can move here in the future
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/git/config.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAG5B;;;GAGG;AACH,SAAgB,cAAc,CAAC,OAA2C;IACxE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,OAAO,GAAG,IAAA,SAAG,EAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACjD,+CAA+C;IAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AALD,wCAKC;AAED,mDAAmD"}
1
+ {"version":3,"sources":["../../src/git/config.ts"],"sourcesContent":["import { git } from \"./git.js\";\nimport { type GitCommonOptions } from \"./types.js\";\n\n/**\n * Get the value of a git config key. Returns null if it's not set.\n * (Note: setting `throwOnError: true` will cause it to fail if the key is unset.)\n */\nexport function getConfigValue(options: { key: string } & GitCommonOptions): string | null {\n const { key, ...gitOptions } = options;\n const results = git([\"config\", key], gitOptions);\n // command failure here just means it's not set\n return results.success ? results.stdout.trim() : null;\n}\n\n// Other config helpers can move here in the future\n"],"names":["getConfigValue","options","key","gitOptions","results","git","success","stdout","trim"],"mappings":";;;;+BAOgBA;;;eAAAA;;;qBAPI;AAOb,SAASA,eAAeC,OAA2C;IACxE,MAAM,EAAEC,GAAG,EAAE,GAAGC,YAAY,GAAGF;IAC/B,MAAMG,UAAUC,IAAAA,QAAG,EAAC;QAAC;QAAUH;KAAI,EAAEC;IACrC,+CAA+C;IAC/C,OAAOC,QAAQE,OAAO,GAAGF,QAAQG,MAAM,CAACC,IAAI,KAAK;AACnD,EAEA,mDAAmD"}