@contember/cli-common 1.4.0-rc.8 → 2.0.0-alpha.10

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 (352) hide show
  1. package/dist/development/index.cjs +28 -0
  2. package/dist/development/index.cjs.map +1 -0
  3. package/dist/development/index.js +28 -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/Npm.cjs +34 -0
  62. package/dist/development/src/npm/packageManagers/Npm.cjs.map +1 -0
  63. package/dist/development/src/npm/packageManagers/Npm.js +34 -0
  64. package/dist/development/src/npm/packageManagers/Npm.js.map +1 -0
  65. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs +32 -0
  66. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs.map +1 -0
  67. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js +32 -0
  68. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js.map +1 -0
  69. package/dist/development/src/npm/packageManagers/Pnpm.cjs +39 -0
  70. package/dist/development/src/npm/packageManagers/Pnpm.cjs.map +1 -0
  71. package/dist/development/src/npm/packageManagers/Pnpm.js +39 -0
  72. package/dist/development/src/npm/packageManagers/Pnpm.js.map +1 -0
  73. package/dist/development/src/npm/packageManagers/Yarn.cjs +34 -0
  74. package/dist/development/src/npm/packageManagers/Yarn.cjs.map +1 -0
  75. package/dist/development/src/npm/packageManagers/Yarn.js +34 -0
  76. package/dist/development/src/npm/packageManagers/Yarn.js.map +1 -0
  77. package/dist/development/src/npm/packageManagers/YarnClassic.cjs +35 -0
  78. package/dist/development/src/npm/packageManagers/YarnClassic.cjs.map +1 -0
  79. package/dist/development/src/npm/packageManagers/YarnClassic.js +35 -0
  80. package/dist/development/src/npm/packageManagers/YarnClassic.js.map +1 -0
  81. package/dist/production/index.cjs +28 -0
  82. package/dist/production/index.cjs.map +1 -0
  83. package/dist/production/index.js +28 -0
  84. package/dist/production/index.js.map +1 -0
  85. package/dist/production/src/application/Application.cjs +82 -0
  86. package/dist/production/src/application/Application.cjs.map +1 -0
  87. package/dist/production/src/application/Application.js +82 -0
  88. package/dist/production/src/application/Application.js.map +1 -0
  89. package/dist/production/src/application/Argument.cjs +25 -0
  90. package/dist/production/src/application/Argument.cjs.map +1 -0
  91. package/dist/production/src/application/Argument.js +25 -0
  92. package/dist/production/src/application/Argument.js.map +1 -0
  93. package/dist/production/src/application/Command.cjs +28 -0
  94. package/dist/production/src/application/Command.cjs.map +1 -0
  95. package/dist/production/src/application/Command.js +28 -0
  96. package/dist/production/src/application/Command.js.map +1 -0
  97. package/dist/production/src/application/CommandConfiguration.cjs +44 -0
  98. package/dist/production/src/application/CommandConfiguration.cjs.map +1 -0
  99. package/dist/production/src/application/CommandConfiguration.js +44 -0
  100. package/dist/production/src/application/CommandConfiguration.js.map +1 -0
  101. package/dist/production/src/application/CommandManager.cjs +37 -0
  102. package/dist/production/src/application/CommandManager.cjs.map +1 -0
  103. package/dist/production/src/application/CommandManager.js +37 -0
  104. package/dist/production/src/application/CommandManager.js.map +1 -0
  105. package/dist/production/src/application/Input.cjs +16 -0
  106. package/dist/production/src/application/Input.cjs.map +1 -0
  107. package/dist/production/src/application/Input.js +16 -0
  108. package/dist/production/src/application/Input.js.map +1 -0
  109. package/dist/production/src/application/InputParser.cjs +117 -0
  110. package/dist/production/src/application/InputParser.cjs.map +1 -0
  111. package/dist/production/src/application/InputParser.js +117 -0
  112. package/dist/production/src/application/InputParser.js.map +1 -0
  113. package/dist/production/src/application/Option.cjs +49 -0
  114. package/dist/production/src/application/Option.cjs.map +1 -0
  115. package/dist/production/src/application/Option.js +49 -0
  116. package/dist/production/src/application/Option.js.map +1 -0
  117. package/dist/production/src/application/UsageFormatter.cjs +61 -0
  118. package/dist/production/src/application/UsageFormatter.cjs.map +1 -0
  119. package/dist/production/src/application/UsageFormatter.js +61 -0
  120. package/dist/production/src/application/UsageFormatter.js.map +1 -0
  121. package/dist/production/src/application/assertNever.cjs +7 -0
  122. package/dist/production/src/application/assertNever.cjs.map +1 -0
  123. package/dist/production/src/application/assertNever.js +7 -0
  124. package/dist/production/src/application/assertNever.js.map +1 -0
  125. package/dist/production/src/npm/CommandRunner.cjs +59 -0
  126. package/dist/production/src/npm/CommandRunner.cjs.map +1 -0
  127. package/dist/production/src/npm/CommandRunner.js +59 -0
  128. package/dist/production/src/npm/CommandRunner.js.map +1 -0
  129. package/dist/production/src/npm/Package.cjs +11 -0
  130. package/dist/production/src/npm/Package.cjs.map +1 -0
  131. package/dist/production/src/npm/Package.js +11 -0
  132. package/dist/production/src/npm/Package.js.map +1 -0
  133. package/dist/production/src/npm/PackageWorkspace.cjs +79 -0
  134. package/dist/production/src/npm/PackageWorkspace.cjs.map +1 -0
  135. package/dist/production/src/npm/PackageWorkspace.js +79 -0
  136. package/dist/production/src/npm/PackageWorkspace.js.map +1 -0
  137. package/dist/production/src/npm/PackageWorkspaceResolver.cjs +48 -0
  138. package/dist/production/src/npm/PackageWorkspaceResolver.cjs.map +1 -0
  139. package/dist/production/src/npm/PackageWorkspaceResolver.js +48 -0
  140. package/dist/production/src/npm/PackageWorkspaceResolver.js.map +1 -0
  141. package/dist/production/src/npm/packageManagers/Npm.cjs +34 -0
  142. package/dist/production/src/npm/packageManagers/Npm.cjs.map +1 -0
  143. package/dist/production/src/npm/packageManagers/Npm.js +34 -0
  144. package/dist/production/src/npm/packageManagers/Npm.js.map +1 -0
  145. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs +32 -0
  146. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs.map +1 -0
  147. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js +32 -0
  148. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js.map +1 -0
  149. package/dist/production/src/npm/packageManagers/Pnpm.cjs +39 -0
  150. package/dist/production/src/npm/packageManagers/Pnpm.cjs.map +1 -0
  151. package/dist/production/src/npm/packageManagers/Pnpm.js +39 -0
  152. package/dist/production/src/npm/packageManagers/Pnpm.js.map +1 -0
  153. package/dist/production/src/npm/packageManagers/Yarn.cjs +34 -0
  154. package/dist/production/src/npm/packageManagers/Yarn.cjs.map +1 -0
  155. package/dist/production/src/npm/packageManagers/Yarn.js +34 -0
  156. package/dist/production/src/npm/packageManagers/Yarn.js.map +1 -0
  157. package/dist/production/src/npm/packageManagers/YarnClassic.cjs +35 -0
  158. package/dist/production/src/npm/packageManagers/YarnClassic.cjs.map +1 -0
  159. package/dist/production/src/npm/packageManagers/YarnClassic.js +35 -0
  160. package/dist/production/src/npm/packageManagers/YarnClassic.js.map +1 -0
  161. package/dist/{src → types}/application/index.d.ts +0 -1
  162. package/dist/{src → types}/application/index.d.ts.map +1 -1
  163. package/dist/types/index.d.ts +4 -0
  164. package/dist/types/index.d.ts.map +1 -0
  165. package/dist/{src/utils/commands.d.ts → types/npm/CommandRunner.d.ts} +11 -10
  166. package/dist/types/npm/CommandRunner.d.ts.map +1 -0
  167. package/dist/types/npm/FileSystem.d.ts +7 -0
  168. package/dist/types/npm/FileSystem.d.ts.map +1 -0
  169. package/dist/{src → types}/npm/PackageWorkspace.d.ts +3 -10
  170. package/dist/types/npm/PackageWorkspace.d.ts.map +1 -0
  171. package/dist/types/npm/PackageWorkspaceResolver.d.ts +13 -0
  172. package/dist/types/npm/PackageWorkspaceResolver.d.ts.map +1 -0
  173. package/dist/types/npm/index.d.ts +8 -0
  174. package/dist/types/npm/index.d.ts.map +1 -0
  175. package/dist/{src → types}/npm/packageManagers/Npm.d.ts +5 -3
  176. package/dist/types/npm/packageManagers/Npm.d.ts.map +1 -0
  177. package/dist/{src → types}/npm/packageManagers/PackageManagerHelpers.d.ts +3 -3
  178. package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts.map +1 -0
  179. package/dist/{src → types}/npm/packageManagers/Pnpm.d.ts +5 -3
  180. package/dist/types/npm/packageManagers/Pnpm.d.ts.map +1 -0
  181. package/dist/{src → types}/npm/packageManagers/Yarn.d.ts +5 -3
  182. package/dist/types/npm/packageManagers/Yarn.d.ts.map +1 -0
  183. package/dist/{src → types}/npm/packageManagers/YarnClassic.d.ts +5 -3
  184. package/dist/types/npm/packageManagers/YarnClassic.d.ts.map +1 -0
  185. package/dist/types/tsconfig.tsbuildinfo +1 -0
  186. package/package.json +22 -12
  187. package/src/application/index.ts +0 -1
  188. package/src/index.ts +2 -2
  189. package/src/npm/CommandRunner.ts +69 -0
  190. package/src/npm/FileSystem.ts +7 -0
  191. package/src/npm/PackageWorkspace.ts +4 -48
  192. package/src/npm/PackageWorkspaceResolver.ts +60 -0
  193. package/src/npm/index.ts +6 -0
  194. package/src/npm/packageManagers/Npm.ts +7 -6
  195. package/src/npm/packageManagers/PackageManagerHelpers.ts +10 -6
  196. package/src/npm/packageManagers/Pnpm.ts +11 -7
  197. package/src/npm/packageManagers/Yarn.ts +7 -6
  198. package/src/npm/packageManagers/YarnClassic.ts +7 -6
  199. package/src/tsconfig.json +1 -1
  200. package/tsconfig.settings.json +1 -1
  201. package/dist/src/application/Application.js +0 -89
  202. package/dist/src/application/Application.js.map +0 -1
  203. package/dist/src/application/Argument.js +0 -26
  204. package/dist/src/application/Argument.js.map +0 -1
  205. package/dist/src/application/Command.js +0 -23
  206. package/dist/src/application/Command.js.map +0 -1
  207. package/dist/src/application/CommandConfiguration.js +0 -53
  208. package/dist/src/application/CommandConfiguration.js.map +0 -1
  209. package/dist/src/application/CommandManager.js +0 -40
  210. package/dist/src/application/CommandManager.js.map +0 -1
  211. package/dist/src/application/Input.js +0 -17
  212. package/dist/src/application/Input.js.map +0 -1
  213. package/dist/src/application/InputParser.js +0 -127
  214. package/dist/src/application/InputParser.js.map +0 -1
  215. package/dist/src/application/Option.js +0 -49
  216. package/dist/src/application/Option.js.map +0 -1
  217. package/dist/src/application/UsageFormatter.js +0 -64
  218. package/dist/src/application/UsageFormatter.js.map +0 -1
  219. package/dist/src/application/assertNever.js +0 -8
  220. package/dist/src/application/assertNever.js.map +0 -1
  221. package/dist/src/application/env.d.ts +0 -8
  222. package/dist/src/application/env.d.ts.map +0 -1
  223. package/dist/src/application/env.js +0 -14
  224. package/dist/src/application/env.js.map +0 -1
  225. package/dist/src/application/index.js +0 -28
  226. package/dist/src/application/index.js.map +0 -1
  227. package/dist/src/index.d.ts +0 -4
  228. package/dist/src/index.d.ts.map +0 -1
  229. package/dist/src/index.js +0 -26
  230. package/dist/src/index.js.map +0 -1
  231. package/dist/src/npm/FsManager.d.ts +0 -9
  232. package/dist/src/npm/FsManager.d.ts.map +0 -1
  233. package/dist/src/npm/FsManager.js +0 -41
  234. package/dist/src/npm/FsManager.js.map +0 -1
  235. package/dist/src/npm/Package.js +0 -12
  236. package/dist/src/npm/Package.js.map +0 -1
  237. package/dist/src/npm/PackageJson.js +0 -3
  238. package/dist/src/npm/PackageJson.js.map +0 -1
  239. package/dist/src/npm/PackageWorkspace.d.ts.map +0 -1
  240. package/dist/src/npm/PackageWorkspace.js +0 -124
  241. package/dist/src/npm/PackageWorkspace.js.map +0 -1
  242. package/dist/src/npm/index.d.ts +0 -2
  243. package/dist/src/npm/index.d.ts.map +0 -1
  244. package/dist/src/npm/index.js +0 -18
  245. package/dist/src/npm/index.js.map +0 -1
  246. package/dist/src/npm/packageManagers/Npm.d.ts.map +0 -1
  247. package/dist/src/npm/packageManagers/Npm.js +0 -35
  248. package/dist/src/npm/packageManagers/Npm.js.map +0 -1
  249. package/dist/src/npm/packageManagers/PackageManager.js +0 -3
  250. package/dist/src/npm/packageManagers/PackageManager.js.map +0 -1
  251. package/dist/src/npm/packageManagers/PackageManagerHelpers.d.ts.map +0 -1
  252. package/dist/src/npm/packageManagers/PackageManagerHelpers.js +0 -30
  253. package/dist/src/npm/packageManagers/PackageManagerHelpers.js.map +0 -1
  254. package/dist/src/npm/packageManagers/Pnpm.d.ts.map +0 -1
  255. package/dist/src/npm/packageManagers/Pnpm.js +0 -37
  256. package/dist/src/npm/packageManagers/Pnpm.js.map +0 -1
  257. package/dist/src/npm/packageManagers/Yarn.d.ts.map +0 -1
  258. package/dist/src/npm/packageManagers/Yarn.js +0 -36
  259. package/dist/src/npm/packageManagers/Yarn.js.map +0 -1
  260. package/dist/src/npm/packageManagers/YarnClassic.d.ts.map +0 -1
  261. package/dist/src/npm/packageManagers/YarnClassic.js +0 -36
  262. package/dist/src/npm/packageManagers/YarnClassic.js.map +0 -1
  263. package/dist/src/pathUtils.d.ts +0 -3
  264. package/dist/src/pathUtils.d.ts.map +0 -1
  265. package/dist/src/pathUtils.js +0 -7
  266. package/dist/src/pathUtils.js.map +0 -1
  267. package/dist/src/tsconfig.tsbuildinfo +0 -1
  268. package/dist/src/utils/PathMapping.d.ts +0 -5
  269. package/dist/src/utils/PathMapping.d.ts.map +0 -1
  270. package/dist/src/utils/PathMapping.js +0 -35
  271. package/dist/src/utils/PathMapping.js.map +0 -1
  272. package/dist/src/utils/Project.d.ts +0 -12
  273. package/dist/src/utils/Project.d.ts.map +0 -1
  274. package/dist/src/utils/Project.js +0 -51
  275. package/dist/src/utils/Project.js.map +0 -1
  276. package/dist/src/utils/ProjectManager.d.ts +0 -16
  277. package/dist/src/utils/ProjectManager.d.ts.map +0 -1
  278. package/dist/src/utils/ProjectManager.js +0 -71
  279. package/dist/src/utils/ProjectManager.js.map +0 -1
  280. package/dist/src/utils/Workspace.d.ts +0 -24
  281. package/dist/src/utils/Workspace.d.ts.map +0 -1
  282. package/dist/src/utils/Workspace.js +0 -59
  283. package/dist/src/utils/Workspace.js.map +0 -1
  284. package/dist/src/utils/commands.d.ts.map +0 -1
  285. package/dist/src/utils/commands.js +0 -57
  286. package/dist/src/utils/commands.js.map +0 -1
  287. package/dist/src/utils/fs.d.ts +0 -5
  288. package/dist/src/utils/fs.d.ts.map +0 -1
  289. package/dist/src/utils/fs.js +0 -73
  290. package/dist/src/utils/fs.js.map +0 -1
  291. package/dist/src/utils/index.d.ts +0 -6
  292. package/dist/src/utils/index.d.ts.map +0 -1
  293. package/dist/src/utils/index.js +0 -22
  294. package/dist/src/utils/index.js.map +0 -1
  295. package/dist/src/utils/json.d.ts +0 -7
  296. package/dist/src/utils/json.d.ts.map +0 -1
  297. package/dist/src/utils/json.js +0 -3
  298. package/dist/src/utils/json.js.map +0 -1
  299. package/dist/src/utils/tuple.d.ts +0 -2
  300. package/dist/src/utils/tuple.d.ts.map +0 -1
  301. package/dist/src/utils/tuple.js +0 -6
  302. package/dist/src/utils/tuple.js.map +0 -1
  303. package/dist/src/utils/version.d.ts +0 -2
  304. package/dist/src/utils/version.d.ts.map +0 -1
  305. package/dist/src/utils/version.js +0 -11
  306. package/dist/src/utils/version.js.map +0 -1
  307. package/dist/src/utils/yaml.d.ts +0 -3
  308. package/dist/src/utils/yaml.d.ts.map +0 -1
  309. package/dist/src/utils/yaml.js +0 -14
  310. package/dist/src/utils/yaml.js.map +0 -1
  311. package/src/application/.eslintrc.js +0 -5
  312. package/src/application/env.ts +0 -14
  313. package/src/npm/FsManager.ts +0 -38
  314. package/src/pathUtils.ts +0 -4
  315. package/src/utils/PathMapping.ts +0 -38
  316. package/src/utils/Project.ts +0 -28
  317. package/src/utils/ProjectManager.ts +0 -76
  318. package/src/utils/Workspace.ts +0 -72
  319. package/src/utils/commands.ts +0 -65
  320. package/src/utils/fs.ts +0 -43
  321. package/src/utils/index.ts +0 -5
  322. package/src/utils/json.ts +0 -4
  323. package/src/utils/tuple.ts +0 -1
  324. package/src/utils/version.ts +0 -7
  325. package/src/utils/yaml.ts +0 -9
  326. /package/dist/{src → types}/application/Application.d.ts +0 -0
  327. /package/dist/{src → types}/application/Application.d.ts.map +0 -0
  328. /package/dist/{src → types}/application/Argument.d.ts +0 -0
  329. /package/dist/{src → types}/application/Argument.d.ts.map +0 -0
  330. /package/dist/{src → types}/application/Command.d.ts +0 -0
  331. /package/dist/{src → types}/application/Command.d.ts.map +0 -0
  332. /package/dist/{src → types}/application/CommandConfiguration.d.ts +0 -0
  333. /package/dist/{src → types}/application/CommandConfiguration.d.ts.map +0 -0
  334. /package/dist/{src → types}/application/CommandManager.d.ts +0 -0
  335. /package/dist/{src → types}/application/CommandManager.d.ts.map +0 -0
  336. /package/dist/{src → types}/application/Input.d.ts +0 -0
  337. /package/dist/{src → types}/application/Input.d.ts.map +0 -0
  338. /package/dist/{src → types}/application/InputParser.d.ts +0 -0
  339. /package/dist/{src → types}/application/InputParser.d.ts.map +0 -0
  340. /package/dist/{src → types}/application/Option.d.ts +0 -0
  341. /package/dist/{src → types}/application/Option.d.ts.map +0 -0
  342. /package/dist/{src → types}/application/UsageFormatter.d.ts +0 -0
  343. /package/dist/{src → types}/application/UsageFormatter.d.ts.map +0 -0
  344. /package/dist/{src → types}/application/assertNever.d.ts +0 -0
  345. /package/dist/{src → types}/application/assertNever.d.ts.map +0 -0
  346. /package/dist/{src → types}/npm/Package.d.ts +0 -0
  347. /package/dist/{src → types}/npm/Package.d.ts.map +0 -0
  348. /package/dist/{src → types}/npm/PackageJson.d.ts +0 -0
  349. /package/dist/{src → types}/npm/PackageJson.d.ts.map +0 -0
  350. /package/dist/{src → types}/npm/packageManagers/PackageManager.d.ts +0 -0
  351. /package/dist/{src → types}/npm/packageManagers/PackageManager.d.ts.map +0 -0
  352. /package/src/{.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -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,OAAO,IAAI,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;AACK,UAAA;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;AAC5G,QAAA;AACA,QAAA,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,qBAAqB,CAAC,GAAG;AAC9C,uBAAA,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,qBAAqB,GAAG,OAAO,CAAC;AAAA,IAC9F;AACO,WAAA,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') || (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,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAGA,sBAAsB,sBAAA,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AAC1F,WAAA,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,WAAW,CAAC,MACjD,CAAC,YAAY,kBAAmB,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ;AAAA,EAC7N;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAA,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') || (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,OAAO,IAAI,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;AACK,UAAA;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AAC1F,WAAA,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,WAAW,CAAC,MACjD,CAAC,YAAY,kBAAmB,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ;AAAA,EAC7N;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,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,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAGA,sBAAsB,sBAAA,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;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;AACzG,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAA,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YarnClassic.js","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":[],"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,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,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;AACK,UAAA;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,WAAW,CAAC;AAAA,EACvD;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,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,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Application = require("./src/application/Application.cjs");
4
+ const Command = require("./src/application/Command.cjs");
5
+ const CommandManager = require("./src/application/CommandManager.cjs");
6
+ const CommandConfiguration = require("./src/application/CommandConfiguration.cjs");
7
+ const Input = require("./src/application/Input.cjs");
8
+ const CommandRunner = require("./src/npm/CommandRunner.cjs");
9
+ const PackageWorkspace = require("./src/npm/PackageWorkspace.cjs");
10
+ const Npm = require("./src/npm/packageManagers/Npm.cjs");
11
+ const Pnpm = require("./src/npm/packageManagers/Pnpm.cjs");
12
+ const Yarn = require("./src/npm/packageManagers/Yarn.cjs");
13
+ const YarnClassic = require("./src/npm/packageManagers/YarnClassic.cjs");
14
+ const PackageWorkspaceResolver = require("./src/npm/PackageWorkspaceResolver.cjs");
15
+ exports.Application = Application.Application;
16
+ exports.Command = Command.Command;
17
+ exports.CommandManager = CommandManager.CommandManager;
18
+ exports.CommandConfiguration = CommandConfiguration.CommandConfiguration;
19
+ exports.Input = Input.Input;
20
+ exports.ChildProcessError = CommandRunner.ChildProcessError;
21
+ exports.CommandRunner = CommandRunner.CommandRunner;
22
+ exports.PackageWorkspace = PackageWorkspace.PackageWorkspace;
23
+ exports.Npm = Npm.Npm;
24
+ exports.Pnpm = Pnpm.Pnpm;
25
+ exports.Yarn = Yarn.Yarn;
26
+ exports.YarnClassic = YarnClassic.YarnClassic;
27
+ exports.PackageWorkspaceResolver = PackageWorkspaceResolver.PackageWorkspaceResolver;
28
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,28 @@
1
+ import { Application } from "./src/application/Application.js";
2
+ import { Command } from "./src/application/Command.js";
3
+ import { CommandManager } from "./src/application/CommandManager.js";
4
+ import { CommandConfiguration } from "./src/application/CommandConfiguration.js";
5
+ import { Input } from "./src/application/Input.js";
6
+ import { ChildProcessError, CommandRunner } from "./src/npm/CommandRunner.js";
7
+ import { PackageWorkspace } from "./src/npm/PackageWorkspace.js";
8
+ import { Npm } from "./src/npm/packageManagers/Npm.js";
9
+ import { Pnpm } from "./src/npm/packageManagers/Pnpm.js";
10
+ import { Yarn } from "./src/npm/packageManagers/Yarn.js";
11
+ import { YarnClassic } from "./src/npm/packageManagers/YarnClassic.js";
12
+ import { PackageWorkspaceResolver } from "./src/npm/PackageWorkspaceResolver.js";
13
+ export {
14
+ Application,
15
+ ChildProcessError,
16
+ Command,
17
+ CommandConfiguration,
18
+ CommandManager,
19
+ CommandRunner,
20
+ Input,
21
+ Npm,
22
+ PackageWorkspace,
23
+ PackageWorkspaceResolver,
24
+ Pnpm,
25
+ Yarn,
26
+ YarnClassic
27
+ };
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const InputParser = require("./InputParser.cjs");
4
+ const chalk = require("chalk");
5
+ class Application {
6
+ constructor(commandManager, applicationDescription, options = {}) {
7
+ this.commandManager = commandManager;
8
+ this.applicationDescription = applicationDescription;
9
+ this.options = options;
10
+ }
11
+ async run(args) {
12
+ const [name, ...rest] = args;
13
+ if (!name || name === "--help") {
14
+ console.error(this.applicationDescription);
15
+ console.error(`Usage: <command> <command args>`);
16
+ const commands = Object.entries(this.commandManager.commands).filter(([name2, factory], index, commands2) => commands2.findIndex((it) => it[1] === factory) === index).map(([name2]) => name2).sort((a, b) => a.localeCompare(b));
17
+ const maxCommandNameLength = Math.max(...commands.map((it) => it.length));
18
+ for (let commandName of commands) {
19
+ const [, command] = this.commandManager.createCommand(commandName);
20
+ const configuration = command.getConfiguration();
21
+ const indent = " ";
22
+ console.error(
23
+ `${indent}${chalk.greenBright(
24
+ commandName.padEnd(maxCommandNameLength)
25
+ )}${indent}${configuration.getDescription()}`
26
+ );
27
+ if (name === "--help") {
28
+ const helpIndent = `${indent}${" ".repeat(maxCommandNameLength)}${indent}`;
29
+ const usage = configuration.getUsage({ format: "multiline", indent: helpIndent });
30
+ if (usage) {
31
+ console.error(chalk.green(usage));
32
+ } else {
33
+ console.error(`${helpIndent}${chalk.gray("No options")}`);
34
+ }
35
+ }
36
+ }
37
+ return process.exit(0);
38
+ }
39
+ return this.runCommandInternal(name, rest, true);
40
+ }
41
+ async runCommand(name, args) {
42
+ return this.runCommandInternal(name, args, false);
43
+ }
44
+ async runCommandInternal(name, args, showCommandName) {
45
+ const [fullName, command] = this.commandManager.createCommand(name);
46
+ if (args[0] === "--help" || args[0] === "-h") {
47
+ if (showCommandName) {
48
+ console.error(chalk.greenBright(fullName));
49
+ }
50
+ const configuration = command.getConfiguration();
51
+ const commandDescription = configuration.getDescription();
52
+ if (commandDescription) {
53
+ console.error(commandDescription);
54
+ }
55
+ const shortUsage = configuration.getUsage({ format: "short" });
56
+ if (shortUsage) {
57
+ console.error("\nUsage:");
58
+ console.error(chalk.green(shortUsage));
59
+ console.error("\nArguments and options:");
60
+ console.error(configuration.getUsage({ format: "multiline" }));
61
+ }
62
+ return process.exit(0);
63
+ }
64
+ try {
65
+ await this.options.beforeRun?.({ command, args, name: fullName });
66
+ const result = await command.run(args);
67
+ return process.exit(result);
68
+ } catch (e) {
69
+ if (e instanceof InputParser.InvalidInputError) {
70
+ console.error(chalk.bgRedBright.white(e.message));
71
+ const configuration = command.getConfiguration();
72
+ console.error(`${showCommandName ? chalk.greenBright(fullName) + " " : ""}${chalk.green(configuration.getUsage({ format: "line" }))}`);
73
+ return process.exit(1);
74
+ } else {
75
+ console.error(e);
76
+ return process.exit(2);
77
+ }
78
+ }
79
+ }
80
+ }
81
+ exports.Application = Application;
82
+ //# sourceMappingURL=Application.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Application.cjs","sources":["../../../../../packages/cli-common/src/application/Application.ts"],"sourcesContent":["import { InvalidInputError } from './InputParser'\nimport { CommandManager } from './CommandManager'\nimport chalk from 'chalk'\nimport { Command } from './Command'\n\nexport class Application {\n\tconstructor(\n\t\tprivate readonly commandManager: CommandManager,\n\t\tprivate readonly applicationDescription: string,\n\t\tprivate readonly options: {\n\t\t\tbeforeRun?: (args: {command: Command<any, any>; name: string; args: string[]}) => void\n\t\t} = {},\n\t) {}\n\n\tasync run(args: string[]): Promise<void> {\n\t\tconst [name, ...rest] = args\n\t\tif (!name || name === '--help') {\n\t\t\tconsole.error(this.applicationDescription)\n\t\t\tconsole.error(`Usage: <command> <command args>`)\n\t\t\tconst commands = Object.entries(this.commandManager.commands)\n\t\t\t\t.filter(([name, factory], index, commands) => commands.findIndex(it => it[1] === factory) === index)\n\t\t\t\t.map(([name]) => name)\n\t\t\t\t.sort((a, b) => a.localeCompare(b))\n\n\t\t\tconst maxCommandNameLength = Math.max(...commands.map(it => it.length))\n\n\t\t\tfor (let commandName of commands) {\n\t\t\t\tconst [, command] = this.commandManager.createCommand(commandName)\n\t\t\t\tconst configuration = command.getConfiguration()\n\t\t\t\tconst indent = ' '\n\t\t\t\tconsole.error(\n\t\t\t\t\t`${indent}${chalk.greenBright(\n\t\t\t\t\t\tcommandName.padEnd(maxCommandNameLength),\n\t\t\t\t\t)}${indent}${configuration.getDescription()}`,\n\t\t\t\t)\n\t\t\t\tif (name === '--help') {\n\t\t\t\t\tconst helpIndent = `${indent}${' '.repeat(maxCommandNameLength)}${indent}`\n\t\t\t\t\tconst usage = configuration.getUsage({ format: 'multiline', indent: helpIndent })\n\t\t\t\t\tif (usage) {\n\t\t\t\t\t\tconsole.error(chalk.green(usage))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.error(`${helpIndent}${chalk.gray('No options')}`)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn process.exit(0)\n\t\t}\n\t\treturn this.runCommandInternal(name, rest, true)\n\t}\n\n\tpublic async runCommand(name: string, args: string[]) {\n\t\treturn this.runCommandInternal(name, args, false)\n\t}\n\n\tpublic async runCommandInternal(name: string, args: string[], showCommandName: boolean) {\n\t\tconst [fullName, command] = this.commandManager.createCommand(name)\n\n\t\tif (args[0] === '--help' || args[0] === '-h') {\n\t\t\tif (showCommandName) {\n\t\t\t\tconsole.error(chalk.greenBright(fullName))\n\t\t\t}\n\t\t\tconst configuration = command.getConfiguration()\n\t\t\tconst commandDescription = configuration.getDescription()\n\t\t\tif (commandDescription) {\n\t\t\t\tconsole.error(commandDescription)\n\t\t\t}\n\t\t\tconst shortUsage = configuration.getUsage({ format: 'short' })\n\t\t\tif (shortUsage) {\n\t\t\t\tconsole.error('\\nUsage:')\n\t\t\t\tconsole.error(chalk.green(shortUsage))\n\t\t\t\tconsole.error('\\nArguments and options:')\n\t\t\t\tconsole.error(configuration.getUsage({ format: 'multiline' }))\n\t\t\t}\n\n\t\t\treturn process.exit(0)\n\t\t}\n\n\t\ttry {\n\t\t\tawait this.options.beforeRun?.({ command, args, name: fullName })\n\n\t\t\tconst result = await command.run(args)\n\t\t\treturn process.exit(result)\n\t\t} catch (e) {\n\t\t\tif (e instanceof InvalidInputError) {\n\t\t\t\tconsole.error(chalk.bgRedBright.white(e.message))\n\t\t\t\tconst configuration = command.getConfiguration()\n\t\t\t\tconsole.error(`${showCommandName ? chalk.greenBright(fullName) + ' ' : ''}${chalk.green(configuration.getUsage({ format: 'line' }))}`)\n\n\t\t\t\treturn process.exit(1)\n\t\t\t} else {\n\t\t\t\tconsole.error(e)\n\t\t\t\treturn process.exit(2)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["name","commands","InvalidInputError"],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { InvalidInputError } from "./InputParser.js";
2
+ import chalk from "chalk";
3
+ class Application {
4
+ constructor(commandManager, applicationDescription, options = {}) {
5
+ this.commandManager = commandManager;
6
+ this.applicationDescription = applicationDescription;
7
+ this.options = options;
8
+ }
9
+ async run(args) {
10
+ const [name, ...rest] = args;
11
+ if (!name || name === "--help") {
12
+ console.error(this.applicationDescription);
13
+ console.error(`Usage: <command> <command args>`);
14
+ const commands = Object.entries(this.commandManager.commands).filter(([name2, factory], index, commands2) => commands2.findIndex((it) => it[1] === factory) === index).map(([name2]) => name2).sort((a, b) => a.localeCompare(b));
15
+ const maxCommandNameLength = Math.max(...commands.map((it) => it.length));
16
+ for (let commandName of commands) {
17
+ const [, command] = this.commandManager.createCommand(commandName);
18
+ const configuration = command.getConfiguration();
19
+ const indent = " ";
20
+ console.error(
21
+ `${indent}${chalk.greenBright(
22
+ commandName.padEnd(maxCommandNameLength)
23
+ )}${indent}${configuration.getDescription()}`
24
+ );
25
+ if (name === "--help") {
26
+ const helpIndent = `${indent}${" ".repeat(maxCommandNameLength)}${indent}`;
27
+ const usage = configuration.getUsage({ format: "multiline", indent: helpIndent });
28
+ if (usage) {
29
+ console.error(chalk.green(usage));
30
+ } else {
31
+ console.error(`${helpIndent}${chalk.gray("No options")}`);
32
+ }
33
+ }
34
+ }
35
+ return process.exit(0);
36
+ }
37
+ return this.runCommandInternal(name, rest, true);
38
+ }
39
+ async runCommand(name, args) {
40
+ return this.runCommandInternal(name, args, false);
41
+ }
42
+ async runCommandInternal(name, args, showCommandName) {
43
+ const [fullName, command] = this.commandManager.createCommand(name);
44
+ if (args[0] === "--help" || args[0] === "-h") {
45
+ if (showCommandName) {
46
+ console.error(chalk.greenBright(fullName));
47
+ }
48
+ const configuration = command.getConfiguration();
49
+ const commandDescription = configuration.getDescription();
50
+ if (commandDescription) {
51
+ console.error(commandDescription);
52
+ }
53
+ const shortUsage = configuration.getUsage({ format: "short" });
54
+ if (shortUsage) {
55
+ console.error("\nUsage:");
56
+ console.error(chalk.green(shortUsage));
57
+ console.error("\nArguments and options:");
58
+ console.error(configuration.getUsage({ format: "multiline" }));
59
+ }
60
+ return process.exit(0);
61
+ }
62
+ try {
63
+ await this.options.beforeRun?.({ command, args, name: fullName });
64
+ const result = await command.run(args);
65
+ return process.exit(result);
66
+ } catch (e) {
67
+ if (e instanceof InvalidInputError) {
68
+ console.error(chalk.bgRedBright.white(e.message));
69
+ const configuration = command.getConfiguration();
70
+ console.error(`${showCommandName ? chalk.greenBright(fullName) + " " : ""}${chalk.green(configuration.getUsage({ format: "line" }))}`);
71
+ return process.exit(1);
72
+ } else {
73
+ console.error(e);
74
+ return process.exit(2);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ export {
80
+ Application
81
+ };
82
+ //# sourceMappingURL=Application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Application.js","sources":["../../../../../packages/cli-common/src/application/Application.ts"],"sourcesContent":["import { InvalidInputError } from './InputParser'\nimport { CommandManager } from './CommandManager'\nimport chalk from 'chalk'\nimport { Command } from './Command'\n\nexport class Application {\n\tconstructor(\n\t\tprivate readonly commandManager: CommandManager,\n\t\tprivate readonly applicationDescription: string,\n\t\tprivate readonly options: {\n\t\t\tbeforeRun?: (args: {command: Command<any, any>; name: string; args: string[]}) => void\n\t\t} = {},\n\t) {}\n\n\tasync run(args: string[]): Promise<void> {\n\t\tconst [name, ...rest] = args\n\t\tif (!name || name === '--help') {\n\t\t\tconsole.error(this.applicationDescription)\n\t\t\tconsole.error(`Usage: <command> <command args>`)\n\t\t\tconst commands = Object.entries(this.commandManager.commands)\n\t\t\t\t.filter(([name, factory], index, commands) => commands.findIndex(it => it[1] === factory) === index)\n\t\t\t\t.map(([name]) => name)\n\t\t\t\t.sort((a, b) => a.localeCompare(b))\n\n\t\t\tconst maxCommandNameLength = Math.max(...commands.map(it => it.length))\n\n\t\t\tfor (let commandName of commands) {\n\t\t\t\tconst [, command] = this.commandManager.createCommand(commandName)\n\t\t\t\tconst configuration = command.getConfiguration()\n\t\t\t\tconst indent = ' '\n\t\t\t\tconsole.error(\n\t\t\t\t\t`${indent}${chalk.greenBright(\n\t\t\t\t\t\tcommandName.padEnd(maxCommandNameLength),\n\t\t\t\t\t)}${indent}${configuration.getDescription()}`,\n\t\t\t\t)\n\t\t\t\tif (name === '--help') {\n\t\t\t\t\tconst helpIndent = `${indent}${' '.repeat(maxCommandNameLength)}${indent}`\n\t\t\t\t\tconst usage = configuration.getUsage({ format: 'multiline', indent: helpIndent })\n\t\t\t\t\tif (usage) {\n\t\t\t\t\t\tconsole.error(chalk.green(usage))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.error(`${helpIndent}${chalk.gray('No options')}`)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn process.exit(0)\n\t\t}\n\t\treturn this.runCommandInternal(name, rest, true)\n\t}\n\n\tpublic async runCommand(name: string, args: string[]) {\n\t\treturn this.runCommandInternal(name, args, false)\n\t}\n\n\tpublic async runCommandInternal(name: string, args: string[], showCommandName: boolean) {\n\t\tconst [fullName, command] = this.commandManager.createCommand(name)\n\n\t\tif (args[0] === '--help' || args[0] === '-h') {\n\t\t\tif (showCommandName) {\n\t\t\t\tconsole.error(chalk.greenBright(fullName))\n\t\t\t}\n\t\t\tconst configuration = command.getConfiguration()\n\t\t\tconst commandDescription = configuration.getDescription()\n\t\t\tif (commandDescription) {\n\t\t\t\tconsole.error(commandDescription)\n\t\t\t}\n\t\t\tconst shortUsage = configuration.getUsage({ format: 'short' })\n\t\t\tif (shortUsage) {\n\t\t\t\tconsole.error('\\nUsage:')\n\t\t\t\tconsole.error(chalk.green(shortUsage))\n\t\t\t\tconsole.error('\\nArguments and options:')\n\t\t\t\tconsole.error(configuration.getUsage({ format: 'multiline' }))\n\t\t\t}\n\n\t\t\treturn process.exit(0)\n\t\t}\n\n\t\ttry {\n\t\t\tawait this.options.beforeRun?.({ command, args, name: fullName })\n\n\t\t\tconst result = await command.run(args)\n\t\t\treturn process.exit(result)\n\t\t} catch (e) {\n\t\t\tif (e instanceof InvalidInputError) {\n\t\t\t\tconsole.error(chalk.bgRedBright.white(e.message))\n\t\t\t\tconst configuration = command.getConfiguration()\n\t\t\t\tconsole.error(`${showCommandName ? chalk.greenBright(fullName) + ' ' : ''}${chalk.green(configuration.getUsage({ format: 'line' }))}`)\n\n\t\t\t\treturn process.exit(1)\n\t\t\t} else {\n\t\t\t\tconsole.error(e)\n\t\t\t\treturn process.exit(2)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["name","commands"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ class ArgumentConfiguration {
4
+ constructor(options) {
5
+ this.options = options;
6
+ }
7
+ optional(optional = true) {
8
+ this.options.optional = optional;
9
+ return this;
10
+ }
11
+ variadic(variadic = true) {
12
+ this.options.variadic = variadic;
13
+ return this;
14
+ }
15
+ description(description) {
16
+ this.options.description = description;
17
+ return this;
18
+ }
19
+ validator(validator) {
20
+ this.options.validator = validator;
21
+ return this;
22
+ }
23
+ }
24
+ exports.ArgumentConfiguration = ArgumentConfiguration;
25
+ //# sourceMappingURL=Argument.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Argument.cjs","sources":["../../../../../packages/cli-common/src/application/Argument.ts"],"sourcesContent":["export type Argument = {\n\tname: string\n\tdescription?: string\n\toptional: boolean\n\tvariadic: boolean\n\tvalidator?: (value: string) => boolean\n}\n\nexport class ArgumentConfiguration {\n\tconstructor(private readonly options: Argument) {}\n\n\tpublic optional(optional: boolean = true) {\n\t\tthis.options.optional = optional\n\t\treturn this\n\t}\n\n\tpublic variadic(variadic: boolean = true) {\n\t\tthis.options.variadic = variadic\n\t\treturn this\n\t}\n\n\tpublic description(description: string) {\n\t\tthis.options.description = description\n\t\treturn this\n\t}\n\n\tpublic validator(validator: (value: string) => boolean) {\n\t\tthis.options.validator = validator\n\t\treturn this\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,sBAAsB;AAAA,EAClC,YAA6B,SAAmB;AAAnB,SAAA,UAAA;AAAA,EAAoB;AAAA,EAE1C,SAAS,WAAoB,MAAM;AACzC,SAAK,QAAQ,WAAW;AACjB,WAAA;AAAA,EACR;AAAA,EAEO,SAAS,WAAoB,MAAM;AACzC,SAAK,QAAQ,WAAW;AACjB,WAAA;AAAA,EACR;AAAA,EAEO,YAAY,aAAqB;AACvC,SAAK,QAAQ,cAAc;AACpB,WAAA;AAAA,EACR;AAAA,EAEO,UAAU,WAAuC;AACvD,SAAK,QAAQ,YAAY;AAClB,WAAA;AAAA,EACR;AACD;;"}
@@ -0,0 +1,25 @@
1
+ class ArgumentConfiguration {
2
+ constructor(options) {
3
+ this.options = options;
4
+ }
5
+ optional(optional = true) {
6
+ this.options.optional = optional;
7
+ return this;
8
+ }
9
+ variadic(variadic = true) {
10
+ this.options.variadic = variadic;
11
+ return this;
12
+ }
13
+ description(description) {
14
+ this.options.description = description;
15
+ return this;
16
+ }
17
+ validator(validator) {
18
+ this.options.validator = validator;
19
+ return this;
20
+ }
21
+ }
22
+ export {
23
+ ArgumentConfiguration
24
+ };
25
+ //# sourceMappingURL=Argument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Argument.js","sources":["../../../../../packages/cli-common/src/application/Argument.ts"],"sourcesContent":["export type Argument = {\n\tname: string\n\tdescription?: string\n\toptional: boolean\n\tvariadic: boolean\n\tvalidator?: (value: string) => boolean\n}\n\nexport class ArgumentConfiguration {\n\tconstructor(private readonly options: Argument) {}\n\n\tpublic optional(optional: boolean = true) {\n\t\tthis.options.optional = optional\n\t\treturn this\n\t}\n\n\tpublic variadic(variadic: boolean = true) {\n\t\tthis.options.variadic = variadic\n\t\treturn this\n\t}\n\n\tpublic description(description: string) {\n\t\tthis.options.description = description\n\t\treturn this\n\t}\n\n\tpublic validator(validator: (value: string) => boolean) {\n\t\tthis.options.validator = validator\n\t\treturn this\n\t}\n}\n"],"names":[],"mappings":"AAQO,MAAM,sBAAsB;AAAA,EAClC,YAA6B,SAAmB;AAAnB,SAAA,UAAA;AAAA,EAAoB;AAAA,EAE1C,SAAS,WAAoB,MAAM;AACzC,SAAK,QAAQ,WAAW;AACjB,WAAA;AAAA,EACR;AAAA,EAEO,SAAS,WAAoB,MAAM;AACzC,SAAK,QAAQ,WAAW;AACjB,WAAA;AAAA,EACR;AAAA,EAEO,YAAY,aAAqB;AACvC,SAAK,QAAQ,cAAc;AACpB,WAAA;AAAA,EACR;AAAA,EAEO,UAAU,WAAuC;AACvD,SAAK,QAAQ,YAAY;AAClB,WAAA;AAAA,EACR;AACD;"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const CommandConfiguration = require("./CommandConfiguration.cjs");
4
+ var __defProp = Object.defineProperty;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
7
+ class Command {
8
+ constructor() {
9
+ __publicField(this, "configuration");
10
+ }
11
+ getConfiguration() {
12
+ if (this.configuration === void 0) {
13
+ const configuration = new CommandConfiguration.CommandConfiguration();
14
+ this.configure(configuration);
15
+ configuration.validate();
16
+ this.configuration = configuration;
17
+ }
18
+ return this.configuration;
19
+ }
20
+ async run(args) {
21
+ const parser = this.getConfiguration().createParser();
22
+ const input = parser.parse(args);
23
+ const result = await this.execute(input);
24
+ return result || 0;
25
+ }
26
+ }
27
+ exports.Command = Command;
28
+ //# sourceMappingURL=Command.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Command.cjs","sources":["../../../../../packages/cli-common/src/application/Command.ts"],"sourcesContent":["import { CommandConfiguration } from './CommandConfiguration'\nimport { Arguments, Input, Options } from './Input'\n\nexport abstract class Command<Args extends Arguments, TOptions extends Options> {\n\tprivate configuration: CommandConfiguration<Args, TOptions> | undefined\n\n\tprotected abstract configure(configuration: CommandConfiguration<Args, TOptions>): void\n\n\tpublic getConfiguration(): CommandConfiguration<Args, TOptions> {\n\t\tif (this.configuration === undefined) {\n\t\t\tconst configuration = new CommandConfiguration()\n\t\t\tthis.configure(configuration)\n\t\t\tconfiguration.validate()\n\t\t\tthis.configuration = configuration\n\t\t}\n\t\treturn this.configuration\n\t}\n\n\tprotected abstract execute(input: Input<Args, TOptions>): Promise<void | number>\n\n\tpublic async run(args: string[]): Promise<number> {\n\t\tconst parser = this.getConfiguration().createParser()\n\t\tconst input = parser.parse<Args, TOptions>(args)\n\t\tconst result = await this.execute(input)\n\t\treturn result || 0\n\t}\n}\n"],"names":["CommandConfiguration"],"mappings":";;;;;;AAGO,MAAe,QAA0D;AAAA,EAAzE,cAAA;AACE,kBAAA,MAAA,eAAA;AAAA,EAAA;AAAA,EAID,mBAAyD;AAC3D,QAAA,KAAK,kBAAkB,QAAW;AAC/B,YAAA,gBAAgB,IAAIA,qBAAAA;AAC1B,WAAK,UAAU,aAAa;AAC5B,oBAAc,SAAS;AACvB,WAAK,gBAAgB;AAAA,IACtB;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAIA,MAAa,IAAI,MAAiC;AACjD,UAAM,SAAS,KAAK,iBAAiB,EAAE,aAAa;AAC9C,UAAA,QAAQ,OAAO,MAAsB,IAAI;AAC/C,UAAM,SAAS,MAAM,KAAK,QAAQ,KAAK;AACvC,WAAO,UAAU;AAAA,EAClB;AACD;;"}
@@ -0,0 +1,28 @@
1
+ import { CommandConfiguration } from "./CommandConfiguration.js";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
5
+ class Command {
6
+ constructor() {
7
+ __publicField(this, "configuration");
8
+ }
9
+ getConfiguration() {
10
+ if (this.configuration === void 0) {
11
+ const configuration = new CommandConfiguration();
12
+ this.configure(configuration);
13
+ configuration.validate();
14
+ this.configuration = configuration;
15
+ }
16
+ return this.configuration;
17
+ }
18
+ async run(args) {
19
+ const parser = this.getConfiguration().createParser();
20
+ const input = parser.parse(args);
21
+ const result = await this.execute(input);
22
+ return result || 0;
23
+ }
24
+ }
25
+ export {
26
+ Command
27
+ };
28
+ //# sourceMappingURL=Command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Command.js","sources":["../../../../../packages/cli-common/src/application/Command.ts"],"sourcesContent":["import { CommandConfiguration } from './CommandConfiguration'\nimport { Arguments, Input, Options } from './Input'\n\nexport abstract class Command<Args extends Arguments, TOptions extends Options> {\n\tprivate configuration: CommandConfiguration<Args, TOptions> | undefined\n\n\tprotected abstract configure(configuration: CommandConfiguration<Args, TOptions>): void\n\n\tpublic getConfiguration(): CommandConfiguration<Args, TOptions> {\n\t\tif (this.configuration === undefined) {\n\t\t\tconst configuration = new CommandConfiguration()\n\t\t\tthis.configure(configuration)\n\t\t\tconfiguration.validate()\n\t\t\tthis.configuration = configuration\n\t\t}\n\t\treturn this.configuration\n\t}\n\n\tprotected abstract execute(input: Input<Args, TOptions>): Promise<void | number>\n\n\tpublic async run(args: string[]): Promise<number> {\n\t\tconst parser = this.getConfiguration().createParser()\n\t\tconst input = parser.parse<Args, TOptions>(args)\n\t\tconst result = await this.execute(input)\n\t\treturn result || 0\n\t}\n}\n"],"names":[],"mappings":";;;;AAGO,MAAe,QAA0D;AAAA,EAAzE,cAAA;AACE,kBAAA,MAAA,eAAA;AAAA,EAAA;AAAA,EAID,mBAAyD;AAC3D,QAAA,KAAK,kBAAkB,QAAW;AAC/B,YAAA,gBAAgB,IAAI;AAC1B,WAAK,UAAU,aAAa;AAC5B,oBAAc,SAAS;AACvB,WAAK,gBAAgB;AAAA,IACtB;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAIA,MAAa,IAAI,MAAiC;AACjD,UAAM,SAAS,KAAK,iBAAiB,EAAE,aAAa;AAC9C,UAAA,QAAQ,OAAO,MAAsB,IAAI;AAC/C,UAAM,SAAS,MAAM,KAAK,QAAQ,KAAK;AACvC,WAAO,UAAU;AAAA,EAClB;AACD;"}