workspace-tools 0.41.1 → 0.41.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/lib/dependencies/index.js +7 -0
  2. package/lib/dependencies/index.js.map +1 -1
  3. package/lib/dependencies/transitiveDeps.js +5 -0
  4. package/lib/dependencies/transitiveDeps.js.map +1 -1
  5. package/lib/getPackageInfo.js +4 -0
  6. package/lib/getPackageInfo.js.map +1 -1
  7. package/lib/getPackageInfos.js +4 -0
  8. package/lib/getPackageInfos.js.map +1 -1
  9. package/lib/git/getDefaultRemote.js +1 -1
  10. package/lib/git/getDefaultRemote.js.map +1 -1
  11. package/lib/git/getRepositoryName.js +1 -1
  12. package/lib/git/getRepositoryName.js.map +1 -1
  13. package/lib/git/git.js +8 -0
  14. package/lib/git/git.js.map +1 -1
  15. package/lib/git/gitUtilities.js +27 -0
  16. package/lib/git/gitUtilities.js.map +1 -1
  17. package/lib/git/index.js +10 -0
  18. package/lib/git/index.js.map +1 -1
  19. package/lib/graph/index.js +1 -0
  20. package/lib/graph/index.js.map +1 -1
  21. package/lib/index.js +39 -0
  22. package/lib/index.js.map +1 -1
  23. package/lib/isCachingEnabled.js +4 -0
  24. package/lib/isCachingEnabled.js.map +1 -1
  25. package/lib/lockfile/parseLockFile.js +1 -1
  26. package/lib/lockfile/parseLockFile.js.map +1 -1
  27. package/lib/lockfile/readYaml.js +1 -1
  28. package/lib/lockfile/readYaml.js.map +1 -1
  29. package/lib/paths.js +9 -2
  30. package/lib/paths.js.map +1 -1
  31. package/lib/workspaces/getAllPackageJsonFiles.js +5 -0
  32. package/lib/workspaces/getAllPackageJsonFiles.js.map +1 -1
  33. package/lib/workspaces/getCatalogVersion.js +4 -0
  34. package/lib/workspaces/getCatalogVersion.js.map +1 -1
  35. package/lib/workspaces/getCatalogs.js +2 -2
  36. package/lib/workspaces/getCatalogs.js.map +1 -1
  37. package/lib/workspaces/getChangedPackages.js +10 -6
  38. package/lib/workspaces/getChangedPackages.js.map +1 -1
  39. package/lib/workspaces/getWorkspaceInfos.js +4 -0
  40. package/lib/workspaces/getWorkspaceInfos.js.map +1 -1
  41. package/lib/workspaces/getWorkspaceManagerRoot.js +2 -2
  42. package/lib/workspaces/getWorkspaceManagerRoot.js.map +1 -1
  43. package/lib/workspaces/getWorkspacePackagePaths.js +6 -2
  44. package/lib/workspaces/getWorkspacePackagePaths.js.map +1 -1
  45. package/lib/workspaces/getWorkspacePatterns.js +2 -2
  46. package/lib/workspaces/getWorkspacePatterns.js.map +1 -1
  47. package/lib/workspaces/implementations/getWorkspaceManagerAndRoot.js +5 -0
  48. package/lib/workspaces/implementations/getWorkspaceManagerAndRoot.js.map +1 -1
  49. package/lib/workspaces/implementations/getWorkspaceUtilities.js +5 -5
  50. package/lib/workspaces/implementations/getWorkspaceUtilities.js.map +1 -1
  51. package/lib/workspaces/implementations/index.js +4 -0
  52. package/lib/workspaces/implementations/index.js.map +1 -1
  53. package/lib/workspaces/implementations/lerna.js +3 -3
  54. package/lib/workspaces/implementations/lerna.js.map +1 -1
  55. package/lib/workspaces/wrapWorkspaceUtility.d.ts +1 -1
  56. package/lib/workspaces/wrapWorkspaceUtility.js +7 -3
  57. package/lib/workspaces/wrapWorkspaceUtility.js.map +1 -1
  58. package/package.json +2 -2
  59. package/lib/tsdoc-metadata.json +0 -11
@@ -12,27 +12,27 @@ const utils = {};
12
12
  function getWorkspaceUtilities(manager) {
13
13
  switch(manager){
14
14
  case "npm":
15
- var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
15
+ var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports
16
16
  _utils;
17
17
  (_utils = utils).npm ?? (_utils.npm = require("./npm").npmUtilities);
18
18
  break;
19
19
  case "pnpm":
20
- var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
20
+ var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports
21
21
  _utils1;
22
22
  (_utils1 = utils).pnpm ?? (_utils1.pnpm = require("./pnpm").pnpmUtilities);
23
23
  break;
24
24
  case "yarn":
25
- var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
25
+ var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports
26
26
  _utils2;
27
27
  (_utils2 = utils).yarn ?? (_utils2.yarn = require("./yarn").yarnUtilities);
28
28
  break;
29
29
  case "rush":
30
- var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
30
+ var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports
31
31
  _utils3;
32
32
  (_utils3 = utils).rush ?? (_utils3.rush = require("./rush").rushUtilities);
33
33
  break;
34
34
  case "lerna":
35
- var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
35
+ var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports
36
36
  _utils4;
37
37
  (_utils4 = utils).lerna ?? (_utils4.lerna = require("./lerna").lernaUtilities);
38
38
  break;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/workspaces/implementations/getWorkspaceUtilities.ts"],"sourcesContent":["import type { WorkspaceManager } from \"../../types/WorkspaceManager.js\";\nimport type { WorkspaceUtilities } from \"./WorkspaceUtilities.js\";\n\nconst utils: Partial<Record<WorkspaceManager, WorkspaceUtilities>> = {};\n\n/**\n * Get utility implementations for the given workspace/monorepo manager.\n */\nexport function getWorkspaceUtilities(manager: WorkspaceManager): WorkspaceUtilities {\n switch (manager) {\n case \"npm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n utils.npm ??= (require(\"./npm\") as typeof import(\"./npm\")).npmUtilities;\n break;\n\n case \"pnpm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n utils.pnpm ??= (require(\"./pnpm\") as typeof import(\"./pnpm\")).pnpmUtilities;\n break;\n\n case \"yarn\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n utils.yarn ??= (require(\"./yarn\") as typeof import(\"./yarn\")).yarnUtilities;\n break;\n\n case \"rush\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n utils.rush ??= (require(\"./rush\") as typeof import(\"./rush\")).rushUtilities;\n break;\n\n case \"lerna\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n utils.lerna ??= (require(\"./lerna\") as typeof import(\"./lerna\")).lernaUtilities;\n break;\n }\n\n return utils[manager]!;\n}\n"],"names":["getWorkspaceUtilities","utils","manager","npm","require","npmUtilities","pnpm","pnpmUtilities","yarn","yarnUtilities","rush","rushUtilities","lerna","lernaUtilities"],"mappings":";;;;+BAQgBA;;;eAAAA;;;AALhB,MAAMC,QAA+D,CAAC;AAK/D,SAASD,sBAAsBE,OAAyB;IAC7D,OAAQA;QACN,KAAK;gBACH,iJAAiJ;YACjJD;YAAAA,CAAAA,SAAAA,OAAME,GAAG,KAATF,OAAME,GAAG,GAAK,AAACC,QAAQ,SAAoCC,YAAY;YACvE;QAEF,KAAK;gBACH,iJAAiJ;YACjJJ;YAAAA,CAAAA,UAAAA,OAAMK,IAAI,KAAVL,QAAMK,IAAI,GAAK,AAACF,QAAQ,UAAsCG,aAAa;YAC3E;QAEF,KAAK;gBACH,iJAAiJ;YACjJN;YAAAA,CAAAA,UAAAA,OAAMO,IAAI,KAAVP,QAAMO,IAAI,GAAK,AAACJ,QAAQ,UAAsCK,aAAa;YAC3E;QAEF,KAAK;gBACH,iJAAiJ;YACjJR;YAAAA,CAAAA,UAAAA,OAAMS,IAAI,KAAVT,QAAMS,IAAI,GAAK,AAACN,QAAQ,UAAsCO,aAAa;YAC3E;QAEF,KAAK;gBACH,iJAAiJ;YACjJV;YAAAA,CAAAA,UAAAA,OAAMW,KAAK,KAAXX,QAAMW,KAAK,GAAK,AAACR,QAAQ,WAAwCS,cAAc;YAC/E;IACJ;IAEA,OAAOZ,KAAK,CAACC,QAAQ;AACvB"}
1
+ {"version":3,"sources":["../../../src/workspaces/implementations/getWorkspaceUtilities.ts"],"sourcesContent":["import type { WorkspaceManager } from \"../../types/WorkspaceManager.js\";\nimport type { WorkspaceUtilities } from \"./WorkspaceUtilities.js\";\n\nconst utils: Partial<Record<WorkspaceManager, WorkspaceUtilities>> = {};\n\n/**\n * Get utility implementations for the given workspace/monorepo manager.\n */\nexport function getWorkspaceUtilities(manager: WorkspaceManager): WorkspaceUtilities {\n switch (manager) {\n case \"npm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports\n utils.npm ??= (require(\"./npm\") as typeof import(\"./npm\")).npmUtilities;\n break;\n\n case \"pnpm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports\n utils.pnpm ??= (require(\"./pnpm\") as typeof import(\"./pnpm\")).pnpmUtilities;\n break;\n\n case \"yarn\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports\n utils.yarn ??= (require(\"./yarn\") as typeof import(\"./yarn\")).yarnUtilities;\n break;\n\n case \"rush\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports\n utils.rush ??= (require(\"./rush\") as typeof import(\"./rush\")).rushUtilities;\n break;\n\n case \"lerna\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports\n utils.lerna ??= (require(\"./lerna\") as typeof import(\"./lerna\")).lernaUtilities;\n break;\n }\n\n return utils[manager]!;\n}\n"],"names":["getWorkspaceUtilities","utils","manager","npm","require","npmUtilities","pnpm","pnpmUtilities","yarn","yarnUtilities","rush","rushUtilities","lerna","lernaUtilities"],"mappings":";;;;+BAQgBA;;;eAAAA;;;AALhB,MAAMC,QAA+D,CAAC;AAK/D,SAASD,sBAAsBE,OAAyB;IAC7D,OAAQA;QACN,KAAK;gBACH,6GAA6G;YAC7GD;YAAAA,CAAAA,SAAAA,OAAME,GAAG,KAATF,OAAME,GAAG,GAAK,AAACC,QAAQ,SAAoCC,YAAY;YACvE;QAEF,KAAK;gBACH,6GAA6G;YAC7GJ;YAAAA,CAAAA,UAAAA,OAAMK,IAAI,KAAVL,QAAMK,IAAI,GAAK,AAACF,QAAQ,UAAsCG,aAAa;YAC3E;QAEF,KAAK;gBACH,6GAA6G;YAC7GN;YAAAA,CAAAA,UAAAA,OAAMO,IAAI,KAAVP,QAAMO,IAAI,GAAK,AAACJ,QAAQ,UAAsCK,aAAa;YAC3E;QAEF,KAAK;gBACH,6GAA6G;YAC7GR;YAAAA,CAAAA,UAAAA,OAAMS,IAAI,KAAVT,QAAMS,IAAI,GAAK,AAACN,QAAQ,UAAsCO,aAAa;YAC3E;QAEF,KAAK;gBACH,6GAA6G;YAC7GV;YAAAA,CAAAA,UAAAA,OAAMW,KAAK,KAAXX,QAAMW,KAAK,GAAK,AAACR,QAAQ,WAAwCS,cAAc;YAC/E;IACJ;IAEA,OAAOZ,KAAK,CAACC,QAAQ;AACvB"}
@@ -2,6 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
+ 0 && (module.exports = {
6
+ getWorkspaceManagerAndRoot: null,
7
+ getWorkspaceUtilities: null
8
+ });
5
9
  function _export(target, all) {
6
10
  for(var name in all)Object.defineProperty(target, name, {
7
11
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/workspaces/implementations/index.ts"],"sourcesContent":["export { getWorkspaceManagerAndRoot, type WorkspaceManagerAndRoot } from \"./getWorkspaceManagerAndRoot.js\";\nexport { getWorkspaceUtilities } from \"./getWorkspaceUtilities.js\";\n"],"names":["getWorkspaceManagerAndRoot","getWorkspaceUtilities"],"mappings":";;;;;;;;;;;QAASA;eAAAA,sDAA0B;;QAC1BC;eAAAA,4CAAqB;;;4CAD2C;uCACnC"}
1
+ {"version":3,"sources":["../../../src/workspaces/implementations/index.ts"],"sourcesContent":["export { getWorkspaceManagerAndRoot, type WorkspaceManagerAndRoot } from \"./getWorkspaceManagerAndRoot.js\";\nexport { getWorkspaceUtilities } from \"./getWorkspaceUtilities.js\";\n"],"names":["getWorkspaceManagerAndRoot","getWorkspaceUtilities"],"mappings":";;;;;;;;;;;;;;;QAASA;eAAAA,sDAA0B;;QAC1BC;eAAAA,4CAAqB;;;4CAD2C;uCACnC"}
@@ -75,13 +75,13 @@ const lernaUtilities = {
75
75
  function getManagerUtils(manager) {
76
76
  switch(manager){
77
77
  case "npm":
78
- // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
78
+ // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports
79
79
  return require("./npm").npmUtilities;
80
80
  case "yarn":
81
- // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
81
+ // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports
82
82
  return require("./yarn").yarnUtilities;
83
83
  case "pnpm":
84
- // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
84
+ // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports
85
85
  return require("./pnpm").pnpmUtilities;
86
86
  }
87
87
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/workspaces/implementations/lerna.ts"],"sourcesContent":["import fs from \"fs\";\nimport jju from \"jju\";\nimport path from \"path\";\nimport { isCachingEnabled } from \"../../isCachingEnabled.js\";\nimport { managerFiles } from \"./getWorkspaceManagerAndRoot.js\";\nimport type { WorkspaceUtilities } from \"./WorkspaceUtilities.js\";\n\nexport const lernaUtilities: WorkspaceUtilities = {\n getWorkspacePatterns: ({ root }) => {\n const lernaJsonPath = path.join(root, managerFiles.lerna);\n const lernaConfig = jju.parse(fs.readFileSync(lernaJsonPath, \"utf-8\")) as { packages?: string[] };\n if (lernaConfig.packages) {\n return { patterns: lernaConfig.packages, type: \"pattern\" };\n }\n\n // Newer lerna versions also pick up workspaces from the package manager.\n const actualManager = getActualManager({ root });\n if (!actualManager) {\n throw new Error(`${lernaJsonPath} does not define \"packages\", and no known package manager was found.`);\n }\n\n const managerUtils = getManagerUtils(actualManager);\n return managerUtils.getWorkspacePatterns({ root });\n },\n\n // lerna could theoretically use yarn or pnpm catalogs\n getCatalogs: ({ root }) => {\n const actualManager = getActualManager({ root });\n return actualManager && getManagerUtils(actualManager).getCatalogs?.({ root });\n },\n};\n\n/** Mapping from lerna repo root to actual package manager */\nconst managerCache = new Map<string, \"yarn\" | \"pnpm\" | \"npm\" | undefined>();\n\n/**\n * Get the actual package manager used by a lerna monorepo (with caching).\n */\nfunction getActualManager(params: { root: string }): \"yarn\" | \"pnpm\" | \"npm\" | undefined {\n const { root } = params;\n if (isCachingEnabled() && managerCache.has(root)) {\n return managerCache.get(root);\n }\n\n for (const manager of [\"npm\", \"yarn\", \"pnpm\"] as const) {\n const managerPath = path.join(root, managerFiles[manager]);\n if (fs.existsSync(managerPath)) {\n managerCache.set(root, manager);\n return manager;\n }\n }\n\n managerCache.set(root, undefined);\n return undefined;\n}\n\nfunction getManagerUtils(manager: \"npm\" | \"yarn\" | \"pnpm\"): WorkspaceUtilities {\n switch (manager) {\n case \"npm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n return (require(\"./npm\") as typeof import(\"./npm\")).npmUtilities;\n case \"yarn\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n return (require(\"./yarn\") as typeof import(\"./yarn\")).yarnUtilities;\n case \"pnpm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n return (require(\"./pnpm\") as typeof import(\"./pnpm\")).pnpmUtilities;\n }\n}\n"],"names":["lernaUtilities","getWorkspacePatterns","root","lernaJsonPath","path","join","managerFiles","lerna","lernaConfig","jju","parse","fs","readFileSync","packages","patterns","type","actualManager","getActualManager","Error","managerUtils","getManagerUtils","getCatalogs","managerCache","Map","params","isCachingEnabled","has","get","manager","managerPath","existsSync","set","undefined","require","npmUtilities","yarnUtilities","pnpmUtilities"],"mappings":";;;;+BAOaA;;;eAAAA;;;2DAPE;4DACC;6DACC;kCACgB;4CACJ;;;;;;AAGtB,MAAMA,iBAAqC;IAChDC,sBAAsB,CAAC,EAAEC,IAAI,EAAE;QAC7B,MAAMC,gBAAgBC,aAAI,CAACC,IAAI,CAACH,MAAMI,wCAAY,CAACC,KAAK;QACxD,MAAMC,cAAcC,YAAG,CAACC,KAAK,CAACC,WAAE,CAACC,YAAY,CAACT,eAAe;QAC7D,IAAIK,YAAYK,QAAQ,EAAE;YACxB,OAAO;gBAAEC,UAAUN,YAAYK,QAAQ;gBAAEE,MAAM;YAAU;QAC3D;QAEA,yEAAyE;QACzE,MAAMC,gBAAgBC,iBAAiB;YAAEf;QAAK;QAC9C,IAAI,CAACc,eAAe;YAClB,MAAM,IAAIE,MAAM,GAAGf,cAAc,oEAAoE,CAAC;QACxG;QAEA,MAAMgB,eAAeC,gBAAgBJ;QACrC,OAAOG,aAAalB,oBAAoB,CAAC;YAAEC;QAAK;IAClD;IAEA,sDAAsD;IACtDmB,aAAa,CAAC,EAAEnB,IAAI,EAAE;QACpB,MAAMc,gBAAgBC,iBAAiB;YAAEf;QAAK;QAC9C,OAAOc,iBAAiBI,gBAAgBJ,eAAeK,WAAW,GAAG;YAAEnB;QAAK;IAC9E;AACF;AAEA,2DAA2D,GAC3D,MAAMoB,eAAe,IAAIC;AAEzB;;CAEC,GACD,SAASN,iBAAiBO,MAAwB;IAChD,MAAM,EAAEtB,IAAI,EAAE,GAAGsB;IACjB,IAAIC,IAAAA,kCAAgB,OAAMH,aAAaI,GAAG,CAACxB,OAAO;QAChD,OAAOoB,aAAaK,GAAG,CAACzB;IAC1B;IAEA,KAAK,MAAM0B,WAAW;QAAC;QAAO;QAAQ;KAAO,CAAW;QACtD,MAAMC,cAAczB,aAAI,CAACC,IAAI,CAACH,MAAMI,wCAAY,CAACsB,QAAQ;QACzD,IAAIjB,WAAE,CAACmB,UAAU,CAACD,cAAc;YAC9BP,aAAaS,GAAG,CAAC7B,MAAM0B;YACvB,OAAOA;QACT;IACF;IAEAN,aAAaS,GAAG,CAAC7B,MAAM8B;IACvB,OAAOA;AACT;AAEA,SAASZ,gBAAgBQ,OAAgC;IACvD,OAAQA;QACN,KAAK;YACH,iJAAiJ;YACjJ,OAAO,AAACK,QAAQ,SAAoCC,YAAY;QAClE,KAAK;YACH,iJAAiJ;YACjJ,OAAO,AAACD,QAAQ,UAAsCE,aAAa;QACrE,KAAK;YACH,iJAAiJ;YACjJ,OAAO,AAACF,QAAQ,UAAsCG,aAAa;IACvE;AACF"}
1
+ {"version":3,"sources":["../../../src/workspaces/implementations/lerna.ts"],"sourcesContent":["import fs from \"fs\";\nimport jju from \"jju\";\nimport path from \"path\";\nimport { isCachingEnabled } from \"../../isCachingEnabled.js\";\nimport { managerFiles } from \"./getWorkspaceManagerAndRoot.js\";\nimport type { WorkspaceUtilities } from \"./WorkspaceUtilities.js\";\n\nexport const lernaUtilities: WorkspaceUtilities = {\n getWorkspacePatterns: ({ root }) => {\n const lernaJsonPath = path.join(root, managerFiles.lerna);\n const lernaConfig = jju.parse(fs.readFileSync(lernaJsonPath, \"utf-8\")) as { packages?: string[] };\n if (lernaConfig.packages) {\n return { patterns: lernaConfig.packages, type: \"pattern\" };\n }\n\n // Newer lerna versions also pick up workspaces from the package manager.\n const actualManager = getActualManager({ root });\n if (!actualManager) {\n throw new Error(`${lernaJsonPath} does not define \"packages\", and no known package manager was found.`);\n }\n\n const managerUtils = getManagerUtils(actualManager);\n return managerUtils.getWorkspacePatterns({ root });\n },\n\n // lerna could theoretically use yarn or pnpm catalogs\n getCatalogs: ({ root }) => {\n const actualManager = getActualManager({ root });\n return actualManager && getManagerUtils(actualManager).getCatalogs?.({ root });\n },\n};\n\n/** Mapping from lerna repo root to actual package manager */\nconst managerCache = new Map<string, \"yarn\" | \"pnpm\" | \"npm\" | undefined>();\n\n/**\n * Get the actual package manager used by a lerna monorepo (with caching).\n */\nfunction getActualManager(params: { root: string }): \"yarn\" | \"pnpm\" | \"npm\" | undefined {\n const { root } = params;\n if (isCachingEnabled() && managerCache.has(root)) {\n return managerCache.get(root);\n }\n\n for (const manager of [\"npm\", \"yarn\", \"pnpm\"] as const) {\n const managerPath = path.join(root, managerFiles[manager]);\n if (fs.existsSync(managerPath)) {\n managerCache.set(root, manager);\n return manager;\n }\n }\n\n managerCache.set(root, undefined);\n return undefined;\n}\n\nfunction getManagerUtils(manager: \"npm\" | \"yarn\" | \"pnpm\"): WorkspaceUtilities {\n switch (manager) {\n case \"npm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports\n return (require(\"./npm\") as typeof import(\"./npm\")).npmUtilities;\n case \"yarn\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports\n return (require(\"./yarn\") as typeof import(\"./yarn\")).yarnUtilities;\n case \"pnpm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports\n return (require(\"./pnpm\") as typeof import(\"./pnpm\")).pnpmUtilities;\n }\n}\n"],"names":["lernaUtilities","getWorkspacePatterns","root","lernaJsonPath","path","join","managerFiles","lerna","lernaConfig","jju","parse","fs","readFileSync","packages","patterns","type","actualManager","getActualManager","Error","managerUtils","getManagerUtils","getCatalogs","managerCache","Map","params","isCachingEnabled","has","get","manager","managerPath","existsSync","set","undefined","require","npmUtilities","yarnUtilities","pnpmUtilities"],"mappings":";;;;+BAOaA;;;eAAAA;;;2DAPE;4DACC;6DACC;kCACgB;4CACJ;;;;;;AAGtB,MAAMA,iBAAqC;IAChDC,sBAAsB,CAAC,EAAEC,IAAI,EAAE;QAC7B,MAAMC,gBAAgBC,aAAI,CAACC,IAAI,CAACH,MAAMI,wCAAY,CAACC,KAAK;QACxD,MAAMC,cAAcC,YAAG,CAACC,KAAK,CAACC,WAAE,CAACC,YAAY,CAACT,eAAe;QAC7D,IAAIK,YAAYK,QAAQ,EAAE;YACxB,OAAO;gBAAEC,UAAUN,YAAYK,QAAQ;gBAAEE,MAAM;YAAU;QAC3D;QAEA,yEAAyE;QACzE,MAAMC,gBAAgBC,iBAAiB;YAAEf;QAAK;QAC9C,IAAI,CAACc,eAAe;YAClB,MAAM,IAAIE,MAAM,GAAGf,cAAc,oEAAoE,CAAC;QACxG;QAEA,MAAMgB,eAAeC,gBAAgBJ;QACrC,OAAOG,aAAalB,oBAAoB,CAAC;YAAEC;QAAK;IAClD;IAEA,sDAAsD;IACtDmB,aAAa,CAAC,EAAEnB,IAAI,EAAE;QACpB,MAAMc,gBAAgBC,iBAAiB;YAAEf;QAAK;QAC9C,OAAOc,iBAAiBI,gBAAgBJ,eAAeK,WAAW,GAAG;YAAEnB;QAAK;IAC9E;AACF;AAEA,2DAA2D,GAC3D,MAAMoB,eAAe,IAAIC;AAEzB;;CAEC,GACD,SAASN,iBAAiBO,MAAwB;IAChD,MAAM,EAAEtB,IAAI,EAAE,GAAGsB;IACjB,IAAIC,IAAAA,kCAAgB,OAAMH,aAAaI,GAAG,CAACxB,OAAO;QAChD,OAAOoB,aAAaK,GAAG,CAACzB;IAC1B;IAEA,KAAK,MAAM0B,WAAW;QAAC;QAAO;QAAQ;KAAO,CAAW;QACtD,MAAMC,cAAczB,aAAI,CAACC,IAAI,CAACH,MAAMI,wCAAY,CAACsB,QAAQ;QACzD,IAAIjB,WAAE,CAACmB,UAAU,CAACD,cAAc;YAC9BP,aAAaS,GAAG,CAAC7B,MAAM0B;YACvB,OAAOA;QACT;IACF;IAEAN,aAAaS,GAAG,CAAC7B,MAAM8B;IACvB,OAAOA;AACT;AAEA,SAASZ,gBAAgBQ,OAAgC;IACvD,OAAQA;QACN,KAAK;YACH,6GAA6G;YAC7G,OAAO,AAACK,QAAQ,SAAoCC,YAAY;QAClE,KAAK;YACH,6GAA6G;YAC7G,OAAO,AAACD,QAAQ,UAAsCE,aAAa;QACrE,KAAK;YACH,6GAA6G;YAC7G,OAAO,AAACF,QAAQ,UAAsCG,aAAa;IACvE;AACF"}
@@ -1,5 +1,5 @@
1
1
  import type { WorkspaceManager } from "../types/WorkspaceManager.js";
2
- import { type WorkspaceManagerAndRoot } from "./implementations";
2
+ import { type WorkspaceManagerAndRoot } from "./implementations/index.js";
3
3
  interface WrappedUtilityParams {
4
4
  /** Search for the root from here */
5
5
  cwd: string;
@@ -2,6 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
+ 0 && (module.exports = {
6
+ wrapAsyncWorkspaceUtility: null,
7
+ wrapWorkspaceUtility: null
8
+ });
5
9
  function _export(target, all) {
6
10
  for(var name in all)Object.defineProperty(target, name, {
7
11
  enumerable: true,
@@ -17,12 +21,12 @@ _export(exports, {
17
21
  }
18
22
  });
19
23
  const _logging = require("../logging.js");
20
- const _implementations = require("./implementations");
24
+ const _index = require("./implementations/index.js");
21
25
  function wrapWorkspaceUtility(params) {
22
26
  const { cwd, description, impl } = params;
23
27
  let managerInfo;
24
28
  try {
25
- managerInfo = (0, _implementations.getWorkspaceManagerAndRoot)(cwd, undefined, params.managerOverride);
29
+ managerInfo = (0, _index.getWorkspaceManagerAndRoot)(cwd, undefined, params.managerOverride);
26
30
  if (managerInfo) {
27
31
  return impl(managerInfo);
28
32
  }
@@ -35,7 +39,7 @@ async function wrapAsyncWorkspaceUtility(params) {
35
39
  const { cwd, description, impl } = params;
36
40
  let managerInfo;
37
41
  try {
38
- managerInfo = (0, _implementations.getWorkspaceManagerAndRoot)(cwd, undefined, params.managerOverride);
42
+ managerInfo = (0, _index.getWorkspaceManagerAndRoot)(cwd, undefined, params.managerOverride);
39
43
  if (managerInfo) {
40
44
  return await impl(managerInfo);
41
45
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/workspaces/wrapWorkspaceUtility.ts"],"sourcesContent":["import { logVerboseWarning } from \"../logging.js\";\nimport type { WorkspaceManager } from \"../types/WorkspaceManager.js\";\nimport { getWorkspaceManagerAndRoot, type WorkspaceManagerAndRoot } from \"./implementations\";\n\ninterface WrappedUtilityParams {\n /** Search for the root from here */\n cwd: string;\n /** Optional manager to use instead of auto-detecting */\n managerOverride: WorkspaceManager | undefined;\n /** What the utility is getting (for logging) */\n description: string;\n}\n\n/**\n * Wrap a workspace utility function with common error handling and messaging.\n * Also handle getting the manager and root.\n *\n * @returns The utility's return value, or undefined on error (will verbose log on error)\n */\nexport function wrapWorkspaceUtility<TReturn>(\n params: WrappedUtilityParams & {\n /** Implementation of the utility, which receives the detected manager and root */\n impl: (params: WorkspaceManagerAndRoot) => TReturn | undefined;\n }\n): TReturn | undefined {\n const { cwd, description, impl } = params;\n let managerInfo: WorkspaceManagerAndRoot | undefined;\n try {\n managerInfo = getWorkspaceManagerAndRoot(cwd, undefined, params.managerOverride);\n if (managerInfo) {\n return impl(managerInfo);\n }\n } catch (err) {\n const manager = params.managerOverride || managerInfo?.manager || \"unknown manager\";\n logVerboseWarning(`Error getting ${manager} ${description} for ${cwd}:`, err);\n }\n}\n\n/**\n * Wrap a workspace utility function with common error handling and messaging.\n * Also handle getting the manager and root.\n *\n * @returns The utility's return value, or undefined on error (will verbose log on error)\n */\nexport async function wrapAsyncWorkspaceUtility<TReturn>(\n params: WrappedUtilityParams & {\n /** Implementation of the utility, which receives the detected manager and root */\n impl: (params: WorkspaceManagerAndRoot) => Promise<TReturn | undefined>;\n }\n): Promise<TReturn | undefined> {\n const { cwd, description, impl } = params;\n let managerInfo: WorkspaceManagerAndRoot | undefined;\n try {\n managerInfo = getWorkspaceManagerAndRoot(cwd, undefined, params.managerOverride);\n if (managerInfo) {\n return await impl(managerInfo);\n }\n } catch (err) {\n const manager = params.managerOverride || managerInfo?.manager || \"unknown manager\";\n logVerboseWarning(`Error getting ${manager} ${description} for ${cwd}:`, err);\n }\n return undefined;\n}\n"],"names":["wrapAsyncWorkspaceUtility","wrapWorkspaceUtility","params","cwd","description","impl","managerInfo","getWorkspaceManagerAndRoot","undefined","managerOverride","err","manager","logVerboseWarning"],"mappings":";;;;;;;;;;;QA4CsBA;eAAAA;;QAzBNC;eAAAA;;;yBAnBkB;iCAEuC;AAiBlE,SAASA,qBACdC,MAGC;IAED,MAAM,EAAEC,GAAG,EAAEC,WAAW,EAAEC,IAAI,EAAE,GAAGH;IACnC,IAAII;IACJ,IAAI;QACFA,cAAcC,IAAAA,2CAA0B,EAACJ,KAAKK,WAAWN,OAAOO,eAAe;QAC/E,IAAIH,aAAa;YACf,OAAOD,KAAKC;QACd;IACF,EAAE,OAAOI,KAAK;QACZ,MAAMC,UAAUT,OAAOO,eAAe,IAAIH,aAAaK,WAAW;QAClEC,IAAAA,0BAAiB,EAAC,CAAC,cAAc,EAAED,QAAQ,CAAC,EAAEP,YAAY,KAAK,EAAED,IAAI,CAAC,CAAC,EAAEO;IAC3E;AACF;AAQO,eAAeV,0BACpBE,MAGC;IAED,MAAM,EAAEC,GAAG,EAAEC,WAAW,EAAEC,IAAI,EAAE,GAAGH;IACnC,IAAII;IACJ,IAAI;QACFA,cAAcC,IAAAA,2CAA0B,EAACJ,KAAKK,WAAWN,OAAOO,eAAe;QAC/E,IAAIH,aAAa;YACf,OAAO,MAAMD,KAAKC;QACpB;IACF,EAAE,OAAOI,KAAK;QACZ,MAAMC,UAAUT,OAAOO,eAAe,IAAIH,aAAaK,WAAW;QAClEC,IAAAA,0BAAiB,EAAC,CAAC,cAAc,EAAED,QAAQ,CAAC,EAAEP,YAAY,KAAK,EAAED,IAAI,CAAC,CAAC,EAAEO;IAC3E;IACA,OAAOF;AACT"}
1
+ {"version":3,"sources":["../../src/workspaces/wrapWorkspaceUtility.ts"],"sourcesContent":["import { logVerboseWarning } from \"../logging.js\";\nimport type { WorkspaceManager } from \"../types/WorkspaceManager.js\";\nimport { getWorkspaceManagerAndRoot, type WorkspaceManagerAndRoot } from \"./implementations/index.js\";\n\ninterface WrappedUtilityParams {\n /** Search for the root from here */\n cwd: string;\n /** Optional manager to use instead of auto-detecting */\n managerOverride: WorkspaceManager | undefined;\n /** What the utility is getting (for logging) */\n description: string;\n}\n\n/**\n * Wrap a workspace utility function with common error handling and messaging.\n * Also handle getting the manager and root.\n *\n * @returns The utility's return value, or undefined on error (will verbose log on error)\n */\nexport function wrapWorkspaceUtility<TReturn>(\n params: WrappedUtilityParams & {\n /** Implementation of the utility, which receives the detected manager and root */\n impl: (params: WorkspaceManagerAndRoot) => TReturn | undefined;\n }\n): TReturn | undefined {\n const { cwd, description, impl } = params;\n let managerInfo: WorkspaceManagerAndRoot | undefined;\n try {\n managerInfo = getWorkspaceManagerAndRoot(cwd, undefined, params.managerOverride);\n if (managerInfo) {\n return impl(managerInfo);\n }\n } catch (err) {\n const manager = params.managerOverride || managerInfo?.manager || \"unknown manager\";\n logVerboseWarning(`Error getting ${manager} ${description} for ${cwd}:`, err);\n }\n}\n\n/**\n * Wrap a workspace utility function with common error handling and messaging.\n * Also handle getting the manager and root.\n *\n * @returns The utility's return value, or undefined on error (will verbose log on error)\n */\nexport async function wrapAsyncWorkspaceUtility<TReturn>(\n params: WrappedUtilityParams & {\n /** Implementation of the utility, which receives the detected manager and root */\n impl: (params: WorkspaceManagerAndRoot) => Promise<TReturn | undefined>;\n }\n): Promise<TReturn | undefined> {\n const { cwd, description, impl } = params;\n let managerInfo: WorkspaceManagerAndRoot | undefined;\n try {\n managerInfo = getWorkspaceManagerAndRoot(cwd, undefined, params.managerOverride);\n if (managerInfo) {\n return await impl(managerInfo);\n }\n } catch (err) {\n const manager = params.managerOverride || managerInfo?.manager || \"unknown manager\";\n logVerboseWarning(`Error getting ${manager} ${description} for ${cwd}:`, err);\n }\n return undefined;\n}\n"],"names":["wrapAsyncWorkspaceUtility","wrapWorkspaceUtility","params","cwd","description","impl","managerInfo","getWorkspaceManagerAndRoot","undefined","managerOverride","err","manager","logVerboseWarning"],"mappings":";;;;;;;;;;;;;;;QA4CsBA;eAAAA;;QAzBNC;eAAAA;;;yBAnBkB;uBAEuC;AAiBlE,SAASA,qBACdC,MAGC;IAED,MAAM,EAAEC,GAAG,EAAEC,WAAW,EAAEC,IAAI,EAAE,GAAGH;IACnC,IAAII;IACJ,IAAI;QACFA,cAAcC,IAAAA,iCAA0B,EAACJ,KAAKK,WAAWN,OAAOO,eAAe;QAC/E,IAAIH,aAAa;YACf,OAAOD,KAAKC;QACd;IACF,EAAE,OAAOI,KAAK;QACZ,MAAMC,UAAUT,OAAOO,eAAe,IAAIH,aAAaK,WAAW;QAClEC,IAAAA,0BAAiB,EAAC,CAAC,cAAc,EAAED,QAAQ,CAAC,EAAEP,YAAY,KAAK,EAAED,IAAI,CAAC,CAAC,EAAEO;IAC3E;AACF;AAQO,eAAeV,0BACpBE,MAGC;IAED,MAAM,EAAEC,GAAG,EAAEC,WAAW,EAAEC,IAAI,EAAE,GAAGH;IACnC,IAAII;IACJ,IAAI;QACFA,cAAcC,IAAAA,iCAA0B,EAACJ,KAAKK,WAAWN,OAAOO,eAAe;QAC/E,IAAIH,aAAa;YACf,OAAO,MAAMD,KAAKC;QACpB;IACF,EAAE,OAAOI,KAAK;QACZ,MAAMC,UAAUT,OAAOO,eAAe,IAAIH,aAAaK,WAAW;QAClEC,IAAAA,0BAAiB,EAAC,CAAC,cAAc,EAAED,QAAQ,CAAC,EAAEP,YAAY,KAAK,EAAED,IAAI,CAAC,CAAC,EAAEO;IAC3E;IACA,OAAOF;AACT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workspace-tools",
3
- "version": "0.41.1",
3
+ "version": "0.41.3",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,7 +33,7 @@
33
33
  "@lage-run/monorepo-scripts": "^1.0.0",
34
34
  "@lage-run/test-utilities": "^0.1.0",
35
35
  "@types/git-url-parse": "^16.0.0",
36
- "@types/jju": "^1.4.2",
36
+ "@types/jju": "^1.4.5",
37
37
  "@types/js-yaml": "^4.0.5",
38
38
  "@types/micromatch": "^4.0.0",
39
39
  "@types/yarnpkg__lockfile": "^1.1.5",
@@ -1,11 +0,0 @@
1
- // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
- // It should be published with your NPM package. It should not be tracked by Git.
3
- {
4
- "tsdocVersion": "0.12",
5
- "toolPackages": [
6
- {
7
- "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.9"
9
- }
10
- ]
11
- }