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

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
@@ -1,5 +0,0 @@
1
- export declare const listDirectories: (dir: string) => Promise<string[]>;
2
- export declare const replaceFileContent: (path: string, replacer: (content: string) => string) => Promise<void>;
3
- export declare const tryUnlink: (path: string) => Promise<void>;
4
- export declare const pathExists: (path: string) => Promise<boolean>;
5
- //# sourceMappingURL=fs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/utils/fs.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,QAAe,MAAM,KAAG,QAAQ,MAAM,EAAE,CAWnE,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,MAAM,sBAAsB,MAAM,KAAK,MAAM,KAAG,QAAQ,IAAI,CAI1G,CAAA;AAED,eAAO,MAAM,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAS1D,CAAA;AAED,eAAO,MAAM,UAAU,SAAgB,MAAM,qBAO5C,CAAA"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.pathExists = exports.tryUnlink = exports.replaceFileContent = exports.listDirectories = void 0;
27
- const tuple_1 = require("./tuple");
28
- const fs = __importStar(require("node:fs/promises"));
29
- const node_path_1 = require("node:path");
30
- const promises_1 = require("node:fs/promises");
31
- const listDirectories = async (dir) => {
32
- try {
33
- const entries = (await fs.readdir(dir)).map(it => (0, node_path_1.join)(dir, it));
34
- const stats = await Promise.all(entries.map(async (it) => (0, tuple_1.tuple)(it, await fs.lstat(it))));
35
- return stats.filter(([, it]) => it.isDirectory()).map(([it]) => it);
36
- }
37
- catch (e) {
38
- if (e instanceof Error && 'code' in e && e.code === 'ENOENT') {
39
- return [];
40
- }
41
- throw e;
42
- }
43
- };
44
- exports.listDirectories = listDirectories;
45
- const replaceFileContent = async (path, replacer) => {
46
- const content = await fs.readFile(path, { encoding: 'utf8' });
47
- const newContent = replacer(content);
48
- await fs.writeFile(path, newContent, { encoding: 'utf8' });
49
- };
50
- exports.replaceFileContent = replaceFileContent;
51
- const tryUnlink = async (path) => {
52
- try {
53
- await fs.unlink(path);
54
- }
55
- catch (e) {
56
- if (e instanceof Error && 'code' in e && e.code === 'ENOENT') {
57
- return;
58
- }
59
- throw e;
60
- }
61
- };
62
- exports.tryUnlink = tryUnlink;
63
- const pathExists = async (path) => {
64
- try {
65
- await (0, promises_1.access)(path);
66
- return true;
67
- }
68
- catch (_a) {
69
- return false;
70
- }
71
- };
72
- exports.pathExists = pathExists;
73
- //# sourceMappingURL=fs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/utils/fs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA+B;AAC/B,qDAAsC;AACtC,yCAAgC;AAChC,+CAAyC;AAElC,MAAM,eAAe,GAAG,KAAK,EAAE,GAAW,EAAqB,EAAE;IACvE,IAAI;QACH,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;QAChE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,IAAA,aAAK,EAAC,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACvF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;KACnE;IAAC,OAAO,CAAC,EAAE;QACX,IAAI,CAAC,YAAY,KAAK,IAAI,MAAM,IAAI,CAAC,IAAK,CAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtE,OAAO,EAAE,CAAA;SACT;QACD,MAAM,CAAC,CAAA;KACP;AACF,CAAC,CAAA;AAXY,QAAA,eAAe,mBAW3B;AAEM,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAY,EAAE,QAAqC,EAAiB,EAAE;IAC9G,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;AAC3D,CAAC,CAAA;AAJY,QAAA,kBAAkB,sBAI9B;AAEM,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAiB,EAAE;IAC9D,IAAI;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;KACrB;IAAC,OAAO,CAAC,EAAE;QACX,IAAI,CAAC,YAAY,KAAK,IAAI,MAAM,IAAI,CAAC,IAAK,CAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtE,OAAM;SACN;QACD,MAAM,CAAC,CAAA;KACP;AACF,CAAC,CAAA;AATY,QAAA,SAAS,aASrB;AAEM,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAChD,IAAI;QACH,MAAM,IAAA,iBAAM,EAAC,IAAI,CAAC,CAAA;QAClB,OAAO,IAAI,CAAA;KACX;IAAC,WAAM;QACP,OAAO,KAAK,CAAA;KACZ;AACF,CAAC,CAAA;AAPY,QAAA,UAAU,cAOtB"}
@@ -1,6 +0,0 @@
1
- export * from './version';
2
- export * from './Workspace';
3
- export * from './Project';
4
- export * from './fs';
5
- export * from './json';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,MAAM,CAAA;AACpB,cAAc,QAAQ,CAAA"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./version"), exports);
18
- __exportStar(require("./Workspace"), exports);
19
- __exportStar(require("./Project"), exports);
20
- __exportStar(require("./fs"), exports);
21
- __exportStar(require("./json"), exports);
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,8CAA2B;AAC3B,4CAAyB;AACzB,uCAAoB;AACpB,yCAAsB"}
@@ -1,7 +0,0 @@
1
- export type JSONPrimitive = string | number | boolean | null | undefined | unknown;
2
- export type JSONValue = JSONPrimitive | JSONObject | JSONArray;
3
- export type JSONObject = {
4
- [member: string]: JSONValue;
5
- };
6
- export type JSONArray = JSONValue[];
7
- //# sourceMappingURL=json.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/utils/json.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAA;AAClF,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAA;AAC9D,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AACxD,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,CAAA"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/utils/json.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare const tuple: <T extends any[]>(...values: T) => T;
2
- //# sourceMappingURL=tuple.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../src/utils/tuple.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,sCAA4C,CAAA"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tuple = void 0;
4
- const tuple = (...values) => values;
5
- exports.tuple = tuple;
6
- //# sourceMappingURL=tuple.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../../src/utils/tuple.ts"],"names":[],"mappings":";;;AAAO,MAAM,KAAK,GAAG,CAAkB,GAAG,MAAS,EAAE,EAAE,CAAC,MAAM,CAAA;AAAjD,QAAA,KAAK,SAA4C"}
@@ -1,2 +0,0 @@
1
- export declare const getPackageVersion: () => string;
2
- //# sourceMappingURL=version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,QAAO,MAGpC,CAAA"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPackageVersion = void 0;
4
- const node_path_1 = require("node:path");
5
- const pathUtils_1 = require("../pathUtils");
6
- const getPackageVersion = () => {
7
- // eslint-disable-next-line @typescript-eslint/no-var-requires
8
- return require((0, node_path_1.join)(pathUtils_1.packageRoot, 'package.json')).version;
9
- };
10
- exports.getPackageVersion = getPackageVersion;
11
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":";;;AAAA,yCAAgC;AAChC,4CAA0C;AAEnC,MAAM,iBAAiB,GAAG,GAAW,EAAE;IAC7C,8DAA8D;IAC9D,OAAO,OAAO,CAAC,IAAA,gBAAI,EAAC,uBAAW,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAA;AAC1D,CAAC,CAAA;AAHY,QAAA,iBAAiB,qBAG7B"}
@@ -1,3 +0,0 @@
1
- import { JSONObject } from './json';
2
- export declare const readYaml: <T = JSONObject>(path: string) => Promise<T>;
3
- //# sourceMappingURL=yaml.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../../src/utils/yaml.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAInC,eAAO,MAAM,QAAQ,yBAAgC,MAAM,eAG1D,CAAA"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.readYaml = void 0;
7
- const js_yaml_1 = __importDefault(require("js-yaml"));
8
- const promises_1 = require("node:fs/promises");
9
- const readYaml = async (path) => {
10
- const content = await (0, promises_1.readFile)(path, { encoding: 'utf8' });
11
- return js_yaml_1.default.load(content);
12
- };
13
- exports.readYaml = readYaml;
14
- //# sourceMappingURL=yaml.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../../src/utils/yaml.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA4B;AAE5B,+CAA2C;AAGpC,MAAM,QAAQ,GAAG,KAAK,EAAkB,IAAY,EAAc,EAAE;IAC1E,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1D,OAAO,iBAAM,CAAC,IAAI,CAAC,OAAO,CAAiB,CAAA;AAC5C,CAAC,CAAA;AAHY,QAAA,QAAQ,YAGpB"}
@@ -1,5 +0,0 @@
1
- module.exports = {
2
- rules: {
3
- "no-console": "off",
4
- },
5
- };
@@ -1,14 +0,0 @@
1
- export interface CliEnv {
2
- apiToken?: string
3
- loginToken?: string
4
- apiUrl?: string
5
- projectName?: string
6
- }
7
- export const readCliEnv = (): CliEnv => {
8
- return {
9
- apiToken: process.env.CONTEMBER_API_TOKEN,
10
- loginToken: process.env.CONTEMBER_LOGIN_TOKEN,
11
- apiUrl: process.env.CONTEMBER_API_URL ?? process.env.CONTEMBER_INSTANCE,
12
- projectName: process.env.CONTEMBER_PROJECT_NAME,
13
- }
14
- }
@@ -1,38 +0,0 @@
1
- import jsyaml from 'js-yaml'
2
- import fs from 'node:fs/promises'
3
- import glob from 'fast-glob'
4
- import { pathExists } from '../utils'
5
-
6
- export class FsManager {
7
- constructor() {
8
- }
9
-
10
- public async exists(filename: string): Promise<boolean> {
11
- return await pathExists(filename)
12
- }
13
-
14
- public async tryReadJson<T = any>(filename: string): Promise<T | null> {
15
- const content = await this.tryReadFile(filename)
16
- return content !== null ? JSON.parse(content) : null
17
- }
18
-
19
- public async tryReadYaml<T = any>(filename: string): Promise<T | null> {
20
- const content = await this.tryReadFile(filename)
21
- return content !== null ? jsyaml.load(content) as T : null
22
- }
23
-
24
- public async tryReadFile(filename: string): Promise<string | null> {
25
- try {
26
- return await fs.readFile(filename, 'utf8')
27
- } catch (error: any) {
28
- if (error.code === 'ENOENT') {
29
- return null
30
- }
31
- throw error
32
- }
33
- }
34
-
35
- public async listDirectories(dir: string, patterns: string[]): Promise<string[]> {
36
- return await glob(patterns, { onlyDirectories: true, cwd: dir })
37
- }
38
- }
package/src/pathUtils.ts DELETED
@@ -1,4 +0,0 @@
1
- import { join } from 'node:path'
2
-
3
- export const packageRoot = process.env.CONTEMBER_CLI_PACKAGE_ROOT || join(__dirname, '../../')
4
- export const resourcesDir = join(packageRoot, './resources')
@@ -1,38 +0,0 @@
1
- import { basename, join, resolve } from 'node:path'
2
- import { listDirectories } from './fs'
3
-
4
- export type PathMapping = Record<string, string>
5
- export const resolvePathMappingConfig = async (
6
- baseDir: string,
7
- defaultProjectName: string,
8
- config?: PathMapping,
9
- ): Promise<PathMapping> => {
10
- if (config) {
11
- return Object.fromEntries(Object.entries(config).map(([name, path]) => [name, resolve(baseDir, path)]))
12
- }
13
- // single instance/project
14
- return { [defaultProjectName]: baseDir }
15
- }
16
-
17
- export const getPathFromMapping = (config: PathMapping, name: string): string | undefined => {
18
- if (config[name]) {
19
- return config[name]
20
- } else if (config['*']) {
21
- return join(config['*'], name)
22
- }
23
- return undefined
24
- }
25
-
26
- export const listEntriesInMapping = async (config: PathMapping): Promise<string[]> => {
27
- return (
28
- await Promise.all(
29
- Object.entries(config).map(async ([name, path]) => {
30
- if (name === '*') {
31
- return (await listDirectories(path)).map(it => basename(it))
32
- } else {
33
- return [name]
34
- }
35
- }),
36
- )
37
- ).flatMap(it => it)
38
- }
@@ -1,28 +0,0 @@
1
- import * as path from 'node:path'
2
- import { Workspace } from './Workspace'
3
-
4
- export class Project {
5
- constructor(
6
- public readonly name: string,
7
- private readonly directory: string,
8
- private readonly workspace: Workspace,
9
- ) {}
10
-
11
- get adminDir() {
12
- return path.join(this.directory, 'admin')
13
- }
14
-
15
- get apiDir() {
16
- return path.join(this.directory, 'api')
17
- }
18
-
19
- get migrationsDir() {
20
- return path.join(this.apiDir, 'migrations')
21
- }
22
- }
23
-
24
- export const validateProjectName = (name: string) => {
25
- if (!name.match(/^[a-z][-a-z0-9]*$/i)) {
26
- throw 'Invalid project name. It can contain only alphanumeric characters, dash and must start with a letter'
27
- }
28
- }
@@ -1,76 +0,0 @@
1
- import { Project, validateProjectName } from './Project'
2
- import { basename } from 'node:path'
3
- import { Workspace } from './Workspace'
4
- import { getPathFromMapping, listEntriesInMapping, resolvePathMappingConfig } from './PathMapping'
5
- import { pathExists } from './fs'
6
-
7
- export class ProjectManager {
8
- constructor(private readonly workspace: Workspace) {}
9
- public async listProjects(): Promise<Project[]> {
10
- const projects = await this.listProjectPaths()
11
- return await Promise.all(projects.map(it => this.getProject(it)))
12
- }
13
-
14
- public async getSingleProject(): Promise<Project> {
15
- if (!this.workspace.isSingleProjectMode()) {
16
- throw `Please specify a local name project`
17
- }
18
- const projects = await this.listProjects()
19
- if (projects.length !== 1) {
20
- throw `Please specify a local name project`
21
- }
22
- return projects[0]
23
- }
24
-
25
- public async getProject(name: string | undefined, options: { fuzzy?: boolean } = {}): Promise<Project> {
26
- if (name === undefined) {
27
- return await this.getSingleProject()
28
- }
29
- validateProjectName(name)
30
- const projectDir = await this.getDirectory(name)
31
- if (projectDir && (await pathExists(projectDir))) {
32
- return new Project(name, projectDir, this.workspace)
33
- }
34
- const projects = await this.listProjectPaths()
35
-
36
- if (!options.fuzzy) {
37
- throw `Project ${name} not found. Known projects: ${projects.join(', ')}`
38
- }
39
- const matcher = new RegExp(
40
- '^' +
41
- name
42
- .split('')
43
- .map(it => it.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&') + '.*')
44
- .join(''),
45
- )
46
- const matched = projects.filter(it => it.match(matcher))
47
- if (matched.length === 0) {
48
- throw `Project ${name} not found. Known projects: ${projects.join(', ')}`
49
- } else if (matched.length > 1) {
50
- throw `Project name ${name} is ambiguous. Did you mean one of these?\n - ` + matched.join('\n - ') + '\n'
51
- }
52
- return this.getProject(matched[0])
53
- }
54
-
55
-
56
- private async getDirectory(name: string) {
57
- return getPathFromMapping(await this.getProjectPathMapping(), name)
58
- }
59
-
60
- private async listProjectPaths() {
61
- const projectMapping = await this.getProjectPathMapping()
62
- return await listEntriesInMapping(projectMapping)
63
- }
64
-
65
- private async getProjectPathMapping(): Promise<Record<string, string>> {
66
- return resolvePathMappingConfig(this.workspace.directory, this.getDefaultProjectName(), this.workspace.config.projects)
67
- }
68
-
69
-
70
- private getDefaultProjectName(): string {
71
- return this.workspace.env.projectName
72
- ?? basename(this.workspace.directory)
73
- .toLocaleLowerCase()
74
- .replace(/[^-_a-z0-9]/, '')
75
- }
76
- }
@@ -1,72 +0,0 @@
1
- import { basename, join } from 'node:path'
2
- import { ProjectManager } from './ProjectManager'
3
- import { PathMapping } from './PathMapping'
4
- import { readYaml } from './yaml'
5
- import { CliEnv, readCliEnv } from '../application'
6
- import { pathExists } from './fs'
7
- import { PackageWorkspace, PackageWorkspaceResolver } from '../npm/PackageWorkspace'
8
- import { FsManager } from '../npm/FsManager'
9
- import { Yarn } from '../npm/packageManagers/Yarn'
10
- import { YarnClassic } from '../npm/packageManagers/YarnClassic'
11
- import { Pnpm } from '../npm/packageManagers/Pnpm'
12
- import { Npm } from '../npm/packageManagers/Npm'
13
-
14
- export interface WorkspaceDirectoryArgument {
15
- workspaceDirectory: string
16
- }
17
-
18
- export interface WorkspaceConfig {
19
- projects?: PathMapping
20
- }
21
-
22
- export class Workspace {
23
- public readonly projects = new ProjectManager(this)
24
-
25
- constructor(
26
- public readonly directory: string,
27
- public readonly env: CliEnv,
28
- public readonly config: WorkspaceConfig,
29
- private readonly packageWorkspaceResolver: PackageWorkspaceResolver,
30
- ) {}
31
-
32
- public static async get(workspaceDirectory: string) {
33
- const config = await readWorkspaceConfig({ workspaceDirectory })
34
- const fsManager = new FsManager()
35
- const packageWorkspaceResolver = new PackageWorkspaceResolver(fsManager, [
36
- new Yarn(fsManager),
37
- new YarnClassic(fsManager),
38
- new Pnpm(fsManager),
39
- new Npm(fsManager),
40
- ])
41
-
42
- return new Workspace(workspaceDirectory, readCliEnv(), config, packageWorkspaceResolver)
43
- }
44
-
45
- get name() {
46
- return basename(this.directory)
47
- }
48
-
49
-
50
- public isSingleProjectMode(): boolean {
51
- return !!this.env.projectName || !this.config.projects
52
- }
53
-
54
- public async resolvePackageWorkspace(): Promise<PackageWorkspace> {
55
- return await this.packageWorkspaceResolver.resolve(this.directory)
56
- }
57
- }
58
-
59
- export const formatWorkspaceConfigPath = (workspaceDirectory: string) => [
60
- join(workspaceDirectory, 'contember.yaml'),
61
- join(workspaceDirectory, 'contember.workspace.yaml'),
62
- ]
63
-
64
- const readWorkspaceConfig = async ({ workspaceDirectory }: WorkspaceDirectoryArgument): Promise<WorkspaceConfig> => {
65
- const configPath = formatWorkspaceConfigPath(workspaceDirectory)
66
- for (const file of configPath) {
67
- if ((await pathExists(file))) {
68
- return await readYaml(file)
69
- }
70
- }
71
- return {}
72
- }
@@ -1,65 +0,0 @@
1
- import { ChildProcessWithoutNullStreams, spawn } from 'node:child_process'
2
- import { Readable, Writable } from 'node:stream'
3
- import chalk from 'chalk'
4
-
5
- export type RunningCommand = { child: ChildProcessWithoutNullStreams; output: Promise<string> }
6
- export const runCommand = (
7
- command: string,
8
- args: (string | undefined)[],
9
- options: {
10
- cwd: string
11
- stdin?: Readable
12
- stdout?: Writable
13
- stderr?: Writable
14
- env?: NodeJS.ProcessEnv
15
- detached?: boolean
16
- },
17
- ): RunningCommand => {
18
- const args2 = args.filter((it): it is string => it !== undefined)
19
- if (!process.env.DISABLE_COMMAND_PRINTING) {
20
- console.error(chalk.gray(`$ ${command} ${args2.map(it => `'${it.replace(/'/g, `'\\''`)}'`).join(' ')}`))
21
- }
22
- const child = spawn(command, args2, {
23
- cwd: options.cwd,
24
- env: { ...process.env, ...(options.env || {}) },
25
- detached: options.detached,
26
- })
27
- if (options.stdin) {
28
- options.stdin.pipe(child.stdin)
29
- }
30
-
31
- let stdout = ''
32
- let stderr = ''
33
-
34
- child.stdout.on('data', (chunk): void => {
35
- stdout += chunk.toString()
36
- })
37
-
38
- child.stderr.on('data', (chunk): void => {
39
- stderr += chunk.toString()
40
- })
41
- if (options.stdout) {
42
- child.stdout.pipe(options.stdout)
43
- }
44
- if (options.stderr) {
45
- child.stderr.pipe(options.stderr)
46
- }
47
-
48
- const output = new Promise<string>((resolve, reject) => {
49
- child.on('exit', (exitCode): void => {
50
- if (exitCode === 0) {
51
- resolve(stdout)
52
- } else {
53
- reject(new ChildProcessError(exitCode, stderr))
54
- }
55
- })
56
- })
57
-
58
- return { output, child }
59
- }
60
-
61
- export class ChildProcessError extends Error {
62
- constructor(public readonly exitCode: number | null, public readonly stderr: string) {
63
- super(`Command has failed(${exitCode}): ${stderr} `)
64
- }
65
- }
package/src/utils/fs.ts DELETED
@@ -1,43 +0,0 @@
1
- import { tuple } from './tuple'
2
- import * as fs from 'node:fs/promises'
3
- import { join } from 'node:path'
4
- import { access } from 'node:fs/promises'
5
-
6
- export const listDirectories = async (dir: string): Promise<string[]> => {
7
- try {
8
- const entries = (await fs.readdir(dir)).map(it => join(dir, it))
9
- const stats = await Promise.all(entries.map(async it => tuple(it, await fs.lstat(it))))
10
- return stats.filter(([, it]) => it.isDirectory()).map(([it]) => it)
11
- } catch (e) {
12
- if (e instanceof Error && 'code' in e && (e as any).code === 'ENOENT') {
13
- return []
14
- }
15
- throw e
16
- }
17
- }
18
-
19
- export const replaceFileContent = async (path: string, replacer: (content: string) => string): Promise<void> => {
20
- const content = await fs.readFile(path, { encoding: 'utf8' })
21
- const newContent = replacer(content)
22
- await fs.writeFile(path, newContent, { encoding: 'utf8' })
23
- }
24
-
25
- export const tryUnlink = async (path: string): Promise<void> => {
26
- try {
27
- await fs.unlink(path)
28
- } catch (e) {
29
- if (e instanceof Error && 'code' in e && (e as any).code === 'ENOENT') {
30
- return
31
- }
32
- throw e
33
- }
34
- }
35
-
36
- export const pathExists = async (path: string) => {
37
- try {
38
- await access(path)
39
- return true
40
- } catch {
41
- return false
42
- }
43
- }
@@ -1,5 +0,0 @@
1
- export * from './version'
2
- export * from './Workspace'
3
- export * from './Project'
4
- export * from './fs'
5
- export * from './json'
package/src/utils/json.ts DELETED
@@ -1,4 +0,0 @@
1
- export type JSONPrimitive = string | number | boolean | null | undefined | unknown
2
- export type JSONValue = JSONPrimitive | JSONObject | JSONArray
3
- export type JSONObject = { [member: string]: JSONValue }
4
- export type JSONArray = JSONValue[]
@@ -1 +0,0 @@
1
- export const tuple = <T extends any[]>(...values: T) => values
@@ -1,7 +0,0 @@
1
- import { join } from 'node:path'
2
- import { packageRoot } from '../pathUtils'
3
-
4
- export const getPackageVersion = (): string => {
5
- // eslint-disable-next-line @typescript-eslint/no-var-requires
6
- return require(join(packageRoot, 'package.json')).version
7
- }
package/src/utils/yaml.ts DELETED
@@ -1,9 +0,0 @@
1
- import jsyaml from 'js-yaml'
2
- import { JSONObject } from './json'
3
- import { readFile } from 'node:fs/promises'
4
-
5
-
6
- export const readYaml = async <T = JSONObject>(path: string): Promise<T> => {
7
- const content = await readFile(path, { encoding: 'utf8' })
8
- return jsyaml.load(content) as unknown as T
9
- }