@contember/cli-common 2.1.0-alpha.36 → 2.1.0-alpha.39

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 (234) hide show
  1. package/dist/development/index.cjs +32 -0
  2. package/dist/development/index.cjs.map +1 -0
  3. package/dist/development/index.js +32 -0
  4. package/dist/development/index.js.map +1 -0
  5. package/dist/development/src/application/Application.cjs +82 -0
  6. package/dist/development/src/application/Application.cjs.map +1 -0
  7. package/dist/development/src/application/Application.js +82 -0
  8. package/dist/development/src/application/Application.js.map +1 -0
  9. package/dist/development/src/application/Argument.cjs +25 -0
  10. package/dist/development/src/application/Argument.cjs.map +1 -0
  11. package/dist/development/src/application/Argument.js +25 -0
  12. package/dist/development/src/application/Argument.js.map +1 -0
  13. package/dist/development/src/application/Command.cjs +28 -0
  14. package/dist/development/src/application/Command.cjs.map +1 -0
  15. package/dist/development/src/application/Command.js +28 -0
  16. package/dist/development/src/application/Command.js.map +1 -0
  17. package/dist/development/src/application/CommandConfiguration.cjs +44 -0
  18. package/dist/development/src/application/CommandConfiguration.cjs.map +1 -0
  19. package/dist/development/src/application/CommandConfiguration.js +44 -0
  20. package/dist/development/src/application/CommandConfiguration.js.map +1 -0
  21. package/dist/development/src/application/CommandManager.cjs +37 -0
  22. package/dist/development/src/application/CommandManager.cjs.map +1 -0
  23. package/dist/development/src/application/CommandManager.js +37 -0
  24. package/dist/development/src/application/CommandManager.js.map +1 -0
  25. package/dist/development/src/application/Input.cjs +16 -0
  26. package/dist/development/src/application/Input.cjs.map +1 -0
  27. package/dist/development/src/application/Input.js +16 -0
  28. package/dist/development/src/application/Input.js.map +1 -0
  29. package/dist/development/src/application/InputParser.cjs +117 -0
  30. package/dist/development/src/application/InputParser.cjs.map +1 -0
  31. package/dist/development/src/application/InputParser.js +117 -0
  32. package/dist/development/src/application/InputParser.js.map +1 -0
  33. package/dist/development/src/application/Option.cjs +49 -0
  34. package/dist/development/src/application/Option.cjs.map +1 -0
  35. package/dist/development/src/application/Option.js +49 -0
  36. package/dist/development/src/application/Option.js.map +1 -0
  37. package/dist/development/src/application/UsageFormatter.cjs +61 -0
  38. package/dist/development/src/application/UsageFormatter.cjs.map +1 -0
  39. package/dist/development/src/application/UsageFormatter.js +61 -0
  40. package/dist/development/src/application/UsageFormatter.js.map +1 -0
  41. package/dist/development/src/application/assertNever.cjs +7 -0
  42. package/dist/development/src/application/assertNever.cjs.map +1 -0
  43. package/dist/development/src/application/assertNever.js +7 -0
  44. package/dist/development/src/application/assertNever.js.map +1 -0
  45. package/dist/development/src/npm/CommandRunner.cjs +59 -0
  46. package/dist/development/src/npm/CommandRunner.cjs.map +1 -0
  47. package/dist/development/src/npm/CommandRunner.js +59 -0
  48. package/dist/development/src/npm/CommandRunner.js.map +1 -0
  49. package/dist/development/src/npm/Package.cjs +11 -0
  50. package/dist/development/src/npm/Package.cjs.map +1 -0
  51. package/dist/development/src/npm/Package.js +11 -0
  52. package/dist/development/src/npm/Package.js.map +1 -0
  53. package/dist/development/src/npm/PackageWorkspace.cjs +79 -0
  54. package/dist/development/src/npm/PackageWorkspace.cjs.map +1 -0
  55. package/dist/development/src/npm/PackageWorkspace.js +79 -0
  56. package/dist/development/src/npm/PackageWorkspace.js.map +1 -0
  57. package/dist/development/src/npm/PackageWorkspaceResolver.cjs +48 -0
  58. package/dist/development/src/npm/PackageWorkspaceResolver.cjs.map +1 -0
  59. package/dist/development/src/npm/PackageWorkspaceResolver.js +48 -0
  60. package/dist/development/src/npm/PackageWorkspaceResolver.js.map +1 -0
  61. package/dist/development/src/npm/packageManagers/Bun.cjs +34 -0
  62. package/dist/development/src/npm/packageManagers/Bun.cjs.map +1 -0
  63. package/dist/development/src/npm/packageManagers/Bun.js +34 -0
  64. package/dist/development/src/npm/packageManagers/Bun.js.map +1 -0
  65. package/dist/development/src/npm/packageManagers/Npm.cjs +34 -0
  66. package/dist/development/src/npm/packageManagers/Npm.cjs.map +1 -0
  67. package/dist/development/src/npm/packageManagers/Npm.js +34 -0
  68. package/dist/development/src/npm/packageManagers/Npm.js.map +1 -0
  69. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs +34 -0
  70. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs.map +1 -0
  71. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js +34 -0
  72. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js.map +1 -0
  73. package/dist/development/src/npm/packageManagers/Pnpm.cjs +39 -0
  74. package/dist/development/src/npm/packageManagers/Pnpm.cjs.map +1 -0
  75. package/dist/development/src/npm/packageManagers/Pnpm.js +39 -0
  76. package/dist/development/src/npm/packageManagers/Pnpm.js.map +1 -0
  77. package/dist/development/src/npm/packageManagers/Yarn.cjs +34 -0
  78. package/dist/development/src/npm/packageManagers/Yarn.cjs.map +1 -0
  79. package/dist/development/src/npm/packageManagers/Yarn.js +34 -0
  80. package/dist/development/src/npm/packageManagers/Yarn.js.map +1 -0
  81. package/dist/development/src/npm/packageManagers/YarnClassic.cjs +35 -0
  82. package/dist/development/src/npm/packageManagers/YarnClassic.cjs.map +1 -0
  83. package/dist/development/src/npm/packageManagers/YarnClassic.js +35 -0
  84. package/dist/development/src/npm/packageManagers/YarnClassic.js.map +1 -0
  85. package/dist/development/src/utils/findPackageRoot.cjs +20 -0
  86. package/dist/development/src/utils/findPackageRoot.cjs.map +1 -0
  87. package/dist/development/src/utils/findPackageRoot.js +20 -0
  88. package/dist/development/src/utils/findPackageRoot.js.map +1 -0
  89. package/dist/production/index.cjs +32 -0
  90. package/dist/production/index.cjs.map +1 -0
  91. package/dist/production/index.js +32 -0
  92. package/dist/production/index.js.map +1 -0
  93. package/dist/production/src/application/Application.cjs +82 -0
  94. package/dist/production/src/application/Application.cjs.map +1 -0
  95. package/dist/production/src/application/Application.js +82 -0
  96. package/dist/production/src/application/Application.js.map +1 -0
  97. package/dist/production/src/application/Argument.cjs +25 -0
  98. package/dist/production/src/application/Argument.cjs.map +1 -0
  99. package/dist/production/src/application/Argument.js +25 -0
  100. package/dist/production/src/application/Argument.js.map +1 -0
  101. package/dist/production/src/application/Command.cjs +28 -0
  102. package/dist/production/src/application/Command.cjs.map +1 -0
  103. package/dist/production/src/application/Command.js +28 -0
  104. package/dist/production/src/application/Command.js.map +1 -0
  105. package/dist/production/src/application/CommandConfiguration.cjs +44 -0
  106. package/dist/production/src/application/CommandConfiguration.cjs.map +1 -0
  107. package/dist/production/src/application/CommandConfiguration.js +44 -0
  108. package/dist/production/src/application/CommandConfiguration.js.map +1 -0
  109. package/dist/production/src/application/CommandManager.cjs +37 -0
  110. package/dist/production/src/application/CommandManager.cjs.map +1 -0
  111. package/dist/production/src/application/CommandManager.js +37 -0
  112. package/dist/production/src/application/CommandManager.js.map +1 -0
  113. package/dist/production/src/application/Input.cjs +16 -0
  114. package/dist/production/src/application/Input.cjs.map +1 -0
  115. package/dist/production/src/application/Input.js +16 -0
  116. package/dist/production/src/application/Input.js.map +1 -0
  117. package/dist/production/src/application/InputParser.cjs +117 -0
  118. package/dist/production/src/application/InputParser.cjs.map +1 -0
  119. package/dist/production/src/application/InputParser.js +117 -0
  120. package/dist/production/src/application/InputParser.js.map +1 -0
  121. package/dist/production/src/application/Option.cjs +49 -0
  122. package/dist/production/src/application/Option.cjs.map +1 -0
  123. package/dist/production/src/application/Option.js +49 -0
  124. package/dist/production/src/application/Option.js.map +1 -0
  125. package/dist/production/src/application/UsageFormatter.cjs +61 -0
  126. package/dist/production/src/application/UsageFormatter.cjs.map +1 -0
  127. package/dist/production/src/application/UsageFormatter.js +61 -0
  128. package/dist/production/src/application/UsageFormatter.js.map +1 -0
  129. package/dist/production/src/application/assertNever.cjs +7 -0
  130. package/dist/production/src/application/assertNever.cjs.map +1 -0
  131. package/dist/production/src/application/assertNever.js +7 -0
  132. package/dist/production/src/application/assertNever.js.map +1 -0
  133. package/dist/production/src/npm/CommandRunner.cjs +59 -0
  134. package/dist/production/src/npm/CommandRunner.cjs.map +1 -0
  135. package/dist/production/src/npm/CommandRunner.js +59 -0
  136. package/dist/production/src/npm/CommandRunner.js.map +1 -0
  137. package/dist/production/src/npm/Package.cjs +11 -0
  138. package/dist/production/src/npm/Package.cjs.map +1 -0
  139. package/dist/production/src/npm/Package.js +11 -0
  140. package/dist/production/src/npm/Package.js.map +1 -0
  141. package/dist/production/src/npm/PackageWorkspace.cjs +79 -0
  142. package/dist/production/src/npm/PackageWorkspace.cjs.map +1 -0
  143. package/dist/production/src/npm/PackageWorkspace.js +79 -0
  144. package/dist/production/src/npm/PackageWorkspace.js.map +1 -0
  145. package/dist/production/src/npm/PackageWorkspaceResolver.cjs +48 -0
  146. package/dist/production/src/npm/PackageWorkspaceResolver.cjs.map +1 -0
  147. package/dist/production/src/npm/PackageWorkspaceResolver.js +48 -0
  148. package/dist/production/src/npm/PackageWorkspaceResolver.js.map +1 -0
  149. package/dist/production/src/npm/packageManagers/Bun.cjs +34 -0
  150. package/dist/production/src/npm/packageManagers/Bun.cjs.map +1 -0
  151. package/dist/production/src/npm/packageManagers/Bun.js +34 -0
  152. package/dist/production/src/npm/packageManagers/Bun.js.map +1 -0
  153. package/dist/production/src/npm/packageManagers/Npm.cjs +34 -0
  154. package/dist/production/src/npm/packageManagers/Npm.cjs.map +1 -0
  155. package/dist/production/src/npm/packageManagers/Npm.js +34 -0
  156. package/dist/production/src/npm/packageManagers/Npm.js.map +1 -0
  157. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs +34 -0
  158. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs.map +1 -0
  159. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js +34 -0
  160. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js.map +1 -0
  161. package/dist/production/src/npm/packageManagers/Pnpm.cjs +39 -0
  162. package/dist/production/src/npm/packageManagers/Pnpm.cjs.map +1 -0
  163. package/dist/production/src/npm/packageManagers/Pnpm.js +39 -0
  164. package/dist/production/src/npm/packageManagers/Pnpm.js.map +1 -0
  165. package/dist/production/src/npm/packageManagers/Yarn.cjs +34 -0
  166. package/dist/production/src/npm/packageManagers/Yarn.cjs.map +1 -0
  167. package/dist/production/src/npm/packageManagers/Yarn.js +34 -0
  168. package/dist/production/src/npm/packageManagers/Yarn.js.map +1 -0
  169. package/dist/production/src/npm/packageManagers/YarnClassic.cjs +35 -0
  170. package/dist/production/src/npm/packageManagers/YarnClassic.cjs.map +1 -0
  171. package/dist/production/src/npm/packageManagers/YarnClassic.js +35 -0
  172. package/dist/production/src/npm/packageManagers/YarnClassic.js.map +1 -0
  173. package/dist/production/src/utils/findPackageRoot.cjs +20 -0
  174. package/dist/production/src/utils/findPackageRoot.cjs.map +1 -0
  175. package/dist/production/src/utils/findPackageRoot.js +20 -0
  176. package/dist/production/src/utils/findPackageRoot.js.map +1 -0
  177. package/dist/types/application/Application.d.ts +18 -0
  178. package/dist/types/application/Application.d.ts.map +1 -0
  179. package/dist/types/application/Argument.d.ts +16 -0
  180. package/dist/types/application/Argument.d.ts.map +1 -0
  181. package/dist/types/application/Command.d.ts +10 -0
  182. package/dist/types/application/Command.d.ts.map +1 -0
  183. package/dist/types/application/CommandConfiguration.d.ts +23 -0
  184. package/dist/types/application/CommandConfiguration.d.ts.map +1 -0
  185. package/dist/types/application/CommandManager.d.ts +11 -0
  186. package/dist/types/application/CommandManager.d.ts.map +1 -0
  187. package/dist/types/application/Input.d.ts +10 -0
  188. package/dist/types/application/Input.d.ts.map +1 -0
  189. package/dist/types/application/InputParser.d.ts +13 -0
  190. package/dist/types/application/InputParser.d.ts.map +1 -0
  191. package/dist/types/application/Option.d.ts +27 -0
  192. package/dist/types/application/Option.d.ts.map +1 -0
  193. package/dist/types/application/UsageFormatter.d.ts +11 -0
  194. package/dist/types/application/UsageFormatter.d.ts.map +1 -0
  195. package/dist/types/application/assertNever.d.ts +2 -0
  196. package/dist/types/application/assertNever.d.ts.map +1 -0
  197. package/dist/types/application/index.d.ts +11 -0
  198. package/dist/types/application/index.d.ts.map +1 -0
  199. package/dist/types/index.d.ts +5 -0
  200. package/dist/types/index.d.ts.map +1 -0
  201. package/dist/types/npm/CommandRunner.d.ts +22 -0
  202. package/dist/types/npm/CommandRunner.d.ts.map +1 -0
  203. package/dist/types/npm/FileSystem.d.ts +7 -0
  204. package/dist/types/npm/FileSystem.d.ts.map +1 -0
  205. package/dist/types/npm/Package.d.ts +8 -0
  206. package/dist/types/npm/Package.d.ts.map +1 -0
  207. package/dist/types/npm/PackageJson.d.ts +13 -0
  208. package/dist/types/npm/PackageJson.d.ts.map +1 -0
  209. package/dist/types/npm/PackageWorkspace.d.ts +25 -0
  210. package/dist/types/npm/PackageWorkspace.d.ts.map +1 -0
  211. package/dist/types/npm/PackageWorkspaceResolver.d.ts +13 -0
  212. package/dist/types/npm/PackageWorkspaceResolver.d.ts.map +1 -0
  213. package/dist/types/npm/index.d.ts +9 -0
  214. package/dist/types/npm/index.d.ts.map +1 -0
  215. package/dist/types/npm/packageManagers/Bun.d.ts +24 -0
  216. package/dist/types/npm/packageManagers/Bun.d.ts.map +1 -0
  217. package/dist/types/npm/packageManagers/Npm.d.ts +24 -0
  218. package/dist/types/npm/packageManagers/Npm.d.ts.map +1 -0
  219. package/dist/types/npm/packageManagers/PackageManager.d.ts +18 -0
  220. package/dist/types/npm/packageManagers/PackageManager.d.ts.map +1 -0
  221. package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts +15 -0
  222. package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts.map +1 -0
  223. package/dist/types/npm/packageManagers/Pnpm.d.ts +24 -0
  224. package/dist/types/npm/packageManagers/Pnpm.d.ts.map +1 -0
  225. package/dist/types/npm/packageManagers/Yarn.d.ts +24 -0
  226. package/dist/types/npm/packageManagers/Yarn.d.ts.map +1 -0
  227. package/dist/types/npm/packageManagers/YarnClassic.d.ts +24 -0
  228. package/dist/types/npm/packageManagers/YarnClassic.d.ts.map +1 -0
  229. package/dist/types/tsconfig.tsbuildinfo +1 -0
  230. package/dist/types/utils/findPackageRoot.d.ts +2 -0
  231. package/dist/types/utils/findPackageRoot.d.ts.map +1 -0
  232. package/dist/types/utils/index.d.ts +2 -0
  233. package/dist/types/utils/index.d.ts.map +1 -0
  234. package/package.json +5 -5
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const node_path = require("node:path");
4
+ const Package = require("./Package.cjs");
5
+ const PackageWorkspace = require("./PackageWorkspace.cjs");
6
+ class PackageWorkspaceResolver {
7
+ constructor(dir, fs, packageManagers) {
8
+ this.dir = dir;
9
+ this.fs = fs;
10
+ this.packageManagers = packageManagers;
11
+ }
12
+ async resolve() {
13
+ return await this.resolveInternal(this.dir);
14
+ }
15
+ async resolveInternal(dir, packageJsonFound = false) {
16
+ if (!await this.fs.pathExists(node_path.join(dir, "package.json"))) {
17
+ if (dir === "/") {
18
+ if (packageJsonFound) {
19
+ throw `No lockfile found. Please install dependencies using package manager of your choice.`;
20
+ } else {
21
+ throw `package.json not found.`;
22
+ }
23
+ }
24
+ return await this.resolveInternal(node_path.dirname(dir), packageJsonFound);
25
+ }
26
+ const packageJson = JSON.parse(await this.fs.readFile(node_path.join(dir, "package.json"), "utf-8"));
27
+ const pm = await this.resolvePackageManager({ dir, packageJson });
28
+ if (!pm) {
29
+ if (dir === "/") {
30
+ throw `No lockfile found. Please install dependencies using package manager of your choice.`;
31
+ }
32
+ return await this.resolveInternal(node_path.dirname(dir), true);
33
+ }
34
+ const rootPackage = new Package.Package(dir, true, packageJson);
35
+ const workspacePackages = await pm.readWorkspacePackages({ dir, packageJson });
36
+ return new PackageWorkspace.PackageWorkspace(pm, this.fs, rootPackage, workspacePackages);
37
+ }
38
+ async resolvePackageManager(args) {
39
+ for (const pm of this.packageManagers) {
40
+ if (await pm.isActive(args)) {
41
+ return pm;
42
+ }
43
+ }
44
+ return null;
45
+ }
46
+ }
47
+ exports.PackageWorkspaceResolver = PackageWorkspaceResolver;
48
+ //# sourceMappingURL=PackageWorkspaceResolver.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageWorkspaceResolver.cjs","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspaceResolver.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Yarn } from './packageManagers/Yarn'\nimport { YarnClassic } from './packageManagers/YarnClassic'\nimport { Pnpm } from './packageManagers/Pnpm'\nimport { Npm } from './packageManagers/Npm'\nimport { PackageJson } from './PackageJson'\nimport { dirname, join } from 'node:path'\nimport { Package } from './Package'\nimport { PackageWorkspace } from './PackageWorkspace'\nimport { FileSystem } from './FileSystem'\n\nexport class PackageWorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate fs: FileSystem,\n\t\tprivate packageManagers: PackageManager[],\n\t) {\n\t}\n\n\tpublic async resolve(): Promise<PackageWorkspace> {\n\t\treturn await this.resolveInternal(this.dir)\n\t}\n\n\tpublic async resolveInternal(dir: string, packageJsonFound: boolean = false): Promise<PackageWorkspace> {\n\t\tif (!(await this.fs.pathExists(join(dir, 'package.json')))) {\n\t\t\tif (dir === '/') {\n\t\t\t\tif (packageJsonFound) {\n\t\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t\t} else {\n\t\t\t\t\tthrow `package.json not found.`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), packageJsonFound)\n\t\t}\n\n\t\tconst packageJson = JSON.parse(await this.fs.readFile(join(dir, 'package.json'), 'utf-8')) as PackageJson\n\n\t\tconst pm = await this.resolvePackageManager({ dir, packageJson })\n\t\tif (!pm) {\n\t\t\tif (dir === '/') {\n\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), true)\n\t\t}\n\n\t\tconst rootPackage = new Package(dir, true, packageJson)\n\t\tconst workspacePackages = await pm.readWorkspacePackages({ dir, packageJson })\n\n\t\treturn new PackageWorkspace(pm, this.fs, rootPackage, workspacePackages)\n\t}\n\n\tprivate async resolvePackageManager(args: { dir: string; packageJson: PackageJson }): Promise<PackageManager | null> {\n\t\tfor (const pm of this.packageManagers) {\n\t\t\tif (await pm.isActive(args)) {\n\t\t\t\treturn pm\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":["join","dirname","Package","PackageWorkspace"],"mappings":";;;;;AAWO,MAAM,yBAAyB;AAAA,EACrC,YACkB,KACT,IACA,iBACP;AAHgB,SAAA,MAAA;AACT,SAAA,KAAA;AACA,SAAA,kBAAA;AAAA,EAET;AAAA,EAEA,MAAa,UAAqC;AACjD,WAAO,MAAM,KAAK,gBAAgB,KAAK,GAAG;AAAA,EAC3C;AAAA,EAEA,MAAa,gBAAgB,KAAa,mBAA4B,OAAkC;AACvG,QAAI,CAAE,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,cAAc,CAAC,GAAI;AAC3D,UAAI,QAAQ,KAAK;AAChB,YAAI,kBAAkB;AACrB,gBAAM;AAAA,QACP,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO,MAAM,KAAK,gBAAgBC,UAAAA,QAAQ,GAAG,GAAG,gBAAgB;AAAA,IACjE;AAEA,UAAM,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAASD,UAAAA,KAAK,KAAK,cAAc,GAAG,OAAO,CAAC;AAEzF,UAAM,KAAK,MAAM,KAAK,sBAAsB,EAAE,KAAK,aAAa;AAChE,QAAI,CAAC,IAAI;AACR,UAAI,QAAQ,KAAK;AAChB,cAAM;AAAA,MACP;AACA,aAAO,MAAM,KAAK,gBAAgBC,UAAAA,QAAQ,GAAG,GAAG,IAAI;AAAA,IACrD;AAEA,UAAM,cAAc,IAAIC,QAAAA,QAAQ,KAAK,MAAM,WAAW;AACtD,UAAM,oBAAoB,MAAM,GAAG,sBAAsB,EAAE,KAAK,aAAa;AAE7E,WAAO,IAAIC,iBAAAA,iBAAiB,IAAI,KAAK,IAAI,aAAa,iBAAiB;AAAA,EACxE;AAAA,EAEA,MAAc,sBAAsB,MAAiF;AACpH,eAAW,MAAM,KAAK,iBAAiB;AACtC,UAAI,MAAM,GAAG,SAAS,IAAI,GAAG;AAC5B,eAAO;AAAA,MACR;AAAA,IACD;AACA,WAAO;AAAA,EACR;AACD;;"}
@@ -0,0 +1,48 @@
1
+ import { join, dirname } from "node:path";
2
+ import { Package } from "./Package.js";
3
+ import { PackageWorkspace } from "./PackageWorkspace.js";
4
+ class PackageWorkspaceResolver {
5
+ constructor(dir, fs, packageManagers) {
6
+ this.dir = dir;
7
+ this.fs = fs;
8
+ this.packageManagers = packageManagers;
9
+ }
10
+ async resolve() {
11
+ return await this.resolveInternal(this.dir);
12
+ }
13
+ async resolveInternal(dir, packageJsonFound = false) {
14
+ if (!await this.fs.pathExists(join(dir, "package.json"))) {
15
+ if (dir === "/") {
16
+ if (packageJsonFound) {
17
+ throw `No lockfile found. Please install dependencies using package manager of your choice.`;
18
+ } else {
19
+ throw `package.json not found.`;
20
+ }
21
+ }
22
+ return await this.resolveInternal(dirname(dir), packageJsonFound);
23
+ }
24
+ const packageJson = JSON.parse(await this.fs.readFile(join(dir, "package.json"), "utf-8"));
25
+ const pm = await this.resolvePackageManager({ dir, packageJson });
26
+ if (!pm) {
27
+ if (dir === "/") {
28
+ throw `No lockfile found. Please install dependencies using package manager of your choice.`;
29
+ }
30
+ return await this.resolveInternal(dirname(dir), true);
31
+ }
32
+ const rootPackage = new Package(dir, true, packageJson);
33
+ const workspacePackages = await pm.readWorkspacePackages({ dir, packageJson });
34
+ return new PackageWorkspace(pm, this.fs, rootPackage, workspacePackages);
35
+ }
36
+ async resolvePackageManager(args) {
37
+ for (const pm of this.packageManagers) {
38
+ if (await pm.isActive(args)) {
39
+ return pm;
40
+ }
41
+ }
42
+ return null;
43
+ }
44
+ }
45
+ export {
46
+ PackageWorkspaceResolver
47
+ };
48
+ //# sourceMappingURL=PackageWorkspaceResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageWorkspaceResolver.js","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspaceResolver.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Yarn } from './packageManagers/Yarn'\nimport { YarnClassic } from './packageManagers/YarnClassic'\nimport { Pnpm } from './packageManagers/Pnpm'\nimport { Npm } from './packageManagers/Npm'\nimport { PackageJson } from './PackageJson'\nimport { dirname, join } from 'node:path'\nimport { Package } from './Package'\nimport { PackageWorkspace } from './PackageWorkspace'\nimport { FileSystem } from './FileSystem'\n\nexport class PackageWorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate fs: FileSystem,\n\t\tprivate packageManagers: PackageManager[],\n\t) {\n\t}\n\n\tpublic async resolve(): Promise<PackageWorkspace> {\n\t\treturn await this.resolveInternal(this.dir)\n\t}\n\n\tpublic async resolveInternal(dir: string, packageJsonFound: boolean = false): Promise<PackageWorkspace> {\n\t\tif (!(await this.fs.pathExists(join(dir, 'package.json')))) {\n\t\t\tif (dir === '/') {\n\t\t\t\tif (packageJsonFound) {\n\t\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t\t} else {\n\t\t\t\t\tthrow `package.json not found.`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), packageJsonFound)\n\t\t}\n\n\t\tconst packageJson = JSON.parse(await this.fs.readFile(join(dir, 'package.json'), 'utf-8')) as PackageJson\n\n\t\tconst pm = await this.resolvePackageManager({ dir, packageJson })\n\t\tif (!pm) {\n\t\t\tif (dir === '/') {\n\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), true)\n\t\t}\n\n\t\tconst rootPackage = new Package(dir, true, packageJson)\n\t\tconst workspacePackages = await pm.readWorkspacePackages({ dir, packageJson })\n\n\t\treturn new PackageWorkspace(pm, this.fs, rootPackage, workspacePackages)\n\t}\n\n\tprivate async resolvePackageManager(args: { dir: string; packageJson: PackageJson }): Promise<PackageManager | null> {\n\t\tfor (const pm of this.packageManagers) {\n\t\t\tif (await pm.isActive(args)) {\n\t\t\t\treturn pm\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":[],"mappings":";;;AAWO,MAAM,yBAAyB;AAAA,EACrC,YACkB,KACT,IACA,iBACP;AAHgB,SAAA,MAAA;AACT,SAAA,KAAA;AACA,SAAA,kBAAA;AAAA,EAET;AAAA,EAEA,MAAa,UAAqC;AACjD,WAAO,MAAM,KAAK,gBAAgB,KAAK,GAAG;AAAA,EAC3C;AAAA,EAEA,MAAa,gBAAgB,KAAa,mBAA4B,OAAkC;AACvG,QAAI,CAAE,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,cAAc,CAAC,GAAI;AAC3D,UAAI,QAAQ,KAAK;AAChB,YAAI,kBAAkB;AACrB,gBAAM;AAAA,QACP,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO,MAAM,KAAK,gBAAgB,QAAQ,GAAG,GAAG,gBAAgB;AAAA,IACjE;AAEA,UAAM,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,cAAc,GAAG,OAAO,CAAC;AAEzF,UAAM,KAAK,MAAM,KAAK,sBAAsB,EAAE,KAAK,aAAa;AAChE,QAAI,CAAC,IAAI;AACR,UAAI,QAAQ,KAAK;AAChB,cAAM;AAAA,MACP;AACA,aAAO,MAAM,KAAK,gBAAgB,QAAQ,GAAG,GAAG,IAAI;AAAA,IACrD;AAEA,UAAM,cAAc,IAAI,QAAQ,KAAK,MAAM,WAAW;AACtD,UAAM,oBAAoB,MAAM,GAAG,sBAAsB,EAAE,KAAK,aAAa;AAE7E,WAAO,IAAI,iBAAiB,IAAI,KAAK,IAAI,aAAa,iBAAiB;AAAA,EACxE;AAAA,EAEA,MAAc,sBAAsB,MAAiF;AACpH,eAAW,MAAM,KAAK,iBAAiB;AACtC,UAAI,MAAM,GAAG,SAAS,IAAI,GAAG;AAC5B,eAAO;AAAA,MACR;AAAA,IACD;AACA,WAAO;AAAA,EACR;AACD;"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const node_path = require("node:path");
4
+ const PackageManagerHelpers = require("./PackageManagerHelpers.cjs");
5
+ class Bun {
6
+ constructor(fs, commandRunner) {
7
+ this.fs = fs;
8
+ this.commandRunner = commandRunner;
9
+ }
10
+ async install({ pckg, dependencies, isDev }) {
11
+ const { output } = this.commandRunner.runCommand("bun", [
12
+ "add",
13
+ isDev ? "--dev" : void 0,
14
+ ...PackageManagerHelpers.PackageManagerHelpers.formatPackagesToInstall(dependencies)
15
+ ], {
16
+ cwd: pckg.dir,
17
+ stderr: process.stderr,
18
+ stdout: process.stdout
19
+ });
20
+ await output;
21
+ }
22
+ async isActive({ dir }) {
23
+ return await this.fs.pathExists(node_path.join(dir, "bun.lock")) || await this.fs.pathExists(node_path.join(dir, "bun.lockb"));
24
+ }
25
+ async readWorkspacePackages({ dir, packageJson }) {
26
+ return await PackageManagerHelpers.PackageManagerHelpers.readWorkspacePackages({
27
+ fs: this.fs,
28
+ dir,
29
+ workspaces: PackageManagerHelpers.PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
30
+ });
31
+ }
32
+ }
33
+ exports.Bun = Bun;
34
+ //# sourceMappingURL=Bun.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bun.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Bun.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Bun implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('bun', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'bun.lock')) || await this.fs.pathExists(join(dir, 'bun.lockb'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,OAAoE;AACpF,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,UAAU,CAAC,KAAK,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,WAAW,CAAC;AAAA,EAC1G;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAMD,sBAAAA,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAAA,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;;"}
@@ -0,0 +1,34 @@
1
+ import { join } from "node:path";
2
+ import { PackageManagerHelpers } from "./PackageManagerHelpers.js";
3
+ class Bun {
4
+ constructor(fs, commandRunner) {
5
+ this.fs = fs;
6
+ this.commandRunner = commandRunner;
7
+ }
8
+ async install({ pckg, dependencies, isDev }) {
9
+ const { output } = this.commandRunner.runCommand("bun", [
10
+ "add",
11
+ isDev ? "--dev" : void 0,
12
+ ...PackageManagerHelpers.formatPackagesToInstall(dependencies)
13
+ ], {
14
+ cwd: pckg.dir,
15
+ stderr: process.stderr,
16
+ stdout: process.stdout
17
+ });
18
+ await output;
19
+ }
20
+ async isActive({ dir }) {
21
+ return await this.fs.pathExists(join(dir, "bun.lock")) || await this.fs.pathExists(join(dir, "bun.lockb"));
22
+ }
23
+ async readWorkspacePackages({ dir, packageJson }) {
24
+ return await PackageManagerHelpers.readWorkspacePackages({
25
+ fs: this.fs,
26
+ dir,
27
+ workspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
28
+ });
29
+ }
30
+ }
31
+ export {
32
+ Bun
33
+ };
34
+ //# sourceMappingURL=Bun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bun.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Bun.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Bun implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('bun', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'bun.lock')) || await this.fs.pathExists(join(dir, 'bun.lockb'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,OAAoE;AACpF,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,UAAU,CAAC,KAAK,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,WAAW,CAAC;AAAA,EAC1G;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const node_path = require("node:path");
4
+ const PackageManagerHelpers = require("./PackageManagerHelpers.cjs");
5
+ class Npm {
6
+ constructor(fs, commandRunner) {
7
+ this.fs = fs;
8
+ this.commandRunner = commandRunner;
9
+ }
10
+ async install({ pckg, dependencies, isDev }) {
11
+ const { output } = this.commandRunner.runCommand("npm", [
12
+ "install",
13
+ isDev ? "--save-dev" : "--save",
14
+ ...PackageManagerHelpers.PackageManagerHelpers.formatPackagesToInstall(dependencies)
15
+ ], {
16
+ cwd: pckg.dir,
17
+ stderr: process.stderr,
18
+ stdout: process.stdout
19
+ });
20
+ await output;
21
+ }
22
+ async isActive({ dir, packageJson }) {
23
+ return await this.fs.pathExists(node_path.join(dir, "package-lock.json"));
24
+ }
25
+ async readWorkspacePackages({ dir, packageJson }) {
26
+ return await PackageManagerHelpers.PackageManagerHelpers.readWorkspacePackages({
27
+ fs: this.fs,
28
+ dir,
29
+ workspaces: PackageManagerHelpers.PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
30
+ });
31
+ }
32
+ }
33
+ exports.Npm = Npm;
34
+ //# sourceMappingURL=Npm.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Npm.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Npm.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Npm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('npm', [\n\t\t\t'install',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'package-lock.json'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,mBAAmB,CAAC;AAAA,EAC/D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAMD,sBAAAA,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAAA,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;;"}
@@ -0,0 +1,34 @@
1
+ import { join } from "node:path";
2
+ import { PackageManagerHelpers } from "./PackageManagerHelpers.js";
3
+ class Npm {
4
+ constructor(fs, commandRunner) {
5
+ this.fs = fs;
6
+ this.commandRunner = commandRunner;
7
+ }
8
+ async install({ pckg, dependencies, isDev }) {
9
+ const { output } = this.commandRunner.runCommand("npm", [
10
+ "install",
11
+ isDev ? "--save-dev" : "--save",
12
+ ...PackageManagerHelpers.formatPackagesToInstall(dependencies)
13
+ ], {
14
+ cwd: pckg.dir,
15
+ stderr: process.stderr,
16
+ stdout: process.stdout
17
+ });
18
+ await output;
19
+ }
20
+ async isActive({ dir, packageJson }) {
21
+ return await this.fs.pathExists(join(dir, "package-lock.json"));
22
+ }
23
+ async readWorkspacePackages({ dir, packageJson }) {
24
+ return await PackageManagerHelpers.readWorkspacePackages({
25
+ fs: this.fs,
26
+ dir,
27
+ workspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
28
+ });
29
+ }
30
+ }
31
+ export {
32
+ Npm
33
+ };
34
+ //# sourceMappingURL=Npm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Npm.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Npm.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Npm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('npm', [\n\t\t\t'install',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'package-lock.json'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,mBAAmB,CAAC;AAAA,EAC/D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Package = require("../Package.cjs");
4
+ const node_path = require("node:path");
5
+ class PackageManagerHelpers {
6
+ static async readWorkspacePackages({ fs, dir, workspaces }) {
7
+ const dirs = await fs.listDirectories(dir, workspaces);
8
+ const packageJson = await Promise.all(dirs.map(async (it) => {
9
+ const packageJsonPath = node_path.join(dir, it, "package.json");
10
+ if (!await fs.pathExists(packageJsonPath)) {
11
+ return null;
12
+ }
13
+ const packageJson2 = JSON.parse(await fs.readFile(packageJsonPath, "utf-8"));
14
+ return [packageJson2, it];
15
+ }));
16
+ return packageJson.filter((it) => it !== null).map(
17
+ ([packageJson2, subDir]) => new Package.Package(node_path.join(dir, subDir), false, packageJson2)
18
+ );
19
+ }
20
+ static getWorkspacesFromPackageJson({ packageJson }) {
21
+ if (!packageJson.workspaces) {
22
+ return [];
23
+ }
24
+ if (Array.isArray(packageJson.workspaces)) {
25
+ return packageJson.workspaces;
26
+ }
27
+ return [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []];
28
+ }
29
+ static formatPackagesToInstall(packages) {
30
+ return Object.entries(packages).map(([name, version]) => `${name}@${version}`);
31
+ }
32
+ }
33
+ exports.PackageManagerHelpers = PackageManagerHelpers;
34
+ //# sourceMappingURL=PackageManagerHelpers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageManagerHelpers.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/PackageManagerHelpers.ts"],"sourcesContent":["import { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { FileSystem } from '../FileSystem'\n\nexport class PackageManagerHelpers {\n\tstatic async readWorkspacePackages({ fs, dir, workspaces }: {\n\t\tfs: FileSystem\n\t\tdir: string\n\t\tworkspaces: string[]\n\t}): Promise<Package[]> {\n\t\tconst dirs = await fs.listDirectories(dir, workspaces)\n\n\t\tconst packageJson = await Promise.all(dirs.map(async it => {\n\t\t\tconst packageJsonPath = join(dir, it, 'package.json')\n\t\t\tif (!(await fs.pathExists(packageJsonPath))) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tconst packageJson: PackageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\treturn [packageJson, it] as const\n\t\t}))\n\n\t\treturn packageJson.filter(<T>(it: T | null): it is T => it !== null).map(([packageJson, subDir]) =>\n\t\t\tnew Package(join(dir, subDir), false, packageJson)\n\t\t)\n\t}\n\n\tstatic getWorkspacesFromPackageJson({ packageJson }: { packageJson: PackageJson }): string[] {\n\t\tif (!packageJson.workspaces) {\n\t\t\treturn []\n\t\t}\n\t\tif (Array.isArray(packageJson.workspaces)) {\n\t\t\treturn packageJson.workspaces\n\t\t}\n\t\treturn [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []]\n\t}\n\n\tstatic formatPackagesToInstall(packages: Record<string, string>): string[] {\n\t\treturn Object.entries(packages).map(([name, version]) => `${name}@${version}`)\n\t}\n}\n"],"names":["join","packageJson","Package"],"mappings":";;;;AAKO,MAAM,sBAAsB;AAAA,EAClC,aAAa,sBAAsB,EAAE,IAAI,KAAK,cAIvB;AACtB,UAAM,OAAO,MAAM,GAAG,gBAAgB,KAAK,UAAU;AAErD,UAAM,cAAc,MAAM,QAAQ,IAAI,KAAK,IAAI,OAAM,OAAM;AAC1D,YAAM,kBAAkBA,UAAAA,KAAK,KAAK,IAAI,cAAc;AACpD,UAAI,CAAE,MAAM,GAAG,WAAW,eAAe,GAAI;AAC5C,eAAO;AAAA,MACR;AACA,YAAMC,eAA2B,KAAK,MAAM,MAAM,GAAG,SAAS,iBAAiB,OAAO,CAAC;AACvF,aAAO,CAACA,cAAa,EAAE;AAAA,IACxB,CAAC,CAAC;AAEF,WAAO,YAAY,OAAO,CAAI,OAA0B,OAAO,IAAI,EAAE;AAAA,MAAI,CAAC,CAACA,cAAa,MAAM,MAC7F,IAAIC,QAAAA,QAAQF,UAAAA,KAAK,KAAK,MAAM,GAAG,OAAOC,YAAW;AAAA,IAAA;AAAA,EAEnD;AAAA,EAEA,OAAO,6BAA6B,EAAE,eAAuD;AAC5F,QAAI,CAAC,YAAY,YAAY;AAC5B,aAAO,CAAA;AAAA,IACR;AACA,QAAI,MAAM,QAAQ,YAAY,UAAU,GAAG;AAC1C,aAAO,YAAY;AAAA,IACpB;AACA,WAAO,CAAC,GAAG,YAAY,YAAY,YAAY,IAAI,GAAG,YAAY,YAAY,WAAW,EAAE;AAAA,EAC5F;AAAA,EAEA,OAAO,wBAAwB,UAA4C;AAC1E,WAAO,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAM,GAAG,IAAI,IAAI,OAAO,EAAE;AAAA,EAC9E;AACD;;"}
@@ -0,0 +1,34 @@
1
+ import { Package } from "../Package.js";
2
+ import { join } from "node:path";
3
+ class PackageManagerHelpers {
4
+ static async readWorkspacePackages({ fs, dir, workspaces }) {
5
+ const dirs = await fs.listDirectories(dir, workspaces);
6
+ const packageJson = await Promise.all(dirs.map(async (it) => {
7
+ const packageJsonPath = join(dir, it, "package.json");
8
+ if (!await fs.pathExists(packageJsonPath)) {
9
+ return null;
10
+ }
11
+ const packageJson2 = JSON.parse(await fs.readFile(packageJsonPath, "utf-8"));
12
+ return [packageJson2, it];
13
+ }));
14
+ return packageJson.filter((it) => it !== null).map(
15
+ ([packageJson2, subDir]) => new Package(join(dir, subDir), false, packageJson2)
16
+ );
17
+ }
18
+ static getWorkspacesFromPackageJson({ packageJson }) {
19
+ if (!packageJson.workspaces) {
20
+ return [];
21
+ }
22
+ if (Array.isArray(packageJson.workspaces)) {
23
+ return packageJson.workspaces;
24
+ }
25
+ return [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []];
26
+ }
27
+ static formatPackagesToInstall(packages) {
28
+ return Object.entries(packages).map(([name, version]) => `${name}@${version}`);
29
+ }
30
+ }
31
+ export {
32
+ PackageManagerHelpers
33
+ };
34
+ //# sourceMappingURL=PackageManagerHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageManagerHelpers.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/PackageManagerHelpers.ts"],"sourcesContent":["import { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { FileSystem } from '../FileSystem'\n\nexport class PackageManagerHelpers {\n\tstatic async readWorkspacePackages({ fs, dir, workspaces }: {\n\t\tfs: FileSystem\n\t\tdir: string\n\t\tworkspaces: string[]\n\t}): Promise<Package[]> {\n\t\tconst dirs = await fs.listDirectories(dir, workspaces)\n\n\t\tconst packageJson = await Promise.all(dirs.map(async it => {\n\t\t\tconst packageJsonPath = join(dir, it, 'package.json')\n\t\t\tif (!(await fs.pathExists(packageJsonPath))) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tconst packageJson: PackageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\treturn [packageJson, it] as const\n\t\t}))\n\n\t\treturn packageJson.filter(<T>(it: T | null): it is T => it !== null).map(([packageJson, subDir]) =>\n\t\t\tnew Package(join(dir, subDir), false, packageJson)\n\t\t)\n\t}\n\n\tstatic getWorkspacesFromPackageJson({ packageJson }: { packageJson: PackageJson }): string[] {\n\t\tif (!packageJson.workspaces) {\n\t\t\treturn []\n\t\t}\n\t\tif (Array.isArray(packageJson.workspaces)) {\n\t\t\treturn packageJson.workspaces\n\t\t}\n\t\treturn [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []]\n\t}\n\n\tstatic formatPackagesToInstall(packages: Record<string, string>): string[] {\n\t\treturn Object.entries(packages).map(([name, version]) => `${name}@${version}`)\n\t}\n}\n"],"names":["packageJson"],"mappings":";;AAKO,MAAM,sBAAsB;AAAA,EAClC,aAAa,sBAAsB,EAAE,IAAI,KAAK,cAIvB;AACtB,UAAM,OAAO,MAAM,GAAG,gBAAgB,KAAK,UAAU;AAErD,UAAM,cAAc,MAAM,QAAQ,IAAI,KAAK,IAAI,OAAM,OAAM;AAC1D,YAAM,kBAAkB,KAAK,KAAK,IAAI,cAAc;AACpD,UAAI,CAAE,MAAM,GAAG,WAAW,eAAe,GAAI;AAC5C,eAAO;AAAA,MACR;AACA,YAAMA,eAA2B,KAAK,MAAM,MAAM,GAAG,SAAS,iBAAiB,OAAO,CAAC;AACvF,aAAO,CAACA,cAAa,EAAE;AAAA,IACxB,CAAC,CAAC;AAEF,WAAO,YAAY,OAAO,CAAI,OAA0B,OAAO,IAAI,EAAE;AAAA,MAAI,CAAC,CAACA,cAAa,MAAM,MAC7F,IAAI,QAAQ,KAAK,KAAK,MAAM,GAAG,OAAOA,YAAW;AAAA,IAAA;AAAA,EAEnD;AAAA,EAEA,OAAO,6BAA6B,EAAE,eAAuD;AAC5F,QAAI,CAAC,YAAY,YAAY;AAC5B,aAAO,CAAA;AAAA,IACR;AACA,QAAI,MAAM,QAAQ,YAAY,UAAU,GAAG;AAC1C,aAAO,YAAY;AAAA,IACpB;AACA,WAAO,CAAC,GAAG,YAAY,YAAY,YAAY,IAAI,GAAG,YAAY,YAAY,WAAW,EAAE;AAAA,EAC5F;AAAA,EAEA,OAAO,wBAAwB,UAA4C;AAC1E,WAAO,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAM,GAAG,IAAI,IAAI,OAAO,EAAE;AAAA,EAC9E;AACD;"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const node_path = require("node:path");
4
+ const PackageManagerHelpers = require("./PackageManagerHelpers.cjs");
5
+ class Pnpm {
6
+ constructor(fs, commandRunner) {
7
+ this.fs = fs;
8
+ this.commandRunner = commandRunner;
9
+ }
10
+ async install({ pckg, dependencies, isDev }) {
11
+ const { output } = this.commandRunner.runCommand("pnpm", [
12
+ "add",
13
+ isDev ? "--save-dev" : "--save",
14
+ pckg.isRoot ? "--ignore-workspace-root-check" : void 0,
15
+ ...PackageManagerHelpers.PackageManagerHelpers.formatPackagesToInstall(dependencies)
16
+ ], {
17
+ cwd: pckg.dir,
18
+ stderr: process.stderr,
19
+ stdout: process.stdout
20
+ });
21
+ await output;
22
+ }
23
+ async isActive({ dir, packageJson }) {
24
+ return await this.fs.pathExists(node_path.join(dir, "pnpm-lock.yaml"));
25
+ }
26
+ async readWorkspacePackages({ dir, packageJson }) {
27
+ let pnpmWorkspaces;
28
+ if (await this.fs.pathExists(node_path.join(dir, "pnpm-workspace.yaml"))) {
29
+ pnpmWorkspaces = JSON.parse(await this.fs.readFile(node_path.join(dir, "pnpm-workspace.yaml"), "utf-8"));
30
+ }
31
+ return await PackageManagerHelpers.PackageManagerHelpers.readWorkspacePackages({
32
+ fs: this.fs,
33
+ dir,
34
+ workspaces: pnpmWorkspaces.packages
35
+ });
36
+ }
37
+ }
38
+ exports.Pnpm = Pnpm;
39
+ //# sourceMappingURL=Pnpm.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pnpm.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Pnpm.ts"],"sourcesContent":["import { FileSystem } from '../FileSystem'\nimport { join } from 'node:path'\n\nimport { PackageJson } from '../PackageJson'\nimport { PackageManager } from './PackageManager'\nimport { Package } from '../Package'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Pnpm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('pnpm', [\n\t\t\t'add',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'pnpm-lock.yaml'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\tlet pnpmWorkspaces: any\n\t\tif (await this.fs.pathExists(join(dir, 'pnpm-workspace.yaml'))) {\n\t\t\tpnpmWorkspaces = JSON.parse(await this.fs.readFile(join(dir, 'pnpm-workspace.yaml'), 'utf-8'))\n\t\t}\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: pnpmWorkspaces.packages,\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AASO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,gBAAgB,CAAC;AAAA,EAC5D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,QAAI;AACJ,QAAI,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,qBAAqB,CAAC,GAAG;AAC/D,uBAAiB,KAAK,MAAM,MAAM,KAAK,GAAG,SAASA,UAAAA,KAAK,KAAK,qBAAqB,GAAG,OAAO,CAAC;AAAA,IAC9F;AACA,WAAO,MAAMD,sBAAAA,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,eAAe;AAAA,IAAA,CAC3B;AAAA,EACF;AACD;;"}
@@ -0,0 +1,39 @@
1
+ import { join } from "node:path";
2
+ import { PackageManagerHelpers } from "./PackageManagerHelpers.js";
3
+ class Pnpm {
4
+ constructor(fs, commandRunner) {
5
+ this.fs = fs;
6
+ this.commandRunner = commandRunner;
7
+ }
8
+ async install({ pckg, dependencies, isDev }) {
9
+ const { output } = this.commandRunner.runCommand("pnpm", [
10
+ "add",
11
+ isDev ? "--save-dev" : "--save",
12
+ pckg.isRoot ? "--ignore-workspace-root-check" : void 0,
13
+ ...PackageManagerHelpers.formatPackagesToInstall(dependencies)
14
+ ], {
15
+ cwd: pckg.dir,
16
+ stderr: process.stderr,
17
+ stdout: process.stdout
18
+ });
19
+ await output;
20
+ }
21
+ async isActive({ dir, packageJson }) {
22
+ return await this.fs.pathExists(join(dir, "pnpm-lock.yaml"));
23
+ }
24
+ async readWorkspacePackages({ dir, packageJson }) {
25
+ let pnpmWorkspaces;
26
+ if (await this.fs.pathExists(join(dir, "pnpm-workspace.yaml"))) {
27
+ pnpmWorkspaces = JSON.parse(await this.fs.readFile(join(dir, "pnpm-workspace.yaml"), "utf-8"));
28
+ }
29
+ return await PackageManagerHelpers.readWorkspacePackages({
30
+ fs: this.fs,
31
+ dir,
32
+ workspaces: pnpmWorkspaces.packages
33
+ });
34
+ }
35
+ }
36
+ export {
37
+ Pnpm
38
+ };
39
+ //# sourceMappingURL=Pnpm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pnpm.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Pnpm.ts"],"sourcesContent":["import { FileSystem } from '../FileSystem'\nimport { join } from 'node:path'\n\nimport { PackageJson } from '../PackageJson'\nimport { PackageManager } from './PackageManager'\nimport { Package } from '../Package'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Pnpm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('pnpm', [\n\t\t\t'add',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'pnpm-lock.yaml'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\tlet pnpmWorkspaces: any\n\t\tif (await this.fs.pathExists(join(dir, 'pnpm-workspace.yaml'))) {\n\t\t\tpnpmWorkspaces = JSON.parse(await this.fs.readFile(join(dir, 'pnpm-workspace.yaml'), 'utf-8'))\n\t\t}\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: pnpmWorkspaces.packages,\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AASO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,gBAAgB,CAAC;AAAA,EAC5D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,QAAI;AACJ,QAAI,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,qBAAqB,CAAC,GAAG;AAC/D,uBAAiB,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,qBAAqB,GAAG,OAAO,CAAC;AAAA,IAC9F;AACA,WAAO,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,eAAe;AAAA,IAAA,CAC3B;AAAA,EACF;AACD;"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const node_path = require("node:path");
4
+ const PackageManagerHelpers = require("./PackageManagerHelpers.cjs");
5
+ class Yarn {
6
+ constructor(fs, commandRunner) {
7
+ this.fs = fs;
8
+ this.commandRunner = commandRunner;
9
+ }
10
+ async install({ pckg, dependencies, isDev }) {
11
+ const { output } = this.commandRunner.runCommand("yarn", [
12
+ "add",
13
+ isDev ? "--dev" : void 0,
14
+ ...PackageManagerHelpers.PackageManagerHelpers.formatPackagesToInstall(dependencies)
15
+ ], {
16
+ cwd: pckg.dir,
17
+ stderr: process.stderr,
18
+ stdout: process.stdout
19
+ });
20
+ await output;
21
+ }
22
+ async isActive({ dir, packageJson }) {
23
+ return await this.fs.pathExists(node_path.join(dir, "yarn.lock")) && (!packageJson.packageManager || packageJson.packageManager.startsWith("yarn@4") || packageJson.packageManager.startsWith("yarn@3") || packageJson.packageManager.startsWith("yarn@2"));
24
+ }
25
+ async readWorkspacePackages({ dir, packageJson }) {
26
+ return await PackageManagerHelpers.PackageManagerHelpers.readWorkspacePackages({
27
+ fs: this.fs,
28
+ dir,
29
+ workspaces: PackageManagerHelpers.PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
30
+ });
31
+ }
32
+ }
33
+ exports.Yarn = Yarn;
34
+ //# sourceMappingURL=Yarn.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Yarn.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Yarn.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Yarn implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t\t\t&& (!packageJson.packageManager || (packageJson.packageManager as string).startsWith('yarn@4')\n\t\t\t\t|| (packageJson.packageManager as string).startsWith('yarn@3') || (packageJson.packageManager as string).startsWith('yarn@2'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,WAAW,CAAC,MACjD,CAAC,YAAY,kBAAmB,YAAY,eAA0B,WAAW,QAAQ,KACxF,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ;AAAA,EAC/H;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAMD,sBAAAA,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAAA,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;;"}
@@ -0,0 +1,34 @@
1
+ import { join } from "node:path";
2
+ import { PackageManagerHelpers } from "./PackageManagerHelpers.js";
3
+ class Yarn {
4
+ constructor(fs, commandRunner) {
5
+ this.fs = fs;
6
+ this.commandRunner = commandRunner;
7
+ }
8
+ async install({ pckg, dependencies, isDev }) {
9
+ const { output } = this.commandRunner.runCommand("yarn", [
10
+ "add",
11
+ isDev ? "--dev" : void 0,
12
+ ...PackageManagerHelpers.formatPackagesToInstall(dependencies)
13
+ ], {
14
+ cwd: pckg.dir,
15
+ stderr: process.stderr,
16
+ stdout: process.stdout
17
+ });
18
+ await output;
19
+ }
20
+ async isActive({ dir, packageJson }) {
21
+ return await this.fs.pathExists(join(dir, "yarn.lock")) && (!packageJson.packageManager || packageJson.packageManager.startsWith("yarn@4") || packageJson.packageManager.startsWith("yarn@3") || packageJson.packageManager.startsWith("yarn@2"));
22
+ }
23
+ async readWorkspacePackages({ dir, packageJson }) {
24
+ return await PackageManagerHelpers.readWorkspacePackages({
25
+ fs: this.fs,
26
+ dir,
27
+ workspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
28
+ });
29
+ }
30
+ }
31
+ export {
32
+ Yarn
33
+ };
34
+ //# sourceMappingURL=Yarn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Yarn.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Yarn.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Yarn implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t\t\t&& (!packageJson.packageManager || (packageJson.packageManager as string).startsWith('yarn@4')\n\t\t\t\t|| (packageJson.packageManager as string).startsWith('yarn@3') || (packageJson.packageManager as string).startsWith('yarn@2'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,WAAW,CAAC,MACjD,CAAC,YAAY,kBAAmB,YAAY,eAA0B,WAAW,QAAQ,KACxF,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ;AAAA,EAC/H;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const node_path = require("node:path");
4
+ const PackageManagerHelpers = require("./PackageManagerHelpers.cjs");
5
+ class YarnClassic {
6
+ constructor(fs, commandRunner) {
7
+ this.fs = fs;
8
+ this.commandRunner = commandRunner;
9
+ }
10
+ async install({ pckg, dependencies, isDev }) {
11
+ const { output } = this.commandRunner.runCommand("yarn", [
12
+ "add",
13
+ isDev ? "--dev" : void 0,
14
+ pckg.isRoot ? "--ignore-workspace-root-check" : void 0,
15
+ ...PackageManagerHelpers.PackageManagerHelpers.formatPackagesToInstall(dependencies)
16
+ ], {
17
+ cwd: pckg.dir,
18
+ stderr: process.stderr,
19
+ stdout: process.stdout
20
+ });
21
+ await output;
22
+ }
23
+ async isActive({ dir, packageJson }) {
24
+ return await this.fs.pathExists(node_path.join(dir, "yarn.lock"));
25
+ }
26
+ async readWorkspacePackages({ dir, packageJson }) {
27
+ return await PackageManagerHelpers.PackageManagerHelpers.readWorkspacePackages({
28
+ fs: this.fs,
29
+ dir,
30
+ workspaces: PackageManagerHelpers.PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
31
+ });
32
+ }
33
+ }
34
+ exports.YarnClassic = YarnClassic;
35
+ //# sourceMappingURL=YarnClassic.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YarnClassic.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/YarnClassic.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class YarnClassic implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,YAAsC;AAAA,EAClD,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,WAAW,CAAC;AAAA,EACvD;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAMD,sBAAAA,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAAA,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;;"}
@@ -0,0 +1,35 @@
1
+ import { join } from "node:path";
2
+ import { PackageManagerHelpers } from "./PackageManagerHelpers.js";
3
+ class YarnClassic {
4
+ constructor(fs, commandRunner) {
5
+ this.fs = fs;
6
+ this.commandRunner = commandRunner;
7
+ }
8
+ async install({ pckg, dependencies, isDev }) {
9
+ const { output } = this.commandRunner.runCommand("yarn", [
10
+ "add",
11
+ isDev ? "--dev" : void 0,
12
+ pckg.isRoot ? "--ignore-workspace-root-check" : void 0,
13
+ ...PackageManagerHelpers.formatPackagesToInstall(dependencies)
14
+ ], {
15
+ cwd: pckg.dir,
16
+ stderr: process.stderr,
17
+ stdout: process.stdout
18
+ });
19
+ await output;
20
+ }
21
+ async isActive({ dir, packageJson }) {
22
+ return await this.fs.pathExists(join(dir, "yarn.lock"));
23
+ }
24
+ async readWorkspacePackages({ dir, packageJson }) {
25
+ return await PackageManagerHelpers.readWorkspacePackages({
26
+ fs: this.fs,
27
+ dir,
28
+ workspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
29
+ });
30
+ }
31
+ }
32
+ export {
33
+ YarnClassic
34
+ };
35
+ //# sourceMappingURL=YarnClassic.js.map