@contember/cli-common 2.1.0-alpha.30 → 2.1.0-alpha.35

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 (241) hide show
  1. package/package.json +11 -6
  2. package/src/application/Application.ts +6 -4
  3. package/src/index.ts +1 -1
  4. package/src/npm/CommandRunner.ts +0 -1
  5. package/src/npm/PackageWorkspace.ts +0 -2
  6. package/src/npm/packageManagers/PackageManagerHelpers.ts +3 -1
  7. package/src/npm/packageManagers/Yarn.ts +2 -1
  8. package/dist/development/index.cjs +0 -32
  9. package/dist/development/index.cjs.map +0 -1
  10. package/dist/development/index.js +0 -32
  11. package/dist/development/index.js.map +0 -1
  12. package/dist/development/src/application/Application.cjs +0 -82
  13. package/dist/development/src/application/Application.cjs.map +0 -1
  14. package/dist/development/src/application/Application.js +0 -82
  15. package/dist/development/src/application/Application.js.map +0 -1
  16. package/dist/development/src/application/Argument.cjs +0 -25
  17. package/dist/development/src/application/Argument.cjs.map +0 -1
  18. package/dist/development/src/application/Argument.js +0 -25
  19. package/dist/development/src/application/Argument.js.map +0 -1
  20. package/dist/development/src/application/Command.cjs +0 -28
  21. package/dist/development/src/application/Command.cjs.map +0 -1
  22. package/dist/development/src/application/Command.js +0 -28
  23. package/dist/development/src/application/Command.js.map +0 -1
  24. package/dist/development/src/application/CommandConfiguration.cjs +0 -44
  25. package/dist/development/src/application/CommandConfiguration.cjs.map +0 -1
  26. package/dist/development/src/application/CommandConfiguration.js +0 -44
  27. package/dist/development/src/application/CommandConfiguration.js.map +0 -1
  28. package/dist/development/src/application/CommandManager.cjs +0 -37
  29. package/dist/development/src/application/CommandManager.cjs.map +0 -1
  30. package/dist/development/src/application/CommandManager.js +0 -37
  31. package/dist/development/src/application/CommandManager.js.map +0 -1
  32. package/dist/development/src/application/Input.cjs +0 -16
  33. package/dist/development/src/application/Input.cjs.map +0 -1
  34. package/dist/development/src/application/Input.js +0 -16
  35. package/dist/development/src/application/Input.js.map +0 -1
  36. package/dist/development/src/application/InputParser.cjs +0 -117
  37. package/dist/development/src/application/InputParser.cjs.map +0 -1
  38. package/dist/development/src/application/InputParser.js +0 -117
  39. package/dist/development/src/application/InputParser.js.map +0 -1
  40. package/dist/development/src/application/Option.cjs +0 -49
  41. package/dist/development/src/application/Option.cjs.map +0 -1
  42. package/dist/development/src/application/Option.js +0 -49
  43. package/dist/development/src/application/Option.js.map +0 -1
  44. package/dist/development/src/application/UsageFormatter.cjs +0 -61
  45. package/dist/development/src/application/UsageFormatter.cjs.map +0 -1
  46. package/dist/development/src/application/UsageFormatter.js +0 -61
  47. package/dist/development/src/application/UsageFormatter.js.map +0 -1
  48. package/dist/development/src/application/assertNever.cjs +0 -7
  49. package/dist/development/src/application/assertNever.cjs.map +0 -1
  50. package/dist/development/src/application/assertNever.js +0 -7
  51. package/dist/development/src/application/assertNever.js.map +0 -1
  52. package/dist/development/src/npm/CommandRunner.cjs +0 -59
  53. package/dist/development/src/npm/CommandRunner.cjs.map +0 -1
  54. package/dist/development/src/npm/CommandRunner.js +0 -59
  55. package/dist/development/src/npm/CommandRunner.js.map +0 -1
  56. package/dist/development/src/npm/Package.cjs +0 -11
  57. package/dist/development/src/npm/Package.cjs.map +0 -1
  58. package/dist/development/src/npm/Package.js +0 -11
  59. package/dist/development/src/npm/Package.js.map +0 -1
  60. package/dist/development/src/npm/PackageWorkspace.cjs +0 -79
  61. package/dist/development/src/npm/PackageWorkspace.cjs.map +0 -1
  62. package/dist/development/src/npm/PackageWorkspace.js +0 -79
  63. package/dist/development/src/npm/PackageWorkspace.js.map +0 -1
  64. package/dist/development/src/npm/PackageWorkspaceResolver.cjs +0 -48
  65. package/dist/development/src/npm/PackageWorkspaceResolver.cjs.map +0 -1
  66. package/dist/development/src/npm/PackageWorkspaceResolver.js +0 -48
  67. package/dist/development/src/npm/PackageWorkspaceResolver.js.map +0 -1
  68. package/dist/development/src/npm/packageManagers/Bun.cjs +0 -34
  69. package/dist/development/src/npm/packageManagers/Bun.cjs.map +0 -1
  70. package/dist/development/src/npm/packageManagers/Bun.js +0 -34
  71. package/dist/development/src/npm/packageManagers/Bun.js.map +0 -1
  72. package/dist/development/src/npm/packageManagers/Npm.cjs +0 -34
  73. package/dist/development/src/npm/packageManagers/Npm.cjs.map +0 -1
  74. package/dist/development/src/npm/packageManagers/Npm.js +0 -34
  75. package/dist/development/src/npm/packageManagers/Npm.js.map +0 -1
  76. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs +0 -32
  77. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs.map +0 -1
  78. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js +0 -32
  79. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js.map +0 -1
  80. package/dist/development/src/npm/packageManagers/Pnpm.cjs +0 -39
  81. package/dist/development/src/npm/packageManagers/Pnpm.cjs.map +0 -1
  82. package/dist/development/src/npm/packageManagers/Pnpm.js +0 -39
  83. package/dist/development/src/npm/packageManagers/Pnpm.js.map +0 -1
  84. package/dist/development/src/npm/packageManagers/Yarn.cjs +0 -34
  85. package/dist/development/src/npm/packageManagers/Yarn.cjs.map +0 -1
  86. package/dist/development/src/npm/packageManagers/Yarn.js +0 -34
  87. package/dist/development/src/npm/packageManagers/Yarn.js.map +0 -1
  88. package/dist/development/src/npm/packageManagers/YarnClassic.cjs +0 -35
  89. package/dist/development/src/npm/packageManagers/YarnClassic.cjs.map +0 -1
  90. package/dist/development/src/npm/packageManagers/YarnClassic.js +0 -35
  91. package/dist/development/src/npm/packageManagers/YarnClassic.js.map +0 -1
  92. package/dist/development/src/utils/findPackageRoot.cjs +0 -20
  93. package/dist/development/src/utils/findPackageRoot.cjs.map +0 -1
  94. package/dist/development/src/utils/findPackageRoot.js +0 -20
  95. package/dist/development/src/utils/findPackageRoot.js.map +0 -1
  96. package/dist/production/index.cjs +0 -32
  97. package/dist/production/index.cjs.map +0 -1
  98. package/dist/production/index.js +0 -32
  99. package/dist/production/index.js.map +0 -1
  100. package/dist/production/src/application/Application.cjs +0 -82
  101. package/dist/production/src/application/Application.cjs.map +0 -1
  102. package/dist/production/src/application/Application.js +0 -82
  103. package/dist/production/src/application/Application.js.map +0 -1
  104. package/dist/production/src/application/Argument.cjs +0 -25
  105. package/dist/production/src/application/Argument.cjs.map +0 -1
  106. package/dist/production/src/application/Argument.js +0 -25
  107. package/dist/production/src/application/Argument.js.map +0 -1
  108. package/dist/production/src/application/Command.cjs +0 -28
  109. package/dist/production/src/application/Command.cjs.map +0 -1
  110. package/dist/production/src/application/Command.js +0 -28
  111. package/dist/production/src/application/Command.js.map +0 -1
  112. package/dist/production/src/application/CommandConfiguration.cjs +0 -44
  113. package/dist/production/src/application/CommandConfiguration.cjs.map +0 -1
  114. package/dist/production/src/application/CommandConfiguration.js +0 -44
  115. package/dist/production/src/application/CommandConfiguration.js.map +0 -1
  116. package/dist/production/src/application/CommandManager.cjs +0 -37
  117. package/dist/production/src/application/CommandManager.cjs.map +0 -1
  118. package/dist/production/src/application/CommandManager.js +0 -37
  119. package/dist/production/src/application/CommandManager.js.map +0 -1
  120. package/dist/production/src/application/Input.cjs +0 -16
  121. package/dist/production/src/application/Input.cjs.map +0 -1
  122. package/dist/production/src/application/Input.js +0 -16
  123. package/dist/production/src/application/Input.js.map +0 -1
  124. package/dist/production/src/application/InputParser.cjs +0 -117
  125. package/dist/production/src/application/InputParser.cjs.map +0 -1
  126. package/dist/production/src/application/InputParser.js +0 -117
  127. package/dist/production/src/application/InputParser.js.map +0 -1
  128. package/dist/production/src/application/Option.cjs +0 -49
  129. package/dist/production/src/application/Option.cjs.map +0 -1
  130. package/dist/production/src/application/Option.js +0 -49
  131. package/dist/production/src/application/Option.js.map +0 -1
  132. package/dist/production/src/application/UsageFormatter.cjs +0 -61
  133. package/dist/production/src/application/UsageFormatter.cjs.map +0 -1
  134. package/dist/production/src/application/UsageFormatter.js +0 -61
  135. package/dist/production/src/application/UsageFormatter.js.map +0 -1
  136. package/dist/production/src/application/assertNever.cjs +0 -7
  137. package/dist/production/src/application/assertNever.cjs.map +0 -1
  138. package/dist/production/src/application/assertNever.js +0 -7
  139. package/dist/production/src/application/assertNever.js.map +0 -1
  140. package/dist/production/src/npm/CommandRunner.cjs +0 -59
  141. package/dist/production/src/npm/CommandRunner.cjs.map +0 -1
  142. package/dist/production/src/npm/CommandRunner.js +0 -59
  143. package/dist/production/src/npm/CommandRunner.js.map +0 -1
  144. package/dist/production/src/npm/Package.cjs +0 -11
  145. package/dist/production/src/npm/Package.cjs.map +0 -1
  146. package/dist/production/src/npm/Package.js +0 -11
  147. package/dist/production/src/npm/Package.js.map +0 -1
  148. package/dist/production/src/npm/PackageWorkspace.cjs +0 -79
  149. package/dist/production/src/npm/PackageWorkspace.cjs.map +0 -1
  150. package/dist/production/src/npm/PackageWorkspace.js +0 -79
  151. package/dist/production/src/npm/PackageWorkspace.js.map +0 -1
  152. package/dist/production/src/npm/PackageWorkspaceResolver.cjs +0 -48
  153. package/dist/production/src/npm/PackageWorkspaceResolver.cjs.map +0 -1
  154. package/dist/production/src/npm/PackageWorkspaceResolver.js +0 -48
  155. package/dist/production/src/npm/PackageWorkspaceResolver.js.map +0 -1
  156. package/dist/production/src/npm/packageManagers/Bun.cjs +0 -34
  157. package/dist/production/src/npm/packageManagers/Bun.cjs.map +0 -1
  158. package/dist/production/src/npm/packageManagers/Bun.js +0 -34
  159. package/dist/production/src/npm/packageManagers/Bun.js.map +0 -1
  160. package/dist/production/src/npm/packageManagers/Npm.cjs +0 -34
  161. package/dist/production/src/npm/packageManagers/Npm.cjs.map +0 -1
  162. package/dist/production/src/npm/packageManagers/Npm.js +0 -34
  163. package/dist/production/src/npm/packageManagers/Npm.js.map +0 -1
  164. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs +0 -32
  165. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs.map +0 -1
  166. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js +0 -32
  167. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js.map +0 -1
  168. package/dist/production/src/npm/packageManagers/Pnpm.cjs +0 -39
  169. package/dist/production/src/npm/packageManagers/Pnpm.cjs.map +0 -1
  170. package/dist/production/src/npm/packageManagers/Pnpm.js +0 -39
  171. package/dist/production/src/npm/packageManagers/Pnpm.js.map +0 -1
  172. package/dist/production/src/npm/packageManagers/Yarn.cjs +0 -34
  173. package/dist/production/src/npm/packageManagers/Yarn.cjs.map +0 -1
  174. package/dist/production/src/npm/packageManagers/Yarn.js +0 -34
  175. package/dist/production/src/npm/packageManagers/Yarn.js.map +0 -1
  176. package/dist/production/src/npm/packageManagers/YarnClassic.cjs +0 -35
  177. package/dist/production/src/npm/packageManagers/YarnClassic.cjs.map +0 -1
  178. package/dist/production/src/npm/packageManagers/YarnClassic.js +0 -35
  179. package/dist/production/src/npm/packageManagers/YarnClassic.js.map +0 -1
  180. package/dist/production/src/utils/findPackageRoot.cjs +0 -20
  181. package/dist/production/src/utils/findPackageRoot.cjs.map +0 -1
  182. package/dist/production/src/utils/findPackageRoot.js +0 -20
  183. package/dist/production/src/utils/findPackageRoot.js.map +0 -1
  184. package/dist/types/application/Application.d.ts +0 -18
  185. package/dist/types/application/Application.d.ts.map +0 -1
  186. package/dist/types/application/Argument.d.ts +0 -16
  187. package/dist/types/application/Argument.d.ts.map +0 -1
  188. package/dist/types/application/Command.d.ts +0 -10
  189. package/dist/types/application/Command.d.ts.map +0 -1
  190. package/dist/types/application/CommandConfiguration.d.ts +0 -23
  191. package/dist/types/application/CommandConfiguration.d.ts.map +0 -1
  192. package/dist/types/application/CommandManager.d.ts +0 -11
  193. package/dist/types/application/CommandManager.d.ts.map +0 -1
  194. package/dist/types/application/Input.d.ts +0 -10
  195. package/dist/types/application/Input.d.ts.map +0 -1
  196. package/dist/types/application/InputParser.d.ts +0 -13
  197. package/dist/types/application/InputParser.d.ts.map +0 -1
  198. package/dist/types/application/Option.d.ts +0 -27
  199. package/dist/types/application/Option.d.ts.map +0 -1
  200. package/dist/types/application/UsageFormatter.d.ts +0 -11
  201. package/dist/types/application/UsageFormatter.d.ts.map +0 -1
  202. package/dist/types/application/assertNever.d.ts +0 -2
  203. package/dist/types/application/assertNever.d.ts.map +0 -1
  204. package/dist/types/application/index.d.ts +0 -11
  205. package/dist/types/application/index.d.ts.map +0 -1
  206. package/dist/types/index.d.ts +0 -5
  207. package/dist/types/index.d.ts.map +0 -1
  208. package/dist/types/npm/CommandRunner.d.ts +0 -22
  209. package/dist/types/npm/CommandRunner.d.ts.map +0 -1
  210. package/dist/types/npm/FileSystem.d.ts +0 -7
  211. package/dist/types/npm/FileSystem.d.ts.map +0 -1
  212. package/dist/types/npm/Package.d.ts +0 -8
  213. package/dist/types/npm/Package.d.ts.map +0 -1
  214. package/dist/types/npm/PackageJson.d.ts +0 -13
  215. package/dist/types/npm/PackageJson.d.ts.map +0 -1
  216. package/dist/types/npm/PackageWorkspace.d.ts +0 -25
  217. package/dist/types/npm/PackageWorkspace.d.ts.map +0 -1
  218. package/dist/types/npm/PackageWorkspaceResolver.d.ts +0 -13
  219. package/dist/types/npm/PackageWorkspaceResolver.d.ts.map +0 -1
  220. package/dist/types/npm/index.d.ts +0 -9
  221. package/dist/types/npm/index.d.ts.map +0 -1
  222. package/dist/types/npm/packageManagers/Bun.d.ts +0 -24
  223. package/dist/types/npm/packageManagers/Bun.d.ts.map +0 -1
  224. package/dist/types/npm/packageManagers/Npm.d.ts +0 -24
  225. package/dist/types/npm/packageManagers/Npm.d.ts.map +0 -1
  226. package/dist/types/npm/packageManagers/PackageManager.d.ts +0 -18
  227. package/dist/types/npm/packageManagers/PackageManager.d.ts.map +0 -1
  228. package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts +0 -15
  229. package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts.map +0 -1
  230. package/dist/types/npm/packageManagers/Pnpm.d.ts +0 -24
  231. package/dist/types/npm/packageManagers/Pnpm.d.ts.map +0 -1
  232. package/dist/types/npm/packageManagers/Yarn.d.ts +0 -24
  233. package/dist/types/npm/packageManagers/Yarn.d.ts.map +0 -1
  234. package/dist/types/npm/packageManagers/YarnClassic.d.ts +0 -24
  235. package/dist/types/npm/packageManagers/YarnClassic.d.ts.map +0 -1
  236. package/dist/types/tsconfig.tsbuildinfo +0 -1
  237. package/dist/types/utils/findPackageRoot.d.ts +0 -2
  238. package/dist/types/utils/findPackageRoot.d.ts.map +0 -1
  239. package/dist/types/utils/index.d.ts +0 -2
  240. package/dist/types/utils/index.d.ts.map +0 -1
  241. package/src/.eslintrc.cjs +0 -5
@@ -1 +0,0 @@
1
- {"version":3,"file":"UsageFormatter.js","sources":["../../../../../packages/cli-common/src/application/UsageFormatter.ts"],"sourcesContent":["import { Argument } from './Argument'\nimport { Option, OptionMode } from './Option'\nimport { assertNever } from './assertNever'\n\nexport type UsageFormat = 'line' | 'short' | 'multiline'\nexport type UsageFormatOptions = { format?: UsageFormat; indent?: string }\n\nexport class UsageFormatter {\n\tpublic static format(args: Argument[], options: Option[], { format, indent }: UsageFormatOptions): string {\n\t\tlet parts = []\n\t\tformat ??= 'short'\n\t\tindent ??= ' '\n\t\tconst isShort = format === 'short'\n\t\tfor (let arg of args) {\n\t\t\tconst name = arg.name\n\t\t\tconst argDescription = !isShort && arg.description ? ` (${arg.description})` : ''\n\t\t\tif (arg.variadic) {\n\t\t\t\tparts.push(`[...${name}${argDescription}]`)\n\t\t\t} else if (arg.optional) {\n\t\t\t\tparts.push(`[${name}${argDescription}]`)\n\t\t\t} else {\n\t\t\t\tparts.push(`<${name}${argDescription}>`)\n\t\t\t}\n\t\t}\n\t\tfor (let opt of options) {\n\t\t\tif (opt.deprecated) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst name = `--${opt.name}` + (!isShort && opt.shortcut ? `|-${opt.shortcut}` : '')\n\t\t\tlet valueDescription\n\t\t\tswitch (opt.mode) {\n\t\t\t\tcase OptionMode.VALUE_ARRAY:\n\t\t\t\tcase OptionMode.VALUE_REQUIRED:\n\t\t\t\t\tvalueDescription = ' <value>'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_OPTIONAL:\n\t\t\t\t\tvalueDescription = ' [value]'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_NONE:\n\t\t\t\t\tvalueDescription = ''\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(opt.mode)\n\t\t\t}\n\t\t\tlet optionDescription = `${name}${valueDescription}`\n\t\t\tif (opt.mode === OptionMode.VALUE_ARRAY) {\n\t\t\t\toptionDescription = `${optionDescription} [... ${optionDescription}]`\n\t\t\t}\n\t\t\tif (!isShort && opt.description) {\n\t\t\t\toptionDescription += ` (${opt.description})`\n\t\t\t}\n\t\t\tif (!opt.required) {\n\t\t\t\toptionDescription = `[${optionDescription}]`\n\t\t\t}\n\t\t\tparts.push(optionDescription)\n\t\t}\n\t\tif (format === 'multiline') {\n\t\t\treturn parts.map(it => `${indent}${it}`).join('\\n')\n\t\t}\n\t\treturn parts.join(' ')\n\t}\n}\n"],"names":[],"mappings":";;AAOO,MAAM,eAAe;AAAA,EAC3B,OAAc,OAAO,MAAkB,SAAmB,EAAE,QAAQ,UAAsC;AACzG,QAAI,QAAQ,CAAC;AACF,eAAA,SAAA;AACA,eAAA,SAAA;AACX,UAAM,UAAU,WAAW;AAC3B,aAAS,OAAO,MAAM;AACrB,YAAM,OAAO,IAAI;AACX,YAAA,iBAAiB,CAAC,WAAW,IAAI,cAAc,KAAK,IAAI,WAAW,MAAM;AAC/E,UAAI,IAAI,UAAU;AACjB,cAAM,KAAK,OAAO,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,WAChC,IAAI,UAAU;AACxB,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,OACjC;AACN,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA;AAAA,IACxC;AAED,aAAS,OAAO,SAAS;AACxB,UAAI,IAAI,YAAY;AACnB;AAAA,MAAA;AAED,YAAM,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,IAAI,WAAW,KAAK,IAAI,QAAQ,KAAK;AAC7E,UAAA;AACJ,cAAQ,IAAI,MAAM;AAAA,QACjB,KAAK,WAAW;AAAA,QAChB,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD;AACC,sBAAY,IAAI,IAAI;AAAA,MAAA;AAEtB,UAAI,oBAAoB,GAAG,IAAI,GAAG,gBAAgB;AAC9C,UAAA,IAAI,SAAS,WAAW,aAAa;AACpB,4BAAA,GAAG,iBAAiB,SAAS,iBAAiB;AAAA,MAAA;AAE/D,UAAA,CAAC,WAAW,IAAI,aAAa;AACX,6BAAA,KAAK,IAAI,WAAW;AAAA,MAAA;AAEtC,UAAA,CAAC,IAAI,UAAU;AAClB,4BAAoB,IAAI,iBAAiB;AAAA,MAAA;AAE1C,YAAM,KAAK,iBAAiB;AAAA,IAAA;AAE7B,QAAI,WAAW,aAAa;AACpB,aAAA,MAAM,IAAI,CAAA,OAAM,GAAG,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI;AAAA,IAAA;AAE5C,WAAA,MAAM,KAAK,GAAG;AAAA,EAAA;AAEvB;"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- function assertNever(_) {
4
- throw new Error();
5
- }
6
- exports.assertNever = assertNever;
7
- //# sourceMappingURL=assertNever.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertNever.cjs","sources":["../../../../../packages/cli-common/src/application/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":";;AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAM;AACjB;;"}
@@ -1,7 +0,0 @@
1
- function assertNever(_) {
2
- throw new Error();
3
- }
4
- export {
5
- assertNever
6
- };
7
- //# sourceMappingURL=assertNever.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertNever.js","sources":["../../../../../packages/cli-common/src/application/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAM;AACjB;"}
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const node_child_process = require("node:child_process");
4
- const chalk = require("chalk");
5
- var __defProp = Object.defineProperty;
6
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
8
- class CommandRunner {
9
- constructor() {
10
- __publicField(this, "runCommand", (command, args, options) => {
11
- const args2 = args.filter((it) => it !== void 0);
12
- if (!process.env.DISABLE_COMMAND_PRINTING) {
13
- console.error(chalk.gray(`$ ${command} ${args2.map((it) => `'${it.replace(/'/g, `'\\''`)}'`).join(" ")}`));
14
- }
15
- const child = node_child_process.spawn(command, args2, {
16
- cwd: options.cwd,
17
- env: { ...process.env, ...options.env || {} },
18
- detached: options.detached
19
- });
20
- if (options.stdin) {
21
- options.stdin.pipe(child.stdin);
22
- }
23
- let stdout = "";
24
- let stderr = "";
25
- child.stdout.on("data", (chunk) => {
26
- stdout += chunk.toString();
27
- });
28
- child.stderr.on("data", (chunk) => {
29
- stderr += chunk.toString();
30
- });
31
- if (options.stdout) {
32
- child.stdout.pipe(options.stdout);
33
- }
34
- if (options.stderr) {
35
- child.stderr.pipe(options.stderr);
36
- }
37
- const output = new Promise((resolve, reject) => {
38
- child.on("exit", (exitCode) => {
39
- if (exitCode === 0) {
40
- resolve(stdout);
41
- } else {
42
- reject(new ChildProcessError(exitCode, stderr));
43
- }
44
- });
45
- });
46
- return { output, child };
47
- });
48
- }
49
- }
50
- class ChildProcessError extends Error {
51
- constructor(exitCode, stderr) {
52
- super(`Command has failed(${exitCode}): ${stderr} `);
53
- this.exitCode = exitCode;
54
- this.stderr = stderr;
55
- }
56
- }
57
- exports.ChildProcessError = ChildProcessError;
58
- exports.CommandRunner = CommandRunner;
59
- //# sourceMappingURL=CommandRunner.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandRunner.cjs","sources":["../../../../../packages/cli-common/src/npm/CommandRunner.ts"],"sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from 'node:child_process'\nimport { Readable, Writable } from 'node:stream'\nimport chalk from 'chalk'\n\nexport type RunningCommand = { child: ChildProcessWithoutNullStreams; output: Promise<string> }\n\nexport class CommandRunner {\n\trunCommand = (\n\t\tcommand: string,\n\t\targs: (string | undefined)[],\n\t\toptions: {\n\t\t\tcwd: string\n\t\t\tstdin?: Readable\n\t\t\tstdout?: Writable\n\t\t\tstderr?: Writable\n\t\t\tenv?: NodeJS.ProcessEnv\n\t\t\tdetached?: boolean\n\t\t},\n\t): RunningCommand => {\n\t\tconst args2 = args.filter((it): it is string => it !== undefined)\n\t\tif (!process.env.DISABLE_COMMAND_PRINTING) {\n\t\t\tconsole.error(chalk.gray(`$ ${command} ${args2.map(it => `'${it.replace(/'/g, `'\\\\''`)}'`).join(' ')}`))\n\t\t}\n\t\tconst child = spawn(command, args2, {\n\t\t\tcwd: options.cwd,\n\t\t\tenv: { ...process.env, ...(options.env || {}) },\n\t\t\tdetached: options.detached,\n\t\t})\n\t\tif (options.stdin) {\n\t\t\toptions.stdin.pipe(child.stdin)\n\t\t}\n\n\t\tlet stdout = ''\n\t\tlet stderr = ''\n\n\t\tchild.stdout.on('data', (chunk): void => {\n\t\t\tstdout += chunk.toString()\n\t\t})\n\n\t\tchild.stderr.on('data', (chunk): void => {\n\t\t\tstderr += chunk.toString()\n\t\t})\n\t\tif (options.stdout) {\n\t\t\tchild.stdout.pipe(options.stdout)\n\t\t}\n\t\tif (options.stderr) {\n\t\t\tchild.stderr.pipe(options.stderr)\n\t\t}\n\n\t\tconst output = new Promise<string>((resolve, reject) => {\n\t\t\tchild.on('exit', (exitCode): void => {\n\t\t\t\tif (exitCode === 0) {\n\t\t\t\t\tresolve(stdout)\n\t\t\t\t} else {\n\t\t\t\t\treject(new ChildProcessError(exitCode, stderr))\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\n\t\treturn { output, child }\n\t}\n}\n\n\nexport class ChildProcessError extends Error {\n\tconstructor(public readonly exitCode: number | null, public readonly stderr: string) {\n\t\tsuper(`Command has failed(${exitCode}): ${stderr} `)\n\t}\n}\n"],"names":["spawn"],"mappings":";;;;;;;AAMO,MAAM,cAAc;AAAA,EAApB,cAAA;AACO,kBAAA,MAAA,cAAA,CACZ,SACA,MACA,YAQoB;AACpB,YAAM,QAAQ,KAAK,OAAO,CAAC,OAAqB,OAAO,MAAS;AAC5D,UAAA,CAAC,QAAQ,IAAI,0BAA0B;AAClC,gBAAA,MAAM,MAAM,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,CAAM,OAAA,IAAI,GAAG,QAAQ,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAAA,MAAA;AAElG,YAAA,QAAQA,mBAAAA,MAAM,SAAS,OAAO;AAAA,QACnC,KAAK,QAAQ;AAAA,QACb,KAAK,EAAE,GAAG,QAAQ,KAAK,GAAI,QAAQ,OAAO,GAAI;AAAA,QAC9C,UAAU,QAAQ;AAAA,MAAA,CAClB;AACD,UAAI,QAAQ,OAAO;AACV,gBAAA,MAAM,KAAK,MAAM,KAAK;AAAA,MAAA;AAG/B,UAAI,SAAS;AACb,UAAI,SAAS;AAEb,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AAED,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AACD,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAEjC,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAGjC,YAAM,SAAS,IAAI,QAAgB,CAAC,SAAS,WAAW;AACjD,cAAA,GAAG,QAAQ,CAAC,aAAmB;AACpC,cAAI,aAAa,GAAG;AACnB,oBAAQ,MAAM;AAAA,UAAA,OACR;AACN,mBAAO,IAAI,kBAAkB,UAAU,MAAM,CAAC;AAAA,UAAA;AAAA,QAC/C,CACA;AAAA,MAAA,CACD;AAEM,aAAA,EAAE,QAAQ,MAAM;AAAA,IAAA,CACxB;AAAA,EAAA;AACD;AAGO,MAAM,0BAA0B,MAAM;AAAA,EAC5C,YAA4B,UAAyC,QAAgB;AACpF,UAAM,sBAAsB,QAAQ,MAAM,MAAM,GAAG;AADxB,SAAA,WAAA;AAAyC,SAAA,SAAA;AAAA,EAAA;AAGtE;;;"}
@@ -1,59 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import chalk from "chalk";
3
- var __defProp = Object.defineProperty;
4
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
- class CommandRunner {
7
- constructor() {
8
- __publicField(this, "runCommand", (command, args, options) => {
9
- const args2 = args.filter((it) => it !== void 0);
10
- if (!process.env.DISABLE_COMMAND_PRINTING) {
11
- console.error(chalk.gray(`$ ${command} ${args2.map((it) => `'${it.replace(/'/g, `'\\''`)}'`).join(" ")}`));
12
- }
13
- const child = spawn(command, args2, {
14
- cwd: options.cwd,
15
- env: { ...process.env, ...options.env || {} },
16
- detached: options.detached
17
- });
18
- if (options.stdin) {
19
- options.stdin.pipe(child.stdin);
20
- }
21
- let stdout = "";
22
- let stderr = "";
23
- child.stdout.on("data", (chunk) => {
24
- stdout += chunk.toString();
25
- });
26
- child.stderr.on("data", (chunk) => {
27
- stderr += chunk.toString();
28
- });
29
- if (options.stdout) {
30
- child.stdout.pipe(options.stdout);
31
- }
32
- if (options.stderr) {
33
- child.stderr.pipe(options.stderr);
34
- }
35
- const output = new Promise((resolve, reject) => {
36
- child.on("exit", (exitCode) => {
37
- if (exitCode === 0) {
38
- resolve(stdout);
39
- } else {
40
- reject(new ChildProcessError(exitCode, stderr));
41
- }
42
- });
43
- });
44
- return { output, child };
45
- });
46
- }
47
- }
48
- class ChildProcessError extends Error {
49
- constructor(exitCode, stderr) {
50
- super(`Command has failed(${exitCode}): ${stderr} `);
51
- this.exitCode = exitCode;
52
- this.stderr = stderr;
53
- }
54
- }
55
- export {
56
- ChildProcessError,
57
- CommandRunner
58
- };
59
- //# sourceMappingURL=CommandRunner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandRunner.js","sources":["../../../../../packages/cli-common/src/npm/CommandRunner.ts"],"sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from 'node:child_process'\nimport { Readable, Writable } from 'node:stream'\nimport chalk from 'chalk'\n\nexport type RunningCommand = { child: ChildProcessWithoutNullStreams; output: Promise<string> }\n\nexport class CommandRunner {\n\trunCommand = (\n\t\tcommand: string,\n\t\targs: (string | undefined)[],\n\t\toptions: {\n\t\t\tcwd: string\n\t\t\tstdin?: Readable\n\t\t\tstdout?: Writable\n\t\t\tstderr?: Writable\n\t\t\tenv?: NodeJS.ProcessEnv\n\t\t\tdetached?: boolean\n\t\t},\n\t): RunningCommand => {\n\t\tconst args2 = args.filter((it): it is string => it !== undefined)\n\t\tif (!process.env.DISABLE_COMMAND_PRINTING) {\n\t\t\tconsole.error(chalk.gray(`$ ${command} ${args2.map(it => `'${it.replace(/'/g, `'\\\\''`)}'`).join(' ')}`))\n\t\t}\n\t\tconst child = spawn(command, args2, {\n\t\t\tcwd: options.cwd,\n\t\t\tenv: { ...process.env, ...(options.env || {}) },\n\t\t\tdetached: options.detached,\n\t\t})\n\t\tif (options.stdin) {\n\t\t\toptions.stdin.pipe(child.stdin)\n\t\t}\n\n\t\tlet stdout = ''\n\t\tlet stderr = ''\n\n\t\tchild.stdout.on('data', (chunk): void => {\n\t\t\tstdout += chunk.toString()\n\t\t})\n\n\t\tchild.stderr.on('data', (chunk): void => {\n\t\t\tstderr += chunk.toString()\n\t\t})\n\t\tif (options.stdout) {\n\t\t\tchild.stdout.pipe(options.stdout)\n\t\t}\n\t\tif (options.stderr) {\n\t\t\tchild.stderr.pipe(options.stderr)\n\t\t}\n\n\t\tconst output = new Promise<string>((resolve, reject) => {\n\t\t\tchild.on('exit', (exitCode): void => {\n\t\t\t\tif (exitCode === 0) {\n\t\t\t\t\tresolve(stdout)\n\t\t\t\t} else {\n\t\t\t\t\treject(new ChildProcessError(exitCode, stderr))\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\n\t\treturn { output, child }\n\t}\n}\n\n\nexport class ChildProcessError extends Error {\n\tconstructor(public readonly exitCode: number | null, public readonly stderr: string) {\n\t\tsuper(`Command has failed(${exitCode}): ${stderr} `)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,cAAc;AAAA,EAApB,cAAA;AACO,kBAAA,MAAA,cAAA,CACZ,SACA,MACA,YAQoB;AACpB,YAAM,QAAQ,KAAK,OAAO,CAAC,OAAqB,OAAO,MAAS;AAC5D,UAAA,CAAC,QAAQ,IAAI,0BAA0B;AAClC,gBAAA,MAAM,MAAM,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,CAAM,OAAA,IAAI,GAAG,QAAQ,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAAA,MAAA;AAElG,YAAA,QAAQ,MAAM,SAAS,OAAO;AAAA,QACnC,KAAK,QAAQ;AAAA,QACb,KAAK,EAAE,GAAG,QAAQ,KAAK,GAAI,QAAQ,OAAO,GAAI;AAAA,QAC9C,UAAU,QAAQ;AAAA,MAAA,CAClB;AACD,UAAI,QAAQ,OAAO;AACV,gBAAA,MAAM,KAAK,MAAM,KAAK;AAAA,MAAA;AAG/B,UAAI,SAAS;AACb,UAAI,SAAS;AAEb,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AAED,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AACD,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAEjC,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAGjC,YAAM,SAAS,IAAI,QAAgB,CAAC,SAAS,WAAW;AACjD,cAAA,GAAG,QAAQ,CAAC,aAAmB;AACpC,cAAI,aAAa,GAAG;AACnB,oBAAQ,MAAM;AAAA,UAAA,OACR;AACN,mBAAO,IAAI,kBAAkB,UAAU,MAAM,CAAC;AAAA,UAAA;AAAA,QAC/C,CACA;AAAA,MAAA,CACD;AAEM,aAAA,EAAE,QAAQ,MAAM;AAAA,IAAA,CACxB;AAAA,EAAA;AACD;AAGO,MAAM,0BAA0B,MAAM;AAAA,EAC5C,YAA4B,UAAyC,QAAgB;AACpF,UAAM,sBAAsB,QAAQ,MAAM,MAAM,GAAG;AADxB,SAAA,WAAA;AAAyC,SAAA,SAAA;AAAA,EAAA;AAGtE;"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- class Package {
4
- constructor(dir, isRoot, packageJson) {
5
- this.dir = dir;
6
- this.isRoot = isRoot;
7
- this.packageJson = packageJson;
8
- }
9
- }
10
- exports.Package = Package;
11
- //# sourceMappingURL=Package.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Package.cjs","sources":["../../../../../packages/cli-common/src/npm/Package.ts"],"sourcesContent":["import { PackageJson } from './PackageJson'\n\nexport class Package {\n\tconstructor(\n\t\tpublic readonly dir: string,\n\t\tpublic readonly isRoot: boolean,\n\t\tpublic readonly packageJson: PackageJson,\n\t) {\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,QAAQ;AAAA,EACpB,YACiB,KACA,QACA,aACf;AAHe,SAAA,MAAA;AACA,SAAA,SAAA;AACA,SAAA,cAAA;AAAA,EAAA;AAGlB;;"}
@@ -1,11 +0,0 @@
1
- class Package {
2
- constructor(dir, isRoot, packageJson) {
3
- this.dir = dir;
4
- this.isRoot = isRoot;
5
- this.packageJson = packageJson;
6
- }
7
- }
8
- export {
9
- Package
10
- };
11
- //# sourceMappingURL=Package.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Package.js","sources":["../../../../../packages/cli-common/src/npm/Package.ts"],"sourcesContent":["import { PackageJson } from './PackageJson'\n\nexport class Package {\n\tconstructor(\n\t\tpublic readonly dir: string,\n\t\tpublic readonly isRoot: boolean,\n\t\tpublic readonly packageJson: PackageJson,\n\t) {\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,QAAQ;AAAA,EACpB,YACiB,KACA,QACA,aACf;AAHe,SAAA,MAAA;AACA,SAAA,SAAA;AACA,SAAA,cAAA;AAAA,EAAA;AAGlB;"}
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const node_path = require("node:path");
4
- class PackageWorkspace {
5
- constructor(packageManager, fs, rootPackage, packages) {
6
- this.packageManager = packageManager;
7
- this.fs = fs;
8
- this.rootPackage = rootPackage;
9
- this.packages = packages;
10
- }
11
- get allPackages() {
12
- return [this.rootPackage, ...this.packages];
13
- }
14
- findDefinedDependencies(packageName) {
15
- return this.allPackages.flatMap((it) => {
16
- for (const type of ["dependencies", "devDependencies"]) {
17
- const version = it.packageJson[type]?.[packageName];
18
- if (version) {
19
- return [{ pckg: it, isDev: type === "devDependencies", version, name: packageName }];
20
- }
21
- }
22
- return [];
23
- });
24
- }
25
- async findInstalledDependencies(packageName) {
26
- const definedDependencies = this.findDefinedDependencies(packageName);
27
- const deps = [];
28
- for (const defined of definedDependencies) {
29
- const packageJsonPath = await this.resolvePackageJson(defined.pckg.dir, packageName);
30
- if (!packageJsonPath) {
31
- deps.push({ defined });
32
- continue;
33
- }
34
- const packageJson = JSON.parse(await this.fs.readFile(packageJsonPath, "utf-8"));
35
- deps.push({ defined, installed: { ...defined, version: packageJson?.version ?? "" } });
36
- }
37
- return deps;
38
- }
39
- async resolvePackageJson(dir, packageName) {
40
- while (true) {
41
- const fullPath = node_path.join(dir, "node_modules", packageName, "package.json");
42
- if (await this.fs.pathExists(fullPath)) {
43
- return fullPath;
44
- }
45
- if (dir === "/") {
46
- return null;
47
- }
48
- dir = node_path.dirname(dir);
49
- }
50
- }
51
- async updateEverywhere(updates) {
52
- const defined = Object.keys(updates).flatMap((it) => this.findDefinedDependencies(it));
53
- const byPckg = /* @__PURE__ */ new Map();
54
- for (const it of defined) {
55
- const arr = byPckg.get(it.pckg) ?? [];
56
- byPckg.set(it.pckg, arr);
57
- arr.push(it);
58
- }
59
- const updated = [];
60
- for (const [pckg, deps] of byPckg.entries()) {
61
- const prod = deps.filter((it) => !it.isDev);
62
- const dev = deps.filter((it) => it.isDev);
63
- for (const [isDev, deps2] of [[false, prod], [true, dev]]) {
64
- if (deps2.length === 0) {
65
- continue;
66
- }
67
- await this.packageManager.install({
68
- pckg,
69
- isDev,
70
- dependencies: Object.fromEntries(deps2.map((it) => [it.name, updates[it.name]]))
71
- });
72
- updated.push(...deps2);
73
- }
74
- }
75
- return updated;
76
- }
77
- }
78
- exports.PackageWorkspace = PackageWorkspace;
79
- //# sourceMappingURL=PackageWorkspace.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PackageWorkspace.cjs","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspace.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Package } from './Package'\nimport { dirname, join } from 'node:path'\nimport { PackageJson } from './PackageJson'\nimport { FileSystem } from './FileSystem'\n\nexport type Dependency = {\n\tpckg: Package\n\tisDev: boolean\n\tversion: string\n\tname: string\n}\n\n\nexport class PackageWorkspace {\n\tconstructor(\n\t\tprivate readonly packageManager: PackageManager,\n\t\tprivate readonly fs: FileSystem,\n\t\tpublic readonly rootPackage: Package,\n\t\tpublic readonly packages: Package[],\n\t) {\n\t}\n\n\tget allPackages() {\n\t\treturn [this.rootPackage, ...this.packages]\n\t}\n\n\tpublic findDefinedDependencies(packageName: string): Dependency[] {\n\t\treturn this.allPackages.flatMap<Dependency>(it => {\n\t\t\tfor (const type of ['dependencies', 'devDependencies'] as const) {\n\t\t\t\tconst version = it.packageJson[type]?.[packageName]\n\t\t\t\tif (version) {\n\t\t\t\t\treturn [{ pckg: it, isDev: type === 'devDependencies', version: version, name: packageName }]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn []\n\t\t})\n\t}\n\n\tpublic async findInstalledDependencies(packageName: string): Promise<{ installed?: Dependency; defined: Dependency }[]> {\n\t\tconst definedDependencies = this.findDefinedDependencies(packageName)\n\n\t\tconst deps: { installed?: Dependency; defined: Dependency }[] = []\n\t\tfor (const defined of definedDependencies) {\n\t\t\tconst packageJsonPath = await this.resolvePackageJson(defined.pckg.dir, packageName)\n\t\t\tif (!packageJsonPath) {\n\t\t\t\tdeps.push({ defined })\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst packageJson = JSON.parse(await this.fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\tdeps.push({ defined, installed: { ...defined, version: packageJson?.version ?? '' } })\n\t\t}\n\t\treturn deps\n\t}\n\n\tprivate async resolvePackageJson(dir: string, packageName: string) {\n\t\twhile (true) {\n\t\t\tconst fullPath = join(dir, 'node_modules', packageName, 'package.json')\n\t\t\tif (await this.fs.pathExists(fullPath)) {\n\t\t\t\treturn fullPath\n\t\t\t}\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tdir = dirname(dir)\n\t\t}\n\t}\n\n\tasync updateEverywhere(updates: Record<string, string>): Promise<Dependency[]> {\n\t\tconst defined = Object.keys(updates).flatMap(it => this.findDefinedDependencies(it))\n\t\tconst byPckg = new Map<Package, Dependency[]>()\n\t\tfor (const it of defined) {\n\t\t\tconst arr = byPckg.get(it.pckg) ?? []\n\t\t\tbyPckg.set(it.pckg, arr)\n\t\t\tarr.push(it)\n\t\t}\n\n\t\tconst updated: Dependency[] = []\n\t\tfor (const [pckg, deps] of byPckg.entries()) {\n\t\t\tconst prod = deps.filter(it => !it.isDev)\n\t\t\tconst dev = deps.filter(it => it.isDev)\n\t\t\tfor (const [isDev, deps] of [[false, prod], [true, dev]] as const) {\n\t\t\t\tif (deps.length === 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tawait this.packageManager.install({\n\t\t\t\t\tpckg,\n\t\t\t\t\tisDev,\n\t\t\t\t\tdependencies: Object.fromEntries(deps.map(it => [it.name, updates[it.name]])),\n\t\t\t\t})\n\t\t\t\tupdated.push(...deps)\n\t\t\t}\n\t\t}\n\t\treturn updated\n\t}\n}\n\n"],"names":["join","dirname","deps"],"mappings":";;;AAcO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,gBACA,IACD,aACA,UACf;AAJgB,SAAA,iBAAA;AACA,SAAA,KAAA;AACD,SAAA,cAAA;AACA,SAAA,WAAA;AAAA,EAAA;AAAA,EAIjB,IAAI,cAAc;AACjB,WAAO,CAAC,KAAK,aAAa,GAAG,KAAK,QAAQ;AAAA,EAAA;AAAA,EAGpC,wBAAwB,aAAmC;AAC1D,WAAA,KAAK,YAAY,QAAoB,CAAM,OAAA;AACjD,iBAAW,QAAQ,CAAC,gBAAgB,iBAAiB,GAAY;AAChE,cAAM,UAAU,GAAG,YAAY,IAAI,IAAI,WAAW;AAClD,YAAI,SAAS;AACL,iBAAA,CAAC,EAAE,MAAM,IAAI,OAAO,SAAS,mBAAmB,SAAkB,MAAM,aAAa;AAAA,QAAA;AAAA,MAC7F;AAED,aAAO,CAAC;AAAA,IAAA,CACR;AAAA,EAAA;AAAA,EAGF,MAAa,0BAA0B,aAAiF;AACjH,UAAA,sBAAsB,KAAK,wBAAwB,WAAW;AAEpE,UAAM,OAA0D,CAAC;AACjE,eAAW,WAAW,qBAAqB;AAC1C,YAAM,kBAAkB,MAAM,KAAK,mBAAmB,QAAQ,KAAK,KAAK,WAAW;AACnF,UAAI,CAAC,iBAAiB;AAChB,aAAA,KAAK,EAAE,SAAS;AACrB;AAAA,MAAA;AAEK,YAAA,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,iBAAiB,OAAO,CAAC;AAC/E,WAAK,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,SAAS,aAAa,WAAW,GAAG,EAAA,CAAG;AAAA,IAAA;AAE/E,WAAA;AAAA,EAAA;AAAA,EAGR,MAAc,mBAAmB,KAAa,aAAqB;AAClE,WAAO,MAAM;AACZ,YAAM,WAAWA,UAAAA,KAAK,KAAK,gBAAgB,aAAa,cAAc;AACtE,UAAI,MAAM,KAAK,GAAG,WAAW,QAAQ,GAAG;AAChC,eAAA;AAAA,MAAA;AAER,UAAI,QAAQ,KAAK;AACT,eAAA;AAAA,MAAA;AAER,YAAMC,kBAAQ,GAAG;AAAA,IAAA;AAAA,EAClB;AAAA,EAGD,MAAM,iBAAiB,SAAwD;AACxE,UAAA,UAAU,OAAO,KAAK,OAAO,EAAE,QAAQ,CAAM,OAAA,KAAK,wBAAwB,EAAE,CAAC;AAC7E,UAAA,6BAAa,IAA2B;AAC9C,eAAW,MAAM,SAAS;AACzB,YAAM,MAAM,OAAO,IAAI,GAAG,IAAI,KAAK,CAAC;AAC7B,aAAA,IAAI,GAAG,MAAM,GAAG;AACvB,UAAI,KAAK,EAAE;AAAA,IAAA;AAGZ,UAAM,UAAwB,CAAC;AAC/B,eAAW,CAAC,MAAM,IAAI,KAAK,OAAO,WAAW;AAC5C,YAAM,OAAO,KAAK,OAAO,CAAM,OAAA,CAAC,GAAG,KAAK;AACxC,YAAM,MAAM,KAAK,OAAO,CAAA,OAAM,GAAG,KAAK;AACtC,iBAAW,CAAC,OAAOC,KAAI,KAAK,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,GAAY;AAC9DA,YAAAA,MAAK,WAAW,GAAG;AACtB;AAAA,QAAA;AAEK,cAAA,KAAK,eAAe,QAAQ;AAAA,UACjC;AAAA,UACA;AAAA,UACA,cAAc,OAAO,YAAYA,MAAK,IAAI,CAAM,OAAA,CAAC,GAAG,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;AAAA,QAAA,CAC5E;AACO,gBAAA,KAAK,GAAGA,KAAI;AAAA,MAAA;AAAA,IACrB;AAEM,WAAA;AAAA,EAAA;AAET;;"}
@@ -1,79 +0,0 @@
1
- import { join, dirname } from "node:path";
2
- class PackageWorkspace {
3
- constructor(packageManager, fs, rootPackage, packages) {
4
- this.packageManager = packageManager;
5
- this.fs = fs;
6
- this.rootPackage = rootPackage;
7
- this.packages = packages;
8
- }
9
- get allPackages() {
10
- return [this.rootPackage, ...this.packages];
11
- }
12
- findDefinedDependencies(packageName) {
13
- return this.allPackages.flatMap((it) => {
14
- for (const type of ["dependencies", "devDependencies"]) {
15
- const version = it.packageJson[type]?.[packageName];
16
- if (version) {
17
- return [{ pckg: it, isDev: type === "devDependencies", version, name: packageName }];
18
- }
19
- }
20
- return [];
21
- });
22
- }
23
- async findInstalledDependencies(packageName) {
24
- const definedDependencies = this.findDefinedDependencies(packageName);
25
- const deps = [];
26
- for (const defined of definedDependencies) {
27
- const packageJsonPath = await this.resolvePackageJson(defined.pckg.dir, packageName);
28
- if (!packageJsonPath) {
29
- deps.push({ defined });
30
- continue;
31
- }
32
- const packageJson = JSON.parse(await this.fs.readFile(packageJsonPath, "utf-8"));
33
- deps.push({ defined, installed: { ...defined, version: packageJson?.version ?? "" } });
34
- }
35
- return deps;
36
- }
37
- async resolvePackageJson(dir, packageName) {
38
- while (true) {
39
- const fullPath = join(dir, "node_modules", packageName, "package.json");
40
- if (await this.fs.pathExists(fullPath)) {
41
- return fullPath;
42
- }
43
- if (dir === "/") {
44
- return null;
45
- }
46
- dir = dirname(dir);
47
- }
48
- }
49
- async updateEverywhere(updates) {
50
- const defined = Object.keys(updates).flatMap((it) => this.findDefinedDependencies(it));
51
- const byPckg = /* @__PURE__ */ new Map();
52
- for (const it of defined) {
53
- const arr = byPckg.get(it.pckg) ?? [];
54
- byPckg.set(it.pckg, arr);
55
- arr.push(it);
56
- }
57
- const updated = [];
58
- for (const [pckg, deps] of byPckg.entries()) {
59
- const prod = deps.filter((it) => !it.isDev);
60
- const dev = deps.filter((it) => it.isDev);
61
- for (const [isDev, deps2] of [[false, prod], [true, dev]]) {
62
- if (deps2.length === 0) {
63
- continue;
64
- }
65
- await this.packageManager.install({
66
- pckg,
67
- isDev,
68
- dependencies: Object.fromEntries(deps2.map((it) => [it.name, updates[it.name]]))
69
- });
70
- updated.push(...deps2);
71
- }
72
- }
73
- return updated;
74
- }
75
- }
76
- export {
77
- PackageWorkspace
78
- };
79
- //# sourceMappingURL=PackageWorkspace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PackageWorkspace.js","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspace.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Package } from './Package'\nimport { dirname, join } from 'node:path'\nimport { PackageJson } from './PackageJson'\nimport { FileSystem } from './FileSystem'\n\nexport type Dependency = {\n\tpckg: Package\n\tisDev: boolean\n\tversion: string\n\tname: string\n}\n\n\nexport class PackageWorkspace {\n\tconstructor(\n\t\tprivate readonly packageManager: PackageManager,\n\t\tprivate readonly fs: FileSystem,\n\t\tpublic readonly rootPackage: Package,\n\t\tpublic readonly packages: Package[],\n\t) {\n\t}\n\n\tget allPackages() {\n\t\treturn [this.rootPackage, ...this.packages]\n\t}\n\n\tpublic findDefinedDependencies(packageName: string): Dependency[] {\n\t\treturn this.allPackages.flatMap<Dependency>(it => {\n\t\t\tfor (const type of ['dependencies', 'devDependencies'] as const) {\n\t\t\t\tconst version = it.packageJson[type]?.[packageName]\n\t\t\t\tif (version) {\n\t\t\t\t\treturn [{ pckg: it, isDev: type === 'devDependencies', version: version, name: packageName }]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn []\n\t\t})\n\t}\n\n\tpublic async findInstalledDependencies(packageName: string): Promise<{ installed?: Dependency; defined: Dependency }[]> {\n\t\tconst definedDependencies = this.findDefinedDependencies(packageName)\n\n\t\tconst deps: { installed?: Dependency; defined: Dependency }[] = []\n\t\tfor (const defined of definedDependencies) {\n\t\t\tconst packageJsonPath = await this.resolvePackageJson(defined.pckg.dir, packageName)\n\t\t\tif (!packageJsonPath) {\n\t\t\t\tdeps.push({ defined })\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst packageJson = JSON.parse(await this.fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\tdeps.push({ defined, installed: { ...defined, version: packageJson?.version ?? '' } })\n\t\t}\n\t\treturn deps\n\t}\n\n\tprivate async resolvePackageJson(dir: string, packageName: string) {\n\t\twhile (true) {\n\t\t\tconst fullPath = join(dir, 'node_modules', packageName, 'package.json')\n\t\t\tif (await this.fs.pathExists(fullPath)) {\n\t\t\t\treturn fullPath\n\t\t\t}\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tdir = dirname(dir)\n\t\t}\n\t}\n\n\tasync updateEverywhere(updates: Record<string, string>): Promise<Dependency[]> {\n\t\tconst defined = Object.keys(updates).flatMap(it => this.findDefinedDependencies(it))\n\t\tconst byPckg = new Map<Package, Dependency[]>()\n\t\tfor (const it of defined) {\n\t\t\tconst arr = byPckg.get(it.pckg) ?? []\n\t\t\tbyPckg.set(it.pckg, arr)\n\t\t\tarr.push(it)\n\t\t}\n\n\t\tconst updated: Dependency[] = []\n\t\tfor (const [pckg, deps] of byPckg.entries()) {\n\t\t\tconst prod = deps.filter(it => !it.isDev)\n\t\t\tconst dev = deps.filter(it => it.isDev)\n\t\t\tfor (const [isDev, deps] of [[false, prod], [true, dev]] as const) {\n\t\t\t\tif (deps.length === 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tawait this.packageManager.install({\n\t\t\t\t\tpckg,\n\t\t\t\t\tisDev,\n\t\t\t\t\tdependencies: Object.fromEntries(deps.map(it => [it.name, updates[it.name]])),\n\t\t\t\t})\n\t\t\t\tupdated.push(...deps)\n\t\t\t}\n\t\t}\n\t\treturn updated\n\t}\n}\n\n"],"names":["deps"],"mappings":";AAcO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,gBACA,IACD,aACA,UACf;AAJgB,SAAA,iBAAA;AACA,SAAA,KAAA;AACD,SAAA,cAAA;AACA,SAAA,WAAA;AAAA,EAAA;AAAA,EAIjB,IAAI,cAAc;AACjB,WAAO,CAAC,KAAK,aAAa,GAAG,KAAK,QAAQ;AAAA,EAAA;AAAA,EAGpC,wBAAwB,aAAmC;AAC1D,WAAA,KAAK,YAAY,QAAoB,CAAM,OAAA;AACjD,iBAAW,QAAQ,CAAC,gBAAgB,iBAAiB,GAAY;AAChE,cAAM,UAAU,GAAG,YAAY,IAAI,IAAI,WAAW;AAClD,YAAI,SAAS;AACL,iBAAA,CAAC,EAAE,MAAM,IAAI,OAAO,SAAS,mBAAmB,SAAkB,MAAM,aAAa;AAAA,QAAA;AAAA,MAC7F;AAED,aAAO,CAAC;AAAA,IAAA,CACR;AAAA,EAAA;AAAA,EAGF,MAAa,0BAA0B,aAAiF;AACjH,UAAA,sBAAsB,KAAK,wBAAwB,WAAW;AAEpE,UAAM,OAA0D,CAAC;AACjE,eAAW,WAAW,qBAAqB;AAC1C,YAAM,kBAAkB,MAAM,KAAK,mBAAmB,QAAQ,KAAK,KAAK,WAAW;AACnF,UAAI,CAAC,iBAAiB;AAChB,aAAA,KAAK,EAAE,SAAS;AACrB;AAAA,MAAA;AAEK,YAAA,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,iBAAiB,OAAO,CAAC;AAC/E,WAAK,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,SAAS,aAAa,WAAW,GAAG,EAAA,CAAG;AAAA,IAAA;AAE/E,WAAA;AAAA,EAAA;AAAA,EAGR,MAAc,mBAAmB,KAAa,aAAqB;AAClE,WAAO,MAAM;AACZ,YAAM,WAAW,KAAK,KAAK,gBAAgB,aAAa,cAAc;AACtE,UAAI,MAAM,KAAK,GAAG,WAAW,QAAQ,GAAG;AAChC,eAAA;AAAA,MAAA;AAER,UAAI,QAAQ,KAAK;AACT,eAAA;AAAA,MAAA;AAER,YAAM,QAAQ,GAAG;AAAA,IAAA;AAAA,EAClB;AAAA,EAGD,MAAM,iBAAiB,SAAwD;AACxE,UAAA,UAAU,OAAO,KAAK,OAAO,EAAE,QAAQ,CAAM,OAAA,KAAK,wBAAwB,EAAE,CAAC;AAC7E,UAAA,6BAAa,IAA2B;AAC9C,eAAW,MAAM,SAAS;AACzB,YAAM,MAAM,OAAO,IAAI,GAAG,IAAI,KAAK,CAAC;AAC7B,aAAA,IAAI,GAAG,MAAM,GAAG;AACvB,UAAI,KAAK,EAAE;AAAA,IAAA;AAGZ,UAAM,UAAwB,CAAC;AAC/B,eAAW,CAAC,MAAM,IAAI,KAAK,OAAO,WAAW;AAC5C,YAAM,OAAO,KAAK,OAAO,CAAM,OAAA,CAAC,GAAG,KAAK;AACxC,YAAM,MAAM,KAAK,OAAO,CAAA,OAAM,GAAG,KAAK;AACtC,iBAAW,CAAC,OAAOA,KAAI,KAAK,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,GAAY;AAC9DA,YAAAA,MAAK,WAAW,GAAG;AACtB;AAAA,QAAA;AAEK,cAAA,KAAK,eAAe,QAAQ;AAAA,UACjC;AAAA,UACA;AAAA,UACA,cAAc,OAAO,YAAYA,MAAK,IAAI,CAAM,OAAA,CAAC,GAAG,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;AAAA,QAAA,CAC5E;AACO,gBAAA,KAAK,GAAGA,KAAI;AAAA,MAAA;AAAA,IACrB;AAEM,WAAA;AAAA,EAAA;AAET;"}
@@ -1,48 +0,0 @@
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
@@ -1 +0,0 @@
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,EAAA;AAAA,EAIT,MAAa,UAAqC;AACjD,WAAO,MAAM,KAAK,gBAAgB,KAAK,GAAG;AAAA,EAAA;AAAA,EAG3C,MAAa,gBAAgB,KAAa,mBAA4B,OAAkC;AACnG,QAAA,CAAE,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,cAAc,CAAC,GAAI;AAC3D,UAAI,QAAQ,KAAK;AAChB,YAAI,kBAAkB;AACf,gBAAA;AAAA,QAAA,OACA;AACA,gBAAA;AAAA,QAAA;AAAA,MACP;AAED,aAAO,MAAM,KAAK,gBAAgBC,UAAQ,QAAA,GAAG,GAAG,gBAAgB;AAAA,IAAA;AAGjE,UAAM,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAASD,UAAA,KAAK,KAAK,cAAc,GAAG,OAAO,CAAC;AAEzF,UAAM,KAAK,MAAM,KAAK,sBAAsB,EAAE,KAAK,aAAa;AAChE,QAAI,CAAC,IAAI;AACR,UAAI,QAAQ,KAAK;AACV,cAAA;AAAA,MAAA;AAEP,aAAO,MAAM,KAAK,gBAAgBC,UAAQ,QAAA,GAAG,GAAG,IAAI;AAAA,IAAA;AAGrD,UAAM,cAAc,IAAIC,QAAAA,QAAQ,KAAK,MAAM,WAAW;AACtD,UAAM,oBAAoB,MAAM,GAAG,sBAAsB,EAAE,KAAK,aAAa;AAE7E,WAAO,IAAIC,iBAAiB,iBAAA,IAAI,KAAK,IAAI,aAAa,iBAAiB;AAAA,EAAA;AAAA,EAGxE,MAAc,sBAAsB,MAAiF;AACzG,eAAA,MAAM,KAAK,iBAAiB;AACtC,UAAI,MAAM,GAAG,SAAS,IAAI,GAAG;AACrB,eAAA;AAAA,MAAA;AAAA,IACR;AAEM,WAAA;AAAA,EAAA;AAET;;"}
@@ -1,48 +0,0 @@
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
@@ -1 +0,0 @@
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,EAAA;AAAA,EAIT,MAAa,UAAqC;AACjD,WAAO,MAAM,KAAK,gBAAgB,KAAK,GAAG;AAAA,EAAA;AAAA,EAG3C,MAAa,gBAAgB,KAAa,mBAA4B,OAAkC;AACnG,QAAA,CAAE,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,cAAc,CAAC,GAAI;AAC3D,UAAI,QAAQ,KAAK;AAChB,YAAI,kBAAkB;AACf,gBAAA;AAAA,QAAA,OACA;AACA,gBAAA;AAAA,QAAA;AAAA,MACP;AAED,aAAO,MAAM,KAAK,gBAAgB,QAAQ,GAAG,GAAG,gBAAgB;AAAA,IAAA;AAGjE,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;AACV,cAAA;AAAA,MAAA;AAEP,aAAO,MAAM,KAAK,gBAAgB,QAAQ,GAAG,GAAG,IAAI;AAAA,IAAA;AAGrD,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,EAAA;AAAA,EAGxE,MAAc,sBAAsB,MAAiF;AACzG,eAAA,MAAM,KAAK,iBAAiB;AACtC,UAAI,MAAM,GAAG,SAAS,IAAI,GAAG;AACrB,eAAA;AAAA,MAAA;AAAA,IACR;AAEM,WAAA;AAAA,EAAA;AAET;"}
@@ -1,34 +0,0 @@
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
@@ -1 +0,0 @@
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,EAAA;AAAA,EAIlB,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,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;AACK,UAAA;AAAA,EAAA;AAAA,EAGP,MAAM,SAAS,EAAE,OAAoE;AACpF,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAA,KAAK,KAAK,UAAU,CAAC,KAAK,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,WAAW,CAAC;AAAA,EAAA;AAAA,EAG1G,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAA,sBAAsB,6BAA6B,EAAE,YAAa,CAAA;AAAA,IAAA,CAC9E;AAAA,EAAA;AAEH;;"}
@@ -1,34 +0,0 @@
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
@@ -1 +0,0 @@
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,EAAA;AAAA,EAIlB,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,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;AACK,UAAA;AAAA,EAAA;AAAA,EAGP,MAAM,SAAS,EAAE,OAAoE;AACpF,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,UAAU,CAAC,KAAK,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,WAAW,CAAC;AAAA,EAAA;AAAA,EAG1G,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,YAAa,CAAA;AAAA,IAAA,CAC9E;AAAA,EAAA;AAEH;"}
@@ -1,34 +0,0 @@
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
@@ -1 +0,0 @@
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,EAAA;AAAA,EAIlB,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,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;AACK,UAAA;AAAA,EAAA;AAAA,EAGP,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,mBAAmB,CAAC;AAAA,EAAA;AAAA,EAG/D,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAA,sBAAsB,6BAA6B,EAAE,YAAa,CAAA;AAAA,IAAA,CAC9E;AAAA,EAAA;AAEH;;"}