workspace-tools 0.33.0 → 0.34.0

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 (37) hide show
  1. package/CHANGELOG.json +16 -1
  2. package/CHANGELOG.md +10 -2
  3. package/lib/getPackageInfos.js +37 -49
  4. package/lib/getPackageInfos.js.map +1 -1
  5. package/lib/index.d.ts +2 -1
  6. package/lib/index.js +2 -1
  7. package/lib/index.js.map +1 -1
  8. package/lib/workspaces/{workspaces.d.ts → getAllPackageJsonFiles.d.ts} +0 -6
  9. package/lib/workspaces/{workspaces.js → getAllPackageJsonFiles.js} +8 -12
  10. package/lib/workspaces/getAllPackageJsonFiles.js.map +1 -0
  11. package/lib/workspaces/getWorkspacePackageInfo.js +11 -15
  12. package/lib/workspaces/getWorkspacePackageInfo.js.map +1 -1
  13. package/lib/workspaces/getWorkspacePackagePaths.d.ts +10 -0
  14. package/lib/workspaces/getWorkspacePackagePaths.js +31 -0
  15. package/lib/workspaces/getWorkspacePackagePaths.js.map +1 -0
  16. package/lib/workspaces/implementations/getWorkspaceUtilities.d.ts +8 -0
  17. package/lib/workspaces/implementations/getWorkspaceUtilities.js.map +1 -1
  18. package/lib/workspaces/implementations/lerna.d.ts +2 -0
  19. package/lib/workspaces/implementations/lerna.js +17 -7
  20. package/lib/workspaces/implementations/lerna.js.map +1 -1
  21. package/lib/workspaces/implementations/npm.d.ts +4 -0
  22. package/lib/workspaces/implementations/npm.js +13 -1
  23. package/lib/workspaces/implementations/npm.js.map +1 -1
  24. package/lib/workspaces/implementations/packageJsonWorkspaces.d.ts +6 -0
  25. package/lib/workspaces/implementations/packageJsonWorkspaces.js +29 -5
  26. package/lib/workspaces/implementations/packageJsonWorkspaces.js.map +1 -1
  27. package/lib/workspaces/implementations/pnpm.d.ts +2 -0
  28. package/lib/workspaces/implementations/pnpm.js +17 -7
  29. package/lib/workspaces/implementations/pnpm.js.map +1 -1
  30. package/lib/workspaces/implementations/rush.d.ts +2 -0
  31. package/lib/workspaces/implementations/rush.js +18 -6
  32. package/lib/workspaces/implementations/rush.js.map +1 -1
  33. package/lib/workspaces/implementations/yarn.d.ts +4 -0
  34. package/lib/workspaces/implementations/yarn.js +13 -1
  35. package/lib/workspaces/implementations/yarn.js.map +1 -1
  36. package/package.json +1 -1
  37. package/lib/workspaces/workspaces.js.map +0 -1
package/CHANGELOG.json CHANGED
@@ -2,7 +2,22 @@
2
2
  "name": "workspace-tools",
3
3
  "entries": [
4
4
  {
5
- "date": "Thu, 13 Apr 2023 08:01:40 GMT",
5
+ "date": "Thu, 13 Apr 2023 20:39:55 GMT",
6
+ "tag": "workspace-tools_v0.34.0",
7
+ "version": "0.34.0",
8
+ "comments": {
9
+ "minor": [
10
+ {
11
+ "author": "elcraig@microsoft.com",
12
+ "package": "workspace-tools",
13
+ "commit": "43b7ce01968702903163327b0cad889a0d3d84d3",
14
+ "comment": "Fix `getPackageInfos` to only read package.jsons once, and `getAllPackageJsonFiles` (which only returns paths) to not read the files at all. There's also a new API `getWorkspacePackagePaths` which allows consumers to make the same optimization."
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "date": "Thu, 13 Apr 2023 08:01:43 GMT",
6
21
  "tag": "workspace-tools_v0.33.0",
7
22
  "version": "0.33.0",
8
23
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,20 @@
1
1
  # Change Log - workspace-tools
2
2
 
3
- This log was last generated on Thu, 13 Apr 2023 08:01:40 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 13 Apr 2023 20:39:55 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.34.0
8
+
9
+ Thu, 13 Apr 2023 20:39:55 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - Fix `getPackageInfos` to only read package.jsons once, and `getAllPackageJsonFiles` (which only returns paths) to not read the files at all. There's also a new API `getWorkspacePackagePaths` which allows consumers to make the same optimization. (elcraig@microsoft.com)
14
+
7
15
  ## 0.33.0
8
16
 
9
- Thu, 13 Apr 2023 08:01:40 GMT
17
+ Thu, 13 Apr 2023 08:01:43 GMT
10
18
 
11
19
  ### Minor changes
12
20
 
@@ -5,66 +5,54 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getPackageInfosAsync = exports.getPackageInfos = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
- const promises_1 = __importDefault(require("fs/promises"));
9
8
  const path_1 = __importDefault(require("path"));
10
9
  const infoFromPackageJson_1 = require("./infoFromPackageJson");
11
- const workspaces_1 = require("./workspaces/workspaces");
10
+ const getWorkspaces_1 = require("./workspaces/getWorkspaces");
12
11
  function getPackageInfos(cwd) {
13
- let packageJsonFiles = (0, workspaces_1.getAllPackageJsonFiles)(cwd);
14
- if (packageJsonFiles.length === 0 && fs_1.default.existsSync(path_1.default.join(cwd, "package.json"))) {
15
- packageJsonFiles = [path_1.default.join(cwd, "package.json")];
16
- }
17
12
  const packageInfos = {};
18
- if (packageJsonFiles && packageJsonFiles.length > 0) {
19
- packageJsonFiles.forEach((packageJsonPath) => {
20
- try {
21
- const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, "utf-8"));
22
- packageInfos[packageJson.name] = (0, infoFromPackageJson_1.infoFromPackageJson)(packageJson, packageJsonPath);
23
- }
24
- catch (e) {
25
- if (e instanceof Error) {
26
- // Pass, the package.json is invalid
27
- throw new Error(`Invalid package.json file detected ${packageJsonPath}: ${e.message}`);
28
- }
29
- else {
30
- throw e;
31
- }
32
- }
33
- });
34
- return packageInfos;
13
+ const workspacePackages = (0, getWorkspaces_1.getWorkspaces)(cwd);
14
+ if (workspacePackages.length) {
15
+ for (const pkg of workspacePackages) {
16
+ packageInfos[pkg.name] = pkg.packageJson;
17
+ }
18
+ }
19
+ else {
20
+ const rootInfo = tryReadRootPackageJson(cwd);
21
+ if (rootInfo) {
22
+ packageInfos[rootInfo.name] = rootInfo;
23
+ }
35
24
  }
36
- return {};
25
+ return packageInfos;
37
26
  }
38
27
  exports.getPackageInfos = getPackageInfos;
39
28
  async function getPackageInfosAsync(cwd) {
40
- let packageJsonFiles = await (0, workspaces_1.getAllPackageJsonFilesAsync)(cwd);
41
- if (packageJsonFiles.length === 0 && fs_1.default.existsSync(path_1.default.join(cwd, "package.json"))) {
42
- packageJsonFiles = [path_1.default.join(cwd, "package.json")];
43
- }
44
29
  const packageInfos = {};
45
- if (packageJsonFiles && packageJsonFiles.length > 0) {
46
- const packageInfoPromises = packageJsonFiles.map(async (packageJsonPath) => {
47
- try {
48
- const packageJson = JSON.parse(await promises_1.default.readFile(packageJsonPath, "utf-8"));
49
- return (0, infoFromPackageJson_1.infoFromPackageJson)(packageJson, packageJsonPath);
50
- }
51
- catch (e) {
52
- if (e instanceof Error) {
53
- // Pass, the package.json is invalid
54
- throw new Error(`Invalid package.json file detected ${packageJsonPath}: ${e.message}`);
55
- }
56
- else {
57
- throw e;
58
- }
59
- }
60
- });
61
- const results = await Promise.all(packageInfoPromises);
62
- for (const packageInfo of results) {
63
- packageInfos[packageInfo.name] = packageInfo;
30
+ const workspacePackages = await (0, getWorkspaces_1.getWorkspacesAsync)(cwd);
31
+ if (workspacePackages.length) {
32
+ for (const pkg of workspacePackages) {
33
+ packageInfos[pkg.name] = pkg.packageJson;
64
34
  }
65
- return packageInfos;
66
35
  }
67
- return {};
36
+ else {
37
+ const rootInfo = tryReadRootPackageJson(cwd);
38
+ if (rootInfo) {
39
+ packageInfos[rootInfo.name] = rootInfo;
40
+ }
41
+ }
42
+ return packageInfos;
68
43
  }
69
44
  exports.getPackageInfosAsync = getPackageInfosAsync;
45
+ function tryReadRootPackageJson(cwd) {
46
+ var _a;
47
+ const packageJsonPath = path_1.default.join(cwd, "package.json");
48
+ if (fs_1.default.existsSync(packageJsonPath)) {
49
+ try {
50
+ const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, "utf-8"));
51
+ return (0, infoFromPackageJson_1.infoFromPackageJson)(packageJson, packageJsonPath);
52
+ }
53
+ catch (e) {
54
+ throw new Error(`Invalid package.json file detected ${packageJsonPath}: ${((_a = e) === null || _a === void 0 ? void 0 : _a.message) || e}`);
55
+ }
56
+ }
57
+ }
70
58
  //# sourceMappingURL=getPackageInfos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPackageInfos.js","sourceRoot":"","sources":["../src/getPackageInfos.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,2DAAqC;AACrC,gDAAwB;AAExB,+DAA4D;AAC5D,wDAA8F;AAE9F,SAAgB,eAAe,CAAC,GAAW;IACzC,IAAI,gBAAgB,GAAG,IAAA,mCAAsB,EAAC,GAAG,CAAC,CAAC;IAEnD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE;QAClF,gBAAgB,GAAG,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;KACrD;IAED,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QACnD,gBAAgB,CAAC,OAAO,CAAC,CAAC,eAAuB,EAAE,EAAE;YACnD,IAAI;gBACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1E,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAA,yCAAmB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;aACpF;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,YAAY,KAAK,EAAE;oBACtB,oCAAoC;oBACpC,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBACxF;qBAAM;oBACL,MAAM,CAAC,CAAC;iBACT;aACF;QACH,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AA1BD,0CA0BC;AAEM,KAAK,UAAU,oBAAoB,CAAC,GAAW;IACpD,IAAI,gBAAgB,GAAG,MAAM,IAAA,wCAA2B,EAAC,GAAG,CAAC,CAAC;IAE9D,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE;QAClF,gBAAgB,GAAG,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;KACrD;IAED,MAAM,YAAY,GAAiB,EAAE,CAAC;IAEtC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QACnD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,eAAuB,EAAE,EAAE;YACjF,IAAI;gBACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,kBAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;gBACpF,OAAO,IAAA,yCAAmB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;aAC1D;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,YAAY,KAAK,EAAE;oBACtB,oCAAoC;oBACpC,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBACxF;qBAAM;oBACL,MAAM,CAAC,CAAC;iBACT;aACF;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACvD,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE;YACjC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;SAC9C;QAED,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAjCD,oDAiCC"}
1
+ {"version":3,"file":"getPackageInfos.js","sourceRoot":"","sources":["../src/getPackageInfos.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,+DAA4D;AAC5D,8DAA+E;AAE/E,SAAgB,eAAe,CAAC,GAAW;IACzC,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,MAAM,iBAAiB,GAAG,IAAA,6BAAa,EAAC,GAAG,CAAC,CAAC;IAE7C,IAAI,iBAAiB,CAAC,MAAM,EAAE;QAC5B,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE;YACnC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;SAC1C;KACF;SAAM;QACL,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE;YACZ,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;SACxC;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAhBD,0CAgBC;AAEM,KAAK,UAAU,oBAAoB,CAAC,GAAW;IACpD,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,MAAM,iBAAiB,GAAG,MAAM,IAAA,kCAAkB,EAAC,GAAG,CAAC,CAAC;IAExD,IAAI,iBAAiB,CAAC,MAAM,EAAE;QAC5B,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE;YACnC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;SAC1C;KACF;SAAM;QACL,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE;YACZ,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;SACxC;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAhBD,oDAgBC;AAED,SAAS,sBAAsB,CAAC,GAAW;;IACzC,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;QAClC,IAAI;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1E,OAAO,IAAA,yCAAmB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SAC1D;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,KAAK,CAAA,MAAC,CAAW,0CAAE,OAAO,KAAI,CAAC,EAAE,CAAC,CAAC;SACzG;KACF;AACH,CAAC"}
package/lib/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export * from "./types/PackageInfo";
10
10
  export * from "./types/WorkspaceInfo";
11
11
  export * from "./workspaces/findWorkspacePath";
12
12
  export * from "./workspaces/getWorkspaces";
13
+ export * from "./workspaces/getWorkspacePackagePaths";
13
14
  export * from "./workspaces/getWorkspaceRoot";
14
15
  export { getPnpmWorkspaceRoot, getPnpmWorkspaces } from "./workspaces/implementations/pnpm";
15
16
  export { getRushWorkspaceRoot, getRushWorkspaces } from "./workspaces/implementations/rush";
@@ -17,4 +18,4 @@ export { getYarnWorkspaceRoot, getYarnWorkspaces } from "./workspaces/implementa
17
18
  export * from "./workspaces/getChangedPackages";
18
19
  export * from "./workspaces/getPackagesByFiles";
19
20
  export * from "./workspaces/listOfWorkspacePackageNames";
20
- export * from "./workspaces/workspaces";
21
+ export * from "./workspaces/getAllPackageJsonFiles";
package/lib/index.js CHANGED
@@ -23,6 +23,7 @@ __exportStar(require("./types/PackageInfo"), exports);
23
23
  __exportStar(require("./types/WorkspaceInfo"), exports);
24
24
  __exportStar(require("./workspaces/findWorkspacePath"), exports);
25
25
  __exportStar(require("./workspaces/getWorkspaces"), exports);
26
+ __exportStar(require("./workspaces/getWorkspacePackagePaths"), exports);
26
27
  __exportStar(require("./workspaces/getWorkspaceRoot"), exports);
27
28
  var pnpm_1 = require("./workspaces/implementations/pnpm");
28
29
  Object.defineProperty(exports, "getPnpmWorkspaceRoot", { enumerable: true, get: function () { return pnpm_1.getPnpmWorkspaceRoot; } });
@@ -36,5 +37,5 @@ Object.defineProperty(exports, "getYarnWorkspaces", { enumerable: true, get: fun
36
37
  __exportStar(require("./workspaces/getChangedPackages"), exports);
37
38
  __exportStar(require("./workspaces/getPackagesByFiles"), exports);
38
39
  __exportStar(require("./workspaces/listOfWorkspacePackageNames"), exports);
39
- __exportStar(require("./workspaces/workspaces"), exports);
40
+ __exportStar(require("./workspaces/getAllPackageJsonFiles"), exports);
40
41
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,uDAAqC;AACrC,oDAAkC;AAClC,wCAAsB;AACtB,gDAA8B;AAC9B,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,uDAAqC;AACrC,sDAAoC;AACpC,wDAAsC;AACtC,iEAA+C;AAC/C,6DAA2C;AAC3C,gEAA8C;AAC9C,0DAA4F;AAAnF,4GAAA,oBAAoB,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAChD,0DAA4F;AAAnF,4GAAA,oBAAoB,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAChD,0DAA4F;AAAnF,4GAAA,oBAAoB,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAChD,kEAAgD;AAChD,kEAAgD;AAChD,2EAAyD;AACzD,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,uDAAqC;AACrC,oDAAkC;AAClC,wCAAsB;AACtB,gDAA8B;AAC9B,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,uDAAqC;AACrC,sDAAoC;AACpC,wDAAsC;AACtC,iEAA+C;AAC/C,6DAA2C;AAC3C,wEAAsD;AACtD,gEAA8C;AAC9C,0DAA4F;AAAnF,4GAAA,oBAAoB,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAChD,0DAA4F;AAAnF,4GAAA,oBAAoB,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAChD,0DAA4F;AAAnF,4GAAA,oBAAoB,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAChD,kEAAgD;AAChD,kEAAgD;AAChD,2EAAyD;AACzD,sEAAoD"}
@@ -1,15 +1,9 @@
1
1
  /**
2
2
  * Get paths to every package.json in the workspace, given a cwd.
3
- *
4
- * **WARNING**: On first call for a given `cwd`, this will **read ALL package.json files,
5
- * not only their paths**!
6
3
  */
7
4
  export declare function getAllPackageJsonFiles(cwd: string): string[];
8
5
  export declare function _resetPackageJsonFilesCache(): void;
9
6
  /**
10
7
  * Get paths to every package.json in the workspace, given a cwd.
11
- *
12
- * **WARNING**: On first call for a given `cwd`, this will **read ALL package.json files,
13
- * not only their paths**!
14
8
  */
15
9
  export declare function getAllPackageJsonFilesAsync(cwd: string): Promise<string[]>;
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.getAllPackageJsonFilesAsync = exports._resetPackageJsonFilesCache = exports.getAllPackageJsonFiles = void 0;
4
- const getWorkspaces_1 = require("./getWorkspaces");
7
+ const path_1 = __importDefault(require("path"));
8
+ const getWorkspacePackagePaths_1 = require("./getWorkspacePackagePaths");
5
9
  const cache = new Map();
6
10
  /**
7
11
  * Get paths to every package.json in the workspace, given a cwd.
8
- *
9
- * **WARNING**: On first call for a given `cwd`, this will **read ALL package.json files,
10
- * not only their paths**!
11
12
  */
12
13
  function getAllPackageJsonFiles(cwd) {
13
14
  if (cache.has(cwd)) {
14
15
  return cache.get(cwd);
15
16
  }
16
- const workspaces = (0, getWorkspaces_1.getWorkspaces)(cwd);
17
- const packageJsonFiles = workspaces.map((workspace) => workspace.packageJson.packageJsonPath);
17
+ const packageJsonFiles = (0, getWorkspacePackagePaths_1.getWorkspacePackagePaths)(cwd).map((packagePath) => path_1.default.join(packagePath, "package.json"));
18
18
  cache.set(cwd, packageJsonFiles);
19
19
  return packageJsonFiles;
20
20
  }
@@ -25,18 +25,14 @@ function _resetPackageJsonFilesCache() {
25
25
  exports._resetPackageJsonFilesCache = _resetPackageJsonFilesCache;
26
26
  /**
27
27
  * Get paths to every package.json in the workspace, given a cwd.
28
- *
29
- * **WARNING**: On first call for a given `cwd`, this will **read ALL package.json files,
30
- * not only their paths**!
31
28
  */
32
29
  async function getAllPackageJsonFilesAsync(cwd) {
33
30
  if (cache.has(cwd)) {
34
31
  return cache.get(cwd);
35
32
  }
36
- const workspaces = await (0, getWorkspaces_1.getWorkspacesAsync)(cwd);
37
- const packageJsonFiles = workspaces.map((workspace) => workspace.packageJson.packageJsonPath);
33
+ const packageJsonFiles = (await (0, getWorkspacePackagePaths_1.getWorkspacePackagePathsAsync)(cwd)).map((packagePath) => path_1.default.join(packagePath, "package.json"));
38
34
  cache.set(cwd, packageJsonFiles);
39
35
  return packageJsonFiles;
40
36
  }
41
37
  exports.getAllPackageJsonFilesAsync = getAllPackageJsonFilesAsync;
42
- //# sourceMappingURL=workspaces.js.map
38
+ //# sourceMappingURL=getAllPackageJsonFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllPackageJsonFiles.js","sourceRoot":"","sources":["../../src/workspaces/getAllPackageJsonFiles.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,yEAAqG;AAErG,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;AAE1C;;GAEG;AACH,SAAgB,sBAAsB,CAAC,GAAW;IAChD,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;KACxB;IAED,MAAM,gBAAgB,GAAG,IAAA,mDAAwB,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAEpH,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEjC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAVD,wDAUC;AAED,SAAgB,2BAA2B;IACzC,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAFD,kEAEC;AAED;;GAEG;AACI,KAAK,UAAU,2BAA2B,CAAC,GAAW;IAC3D,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;KACxB;IAED,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAA,wDAA6B,EAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACtF,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CACvC,CAAC;IAEF,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEjC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAZD,kEAYC"}
@@ -8,6 +8,7 @@ const path_1 = __importDefault(require("path"));
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const promises_1 = __importDefault(require("fs/promises"));
10
10
  const logging_1 = require("../logging");
11
+ const infoFromPackageJson_1 = require("../infoFromPackageJson");
11
12
  /**
12
13
  * Get an array with names, paths, and package.json contents for each of the given package paths
13
14
  * within a workspace.
@@ -22,7 +23,8 @@ function getWorkspacePackageInfo(packagePaths) {
22
23
  if (!packagePaths) {
23
24
  return [];
24
25
  }
25
- return packagePaths.reduce((workspacePkgs, workspacePath) => {
26
+ return packagePaths
27
+ .map((workspacePath) => {
26
28
  let packageJson;
27
29
  const packageJsonPath = path_1.default.join(workspacePath, "package.json");
28
30
  try {
@@ -30,18 +32,15 @@ function getWorkspacePackageInfo(packagePaths) {
30
32
  }
31
33
  catch (err) {
32
34
  (0, logging_1.logVerboseWarning)(`Error reading or parsing ${packageJsonPath} while getting workspace package info`, err);
33
- return workspacePkgs;
35
+ return null;
34
36
  }
35
- workspacePkgs.push({
37
+ return {
36
38
  name: packageJson.name,
37
39
  path: workspacePath,
38
- packageJson: {
39
- ...packageJson,
40
- packageJsonPath,
41
- },
42
- });
43
- return workspacePkgs;
44
- }, []);
40
+ packageJson: (0, infoFromPackageJson_1.infoFromPackageJson)(packageJson, packageJsonPath),
41
+ };
42
+ })
43
+ .filter(Boolean);
45
44
  }
46
45
  exports.getWorkspacePackageInfo = getWorkspacePackageInfo;
47
46
  /**
@@ -65,10 +64,7 @@ async function getWorkspacePackageInfoAsync(packagePaths) {
65
64
  return {
66
65
  name: packageJson.name,
67
66
  path: workspacePath,
68
- packageJson: {
69
- ...packageJson,
70
- packageJsonPath,
71
- },
67
+ packageJson: (0, infoFromPackageJson_1.infoFromPackageJson)(packageJson, packageJsonPath),
72
68
  };
73
69
  }
74
70
  catch (err) {
@@ -76,7 +72,7 @@ async function getWorkspacePackageInfoAsync(packagePaths) {
76
72
  return null;
77
73
  }
78
74
  });
79
- return (await Promise.all(workspacePkgPromises)).flat().filter(Boolean);
75
+ return (await Promise.all(workspacePkgPromises)).filter(Boolean);
80
76
  }
81
77
  exports.getWorkspacePackageInfoAsync = getWorkspacePackageInfoAsync;
82
78
  //# sourceMappingURL=getWorkspacePackageInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getWorkspacePackageInfo.js","sourceRoot":"","sources":["../../src/workspaces/getWorkspacePackageInfo.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,2DAAqC;AAGrC,wCAA+C;AAE/C;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CAAC,YAAsB;IAC5D,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IAED,OAAO,YAAY,CAAC,MAAM,CAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE;QACzE,IAAI,WAAwB,CAAC;QAC7B,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAEjE,IAAI;YACF,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAgB,CAAC;SACpF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAA,2BAAiB,EAAC,4BAA4B,eAAe,uCAAuC,EAAE,GAAG,CAAC,CAAC;YAC3G,OAAO,aAAa,CAAC;SACtB;QAED,aAAa,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE;gBACX,GAAG,WAAW;gBACd,eAAe;aAChB;SACF,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AA1BD,0DA0BC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,4BAA4B,CAAC,YAAsB;IACvE,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,oBAAoB,GAAG,YAAY,CAAC,GAAG,CAAwC,KAAK,EAAE,aAAa,EAAE,EAAE;QAC3G,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAEjE,IAAI;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,kBAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAgB,CAAC;YACnG,OAAO;gBACL,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE;oBACX,GAAG,WAAW;oBACd,eAAe;iBAChB;aACF,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAA,2BAAiB,EAAC,4BAA4B,eAAe,uCAAuC,EAAE,GAAG,CAAC,CAAC;YAC3G,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAkB,CAAC;AAC3F,CAAC;AAzBD,oEAyBC"}
1
+ {"version":3,"file":"getWorkspacePackageInfo.js","sourceRoot":"","sources":["../../src/workspaces/getWorkspacePackageInfo.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,2DAAqC;AAGrC,wCAA+C;AAC/C,gEAA6D;AAE7D;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CAAC,YAAsB;IAC5D,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IAED,OAAO,YAAY;SAChB,GAAG,CAA+B,CAAC,aAAa,EAAE,EAAE;QACnD,IAAI,WAAwB,CAAC;QAC7B,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAEjE,IAAI;YACF,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAgB,CAAC;SACpF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAA,2BAAiB,EAAC,4BAA4B,eAAe,uCAAuC,EAAE,GAAG,CAAC,CAAC;YAC3G,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACL,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,IAAA,yCAAmB,EAAC,WAAW,EAAE,eAAe,CAAC;SAC/D,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAkB,CAAC;AACtC,CAAC;AAxBD,0DAwBC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,4BAA4B,CAAC,YAAsB;IACvE,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,oBAAoB,GAAG,YAAY,CAAC,GAAG,CAAwC,KAAK,EAAE,aAAa,EAAE,EAAE;QAC3G,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAEjE,IAAI;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,kBAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAgB,CAAC;YACnG,OAAO;gBACL,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,IAAA,yCAAmB,EAAC,WAAW,EAAE,eAAe,CAAC;aAC/D,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAA,2BAAiB,EAAC,4BAA4B,eAAe,uCAAuC,EAAE,GAAG,CAAC,CAAC;YAC3G,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAkB,CAAC;AACpF,CAAC;AAtBD,oEAsBC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Get a list of package folder paths in the workspace. The list of included packages is based on
3
+ * the manager's config file and matching package folders (which must contain package.json) on disk.
4
+ */
5
+ export declare function getWorkspacePackagePaths(cwd: string): string[];
6
+ /**
7
+ * Get a list of package folder paths in the workspace. The list of included packages is based on
8
+ * the manager's config file and matching package folders (which must contain package.json) on disk.
9
+ */
10
+ export declare function getWorkspacePackagePathsAsync(cwd: string): Promise<string[]>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWorkspacePackagePathsAsync = exports.getWorkspacePackagePaths = void 0;
4
+ const implementations_1 = require("./implementations");
5
+ /**
6
+ * Get a list of package folder paths in the workspace. The list of included packages is based on
7
+ * the manager's config file and matching package folders (which must contain package.json) on disk.
8
+ */
9
+ function getWorkspacePackagePaths(cwd) {
10
+ const utils = (0, implementations_1.getWorkspaceUtilities)(cwd);
11
+ return (utils === null || utils === void 0 ? void 0 : utils.getWorkspacePackagePaths(cwd)) || [];
12
+ }
13
+ exports.getWorkspacePackagePaths = getWorkspacePackagePaths;
14
+ /**
15
+ * Get a list of package folder paths in the workspace. The list of included packages is based on
16
+ * the manager's config file and matching package folders (which must contain package.json) on disk.
17
+ */
18
+ async function getWorkspacePackagePathsAsync(cwd) {
19
+ var _a;
20
+ const utils = (0, implementations_1.getWorkspaceUtilities)(cwd);
21
+ if (!utils) {
22
+ return [];
23
+ }
24
+ if (!utils.getWorkspacePackagePathsAsync) {
25
+ const managerName = (_a = (0, implementations_1.getWorkspaceManagerAndRoot)(cwd)) === null || _a === void 0 ? void 0 : _a.manager;
26
+ throw new Error(`${cwd} is using ${managerName} which has not been converted to async yet`);
27
+ }
28
+ return utils.getWorkspacePackagePathsAsync(cwd);
29
+ }
30
+ exports.getWorkspacePackagePathsAsync = getWorkspacePackagePathsAsync;
31
+ //# sourceMappingURL=getWorkspacePackagePaths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkspacePackagePaths.js","sourceRoot":"","sources":["../../src/workspaces/getWorkspacePackagePaths.ts"],"names":[],"mappings":";;;AAAA,uDAAsF;AAEtF;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,GAAW;IAClD,MAAM,KAAK,GAAG,IAAA,uCAAqB,EAAC,GAAG,CAAC,CAAC;IACzC,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,wBAAwB,CAAC,GAAG,CAAC,KAAI,EAAE,CAAC;AACpD,CAAC;AAHD,4DAGC;AAED;;;GAGG;AACI,KAAK,UAAU,6BAA6B,CAAC,GAAW;;IAC7D,MAAM,KAAK,GAAG,IAAA,uCAAqB,EAAC,GAAG,CAAC,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACX;IAED,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAAE;QACxC,MAAM,WAAW,GAAG,MAAA,IAAA,4CAA0B,EAAC,GAAG,CAAC,0CAAE,OAAO,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,aAAa,WAAW,4CAA4C,CAAC,CAAC;KAC7F;IAED,OAAO,KAAK,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC;AAbD,sEAaC"}
@@ -1,5 +1,13 @@
1
1
  import { WorkspaceInfo } from "../../types/WorkspaceInfo";
2
2
  export interface WorkspaceUtilities {
3
+ /**
4
+ * Get an array of paths to packages in the workspace, based on the manager's config file.
5
+ */
6
+ getWorkspacePackagePaths: (cwd: string) => string[];
7
+ /**
8
+ * Get an array of paths to packages in the workspace, based on the manager's config file.
9
+ */
10
+ getWorkspacePackagePathsAsync?: (cwd: string) => Promise<string[]>;
3
11
  /**
4
12
  * Get an array with names, paths, and package.json contents for each package in a workspace.
5
13
  * (See `../getWorkspaces` for why it's named this way.)
@@ -1 +1 @@
1
- {"version":3,"file":"getWorkspaceUtilities.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/getWorkspaceUtilities.ts"],"names":[],"mappings":";;;AACA,6EAA0E;AAqB1E;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,GAAW;;IAC/C,MAAM,OAAO,GAAG,MAAA,IAAA,uDAA0B,EAAC,GAAG,CAAC,0CAAE,OAAO,CAAC;IAEzD,QAAQ,OAAO,EAAE;QACf,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAEnD,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAEnD,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAEnD,KAAK,KAAK;YACR,OAAO,OAAO,CAAC,OAAO,CAAwB,CAAC;QAEjD,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,SAAS,CAA0B,CAAC;KACtD;AACH,CAAC;AAnBD,sDAmBC"}
1
+ {"version":3,"file":"getWorkspaceUtilities.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/getWorkspaceUtilities.ts"],"names":[],"mappings":";;;AACA,6EAA0E;AA6B1E;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,GAAW;;IAC/C,MAAM,OAAO,GAAG,MAAA,IAAA,uDAA0B,EAAC,GAAG,CAAC,0CAAE,OAAO,CAAC;IAEzD,QAAQ,OAAO,EAAE;QACf,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAEnD,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAEnD,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAEnD,KAAK,KAAK;YACR,OAAO,OAAO,CAAC,OAAO,CAAwB,CAAC;QAEjD,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,SAAS,CAA0B,CAAC;KACtD;AACH,CAAC;AAnBD,sDAmBC"}
@@ -1,4 +1,6 @@
1
1
  import { WorkspaceInfo } from "../../types/WorkspaceInfo";
2
+ /** Get package paths for a lerna workspace. */
3
+ export declare function getWorkspacePackagePaths(cwd: string): string[];
2
4
  /**
3
5
  * Get an array with names, paths, and package.json contents for each package in a lerna workspace.
4
6
  * (See `../getWorkspaces` for why it's named this way.)
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getWorkspaces = exports.getLernaWorkspaces = void 0;
6
+ exports.getWorkspaces = exports.getLernaWorkspaces = exports.getWorkspacePackagePaths = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const jju_1 = __importDefault(require("jju"));
9
9
  const path_1 = __importDefault(require("path"));
@@ -19,18 +19,28 @@ function getLernaWorkspaceRoot(cwd) {
19
19
  }
20
20
  return root;
21
21
  }
22
+ /** Get package paths for a lerna workspace. */
23
+ function getWorkspacePackagePaths(cwd) {
24
+ try {
25
+ const lernaWorkspaceRoot = getLernaWorkspaceRoot(cwd);
26
+ const lernaJsonPath = path_1.default.join(lernaWorkspaceRoot, "lerna.json");
27
+ const lernaConfig = jju_1.default.parse(fs_1.default.readFileSync(lernaJsonPath, "utf-8"));
28
+ return (0, getPackagePaths_1.getPackagePaths)(lernaWorkspaceRoot, lernaConfig.packages);
29
+ }
30
+ catch (err) {
31
+ (0, logging_1.logVerboseWarning)(`Error getting lerna workspace package paths for ${cwd}`, err);
32
+ return [];
33
+ }
34
+ }
35
+ exports.getWorkspacePackagePaths = getWorkspacePackagePaths;
22
36
  /**
23
37
  * Get an array with names, paths, and package.json contents for each package in a lerna workspace.
24
38
  * (See `../getWorkspaces` for why it's named this way.)
25
39
  */
26
40
  function getLernaWorkspaces(cwd) {
27
41
  try {
28
- const lernaWorkspaceRoot = getLernaWorkspaceRoot(cwd);
29
- const lernaJsonPath = path_1.default.join(lernaWorkspaceRoot, "lerna.json");
30
- const lernaConfig = jju_1.default.parse(fs_1.default.readFileSync(lernaJsonPath, "utf-8"));
31
- const packagePaths = (0, getPackagePaths_1.getPackagePaths)(lernaWorkspaceRoot, lernaConfig.packages);
32
- const workspaceInfo = (0, getWorkspacePackageInfo_1.getWorkspacePackageInfo)(packagePaths);
33
- return workspaceInfo;
42
+ const packagePaths = getWorkspacePackagePaths(cwd);
43
+ return (0, getWorkspacePackageInfo_1.getWorkspacePackageInfo)(packagePaths);
34
44
  }
35
45
  catch (err) {
36
46
  (0, logging_1.logVerboseWarning)(`Error getting lerna workspaces for ${cwd}`, err);
@@ -1 +1 @@
1
- {"version":3,"file":"lerna.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/lerna.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,8CAAsB;AACtB,gDAAwB;AACxB,2DAAwD;AAExD,wEAAqE;AACrE,2CAAkD;AAClD,6EAA0E;AAE1E,SAAS,qBAAqB,CAAC,GAAW;;IACxC,MAAM,IAAI,GAAG,MAAA,IAAA,uDAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,0CAAE,IAAI,CAAC;IACvE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,2CAA2C,GAAG,GAAG,CAAC,CAAC;KACpE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,IAAI;QACF,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAElE,MAAM,WAAW,GAAG,aAAG,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QAEvE,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC,kBAAkB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/E,MAAM,aAAa,GAAG,IAAA,iDAAuB,EAAC,YAAY,CAAC,CAAC;QAC5D,OAAO,aAAa,CAAC;KACtB;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,sCAAsC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QACpE,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAdD,gDAcC;AAE8B,2CAAa"}
1
+ {"version":3,"file":"lerna.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/lerna.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,8CAAsB;AACtB,gDAAwB;AACxB,2DAAwD;AAExD,wEAAqE;AACrE,2CAAkD;AAClD,6EAA0E;AAE1E,SAAS,qBAAqB,CAAC,GAAW;;IACxC,MAAM,IAAI,GAAG,MAAA,IAAA,uDAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,0CAAE,IAAI,CAAC;IACvE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,2CAA2C,GAAG,GAAG,CAAC,CAAC;KACpE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+CAA+C;AAC/C,SAAgB,wBAAwB,CAAC,GAAW;IAClD,IAAI;QACF,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,aAAG,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QACvE,OAAO,IAAA,iCAAe,EAAC,kBAAkB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;KAClE;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,mDAAmD,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QACjF,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAVD,4DAUC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,IAAI;QACF,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,IAAA,iDAAuB,EAAC,YAAY,CAAC,CAAC;KAC9C;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,sCAAsC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QACpE,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AARD,gDAQC;AAE8B,2CAAa"}
@@ -1,4 +1,8 @@
1
1
  import { WorkspaceInfo } from "../../types/WorkspaceInfo";
2
+ /** Get package paths for an npm workspace. */
3
+ export declare function getWorkspacePackagePaths(cwd: string): string[];
4
+ /** Get package paths for an npm workspace. */
5
+ export declare function getWorkspacePackagePathsAsync(cwd: string): Promise<string[]>;
2
6
  /**
3
7
  * Get an array with names, paths, and package.json contents for each package in an npm workspace.
4
8
  * (See `../getWorkspaces` for why it's named this way.)
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getWorkspacesAsync = exports.getWorkspaces = exports.getNpmWorkspacesAsync = exports.getNpmWorkspaces = void 0;
3
+ exports.getWorkspacesAsync = exports.getWorkspaces = exports.getNpmWorkspacesAsync = exports.getNpmWorkspaces = exports.getWorkspacePackagePathsAsync = exports.getWorkspacePackagePaths = void 0;
4
4
  const _1 = require(".");
5
5
  const packageJsonWorkspaces_1 = require("./packageJsonWorkspaces");
6
6
  function getNpmWorkspaceRoot(cwd) {
@@ -11,6 +11,18 @@ function getNpmWorkspaceRoot(cwd) {
11
11
  }
12
12
  return root;
13
13
  }
14
+ /** Get package paths for an npm workspace. */
15
+ function getWorkspacePackagePaths(cwd) {
16
+ const npmWorkspacesRoot = getNpmWorkspaceRoot(cwd);
17
+ return (0, packageJsonWorkspaces_1.getPackagePathsFromWorkspaceRoot)(npmWorkspacesRoot);
18
+ }
19
+ exports.getWorkspacePackagePaths = getWorkspacePackagePaths;
20
+ /** Get package paths for an npm workspace. */
21
+ function getWorkspacePackagePathsAsync(cwd) {
22
+ const npmWorkspacesRoot = getNpmWorkspaceRoot(cwd);
23
+ return (0, packageJsonWorkspaces_1.getPackagePathsFromWorkspaceRootAsync)(npmWorkspacesRoot);
24
+ }
25
+ exports.getWorkspacePackagePathsAsync = getWorkspacePackagePathsAsync;
14
26
  /**
15
27
  * Get an array with names, paths, and package.json contents for each package in an npm workspace.
16
28
  * (See `../getWorkspaces` for why it's named this way.)
@@ -1 +1 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/npm.ts"],"names":[],"mappings":";;;AAAA,wBAA+C;AAE/C,mEAAoH;AAEpH,SAAS,mBAAmB,CAAC,GAAW;;IACtC,MAAM,IAAI,GAAG,MAAA,IAAA,6BAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,0CAAE,IAAI,CAAC;IACrE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAC;KAClE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO,IAAA,yDAAiC,EAAC,iBAAiB,CAAC,CAAC;AAC9D,CAAC;AAHD,4CAGC;AAW4B,yCAAa;AAT1C;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO,IAAA,8DAAsC,EAAC,iBAAiB,CAAC,CAAC;AACnE,CAAC;AAHD,sDAGC;AAGiC,mDAAkB"}
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/npm.ts"],"names":[],"mappings":";;;AAAA,wBAA+C;AAE/C,mEAKiC;AAEjC,SAAS,mBAAmB,CAAC,GAAW;;IACtC,MAAM,IAAI,GAAG,MAAA,IAAA,6BAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,0CAAE,IAAI,CAAC;IACrE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAC;KAClE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8CAA8C;AAC9C,SAAgB,wBAAwB,CAAC,GAAW;IAClD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO,IAAA,wDAAgC,EAAC,iBAAiB,CAAC,CAAC;AAC7D,CAAC;AAHD,4DAGC;AAED,8CAA8C;AAC9C,SAAgB,6BAA6B,CAAC,GAAW;IACvD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO,IAAA,6DAAqC,EAAC,iBAAiB,CAAC,CAAC;AAClE,CAAC;AAHD,sEAGC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO,IAAA,yDAAiC,EAAC,iBAAiB,CAAC,CAAC;AAC9D,CAAC;AAHD,4CAGC;AAW4B,yCAAa;AAT1C;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO,IAAA,8DAAsC,EAAC,iBAAiB,CAAC,CAAC;AACnE,CAAC;AAHD,sDAGC;AAGiC,mDAAkB"}
@@ -1,3 +1,9 @@
1
+ export declare function getPackagePathsFromWorkspaceRoot(packageJsonWorkspacesRoot: string): string[];
2
+ /**
3
+ * Get an array with names, paths, and package.json contents for each package in an npm/yarn workspace.
4
+ * (See `../getWorkspaces` for why it's named this way.)
5
+ */
6
+ export declare function getPackagePathsFromWorkspaceRootAsync(packageJsonWorkspacesRoot: string): Promise<string[]>;
1
7
  /**
2
8
  * Get an array with names, paths, and package.json contents for each package in an npm/yarn workspace.
3
9
  * (See `../getWorkspaces` for why it's named this way.)
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getWorkspaceInfoFromWorkspaceRootAsync = exports.getWorkspaceInfoFromWorkspaceRoot = void 0;
6
+ exports.getWorkspaceInfoFromWorkspaceRootAsync = exports.getWorkspaceInfoFromWorkspaceRoot = exports.getPackagePathsFromWorkspaceRootAsync = exports.getPackagePathsFromWorkspaceRoot = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const getPackagePaths_1 = require("../../getPackagePaths");
@@ -30,14 +30,39 @@ function getPackages(packageJsonWorkspacesRoot) {
30
30
  }
31
31
  return workspaces.packages;
32
32
  }
33
+ function getPackagePathsFromWorkspaceRoot(packageJsonWorkspacesRoot) {
34
+ try {
35
+ const packageGlobs = getPackages(packageJsonWorkspacesRoot);
36
+ return packageGlobs ? (0, getPackagePaths_1.getPackagePaths)(packageJsonWorkspacesRoot, packageGlobs) : [];
37
+ }
38
+ catch (err) {
39
+ (0, logging_1.logVerboseWarning)(`Error getting package paths for ${packageJsonWorkspacesRoot}`, err);
40
+ return [];
41
+ }
42
+ }
43
+ exports.getPackagePathsFromWorkspaceRoot = getPackagePathsFromWorkspaceRoot;
33
44
  /**
34
45
  * Get an array with names, paths, and package.json contents for each package in an npm/yarn workspace.
35
46
  * (See `../getWorkspaces` for why it's named this way.)
36
47
  */
37
- function getWorkspaceInfoFromWorkspaceRoot(packageJsonWorkspacesRoot) {
48
+ async function getPackagePathsFromWorkspaceRootAsync(packageJsonWorkspacesRoot) {
38
49
  try {
39
50
  const packageGlobs = getPackages(packageJsonWorkspacesRoot);
40
- const packagePaths = (0, getPackagePaths_1.getPackagePaths)(packageJsonWorkspacesRoot, packageGlobs);
51
+ return packageGlobs ? (0, getPackagePaths_1.getPackagePathsAsync)(packageJsonWorkspacesRoot, packageGlobs) : [];
52
+ }
53
+ catch (err) {
54
+ (0, logging_1.logVerboseWarning)(`Error getting package paths for ${packageJsonWorkspacesRoot}`, err);
55
+ return [];
56
+ }
57
+ }
58
+ exports.getPackagePathsFromWorkspaceRootAsync = getPackagePathsFromWorkspaceRootAsync;
59
+ /**
60
+ * Get an array with names, paths, and package.json contents for each package in an npm/yarn workspace.
61
+ * (See `../getWorkspaces` for why it's named this way.)
62
+ */
63
+ function getWorkspaceInfoFromWorkspaceRoot(packageJsonWorkspacesRoot) {
64
+ try {
65
+ const packagePaths = getPackagePathsFromWorkspaceRoot(packageJsonWorkspacesRoot);
41
66
  return (0, getWorkspacePackageInfo_1.getWorkspacePackageInfo)(packagePaths);
42
67
  }
43
68
  catch (err) {
@@ -52,8 +77,7 @@ exports.getWorkspaceInfoFromWorkspaceRoot = getWorkspaceInfoFromWorkspaceRoot;
52
77
  */
53
78
  async function getWorkspaceInfoFromWorkspaceRootAsync(packageJsonWorkspacesRoot) {
54
79
  try {
55
- const packageGlobs = getPackages(packageJsonWorkspacesRoot);
56
- const packagePaths = await (0, getPackagePaths_1.getPackagePathsAsync)(packageJsonWorkspacesRoot, packageGlobs);
80
+ const packagePaths = await getPackagePathsFromWorkspaceRootAsync(packageJsonWorkspacesRoot);
57
81
  return (0, getWorkspacePackageInfo_1.getWorkspacePackageInfoAsync)(packagePaths);
58
82
  }
59
83
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"packageJsonWorkspaces.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/packageJsonWorkspaces.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,2DAA8E;AAC9E,wEAAmG;AACnG,2CAAkD;AAWlD;;GAEG;AACH,SAAS,WAAW,CAAC,yBAAiC;IACpD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;IAE7E,IAAI,WAAsC,CAAC;IAC3C,IAAI;QACF,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAA8B,CAAC;KAClG;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;IAEnC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC7B,OAAO,UAAU,CAAC;KACnB;IAED,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAA,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,SAAgB,iCAAiC,CAAC,yBAAiC;IACjF,IAAI;QACF,MAAM,YAAY,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;QAC9E,OAAO,IAAA,iDAAuB,EAAC,YAAY,CAAC,CAAC;KAC9C;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,oCAAoC,yBAAyB,EAAE,EAAE,GAAG,CAAC,CAAC;QACxF,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AATD,8EASC;AAED;;;GAGG;AACI,KAAK,UAAU,sCAAsC,CAAC,yBAAiC;IAC5F,IAAI;QACF,MAAM,YAAY,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,MAAM,IAAA,sCAAoB,EAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;QACzF,OAAO,IAAA,sDAA4B,EAAC,YAAY,CAAC,CAAC;KACnD;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,oCAAoC,yBAAyB,EAAE,EAAE,GAAG,CAAC,CAAC;QACxF,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AATD,wFASC"}
1
+ {"version":3,"file":"packageJsonWorkspaces.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/packageJsonWorkspaces.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,2DAA8E;AAC9E,wEAAmG;AACnG,2CAAkD;AAWlD;;GAEG;AACH,SAAS,WAAW,CAAC,yBAAiC;IACpD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;IAE7E,IAAI,WAAsC,CAAC;IAC3C,IAAI;QACF,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAA8B,CAAC;KAClG;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;IAEnC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC7B,OAAO,UAAU,CAAC;KACnB;IAED,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAA,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC;AAC7B,CAAC;AAED,SAAgB,gCAAgC,CAAC,yBAAiC;IAChF,IAAI;QACF,MAAM,YAAY,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAC5D,OAAO,YAAY,CAAC,CAAC,CAAC,IAAA,iCAAe,EAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACrF;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,mCAAmC,yBAAyB,EAAE,EAAE,GAAG,CAAC,CAAC;QACvF,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AARD,4EAQC;AAED;;;GAGG;AACI,KAAK,UAAU,qCAAqC,CAAC,yBAAiC;IAC3F,IAAI;QACF,MAAM,YAAY,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAC5D,OAAO,YAAY,CAAC,CAAC,CAAC,IAAA,sCAAoB,EAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,mCAAmC,yBAAyB,EAAE,EAAE,GAAG,CAAC,CAAC;QACvF,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AARD,sFAQC;AAED;;;GAGG;AACH,SAAgB,iCAAiC,CAAC,yBAAiC;IACjF,IAAI;QACF,MAAM,YAAY,GAAG,gCAAgC,CAAC,yBAAyB,CAAC,CAAC;QACjF,OAAO,IAAA,iDAAuB,EAAC,YAAY,CAAC,CAAC;KAC9C;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,oCAAoC,yBAAyB,EAAE,EAAE,GAAG,CAAC,CAAC;QACxF,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AARD,8EAQC;AAED;;;GAGG;AACI,KAAK,UAAU,sCAAsC,CAAC,yBAAiC;IAC5F,IAAI;QACF,MAAM,YAAY,GAAG,MAAM,qCAAqC,CAAC,yBAAyB,CAAC,CAAC;QAC5F,OAAO,IAAA,sDAA4B,EAAC,YAAY,CAAC,CAAC;KACnD;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,oCAAoC,yBAAyB,EAAE,EAAE,GAAG,CAAC,CAAC;QACxF,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AARD,wFAQC"}
@@ -1,6 +1,8 @@
1
1
  import { WorkspaceInfo } from "../../types/WorkspaceInfo";
2
2
  /** @deprecated Use `getWorkspaceRoot` */
3
3
  export declare function getPnpmWorkspaceRoot(cwd: string): string;
4
+ /** Get package paths for a pnpm workspace. */
5
+ export declare function getWorkspacePackagePaths(cwd: string): string[];
4
6
  /**
5
7
  * Get an array with names, paths, and package.json contents for each package in a pnpm workspace.
6
8
  * (See `../getWorkspaces` for why it's named this way.)
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getWorkspaces = exports.getPnpmWorkspaces = exports.getPnpmWorkspaceRoot = void 0;
6
+ exports.getWorkspaces = exports.getPnpmWorkspaces = exports.getWorkspacePackagePaths = exports.getPnpmWorkspaceRoot = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const getPackagePaths_1 = require("../../getPackagePaths");
9
9
  const getWorkspacePackageInfo_1 = require("../getWorkspacePackageInfo");
@@ -20,18 +20,28 @@ function getPnpmWorkspaceRoot(cwd) {
20
20
  return root;
21
21
  }
22
22
  exports.getPnpmWorkspaceRoot = getPnpmWorkspaceRoot;
23
+ /** Get package paths for a pnpm workspace. */
24
+ function getWorkspacePackagePaths(cwd) {
25
+ try {
26
+ const pnpmWorkspacesRoot = getPnpmWorkspaceRoot(cwd);
27
+ const pnpmWorkspacesFile = path_1.default.join(pnpmWorkspacesRoot, "pnpm-workspace.yaml");
28
+ const pnpmWorkspaces = (0, readYaml_1.readYaml)(pnpmWorkspacesFile);
29
+ return (0, getPackagePaths_1.getPackagePaths)(pnpmWorkspacesRoot, pnpmWorkspaces.packages);
30
+ }
31
+ catch (err) {
32
+ (0, logging_1.logVerboseWarning)(`Error getting pnpm workspace package paths for ${cwd}`, err);
33
+ return [];
34
+ }
35
+ }
36
+ exports.getWorkspacePackagePaths = getWorkspacePackagePaths;
23
37
  /**
24
38
  * Get an array with names, paths, and package.json contents for each package in a pnpm workspace.
25
39
  * (See `../getWorkspaces` for why it's named this way.)
26
40
  */
27
41
  function getPnpmWorkspaces(cwd) {
28
42
  try {
29
- const pnpmWorkspacesRoot = getPnpmWorkspaceRoot(cwd);
30
- const pnpmWorkspacesFile = path_1.default.join(pnpmWorkspacesRoot, "pnpm-workspace.yaml");
31
- const pnpmWorkspaces = (0, readYaml_1.readYaml)(pnpmWorkspacesFile);
32
- const packagePaths = (0, getPackagePaths_1.getPackagePaths)(pnpmWorkspacesRoot, pnpmWorkspaces.packages);
33
- const workspaceInfo = (0, getWorkspacePackageInfo_1.getWorkspacePackageInfo)(packagePaths);
34
- return workspaceInfo;
43
+ const packagePaths = getWorkspacePackagePaths(cwd);
44
+ return (0, getWorkspacePackageInfo_1.getWorkspacePackageInfo)(packagePaths);
35
45
  }
36
46
  catch (err) {
37
47
  (0, logging_1.logVerboseWarning)(`Error getting pnpm workspaces for ${cwd}`, err);
@@ -1 +1 @@
1
- {"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/pnpm.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,2DAAwD;AAExD,wEAAqE;AACrE,sDAAmD;AACnD,2CAAkD;AAClD,6EAA0E;AAM1E,yCAAyC;AACzC,SAAgB,oBAAoB,CAAC,GAAW;;IAC9C,MAAM,IAAI,GAAG,MAAA,IAAA,uDAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,0CAAE,IAAI,CAAC;IACtE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,GAAG,CAAC,CAAC;KACnE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAND,oDAMC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,IAAI;QACF,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;QAEhF,MAAM,cAAc,GAAG,IAAA,mBAAQ,EAAC,kBAAkB,CAAsB,CAAC;QAEzE,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC,kBAAkB,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClF,MAAM,aAAa,GAAG,IAAA,iDAAuB,EAAC,YAAY,CAAC,CAAC;QAE5D,OAAO,aAAa,CAAC;KACtB;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,qCAAqC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAfD,8CAeC;AAE6B,0CAAa"}
1
+ {"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/pnpm.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,2DAAwD;AAExD,wEAAqE;AACrE,sDAAmD;AACnD,2CAAkD;AAClD,6EAA0E;AAM1E,yCAAyC;AACzC,SAAgB,oBAAoB,CAAC,GAAW;;IAC9C,MAAM,IAAI,GAAG,MAAA,IAAA,uDAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,0CAAE,IAAI,CAAC;IACtE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,GAAG,CAAC,CAAC;KACnE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAND,oDAMC;AAED,8CAA8C;AAC9C,SAAgB,wBAAwB,CAAC,GAAW;IAClD,IAAI;QACF,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;QAEhF,MAAM,cAAc,GAAG,IAAA,mBAAQ,EAAC,kBAAkB,CAAsB,CAAC;QAEzE,OAAO,IAAA,iCAAe,EAAC,kBAAkB,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;KACrE;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,kDAAkD,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QAChF,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAZD,4DAYC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,IAAI;QACF,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,IAAA,iDAAuB,EAAC,YAAY,CAAC,CAAC;KAC9C;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,qCAAqC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AARD,8CAQC;AAE6B,0CAAa"}
@@ -1,6 +1,8 @@
1
1
  import { WorkspaceInfo } from "../../types/WorkspaceInfo";
2
2
  /** @deprecated Use getWorkspaceRoot */
3
3
  export declare function getRushWorkspaceRoot(cwd: string): string;
4
+ /** Get package paths for a rush workspace. */
5
+ export declare function getWorkspacePackagePaths(cwd: string): string[];
4
6
  /**
5
7
  * Get an array with names, paths, and package.json contents for each package in a rush workspace.
6
8
  * (See `../getWorkspaces` for why it's named this way.)
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getWorkspaces = exports.getRushWorkspaces = exports.getRushWorkspaceRoot = void 0;
6
+ exports.getWorkspaces = exports.getRushWorkspaces = exports.getWorkspacePackagePaths = exports.getRushWorkspaceRoot = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const jju_1 = __importDefault(require("jju"));
9
9
  const fs_1 = __importDefault(require("fs"));
@@ -20,17 +20,29 @@ function getRushWorkspaceRoot(cwd) {
20
20
  return root;
21
21
  }
22
22
  exports.getRushWorkspaceRoot = getRushWorkspaceRoot;
23
+ /** Get package paths for a rush workspace. */
24
+ function getWorkspacePackagePaths(cwd) {
25
+ try {
26
+ const rushWorkspaceRoot = getRushWorkspaceRoot(cwd);
27
+ const rushJsonPath = path_1.default.join(rushWorkspaceRoot, "rush.json");
28
+ const rushConfig = jju_1.default.parse(fs_1.default.readFileSync(rushJsonPath, "utf-8"));
29
+ const root = path_1.default.dirname(rushJsonPath);
30
+ return rushConfig.projects.map((project) => path_1.default.join(root, project.projectFolder));
31
+ }
32
+ catch (err) {
33
+ (0, logging_1.logVerboseWarning)(`Error getting rush workspace package paths for ${cwd}`, err);
34
+ return [];
35
+ }
36
+ }
37
+ exports.getWorkspacePackagePaths = getWorkspacePackagePaths;
23
38
  /**
24
39
  * Get an array with names, paths, and package.json contents for each package in a rush workspace.
25
40
  * (See `../getWorkspaces` for why it's named this way.)
26
41
  */
27
42
  function getRushWorkspaces(cwd) {
28
43
  try {
29
- const rushWorkspaceRoot = getRushWorkspaceRoot(cwd);
30
- const rushJsonPath = path_1.default.join(rushWorkspaceRoot, "rush.json");
31
- const rushConfig = jju_1.default.parse(fs_1.default.readFileSync(rushJsonPath, "utf-8"));
32
- const root = path_1.default.dirname(rushJsonPath);
33
- return (0, getWorkspacePackageInfo_1.getWorkspacePackageInfo)(rushConfig.projects.map((project) => path_1.default.join(root, project.projectFolder)));
44
+ const packagePaths = getWorkspacePackagePaths(cwd);
45
+ return (0, getWorkspacePackageInfo_1.getWorkspacePackageInfo)(packagePaths);
34
46
  }
35
47
  catch (err) {
36
48
  (0, logging_1.logVerboseWarning)(`Error getting rush workspaces for ${cwd}`, err);
@@ -1 +1 @@
1
- {"version":3,"file":"rush.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/rush.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,8CAAsB;AACtB,4CAAoB;AAGpB,wEAAqE;AACrE,2CAAkD;AAClD,6EAA0E;AAE1E,uCAAuC;AACvC,SAAgB,oBAAoB,CAAC,GAAW;;IAC9C,MAAM,IAAI,GAAG,MAAA,IAAA,uDAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,0CAAE,IAAI,CAAC;IACtE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,GAAG,CAAC,CAAC;KACnE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAND,oDAMC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,IAAI;QACF,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAmD,aAAG,CAAC,KAAK,CAC1E,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CACvC,CAAC;QACF,MAAM,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAExC,OAAO,IAAA,iDAAuB,EAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;KAC9G;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,qCAAqC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAfD,8CAeC;AAE6B,0CAAa"}
1
+ {"version":3,"file":"rush.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/rush.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,8CAAsB;AACtB,4CAAoB;AAGpB,wEAAqE;AACrE,2CAAkD;AAClD,6EAA0E;AAE1E,uCAAuC;AACvC,SAAgB,oBAAoB,CAAC,GAAW;;IAC9C,MAAM,IAAI,GAAG,MAAA,IAAA,uDAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,0CAAE,IAAI,CAAC;IACtE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,GAAG,CAAC,CAAC;KACnE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAND,oDAMC;AAED,8CAA8C;AAC9C,SAAgB,wBAAwB,CAAC,GAAW;IAClD,IAAI;QACF,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAmD,aAAG,CAAC,KAAK,CAC1E,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CACvC,CAAC;QACF,MAAM,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;KACrF;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,kDAAkD,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QAChF,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAdD,4DAcC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,IAAI;QACF,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,IAAA,iDAAuB,EAAC,YAAY,CAAC,CAAC;KAC9C;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,qCAAqC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AARD,8CAQC;AAE6B,0CAAa"}
@@ -1,6 +1,10 @@
1
1
  import { WorkspaceInfo } from "../../types/WorkspaceInfo";
2
2
  /** @deprecated Use `getWorkspaceRoot` */
3
3
  export declare function getYarnWorkspaceRoot(cwd: string): string;
4
+ /** Get package paths for a yarn workspace. */
5
+ export declare function getWorkspacePackagePaths(cwd: string): string[];
6
+ /** Get package paths for a yarn workspace. */
7
+ export declare function getWorkspacePackagePathsAsync(cwd: string): Promise<string[]>;
4
8
  /**
5
9
  * Get an array with names, paths, and package.json contents for each package in a yarn workspace.
6
10
  * (See `../getWorkspaces` for why it's named this way.)
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getWorkspacesAsync = exports.getWorkspaces = exports.getYarnWorkspacesAsync = exports.getYarnWorkspaces = exports.getYarnWorkspaceRoot = void 0;
3
+ exports.getWorkspacesAsync = exports.getWorkspaces = exports.getYarnWorkspacesAsync = exports.getYarnWorkspaces = exports.getWorkspacePackagePathsAsync = exports.getWorkspacePackagePaths = exports.getYarnWorkspaceRoot = void 0;
4
4
  const _1 = require(".");
5
5
  const packageJsonWorkspaces_1 = require("./packageJsonWorkspaces");
6
6
  /** @deprecated Use `getWorkspaceRoot` */
@@ -13,6 +13,18 @@ function getYarnWorkspaceRoot(cwd) {
13
13
  return root;
14
14
  }
15
15
  exports.getYarnWorkspaceRoot = getYarnWorkspaceRoot;
16
+ /** Get package paths for a yarn workspace. */
17
+ function getWorkspacePackagePaths(cwd) {
18
+ const yarnWorkspacesRoot = getYarnWorkspaceRoot(cwd);
19
+ return (0, packageJsonWorkspaces_1.getPackagePathsFromWorkspaceRoot)(yarnWorkspacesRoot);
20
+ }
21
+ exports.getWorkspacePackagePaths = getWorkspacePackagePaths;
22
+ /** Get package paths for a yarn workspace. */
23
+ function getWorkspacePackagePathsAsync(cwd) {
24
+ const yarnWorkspacesRoot = getYarnWorkspaceRoot(cwd);
25
+ return (0, packageJsonWorkspaces_1.getPackagePathsFromWorkspaceRootAsync)(yarnWorkspacesRoot);
26
+ }
27
+ exports.getWorkspacePackagePathsAsync = getWorkspacePackagePathsAsync;
16
28
  /**
17
29
  * Get an array with names, paths, and package.json contents for each package in a yarn workspace.
18
30
  * (See `../getWorkspaces` for why it's named this way.)
@@ -1 +1 @@
1
- {"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/yarn.ts"],"names":[],"mappings":";;;AAAA,wBAA+C;AAE/C,mEAAoH;AAEpH,yCAAyC;AACzC,SAAgB,oBAAoB,CAAC,GAAW;;IAC9C,MAAM,IAAI,GAAG,MAAA,IAAA,6BAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,0CAAE,IAAI,CAAC;IACtE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,GAAG,CAAC,CAAC;KACnE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAND,oDAMC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,IAAA,yDAAiC,EAAC,kBAAkB,CAAC,CAAC;AAC/D,CAAC;AAHD,8CAGC;AAW6B,0CAAa;AAT3C;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,GAAW;IAChD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,IAAA,8DAAsC,EAAC,kBAAkB,CAAC,CAAC;AACpE,CAAC;AAHD,wDAGC;AAGkC,oDAAkB"}
1
+ {"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/yarn.ts"],"names":[],"mappings":";;;AAAA,wBAA+C;AAE/C,mEAKiC;AAEjC,yCAAyC;AACzC,SAAgB,oBAAoB,CAAC,GAAW;;IAC9C,MAAM,IAAI,GAAG,MAAA,IAAA,6BAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,0CAAE,IAAI,CAAC;IACtE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,GAAG,CAAC,CAAC;KACnE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAND,oDAMC;AAED,8CAA8C;AAC9C,SAAgB,wBAAwB,CAAC,GAAW;IAClD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,IAAA,wDAAgC,EAAC,kBAAkB,CAAC,CAAC;AAC9D,CAAC;AAHD,4DAGC;AAED,8CAA8C;AAC9C,SAAgB,6BAA6B,CAAC,GAAW;IACvD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,IAAA,6DAAqC,EAAC,kBAAkB,CAAC,CAAC;AACnE,CAAC;AAHD,sEAGC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,IAAA,yDAAiC,EAAC,kBAAkB,CAAC,CAAC;AAC/D,CAAC;AAHD,8CAGC;AAW6B,0CAAa;AAT3C;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,GAAW;IAChD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,IAAA,8DAAsC,EAAC,kBAAkB,CAAC,CAAC;AACpE,CAAC;AAHD,wDAGC;AAGkC,oDAAkB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workspace-tools",
3
- "version": "0.33.0",
3
+ "version": "0.34.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/workspaces/workspaces.ts"],"names":[],"mappings":";;;AAAA,mDAAoE;AAEpE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;AAE1C;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,GAAW;IAChD,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;KACxB;IAED,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,GAAG,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAE9F,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEjC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAXD,wDAWC;AAED,SAAgB,2BAA2B;IACzC,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAFD,kEAEC;AAED;;;;;GAKG;AACI,KAAK,UAAU,2BAA2B,CAAC,GAAW;IAC3D,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;KACxB;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,kCAAkB,EAAC,GAAG,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAE9F,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEjC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAXD,kEAWC"}