@jakubmazanec/carson 0.3.0-unstable.feec6e4 → 1.0.0-next.2fa8a2c

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 (523) hide show
  1. package/README.md +1 -1
  2. package/bin/carson.js +1 -1
  3. package/build/commands/create-project/CreateProject.js +97 -0
  4. package/build/commands/create-project/CreateProject.js.map +7 -0
  5. package/build/commands/create-project/CreateProjectInput.js +35 -0
  6. package/build/commands/create-project/CreateProjectInput.js.map +7 -0
  7. package/{dist → build}/commands/create-project/createProjectCommand.d.ts +6 -6
  8. package/build/commands/create-project/createProjectCommand.js +37 -0
  9. package/build/commands/create-project/createProjectCommand.js.map +7 -0
  10. package/build/commands/create-project/runCreateProject.js +28 -0
  11. package/build/commands/create-project/runCreateProject.js.map +7 -0
  12. package/build/commands/create-project.js +6 -0
  13. package/build/commands/create-project.js.map +7 -0
  14. package/build/commands/create-workspace/CreateWorkspace.js +68 -0
  15. package/build/commands/create-workspace/CreateWorkspace.js.map +7 -0
  16. package/build/commands/create-workspace/CreateWorkspaceInput.js +19 -0
  17. package/build/commands/create-workspace/CreateWorkspaceInput.js.map +7 -0
  18. package/{dist → build}/commands/create-workspace/createWorkspaceCommand.d.ts +4 -4
  19. package/build/commands/create-workspace/createWorkspaceCommand.js +22 -0
  20. package/build/commands/create-workspace/createWorkspaceCommand.js.map +7 -0
  21. package/build/commands/create-workspace/runCreateWorkspace.js +22 -0
  22. package/build/commands/create-workspace/runCreateWorkspace.js.map +7 -0
  23. package/build/commands/create-workspace.js +6 -0
  24. package/build/commands/create-workspace.js.map +7 -0
  25. package/build/commands/internals/CommandStatus.js +2 -0
  26. package/build/commands/internals/CommandStatus.js.map +7 -0
  27. package/build/commands/internals/packageNameToDirectory.js +12 -0
  28. package/build/commands/internals/packageNameToDirectory.js.map +7 -0
  29. package/build/commands/internals.js +4 -0
  30. package/build/commands/internals.js.map +7 -0
  31. package/build/commands/update-workspace/UpdateWorkspace.js +37 -0
  32. package/build/commands/update-workspace/UpdateWorkspace.js.map +7 -0
  33. package/build/commands/update-workspace/runUpdateWorkspace.js +19 -0
  34. package/build/commands/update-workspace/runUpdateWorkspace.js.map +7 -0
  35. package/{dist → build}/commands/update-workspace/updateWorkspaceCommand.d.ts +2 -2
  36. package/build/commands/update-workspace/updateWorkspaceCommand.js +31 -0
  37. package/build/commands/update-workspace/updateWorkspaceCommand.js.map +7 -0
  38. package/build/commands/update-workspace.js +5 -0
  39. package/build/commands/update-workspace.js.map +7 -0
  40. package/build/commands.js +5 -0
  41. package/build/commands.js.map +7 -0
  42. package/build/constants.js +14 -0
  43. package/build/constants.js.map +7 -0
  44. package/build/main.js +5 -0
  45. package/build/main.js.map +7 -0
  46. package/build/modules.d.js +2 -0
  47. package/build/modules.d.js.map +7 -0
  48. package/build/run.js +19 -0
  49. package/build/run.js.map +7 -0
  50. package/build/template/CarsonTemplate.js +2 -0
  51. package/build/template/CarsonTemplate.js.map +7 -0
  52. package/build/template/CarsonTemplateConfig.js +8 -0
  53. package/build/template/CarsonTemplateConfig.js.map +7 -0
  54. package/build/template/CarsonTemplateError.js +15 -0
  55. package/build/template/CarsonTemplateError.js.map +7 -0
  56. package/build/template/TemplateAttributes.js +14 -0
  57. package/build/template/TemplateAttributes.js.map +7 -0
  58. package/build/template/TemplateData.js +10 -0
  59. package/build/template/TemplateData.js.map +7 -0
  60. package/build/template/TemplateRender.js +2 -0
  61. package/build/template/TemplateRender.js.map +7 -0
  62. package/build/template/TemplateRenders.js +2 -0
  63. package/build/template/TemplateRenders.js.map +7 -0
  64. package/build/template/applyTemplateRenders.js +94 -0
  65. package/build/template/applyTemplateRenders.js.map +7 -0
  66. package/build/template/internals/TemplateRenderSnapshot.js +12 -0
  67. package/build/template/internals/TemplateRenderSnapshot.js.map +7 -0
  68. package/build/template/internals/TemplateRenderSnapshots.js +4 -0
  69. package/build/template/internals/TemplateRenderSnapshots.js.map +7 -0
  70. package/build/template/internals/createUsingTemplateRender.js +42 -0
  71. package/build/template/internals/createUsingTemplateRender.js.map +7 -0
  72. package/build/template/internals/deleteUsingTemplateRender.js +20 -0
  73. package/build/template/internals/deleteUsingTemplateRender.js.map +7 -0
  74. package/build/template/internals/importCarsonTemplate.js +8 -0
  75. package/build/template/internals/importCarsonTemplate.js.map +7 -0
  76. package/build/template/internals/insertUsingTemplateRender.js +40 -0
  77. package/build/template/internals/insertUsingTemplateRender.js.map +7 -0
  78. package/build/template/internals/loadTemplateRenderSnapshots.js +16 -0
  79. package/build/template/internals/loadTemplateRenderSnapshots.js.map +7 -0
  80. package/build/template/internals/merge.js +29 -0
  81. package/build/template/internals/merge.js.map +7 -0
  82. package/build/template/internals/mergeUsingTemplateRender.js +49 -0
  83. package/build/template/internals/mergeUsingTemplateRender.js.map +7 -0
  84. package/build/template/internals/overwriteUsingTemplateRender.js +10 -0
  85. package/build/template/internals/overwriteUsingTemplateRender.js.map +7 -0
  86. package/build/template/internals/parseCarsonTemplateId.js +12 -0
  87. package/build/template/internals/parseCarsonTemplateId.js.map +7 -0
  88. package/build/template/internals/prettify.js +21 -0
  89. package/build/template/internals/prettify.js.map +7 -0
  90. package/build/template/internals/readCarsonTemplate.js +44 -0
  91. package/build/template/internals/readCarsonTemplate.js.map +7 -0
  92. package/build/template/internals/resolveModule.js +9 -0
  93. package/build/template/internals/resolveModule.js.map +7 -0
  94. package/build/template/internals/saveTemplateRenderSnapshots.js +23 -0
  95. package/build/template/internals/saveTemplateRenderSnapshots.js.map +7 -0
  96. package/build/template/internals/uninsertUsingTemplateRender.js +40 -0
  97. package/build/template/internals/uninsertUsingTemplateRender.js.map +7 -0
  98. package/build/template/internals/unmerge.js +32 -0
  99. package/build/template/internals/unmerge.js.map +7 -0
  100. package/build/template/internals/unmergeUsingTemplateRender.js +41 -0
  101. package/build/template/internals/unmergeUsingTemplateRender.js.map +7 -0
  102. package/build/template/internals.js +20 -0
  103. package/build/template/internals.js.map +7 -0
  104. package/build/template/renderCarsonTemplate.js +42 -0
  105. package/build/template/renderCarsonTemplate.js.map +7 -0
  106. package/build/template.js +11 -0
  107. package/build/template.js.map +7 -0
  108. package/build/workspace/Project.js +205 -0
  109. package/build/workspace/Project.js.map +7 -0
  110. package/build/workspace/ProjectConfig.js +6 -0
  111. package/build/workspace/ProjectConfig.js.map +7 -0
  112. package/build/workspace/ProjectCreateOptions.js +2 -0
  113. package/build/workspace/ProjectCreateOptions.js.map +7 -0
  114. package/{dist → build}/workspace/ProjectError.d.ts +1 -1
  115. package/build/workspace/ProjectError.js +17 -0
  116. package/build/workspace/ProjectError.js.map +7 -0
  117. package/build/workspace/ProjectOptions.js +2 -0
  118. package/build/workspace/ProjectOptions.js.map +7 -0
  119. package/build/workspace/ProjectUpdateOptions.js +2 -0
  120. package/build/workspace/ProjectUpdateOptions.js.map +7 -0
  121. package/{dist → build}/workspace/Workspace.d.ts +2 -2
  122. package/build/workspace/Workspace.js +501 -0
  123. package/build/workspace/Workspace.js.map +7 -0
  124. package/build/workspace/WorkspaceConfig.js +6 -0
  125. package/build/workspace/WorkspaceConfig.js.map +7 -0
  126. package/build/workspace/WorkspaceCreateOptions.js +2 -0
  127. package/build/workspace/WorkspaceCreateOptions.js.map +7 -0
  128. package/build/workspace/WorkspaceCreateProjectOptions.js +2 -0
  129. package/build/workspace/WorkspaceCreateProjectOptions.js.map +7 -0
  130. package/build/workspace/WorkspaceDependencies.js +143 -0
  131. package/build/workspace/WorkspaceDependencies.js.map +7 -0
  132. package/build/workspace/WorkspaceDependenciesFromWorkspaceOptions.js +2 -0
  133. package/build/workspace/WorkspaceDependenciesFromWorkspaceOptions.js.map +7 -0
  134. package/build/workspace/WorkspaceDependenciesGetVersionsOptions.js +2 -0
  135. package/build/workspace/WorkspaceDependenciesGetVersionsOptions.js.map +7 -0
  136. package/build/workspace/WorkspaceDependency.js +2 -0
  137. package/build/workspace/WorkspaceDependency.js.map +7 -0
  138. package/build/workspace/WorkspaceDependencyProject.js +2 -0
  139. package/build/workspace/WorkspaceDependencyProject.js.map +7 -0
  140. package/{dist → build}/workspace/WorkspaceError.d.ts +1 -1
  141. package/{dist → build}/workspace/WorkspaceError.js +12 -10
  142. package/build/workspace/WorkspaceError.js.map +7 -0
  143. package/build/workspace/WorkspaceFindAndReadOptions.js +2 -0
  144. package/build/workspace/WorkspaceFindAndReadOptions.js.map +7 -0
  145. package/build/workspace/WorkspaceOptions.js +2 -0
  146. package/build/workspace/WorkspaceOptions.js.map +7 -0
  147. package/build/workspace/WorkspaceOptionsProject.js +2 -0
  148. package/build/workspace/WorkspaceOptionsProject.js.map +7 -0
  149. package/build/workspace/WorkspacePackageJson.js +2 -0
  150. package/build/workspace/WorkspacePackageJson.js.map +7 -0
  151. package/build/workspace/WorkspaceProjectGlobs.js +2 -0
  152. package/build/workspace/WorkspaceProjectGlobs.js.map +7 -0
  153. package/build/workspace/WorkspaceProjects.js +2 -0
  154. package/build/workspace/WorkspaceProjects.js.map +7 -0
  155. package/build/workspace/WorkspaceRepository.js +2 -0
  156. package/build/workspace/WorkspaceRepository.js.map +7 -0
  157. package/build/workspace/WorkspaceUpdateOptions.js +2 -0
  158. package/build/workspace/WorkspaceUpdateOptions.js.map +7 -0
  159. package/build/workspace/internals/compareProjectPath.js +10 -0
  160. package/build/workspace/internals/compareProjectPath.js.map +7 -0
  161. package/build/workspace/internals/compareSemver.js +20 -0
  162. package/build/workspace/internals/compareSemver.js.map +7 -0
  163. package/build/workspace/internals/compareWorkspaceDependencyProjectName.js +10 -0
  164. package/build/workspace/internals/compareWorkspaceDependencyProjectName.js.map +7 -0
  165. package/build/workspace/internals/containsProject.js +23 -0
  166. package/build/workspace/internals/containsProject.js.map +7 -0
  167. package/build/workspace/internals/containsWorkspace.js +20 -0
  168. package/build/workspace/internals/containsWorkspace.js.map +7 -0
  169. package/build/workspace/internals/getPackageJsonWorkspaces.js +31 -0
  170. package/build/workspace/internals/getPackageJsonWorkspaces.js.map +7 -0
  171. package/build/workspace/internals/getRepositoryBranches.js +26 -0
  172. package/build/workspace/internals/getRepositoryBranches.js.map +7 -0
  173. package/build/workspace/internals/getRepositoryUrl.js +19 -0
  174. package/build/workspace/internals/getRepositoryUrl.js.map +7 -0
  175. package/build/workspace/internals.js +10 -0
  176. package/build/workspace/internals.js.map +7 -0
  177. package/build/workspace/saveProjectConfig.js +15 -0
  178. package/build/workspace/saveProjectConfig.js.map +7 -0
  179. package/build/workspace/saveWorkspaceConfig.js +22 -0
  180. package/build/workspace/saveWorkspaceConfig.js.map +7 -0
  181. package/build/workspace.js +24 -0
  182. package/build/workspace.js.map +7 -0
  183. package/package.json +54 -49
  184. package/{src → source}/commands/create-project/CreateProject.tsx +7 -7
  185. package/{src → source}/commands/create-project/CreateProjectInput.ts +1 -1
  186. package/{src → source}/commands/create-workspace/CreateWorkspace.tsx +6 -6
  187. package/{src → source}/commands/create-workspace/CreateWorkspaceInput.ts +1 -1
  188. package/{src → source}/commands/update-workspace/UpdateWorkspace.tsx +4 -4
  189. package/{src → source}/run.ts +2 -2
  190. package/{src → source}/template/applyTemplateRenders.ts +10 -10
  191. package/{src → source}/template/internals/prettify.ts +2 -2
  192. package/{src → source}/template/internals/readCarsonTemplate.ts +3 -3
  193. package/{src → source}/workspace/Project.ts +8 -8
  194. package/{src → source}/workspace/Workspace.ts +21 -27
  195. package/{src → source}/workspace/WorkspaceDependencies.ts +11 -9
  196. package/{src → source}/workspace/WorkspaceOptions.ts +3 -2
  197. package/{src → source}/workspace/internals/compareSemver.ts +6 -4
  198. package/{src → source}/workspace/internals/getPackageJsonWorkspaces.ts +1 -1
  199. package/dist/commands/create-project/CreateProject.js +0 -138
  200. package/dist/commands/create-project/CreateProject.js.map +0 -1
  201. package/dist/commands/create-project/CreateProjectInput.js +0 -31
  202. package/dist/commands/create-project/CreateProjectInput.js.map +0 -1
  203. package/dist/commands/create-project/createProjectCommand.js +0 -38
  204. package/dist/commands/create-project/createProjectCommand.js.map +0 -1
  205. package/dist/commands/create-project/runCreateProject.js +0 -24
  206. package/dist/commands/create-project/runCreateProject.js.map +0 -1
  207. package/dist/commands/create-project.js +0 -6
  208. package/dist/commands/create-project.js.map +0 -1
  209. package/dist/commands/create-workspace/CreateWorkspace.js +0 -104
  210. package/dist/commands/create-workspace/CreateWorkspace.js.map +0 -1
  211. package/dist/commands/create-workspace/CreateWorkspaceInput.js +0 -17
  212. package/dist/commands/create-workspace/CreateWorkspaceInput.js.map +0 -1
  213. package/dist/commands/create-workspace/createWorkspaceCommand.js +0 -20
  214. package/dist/commands/create-workspace/createWorkspaceCommand.js.map +0 -1
  215. package/dist/commands/create-workspace/runCreateWorkspace.js +0 -24
  216. package/dist/commands/create-workspace/runCreateWorkspace.js.map +0 -1
  217. package/dist/commands/create-workspace.js +0 -6
  218. package/dist/commands/create-workspace.js.map +0 -1
  219. package/dist/commands/internals/CommandStatus.js +0 -3
  220. package/dist/commands/internals/CommandStatus.js.map +0 -1
  221. package/dist/commands/internals/packageNameToDirectory.js +0 -12
  222. package/dist/commands/internals/packageNameToDirectory.js.map +0 -1
  223. package/dist/commands/internals.js +0 -4
  224. package/dist/commands/internals.js.map +0 -1
  225. package/dist/commands/update-workspace/UpdateWorkspace.js +0 -71
  226. package/dist/commands/update-workspace/UpdateWorkspace.js.map +0 -1
  227. package/dist/commands/update-workspace/runUpdateWorkspace.js +0 -25
  228. package/dist/commands/update-workspace/runUpdateWorkspace.js.map +0 -1
  229. package/dist/commands/update-workspace/updateWorkspaceCommand.js +0 -32
  230. package/dist/commands/update-workspace/updateWorkspaceCommand.js.map +0 -1
  231. package/dist/commands/update-workspace.js +0 -5
  232. package/dist/commands/update-workspace.js.map +0 -1
  233. package/dist/commands.js +0 -5
  234. package/dist/commands.js.map +0 -1
  235. package/dist/constants.js +0 -14
  236. package/dist/constants.js.map +0 -1
  237. package/dist/main.js +0 -5
  238. package/dist/main.js.map +0 -1
  239. package/dist/modules.d.js +0 -2
  240. package/dist/modules.d.js.map +0 -1
  241. package/dist/run.js +0 -19
  242. package/dist/run.js.map +0 -1
  243. package/dist/template/CarsonTemplate.js +0 -3
  244. package/dist/template/CarsonTemplate.js.map +0 -1
  245. package/dist/template/CarsonTemplateConfig.js +0 -7
  246. package/dist/template/CarsonTemplateConfig.js.map +0 -1
  247. package/dist/template/CarsonTemplateError.js +0 -13
  248. package/dist/template/CarsonTemplateError.js.map +0 -1
  249. package/dist/template/TemplateAttributes.js +0 -18
  250. package/dist/template/TemplateAttributes.js.map +0 -1
  251. package/dist/template/TemplateData.js +0 -11
  252. package/dist/template/TemplateData.js.map +0 -1
  253. package/dist/template/TemplateRender.js +0 -3
  254. package/dist/template/TemplateRender.js.map +0 -1
  255. package/dist/template/TemplateRenders.js +0 -3
  256. package/dist/template/TemplateRenders.js.map +0 -1
  257. package/dist/template/applyTemplateRenders.js +0 -90
  258. package/dist/template/applyTemplateRenders.js.map +0 -1
  259. package/dist/template/internals/TemplateRenderSnapshot.js +0 -14
  260. package/dist/template/internals/TemplateRenderSnapshot.js.map +0 -1
  261. package/dist/template/internals/TemplateRenderSnapshots.js +0 -4
  262. package/dist/template/internals/TemplateRenderSnapshots.js.map +0 -1
  263. package/dist/template/internals/createUsingTemplateRender.js +0 -57
  264. package/dist/template/internals/createUsingTemplateRender.js.map +0 -1
  265. package/dist/template/internals/deleteUsingTemplateRender.js +0 -22
  266. package/dist/template/internals/deleteUsingTemplateRender.js.map +0 -1
  267. package/dist/template/internals/importCarsonTemplate.js +0 -8
  268. package/dist/template/internals/importCarsonTemplate.js.map +0 -1
  269. package/dist/template/internals/insertUsingTemplateRender.js +0 -41
  270. package/dist/template/internals/insertUsingTemplateRender.js.map +0 -1
  271. package/dist/template/internals/loadTemplateRenderSnapshots.js +0 -14
  272. package/dist/template/internals/loadTemplateRenderSnapshots.js.map +0 -1
  273. package/dist/template/internals/merge.js +0 -30
  274. package/dist/template/internals/merge.js.map +0 -1
  275. package/dist/template/internals/mergeUsingTemplateRender.js +0 -62
  276. package/dist/template/internals/mergeUsingTemplateRender.js.map +0 -1
  277. package/dist/template/internals/overwriteUsingTemplateRender.js +0 -12
  278. package/dist/template/internals/overwriteUsingTemplateRender.js.map +0 -1
  279. package/dist/template/internals/parseCarsonTemplateId.js +0 -17
  280. package/dist/template/internals/parseCarsonTemplateId.js.map +0 -1
  281. package/dist/template/internals/prettify.js +0 -25
  282. package/dist/template/internals/prettify.js.map +0 -1
  283. package/dist/template/internals/readCarsonTemplate.js +0 -45
  284. package/dist/template/internals/readCarsonTemplate.js.map +0 -1
  285. package/dist/template/internals/resolveModule.js +0 -9
  286. package/dist/template/internals/resolveModule.js.map +0 -1
  287. package/dist/template/internals/saveTemplateRenderSnapshots.js +0 -23
  288. package/dist/template/internals/saveTemplateRenderSnapshots.js.map +0 -1
  289. package/dist/template/internals/uninsertUsingTemplateRender.js +0 -41
  290. package/dist/template/internals/uninsertUsingTemplateRender.js.map +0 -1
  291. package/dist/template/internals/unmerge.js +0 -31
  292. package/dist/template/internals/unmerge.js.map +0 -1
  293. package/dist/template/internals/unmergeUsingTemplateRender.js +0 -50
  294. package/dist/template/internals/unmergeUsingTemplateRender.js.map +0 -1
  295. package/dist/template/internals.js +0 -20
  296. package/dist/template/internals.js.map +0 -1
  297. package/dist/template/renderCarsonTemplate.js +0 -34
  298. package/dist/template/renderCarsonTemplate.js.map +0 -1
  299. package/dist/template.js +0 -11
  300. package/dist/template.js.map +0 -1
  301. package/dist/workspace/Project.js +0 -204
  302. package/dist/workspace/Project.js.map +0 -1
  303. package/dist/workspace/ProjectConfig.js +0 -6
  304. package/dist/workspace/ProjectConfig.js.map +0 -1
  305. package/dist/workspace/ProjectCreateOptions.js +0 -3
  306. package/dist/workspace/ProjectCreateOptions.js.map +0 -1
  307. package/dist/workspace/ProjectError.js +0 -15
  308. package/dist/workspace/ProjectError.js.map +0 -1
  309. package/dist/workspace/ProjectOptions.js +0 -3
  310. package/dist/workspace/ProjectOptions.js.map +0 -1
  311. package/dist/workspace/ProjectUpdateOptions.js +0 -5
  312. package/dist/workspace/ProjectUpdateOptions.js.map +0 -1
  313. package/dist/workspace/Workspace.js +0 -529
  314. package/dist/workspace/Workspace.js.map +0 -1
  315. package/dist/workspace/WorkspaceConfig.js +0 -6
  316. package/dist/workspace/WorkspaceConfig.js.map +0 -1
  317. package/dist/workspace/WorkspaceCreateOptions.js +0 -5
  318. package/dist/workspace/WorkspaceCreateOptions.js.map +0 -1
  319. package/dist/workspace/WorkspaceCreateProjectOptions.js +0 -5
  320. package/dist/workspace/WorkspaceCreateProjectOptions.js.map +0 -1
  321. package/dist/workspace/WorkspaceDependencies.js +0 -140
  322. package/dist/workspace/WorkspaceDependencies.js.map +0 -1
  323. package/dist/workspace/WorkspaceDependenciesFromWorkspaceOptions.js +0 -5
  324. package/dist/workspace/WorkspaceDependenciesFromWorkspaceOptions.js.map +0 -1
  325. package/dist/workspace/WorkspaceDependenciesGetVersionsOptions.js +0 -5
  326. package/dist/workspace/WorkspaceDependenciesGetVersionsOptions.js.map +0 -1
  327. package/dist/workspace/WorkspaceDependency.js +0 -3
  328. package/dist/workspace/WorkspaceDependency.js.map +0 -1
  329. package/dist/workspace/WorkspaceDependencyProject.js +0 -5
  330. package/dist/workspace/WorkspaceDependencyProject.js.map +0 -1
  331. package/dist/workspace/WorkspaceError.js.map +0 -1
  332. package/dist/workspace/WorkspaceFindAndReadOptions.js +0 -5
  333. package/dist/workspace/WorkspaceFindAndReadOptions.js.map +0 -1
  334. package/dist/workspace/WorkspaceOptions.js +0 -3
  335. package/dist/workspace/WorkspaceOptions.js.map +0 -1
  336. package/dist/workspace/WorkspaceOptionsProject.js +0 -3
  337. package/dist/workspace/WorkspaceOptionsProject.js.map +0 -1
  338. package/dist/workspace/WorkspacePackageJson.js +0 -3
  339. package/dist/workspace/WorkspacePackageJson.js.map +0 -1
  340. package/dist/workspace/WorkspaceProjectGlobs.js +0 -5
  341. package/dist/workspace/WorkspaceProjectGlobs.js.map +0 -1
  342. package/dist/workspace/WorkspaceProjects.js +0 -3
  343. package/dist/workspace/WorkspaceProjects.js.map +0 -1
  344. package/dist/workspace/WorkspaceRepository.js +0 -5
  345. package/dist/workspace/WorkspaceRepository.js.map +0 -1
  346. package/dist/workspace/WorkspaceUpdateOptions.js +0 -5
  347. package/dist/workspace/WorkspaceUpdateOptions.js.map +0 -1
  348. package/dist/workspace/internals/compareProjectPath.js +0 -10
  349. package/dist/workspace/internals/compareProjectPath.js.map +0 -1
  350. package/dist/workspace/internals/compareSemver.js +0 -26
  351. package/dist/workspace/internals/compareSemver.js.map +0 -1
  352. package/dist/workspace/internals/compareWorkspaceDependencyProjectName.js +0 -10
  353. package/dist/workspace/internals/compareWorkspaceDependencyProjectName.js.map +0 -1
  354. package/dist/workspace/internals/containsProject.js +0 -19
  355. package/dist/workspace/internals/containsProject.js.map +0 -1
  356. package/dist/workspace/internals/containsWorkspace.js +0 -14
  357. package/dist/workspace/internals/containsWorkspace.js.map +0 -1
  358. package/dist/workspace/internals/getPackageJsonWorkspaces.js +0 -31
  359. package/dist/workspace/internals/getPackageJsonWorkspaces.js.map +0 -1
  360. package/dist/workspace/internals/getRepositoryBranches.js +0 -27
  361. package/dist/workspace/internals/getRepositoryBranches.js.map +0 -1
  362. package/dist/workspace/internals/getRepositoryUrl.js +0 -20
  363. package/dist/workspace/internals/getRepositoryUrl.js.map +0 -1
  364. package/dist/workspace/internals.js +0 -10
  365. package/dist/workspace/internals.js.map +0 -1
  366. package/dist/workspace/saveProjectConfig.js +0 -17
  367. package/dist/workspace/saveProjectConfig.js.map +0 -1
  368. package/dist/workspace/saveWorkspaceConfig.js +0 -17
  369. package/dist/workspace/saveWorkspaceConfig.js.map +0 -1
  370. package/dist/workspace.js +0 -24
  371. package/dist/workspace.js.map +0 -1
  372. package/{dist → build}/commands/create-project/CreateProject.d.ts +1 -1
  373. package/{dist → build}/commands/create-project/CreateProjectInput.d.ts +0 -0
  374. package/{dist → build}/commands/create-project/runCreateProject.d.ts +1 -1
  375. package/{dist → build}/commands/create-project.d.ts +2 -2
  376. package/{dist → build}/commands/create-workspace/CreateWorkspace.d.ts +0 -0
  377. package/{dist → build}/commands/create-workspace/CreateWorkspaceInput.d.ts +0 -0
  378. package/{dist → build}/commands/create-workspace/runCreateWorkspace.d.ts +0 -0
  379. package/{dist → build}/commands/create-workspace.d.ts +2 -2
  380. package/{dist → build}/commands/internals/CommandStatus.d.ts +0 -0
  381. package/{dist → build}/commands/internals/packageNameToDirectory.d.ts +0 -0
  382. package/{dist → build}/commands/internals.d.ts +0 -0
  383. package/{dist → build}/commands/update-workspace/UpdateWorkspace.d.ts +1 -1
  384. package/{dist → build}/commands/update-workspace/runUpdateWorkspace.d.ts +1 -1
  385. package/{dist → build}/commands/update-workspace.d.ts +0 -0
  386. package/{dist → build}/commands.d.ts +0 -0
  387. package/{dist → build}/constants.d.ts +0 -0
  388. package/{dist → build}/main.d.ts +0 -0
  389. package/{dist → build}/run.d.ts +0 -0
  390. package/{dist → build}/template/CarsonTemplate.d.ts +0 -0
  391. package/{dist → build}/template/CarsonTemplateConfig.d.ts +0 -0
  392. package/{dist → build}/template/CarsonTemplateError.d.ts +0 -0
  393. package/{dist → build}/template/TemplateAttributes.d.ts +0 -0
  394. package/{dist → build}/template/TemplateData.d.ts +0 -0
  395. package/{dist → build}/template/TemplateRender.d.ts +0 -0
  396. package/{dist → build}/template/TemplateRenders.d.ts +0 -0
  397. package/{dist → build}/template/applyTemplateRenders.d.ts +0 -0
  398. package/{dist → build}/template/internals/TemplateRenderSnapshot.d.ts +0 -0
  399. package/{dist → build}/template/internals/TemplateRenderSnapshots.d.ts +0 -0
  400. package/{dist → build}/template/internals/createUsingTemplateRender.d.ts +1 -1
  401. package/{dist → build}/template/internals/deleteUsingTemplateRender.d.ts +1 -1
  402. package/{dist → build}/template/internals/importCarsonTemplate.d.ts +0 -0
  403. package/{dist → build}/template/internals/insertUsingTemplateRender.d.ts +1 -1
  404. package/{dist → build}/template/internals/loadTemplateRenderSnapshots.d.ts +0 -0
  405. package/{dist → build}/template/internals/merge.d.ts +0 -0
  406. package/{dist → build}/template/internals/mergeUsingTemplateRender.d.ts +1 -1
  407. package/{dist → build}/template/internals/overwriteUsingTemplateRender.d.ts +1 -1
  408. package/{dist → build}/template/internals/parseCarsonTemplateId.d.ts +0 -0
  409. package/{dist → build}/template/internals/prettify.d.ts +0 -0
  410. package/{dist → build}/template/internals/readCarsonTemplate.d.ts +0 -0
  411. package/{dist → build}/template/internals/resolveModule.d.ts +0 -0
  412. package/{dist → build}/template/internals/saveTemplateRenderSnapshots.d.ts +0 -0
  413. package/{dist → build}/template/internals/uninsertUsingTemplateRender.d.ts +1 -1
  414. package/{dist → build}/template/internals/unmerge.d.ts +0 -0
  415. package/{dist → build}/template/internals/unmergeUsingTemplateRender.d.ts +1 -1
  416. package/{dist → build}/template/internals.d.ts +12 -12
  417. package/{dist → build}/template/renderCarsonTemplate.d.ts +0 -0
  418. package/{dist → build}/template.d.ts +0 -0
  419. package/{dist → build}/workspace/Project.d.ts +0 -0
  420. package/{dist → build}/workspace/ProjectConfig.d.ts +0 -0
  421. package/{dist → build}/workspace/ProjectCreateOptions.d.ts +0 -0
  422. package/{dist → build}/workspace/ProjectOptions.d.ts +0 -0
  423. package/{dist → build}/workspace/ProjectUpdateOptions.d.ts +0 -0
  424. package/{dist → build}/workspace/WorkspaceConfig.d.ts +0 -0
  425. package/{dist → build}/workspace/WorkspaceCreateOptions.d.ts +0 -0
  426. package/{dist → build}/workspace/WorkspaceCreateProjectOptions.d.ts +0 -0
  427. package/{dist → build}/workspace/WorkspaceDependencies.d.ts +0 -0
  428. package/{dist → build}/workspace/WorkspaceDependenciesFromWorkspaceOptions.d.ts +0 -0
  429. package/{dist → build}/workspace/WorkspaceDependenciesGetVersionsOptions.d.ts +0 -0
  430. package/{dist → build}/workspace/WorkspaceDependency.d.ts +0 -0
  431. package/{dist → build}/workspace/WorkspaceDependencyProject.d.ts +0 -0
  432. package/{dist → build}/workspace/WorkspaceFindAndReadOptions.d.ts +0 -0
  433. package/{dist → build}/workspace/WorkspaceOptions.d.ts +0 -0
  434. package/{dist → build}/workspace/WorkspaceOptionsProject.d.ts +0 -0
  435. package/{dist → build}/workspace/WorkspacePackageJson.d.ts +0 -0
  436. package/{dist → build}/workspace/WorkspaceProjectGlobs.d.ts +0 -0
  437. package/{dist → build}/workspace/WorkspaceProjects.d.ts +0 -0
  438. package/{dist → build}/workspace/WorkspaceRepository.d.ts +0 -0
  439. package/{dist → build}/workspace/WorkspaceUpdateOptions.d.ts +0 -0
  440. package/{dist → build}/workspace/internals/compareProjectPath.d.ts +0 -0
  441. package/{dist → build}/workspace/internals/compareSemver.d.ts +0 -0
  442. package/{dist → build}/workspace/internals/compareWorkspaceDependencyProjectName.d.ts +0 -0
  443. package/{dist → build}/workspace/internals/containsProject.d.ts +0 -0
  444. package/{dist → build}/workspace/internals/containsWorkspace.d.ts +0 -0
  445. package/{dist → build}/workspace/internals/getPackageJsonWorkspaces.d.ts +0 -0
  446. package/{dist → build}/workspace/internals/getRepositoryBranches.d.ts +0 -0
  447. package/{dist → build}/workspace/internals/getRepositoryUrl.d.ts +0 -0
  448. package/{dist → build}/workspace/internals.d.ts +0 -0
  449. package/{dist → build}/workspace/saveProjectConfig.d.ts +0 -0
  450. package/{dist → build}/workspace/saveWorkspaceConfig.d.ts +0 -0
  451. package/{dist → build}/workspace.d.ts +0 -0
  452. package/{src → source}/commands/create-project/createProjectCommand.tsx +1 -1
  453. package/{src → source}/commands/create-project/runCreateProject.ts +1 -1
  454. package/{src → source}/commands/create-project.ts +2 -2
  455. package/{src → source}/commands/create-workspace/createWorkspaceCommand.tsx +0 -0
  456. package/{src → source}/commands/create-workspace/runCreateWorkspace.ts +1 -1
  457. package/{src → source}/commands/create-workspace.ts +2 -2
  458. package/{src → source}/commands/internals/CommandStatus.ts +0 -0
  459. package/{src → source}/commands/internals/packageNameToDirectory.ts +0 -0
  460. package/{src → source}/commands/internals.ts +0 -0
  461. package/{src → source}/commands/update-workspace/runUpdateWorkspace.ts +1 -1
  462. package/{src → source}/commands/update-workspace/updateWorkspaceCommand.tsx +1 -1
  463. package/{src → source}/commands/update-workspace.ts +0 -0
  464. package/{src → source}/commands.ts +0 -0
  465. package/{src → source}/constants.ts +0 -0
  466. package/{src → source}/main.ts +0 -0
  467. package/{src → source}/modules.d.ts +0 -0
  468. package/{src → source}/template/CarsonTemplate.ts +0 -0
  469. package/{src → source}/template/CarsonTemplateConfig.ts +0 -0
  470. package/{src → source}/template/CarsonTemplateError.ts +0 -0
  471. package/{src → source}/template/TemplateAttributes.ts +0 -0
  472. package/{src → source}/template/TemplateData.ts +0 -0
  473. package/{src → source}/template/TemplateRender.ts +0 -0
  474. package/{src → source}/template/TemplateRenders.ts +0 -0
  475. package/{src → source}/template/internals/TemplateRenderSnapshot.ts +0 -0
  476. package/{src → source}/template/internals/TemplateRenderSnapshots.ts +0 -0
  477. package/{src → source}/template/internals/createUsingTemplateRender.ts +1 -1
  478. package/{src → source}/template/internals/deleteUsingTemplateRender.ts +1 -1
  479. package/{src → source}/template/internals/importCarsonTemplate.ts +0 -0
  480. package/{src → source}/template/internals/insertUsingTemplateRender.ts +2 -2
  481. package/{src → source}/template/internals/loadTemplateRenderSnapshots.ts +0 -0
  482. package/{src → source}/template/internals/merge.ts +0 -0
  483. package/{src → source}/template/internals/mergeUsingTemplateRender.ts +2 -2
  484. package/{src → source}/template/internals/overwriteUsingTemplateRender.ts +1 -1
  485. package/{src → source}/template/internals/parseCarsonTemplateId.ts +0 -0
  486. package/{src → source}/template/internals/resolveModule.ts +0 -0
  487. package/{src → source}/template/internals/saveTemplateRenderSnapshots.ts +1 -1
  488. package/{src → source}/template/internals/uninsertUsingTemplateRender.ts +2 -2
  489. package/{src → source}/template/internals/unmerge.ts +0 -0
  490. package/{src → source}/template/internals/unmergeUsingTemplateRender.ts +2 -2
  491. package/{src → source}/template/internals.ts +12 -12
  492. package/{src → source}/template/renderCarsonTemplate.ts +0 -0
  493. package/{src → source}/template.ts +0 -0
  494. package/{src → source}/workspace/ProjectConfig.ts +0 -0
  495. package/{src → source}/workspace/ProjectCreateOptions.ts +0 -0
  496. package/{src → source}/workspace/ProjectError.ts +0 -0
  497. package/{src → source}/workspace/ProjectOptions.ts +0 -0
  498. package/{src → source}/workspace/ProjectUpdateOptions.ts +0 -0
  499. package/{src → source}/workspace/WorkspaceConfig.ts +0 -0
  500. package/{src → source}/workspace/WorkspaceCreateOptions.ts +0 -0
  501. package/{src → source}/workspace/WorkspaceCreateProjectOptions.ts +0 -0
  502. package/{src → source}/workspace/WorkspaceDependenciesFromWorkspaceOptions.ts +0 -0
  503. package/{src → source}/workspace/WorkspaceDependenciesGetVersionsOptions.ts +0 -0
  504. package/{src → source}/workspace/WorkspaceDependency.ts +0 -0
  505. package/{src → source}/workspace/WorkspaceDependencyProject.ts +0 -0
  506. package/{src → source}/workspace/WorkspaceError.ts +0 -0
  507. package/{src → source}/workspace/WorkspaceFindAndReadOptions.ts +0 -0
  508. package/{src → source}/workspace/WorkspaceOptionsProject.ts +0 -0
  509. package/{src → source}/workspace/WorkspacePackageJson.ts +0 -0
  510. package/{src → source}/workspace/WorkspaceProjectGlobs.ts +0 -0
  511. package/{src → source}/workspace/WorkspaceProjects.ts +0 -0
  512. package/{src → source}/workspace/WorkspaceRepository.ts +0 -0
  513. package/{src → source}/workspace/WorkspaceUpdateOptions.ts +0 -0
  514. package/{src → source}/workspace/internals/compareProjectPath.ts +0 -0
  515. package/{src → source}/workspace/internals/compareWorkspaceDependencyProjectName.ts +0 -0
  516. package/{src → source}/workspace/internals/containsProject.ts +0 -0
  517. package/{src → source}/workspace/internals/containsWorkspace.ts +0 -0
  518. package/{src → source}/workspace/internals/getRepositoryBranches.ts +0 -0
  519. package/{src → source}/workspace/internals/getRepositoryUrl.ts +0 -0
  520. package/{src → source}/workspace/internals.ts +0 -0
  521. package/{src → source}/workspace/saveProjectConfig.ts +1 -1
  522. package/{src → source}/workspace/saveWorkspaceConfig.ts +1 -1
  523. /package/{src → source}/workspace.ts +0 -0
@@ -1,204 +0,0 @@
1
- import { ensureEmptyDirectory, pathToPosixPath } from '@jakubmazanec/fs-utils';
2
- import { readFile, packageJsonSchema } from '@jakubmazanec/zod-utils';
3
- import fs from 'fs-extra';
4
- import json5 from 'json5';
5
- import path from 'node:path';
6
- import { z } from 'zod';
7
- import { projectConfigSchema } from './ProjectConfig.js';
8
- import { ProjectError } from './ProjectError.js';
9
- import { saveProjectConfig } from './saveProjectConfig.js';
10
- import { CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME, PROJECT_SNAPSHOT_FILENAME } from '../constants.js';
11
- import { applyTemplateRenders } from '../template/applyTemplateRenders.js';
12
- import { renderCarsonTemplate } from '../template/renderCarsonTemplate.js';
13
- /**
14
- * Project represent a self-contained piece of software (e.g. a package, or an app) that is part of a {@link Workspace}. Currently only Node.js projects are supported.
15
- *
16
- * @typeParam M If true, the project belongs to a multi-project workspace.
17
- */ export class Project {
18
- /** Project name. */ name;
19
- /** Project path. */ path;
20
- /** Project path relative to workspace path. */ relativePath;
21
- /** Project configuration; if it's not found, the default is an empty object. */ config;
22
- /** Parsed project `package.json` file; if it's not found, the default is an empty object. */ packageJson;
23
- /** Parent {@link Workspace} instance. */ workspace;
24
- /** Errors found during reading from the file system. */ errors = [];
25
- constructor({ path: projectPath, name, config, packageJson, workspace, errors }){
26
- // TODO: check that this path and workspace path are correct, i.e. project path must always be inside of workspace path
27
- this.path = projectPath;
28
- if (name) {
29
- this.name = name;
30
- }
31
- if (config) {
32
- this.config = config;
33
- } else {
34
- this.config = {};
35
- }
36
- if (packageJson) {
37
- this.packageJson = packageJson;
38
- } else {
39
- this.packageJson = {};
40
- }
41
- this.workspace = workspace;
42
- if (errors) {
43
- this.errors = errors;
44
- }
45
- if (this.packageJson.name?.length) {
46
- this.name = this.packageJson.name;
47
- }
48
- this.relativePath = pathToPosixPath(path.relative(this.workspace.path, this.path));
49
- }
50
- static async create({ templateId, workspace, projectPath, projectName, args }) {
51
- let project = new this({
52
- path: projectPath,
53
- name: projectName,
54
- config: {
55
- template: templateId
56
- },
57
- workspace
58
- });
59
- // if the workspace is single-project, it shares a directory with the project, so we can't insist on it being an empty directory
60
- if (workspace.isMultiProject) {
61
- try {
62
- await ensureEmptyDirectory(project.path);
63
- } catch {
64
- throw new ProjectError('PROJECT_PATH_NOT_EMPTY', {
65
- messageParameters: [
66
- project.path
67
- ],
68
- data: {
69
- path: project.path
70
- }
71
- });
72
- }
73
- }
74
- let templateRenders = await renderCarsonTemplate({
75
- templateId,
76
- templateData: {
77
- workspace,
78
- project,
79
- args
80
- }
81
- });
82
- await applyTemplateRenders({
83
- templateRenders,
84
- targetPath: project.path,
85
- snapshotPath: path.join(project.path, CARSON_CONFIG_DIRECTORY, PROJECT_SNAPSHOT_FILENAME),
86
- ignoreStrategies: [
87
- 'check'
88
- ]
89
- });
90
- await saveProjectConfig({
91
- projectPath: project.path,
92
- projectConfig: {
93
- template: templateId
94
- }
95
- });
96
- await project.read();
97
- return project;
98
- }
99
- static async read(projectPath, workspace) {
100
- let project = new this({
101
- path: projectPath,
102
- workspace
103
- });
104
- await project.read();
105
- return project;
106
- }
107
- async read() {
108
- if (!await fs.pathExists(this.path)) {
109
- throw new ProjectError('NO_SUCH_PROJECT_PATH', {
110
- messageParameters: [
111
- this.path
112
- ],
113
- data: {
114
- path: this.path
115
- }
116
- });
117
- }
118
- let errors = [];
119
- // load project config
120
- let projectConfigPath = path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME);
121
- let doesProjectConfigExist = await fs.pathExists(projectConfigPath);
122
- let projectConfig;
123
- if (doesProjectConfigExist) {
124
- projectConfig = await readFile(projectConfigPath, projectConfigSchema, {
125
- parser: (rawString)=>json5.parse(rawString)
126
- });
127
- } else {
128
- projectConfig = {};
129
- }
130
- if (projectConfig instanceof z.ZodError) {
131
- let zodError = projectConfig;
132
- errors.push(new ProjectError('INVALID_PROJECT_CONFIG', {
133
- messageParameters: [
134
- projectConfigPath
135
- ],
136
- data: {
137
- path: projectConfigPath,
138
- zodIssues: zodError.issues
139
- }
140
- }));
141
- projectConfig = {};
142
- }
143
- // load package.json
144
- let packageJsonPath = path.join(this.path, 'package.json');
145
- let doesPackageJsonExist = await fs.pathExists(packageJsonPath);
146
- let packageJson;
147
- if (doesPackageJsonExist) {
148
- packageJson = await readFile(packageJsonPath, packageJsonSchema, {
149
- parser: (rawString)=>json5.parse(rawString)
150
- });
151
- } else {
152
- packageJson = {};
153
- }
154
- if (packageJson instanceof z.ZodError) {
155
- let zodError = packageJson;
156
- errors.push(new ProjectError('INVALID_PACKAGE_JSON', {
157
- messageParameters: [
158
- packageJsonPath
159
- ],
160
- data: {
161
- path: packageJsonPath,
162
- zodIssues: zodError.issues
163
- }
164
- }));
165
- packageJson = {};
166
- }
167
- if (packageJson.name?.length) {
168
- this.name = packageJson.name;
169
- }
170
- this.config = projectConfig;
171
- this.packageJson = packageJson;
172
- this.errors = errors;
173
- return this;
174
- }
175
- async update({ args }) {
176
- if (!this.config.template) {
177
- throw new ProjectError('MISSING_CARSON_TEMPLATE_ID', {
178
- messageParameters: [
179
- path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME)
180
- ]
181
- });
182
- }
183
- let templateRenders = await renderCarsonTemplate({
184
- templateId: this.config.template,
185
- templateData: {
186
- workspace: this.workspace,
187
- project: this,
188
- args
189
- }
190
- });
191
- await applyTemplateRenders({
192
- templateRenders,
193
- targetPath: this.path,
194
- snapshotPath: path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_SNAPSHOT_FILENAME),
195
- ignoreStrategies: [
196
- 'create'
197
- ]
198
- });
199
- await this.read();
200
- return this;
201
- }
202
- }
203
-
204
- //# sourceMappingURL=Project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/workspace/Project.ts"],"sourcesContent":["import {ensureEmptyDirectory, pathToPosixPath} from '@jakubmazanec/fs-utils';\nimport {readFile, packageJsonSchema, type PackageJson} from '@jakubmazanec/zod-utils';\nimport fs from 'fs-extra';\nimport json5 from 'json5';\nimport path from 'node:path';\nimport {z} from 'zod';\n\nimport {type ProjectConfig, projectConfigSchema} from './ProjectConfig.js';\nimport {type ProjectCreateOptions} from './ProjectCreateOptions.js';\nimport {ProjectError} from './ProjectError.js';\nimport {type ProjectOptions} from './ProjectOptions.js';\nimport {type ProjectUpdateOptions} from './ProjectUpdateOptions.js';\nimport {saveProjectConfig} from './saveProjectConfig.js';\nimport {type Workspace} from './Workspace.js';\nimport {\n CARSON_CONFIG_DIRECTORY,\n PROJECT_CONFIG_FILENAME,\n PROJECT_SNAPSHOT_FILENAME,\n} from '../constants.js';\nimport {applyTemplateRenders} from '../template/applyTemplateRenders.js';\nimport {renderCarsonTemplate} from '../template/renderCarsonTemplate.js';\n\n/**\n * Project represent a self-contained piece of software (e.g. a package, or an app) that is part of a {@link Workspace}. Currently only Node.js projects are supported.\n *\n * @typeParam M If true, the project belongs to a multi-project workspace.\n */\nexport class Project<M extends boolean = true> {\n /** Project name. */\n name?: string;\n\n /** Project path. */\n path: string;\n\n /** Project path relative to workspace path. */\n relativePath: string;\n\n /** Project configuration; if it's not found, the default is an empty object. */\n config: ProjectConfig;\n\n /** Parsed project `package.json` file; if it's not found, the default is an empty object. */\n packageJson: PackageJson;\n\n /** Parent {@link Workspace} instance. */\n workspace: Workspace<M>;\n\n /** Errors found during reading from the file system. */\n errors: Array<InstanceType<typeof ProjectError>> = [];\n\n constructor({\n path: projectPath,\n name,\n config,\n packageJson,\n workspace,\n errors,\n }: ProjectOptions<M>) {\n // TODO: check that this path and workspace path are correct, i.e. project path must always be inside of workspace path\n this.path = projectPath;\n\n if (name) {\n this.name = name;\n }\n\n if (config) {\n this.config = config;\n } else {\n this.config = {};\n }\n\n if (packageJson) {\n this.packageJson = packageJson;\n } else {\n this.packageJson = {};\n }\n\n this.workspace = workspace;\n\n if (errors) {\n this.errors = errors;\n }\n\n if (this.packageJson.name?.length) {\n this.name = this.packageJson.name;\n }\n\n this.relativePath = pathToPosixPath(path.relative(this.workspace.path, this.path));\n }\n\n static async create<M extends boolean>({\n templateId,\n workspace,\n projectPath,\n projectName,\n args,\n }: ProjectCreateOptions<M>): Promise<Project<M>> {\n let project = new this({\n path: projectPath,\n name: projectName,\n config: {\n template: templateId,\n },\n workspace,\n });\n\n // if the workspace is single-project, it shares a directory with the project, so we can't insist on it being an empty directory\n if (workspace.isMultiProject) {\n try {\n await ensureEmptyDirectory(project.path);\n } catch {\n throw new ProjectError('PROJECT_PATH_NOT_EMPTY', {\n messageParameters: [project.path],\n data: {\n path: project.path,\n },\n });\n }\n }\n\n let templateRenders = await renderCarsonTemplate({\n templateId,\n templateData: {\n workspace,\n project,\n args,\n },\n });\n\n await applyTemplateRenders({\n templateRenders,\n targetPath: project.path,\n snapshotPath: path.join(project.path, CARSON_CONFIG_DIRECTORY, PROJECT_SNAPSHOT_FILENAME),\n ignoreStrategies: ['check'],\n });\n\n await saveProjectConfig({projectPath: project.path, projectConfig: {template: templateId}});\n\n await project.read();\n\n return project;\n }\n\n static async read<M extends boolean>(\n projectPath: string,\n workspace: Workspace<M>,\n ): Promise<Project<M>> {\n let project = new this({\n path: projectPath,\n workspace,\n });\n\n await project.read();\n\n return project;\n }\n\n async read() {\n if (!(await fs.pathExists(this.path))) {\n throw new ProjectError('NO_SUCH_PROJECT_PATH', {\n messageParameters: [this.path],\n data: {\n path: this.path,\n },\n });\n }\n\n let errors: Array<InstanceType<typeof ProjectError>> = [];\n\n // load project config\n let projectConfigPath = path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME);\n let doesProjectConfigExist = await fs.pathExists(projectConfigPath);\n let projectConfig: ProjectConfig | z.ZodError;\n\n if (doesProjectConfigExist) {\n projectConfig = await readFile(projectConfigPath, projectConfigSchema, {\n parser: (rawString: string) => json5.parse<unknown>(rawString),\n });\n } else {\n projectConfig = {};\n }\n\n if (projectConfig instanceof z.ZodError) {\n let zodError = projectConfig;\n\n errors.push(\n new ProjectError('INVALID_PROJECT_CONFIG', {\n messageParameters: [projectConfigPath],\n data: {\n path: projectConfigPath,\n zodIssues: zodError.issues,\n },\n }),\n );\n\n projectConfig = {};\n }\n\n // load package.json\n let packageJsonPath = path.join(this.path, 'package.json');\n let doesPackageJsonExist = await fs.pathExists(packageJsonPath);\n let packageJson: PackageJson | z.ZodError;\n\n if (doesPackageJsonExist) {\n packageJson = await readFile(packageJsonPath, packageJsonSchema, {\n parser: (rawString: string) => json5.parse<unknown>(rawString),\n });\n } else {\n packageJson = {};\n }\n\n if (packageJson instanceof z.ZodError) {\n let zodError = packageJson;\n\n errors.push(\n new ProjectError('INVALID_PACKAGE_JSON', {\n messageParameters: [packageJsonPath],\n data: {\n path: packageJsonPath,\n zodIssues: zodError.issues,\n },\n }),\n );\n\n packageJson = {};\n }\n\n if (packageJson.name?.length) {\n this.name = packageJson.name;\n }\n\n this.config = projectConfig;\n this.packageJson = packageJson;\n this.errors = errors;\n\n return this;\n }\n\n async update({args}: ProjectUpdateOptions): Promise<this> {\n if (!this.config.template) {\n throw new ProjectError('MISSING_CARSON_TEMPLATE_ID', {\n messageParameters: [path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME)],\n });\n }\n\n let templateRenders = await renderCarsonTemplate({\n templateId: this.config.template,\n templateData: {\n workspace: this.workspace,\n project: this,\n args,\n },\n });\n\n await applyTemplateRenders({\n templateRenders,\n targetPath: this.path,\n snapshotPath: path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_SNAPSHOT_FILENAME),\n ignoreStrategies: ['create'],\n });\n\n await this.read();\n\n return this;\n }\n}\n"],"names":["ensureEmptyDirectory","pathToPosixPath","readFile","packageJsonSchema","fs","json5","path","z","projectConfigSchema","ProjectError","saveProjectConfig","CARSON_CONFIG_DIRECTORY","PROJECT_CONFIG_FILENAME","PROJECT_SNAPSHOT_FILENAME","applyTemplateRenders","renderCarsonTemplate","Project","name","relativePath","config","packageJson","workspace","errors","constructor","projectPath","length","relative","create","templateId","projectName","args","project","template","isMultiProject","messageParameters","data","templateRenders","templateData","targetPath","snapshotPath","join","ignoreStrategies","projectConfig","read","pathExists","projectConfigPath","doesProjectConfigExist","parser","rawString","parse","ZodError","zodError","push","zodIssues","issues","packageJsonPath","doesPackageJsonExist","update"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { z } from 'zod';
2
- export const projectConfigSchema = z.object({
3
- template: z.string().optional()
4
- }).catchall(z.unknown());
5
-
6
- //# sourceMappingURL=ProjectConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/workspace/ProjectConfig.ts"],"sourcesContent":["import {z} from 'zod';\n\nexport const projectConfigSchema = z\n .object({\n template: z.string().optional(),\n })\n .catchall(z.unknown());\n\n/**\n * A project configuration.\n */\nexport type ProjectConfig = z.infer<typeof projectConfigSchema>;\n"],"names":["z","projectConfigSchema","object","template","string","optional","catchall","unknown"],"mappings":"AAAA,SAAQA,CAAC,QAAO,MAAM;AAEtB,OAAO,MAAMC,sBAAsBD,EAChCE,MAAM,CAAC;IACNC,UAAUH,EAAEI,MAAM,GAAGC,QAAQ;AAC/B,GACCC,QAAQ,CAACN,EAAEO,OAAO,IAAI"}
@@ -1,3 +0,0 @@
1
- export { };
2
-
3
- //# sourceMappingURL=ProjectCreateOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/workspace/ProjectCreateOptions.ts"],"sourcesContent":["import {type Workspace} from './Workspace.js';\n\n/**\n * {@link Project.create | Project.create} options parameter.\n */\nexport type ProjectCreateOptions<M extends boolean> = {\n templateId: string;\n workspace: Workspace<M>;\n projectPath: string;\n projectName: string;\n args: Record<string, unknown>;\n};\n"],"names":[],"mappings":"AAAA,WAWE"}
@@ -1,15 +0,0 @@
1
- import { createCustomErrorWithData } from '@jakubmazanec/error';
2
- /**
3
- * A subclass of `Error` that indicates a project failure.
4
- */ export const ProjectError = createCustomErrorWithData('ProjectError', {
5
- INVALID_PACKAGE_JSON: 'Invalid package.json file "{0}".',
6
- INVALID_PROJECT_CONFIG: 'Invalid project config file "{0}".',
7
- NO_SUCH_PROJECT_PATH: 'Project path "{0}" doesn\'t exist.',
8
- PROJECT_PATH_NOT_EMPTY: 'Project path "{0}" must be an empty directory.',
9
- MISSING_CARSON_TEMPLATE_ID: 'Project config "{0}" is missing the Carson template ID.'
10
- }, class ProjectErrorData {
11
- path;
12
- zodIssues;
13
- });
14
-
15
- //# sourceMappingURL=ProjectError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/workspace/ProjectError.ts"],"sourcesContent":["import {createCustomErrorWithData} from '@jakubmazanec/error';\nimport {type ZodIssue} from 'zod';\n\n/**\n * A subclass of `Error` that indicates a project failure.\n */\nexport const ProjectError = createCustomErrorWithData(\n 'ProjectError',\n {\n INVALID_PACKAGE_JSON: 'Invalid package.json file \"{0}\".',\n INVALID_PROJECT_CONFIG: 'Invalid project config file \"{0}\".',\n NO_SUCH_PROJECT_PATH: 'Project path \"{0}\" doesn\\'t exist.',\n PROJECT_PATH_NOT_EMPTY: 'Project path \"{0}\" must be an empty directory.',\n MISSING_CARSON_TEMPLATE_ID: 'Project config \"{0}\" is missing the Carson template ID.',\n },\n class ProjectErrorData {\n path?: string;\n zodIssues?: ZodIssue[];\n },\n);\n"],"names":["createCustomErrorWithData","ProjectError","INVALID_PACKAGE_JSON","INVALID_PROJECT_CONFIG","NO_SUCH_PROJECT_PATH","PROJECT_PATH_NOT_EMPTY","MISSING_CARSON_TEMPLATE_ID","ProjectErrorData","path","zodIssues"],"mappings":"AAAA,SAAQA,yBAAyB,QAAO,sBAAsB;AAG9D;;CAEC,GACD,OAAO,MAAMC,eAAeD,0BAC1B,gBACA;IACEE,sBAAsB;IACtBC,wBAAwB;IACxBC,sBAAsB;IACtBC,wBAAwB;IACxBC,4BAA4B;AAC9B,GACA,MAAMC;IACJC,KAAc;IACdC,UAAuB;AACzB,GACA"}
@@ -1,3 +0,0 @@
1
- export { };
2
-
3
- //# sourceMappingURL=ProjectOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/workspace/ProjectOptions.ts"],"sourcesContent":["import {type PackageJson} from '@jakubmazanec/zod-utils';\n\nimport {type ProjectConfig} from './ProjectConfig.js';\nimport {type ProjectError} from './ProjectError.js';\nimport {type Workspace} from './Workspace.js';\n\n/**\n * {@link Project.constructor | Project constructor} options parameter.\n */\nexport type ProjectOptions<M extends boolean> = {\n path: string;\n name?: string;\n config?: ProjectConfig;\n packageJson?: PackageJson;\n workspace: Workspace<M>;\n errors?: Array<InstanceType<typeof ProjectError>>;\n};\n"],"names":[],"mappings":"AAAA,WAgBE"}
@@ -1,5 +0,0 @@
1
- /**
2
- * {@link Project.update | Project.update} options parameter.
3
- */ export { };
4
-
5
- //# sourceMappingURL=ProjectUpdateOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/workspace/ProjectUpdateOptions.ts"],"sourcesContent":["/**\n * {@link Project.update | Project.update} options parameter.\n */\nexport type ProjectUpdateOptions = {\n args: Record<string, unknown>;\n};\n"],"names":[],"mappings":"AAAA;;CAEC,GACD,WAEE"}