@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
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ import Observable from "zen-observable";
3
+ export function runUpdateWorkspace({ workspace, args }) {
4
+ return new Observable((observer) => {
5
+ (async () => {
6
+ observer.next("Updating workspace");
7
+ await workspace.update({ args });
8
+ for (let project of workspace.projects) {
9
+ observer.next(`Updating project ${project.name ?? "?"}`);
10
+ await project.update({ args });
11
+ }
12
+ })().then(() => {
13
+ observer.complete();
14
+ }).catch((error) => {
15
+ observer.error(error);
16
+ });
17
+ });
18
+ }
19
+ //# sourceMappingURL=runUpdateWorkspace.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/commands/update-workspace/runUpdateWorkspace.ts"],
4
+ "sourcesContent": ["import {type CommandArguments} from '@jakubmazanec/cli';\nimport Observable from 'zen-observable';\n\nimport {type Workspace} from '../../workspace.js';\nimport {type updateWorkspaceCommand} from './updateWorkspaceCommand.js';\n\nexport type UpdateWorkspaceAndProjectsOptions = {\n workspace: Workspace | Workspace<false>;\n args: CommandArguments<typeof updateWorkspaceCommand>;\n};\n\nexport type UpdateWorkspaceAndProjectsStatus = string;\n\nexport function runUpdateWorkspace({workspace, args}: UpdateWorkspaceAndProjectsOptions) {\n return new Observable<UpdateWorkspaceAndProjectsStatus>((observer) => {\n (async () => {\n // update workspace\n observer.next('Updating workspace');\n\n await workspace.update({args});\n\n // update projects\n for (let project of workspace.projects) {\n observer.next(`Updating project ${project.name ?? '?'}`);\n\n await project.update({args});\n }\n })()\n .then(() => {\n observer.complete();\n })\n .catch((error) => {\n observer.error(error);\n });\n });\n}\n"],
5
+ "mappings": ";AACA,OAAO,gBAAgB;AAYhB,gBAAS,mBAAmB,EAAC,WAAW,KAAI,GAAsC;AACvF,SAAO,IAAI,WAA6C,CAAC,aAAa;AACpE,KAAC,YAAY;AAEX,eAAS,KAAK,oBAAoB;AAElC,YAAM,UAAU,OAAO,EAAC,KAAI,CAAC;AAG7B,eAAS,WAAW,UAAU,UAAU;AACtC,iBAAS,KAAK,oBAAoB,QAAQ,QAAQ,GAAG,EAAE;AAEvD,cAAM,QAAQ,OAAO,EAAC,KAAI,CAAC;AAAA,MAC7B;AAAA,IACF,GAAG,EACA,KAAK,MAAM;AACV,eAAS,SAAS;AAAA,IACpB,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,eAAS,MAAM,KAAK;AAAA,IACtB,CAAC;AAAA,EACL,CAAC;AACH;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import { Command } from '@jakubmazanec/cli';
2
2
  export declare const updateWorkspaceCommand: Command<"update workspace", undefined, {
3
- path: {
4
- type: "string";
3
+ readonly path: {
4
+ readonly type: "string";
5
5
  };
6
6
  }, false, false>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { Command } from "@jakubmazanec/cli";
4
+ import path from "node:path";
5
+ import { Workspace } from "../../workspace.js";
6
+ import { UpdateWorkspace } from "./UpdateWorkspace.js";
7
+ export const updateWorkspaceCommand = new Command(
8
+ "update workspace",
9
+ async (args, program) => {
10
+ let resolvedPath = path.resolve(process.cwd(), args.options.path ?? "");
11
+ let workspace = await Workspace.findAndRead(resolvedPath, { throwIfNotFound: true });
12
+ if (workspace.errors[0]) {
13
+ throw workspace.errors[0];
14
+ }
15
+ for (let project of workspace.projects) {
16
+ if (project.errors[0]) {
17
+ throw project.errors[0];
18
+ }
19
+ }
20
+ await program.renderElement(/* @__PURE__ */ jsx(UpdateWorkspace, { workspace, args }));
21
+ },
22
+ {
23
+ description: "Updates files in a workspace.",
24
+ options: {
25
+ path: {
26
+ type: "string"
27
+ }
28
+ }
29
+ }
30
+ );
31
+ //# sourceMappingURL=updateWorkspaceCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/commands/update-workspace/updateWorkspaceCommand.tsx"],
4
+ "sourcesContent": ["import {Command} from '@jakubmazanec/cli';\nimport path from 'node:path';\n\nimport {Workspace} from '../../workspace.js';\nimport {UpdateWorkspace} from './UpdateWorkspace.js';\n\nexport const updateWorkspaceCommand = new Command(\n 'update workspace',\n async (args, program) => {\n let resolvedPath = path.resolve(process.cwd(), args.options.path ?? '');\n let workspace = await Workspace.findAndRead(resolvedPath, {throwIfNotFound: true});\n\n if (workspace.errors[0]) {\n throw workspace.errors[0];\n }\n\n for (let project of workspace.projects) {\n if (project.errors[0]) {\n throw project.errors[0];\n }\n }\n\n await program.renderElement(<UpdateWorkspace workspace={workspace} args={args} />);\n },\n {\n description: 'Updates files in a workspace.',\n options: {\n path: {\n type: 'string',\n },\n },\n },\n);\n"],
5
+ "mappings": ";AAsBgC;AAtBhC,SAAQ,eAAc;AACtB,OAAO,UAAU;AAEjB,SAAQ,iBAAgB;AACxB,SAAQ,uBAAsB;AAEvB,aAAM,yBAAyB,IAAI;AAAA,EACxC;AAAA,EACA,OAAO,MAAM,YAAY;AACvB,QAAI,eAAe,KAAK,QAAQ,QAAQ,IAAI,GAAG,KAAK,QAAQ,QAAQ,EAAE;AACtE,QAAI,YAAY,MAAM,UAAU,YAAY,cAAc,EAAC,iBAAiB,KAAI,CAAC;AAEjF,QAAI,UAAU,OAAO,CAAC,GAAG;AACvB,YAAM,UAAU,OAAO,CAAC;AAAA,IAC1B;AAEA,aAAS,WAAW,UAAU,UAAU;AACtC,UAAI,QAAQ,OAAO,CAAC,GAAG;AACrB,cAAM,QAAQ,OAAO,CAAC;AAAA,MACxB;AAAA,IACF;AAEA,UAAM,QAAQ,cAAc,oBAAC,mBAAgB,WAAsB,MAAY,CAAE;AAAA,EACnF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,SAAS;AAAA,MACP,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ export * from "./update-workspace/runUpdateWorkspace.js";
3
+ export * from "./update-workspace/UpdateWorkspace.js";
4
+ export * from "./update-workspace/updateWorkspaceCommand.js";
5
+ //# sourceMappingURL=update-workspace.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/commands/update-workspace.ts"],
4
+ "sourcesContent": ["export * from './update-workspace/runUpdateWorkspace.js';\nexport * from './update-workspace/UpdateWorkspace.js';\nexport * from './update-workspace/updateWorkspaceCommand.js';\n"],
5
+ "mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ export * from "./commands/create-project.js";
3
+ export * from "./commands/create-workspace.js";
4
+ export * from "./commands/update-workspace.js";
5
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../source/commands.ts"],
4
+ "sourcesContent": ["export * from './commands/create-project.js';\nexport * from './commands/create-workspace.js';\nexport * from './commands/update-workspace.js';\n"],
5
+ "mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ import path from "node:path";
3
+ import url from "node:url";
4
+ let directory = path.dirname(url.fileURLToPath(import.meta.url));
5
+ export const PACKAGE_PATH = path.resolve(directory, "..");
6
+ export const CARSON_CONFIG_DIRECTORY = ".carson";
7
+ export const PROJECT_CONFIG_FILENAME = "project.json";
8
+ export const WORKSPACE_CONFIG_FILENAME = "workspace.json";
9
+ export const PROJECT_SNAPSHOT_FILENAME = "project.snapshot";
10
+ export const WORKSPACE_SNAPSHOT_FILENAME = "workspace.snapshot";
11
+ export const TEMPLATES_PATH = "templates";
12
+ export const TEMPLATE_CONFIG_FILENAME = "config.json";
13
+ export const PACKAGE_JSON_FILENAME = "package.json";
14
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../source/constants.ts"],
4
+ "sourcesContent": ["import path from 'node:path';\nimport url from 'node:url';\n\nlet directory = path.dirname(url.fileURLToPath(import.meta.url));\n\nexport const PACKAGE_PATH = path.resolve(directory, '..');\n\nexport const CARSON_CONFIG_DIRECTORY = '.carson';\nexport const PROJECT_CONFIG_FILENAME = 'project.json';\nexport const WORKSPACE_CONFIG_FILENAME = 'workspace.json';\nexport const PROJECT_SNAPSHOT_FILENAME = 'project.snapshot';\nexport const WORKSPACE_SNAPSHOT_FILENAME = 'workspace.snapshot';\nexport const TEMPLATES_PATH = 'templates';\nexport const TEMPLATE_CONFIG_FILENAME = 'config.json';\nexport const PACKAGE_JSON_FILENAME = 'package.json';\n"],
5
+ "mappings": ";AAAA,OAAO,UAAU;AACjB,OAAO,SAAS;AAEhB,IAAI,YAAY,KAAK,QAAQ,IAAI,cAAc,YAAY,GAAG,CAAC;AAExD,aAAM,eAAe,KAAK,QAAQ,WAAW,IAAI;AAEjD,aAAM,0BAA0B;AAChC,aAAM,0BAA0B;AAChC,aAAM,4BAA4B;AAClC,aAAM,4BAA4B;AAClC,aAAM,8BAA8B;AACpC,aAAM,iBAAiB;AACvB,aAAM,2BAA2B;AACjC,aAAM,wBAAwB;",
6
+ "names": []
7
+ }
package/build/main.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ export * from "./commands.js";
3
+ export * from "./template.js";
4
+ export * from "./workspace.js";
5
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../source/main.ts"],
4
+ "sourcesContent": ["export * from './commands.js';\nexport * from './template.js';\nexport * from './workspace.js';\n"],
5
+ "mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=modules.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
package/build/run.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ import { getProgramDetail, Program } from "@jakubmazanec/cli";
3
+ import { readPackageJson } from "@jakubmazanec/zod-utils";
4
+ import path from "node:path";
5
+ import { createProjectCommand, createWorkspaceCommand, updateWorkspaceCommand } from "./commands.js";
6
+ import { PACKAGE_PATH } from "./constants.js";
7
+ let programDetail = getProgramDetail(
8
+ await readPackageJson(path.join(PACKAGE_PATH, "package.json"), { throwOnZodError: true })
9
+ );
10
+ let program = await Program.create({
11
+ ...programDetail,
12
+ displayName: "Carson",
13
+ checkForUpdate: true
14
+ });
15
+ program.addCommand(createWorkspaceCommand);
16
+ program.addCommand(createProjectCommand);
17
+ program.addCommand(updateWorkspaceCommand);
18
+ await program.run(process.argv.slice(2));
19
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../source/run.ts"],
4
+ "sourcesContent": ["import {getProgramDetail, Program} from '@jakubmazanec/cli';\nimport {readPackageJson} from '@jakubmazanec/zod-utils';\nimport path from 'node:path';\n\nimport {createProjectCommand, createWorkspaceCommand, updateWorkspaceCommand} from './commands.js';\nimport {PACKAGE_PATH} from './constants.js';\n\nlet programDetail = getProgramDetail(\n await readPackageJson(path.join(PACKAGE_PATH, 'package.json'), {throwOnZodError: true}),\n);\n\nlet program = await Program.create({\n ...programDetail,\n displayName: 'Carson',\n checkForUpdate: true,\n});\n\nprogram.addCommand(createWorkspaceCommand);\nprogram.addCommand(createProjectCommand);\nprogram.addCommand(updateWorkspaceCommand);\n\nawait program.run(process.argv.slice(2));\n"],
5
+ "mappings": ";AAAA,SAAQ,kBAAkB,eAAc;AACxC,SAAQ,uBAAsB;AAC9B,OAAO,UAAU;AAEjB,SAAQ,sBAAsB,wBAAwB,8BAA6B;AACnF,SAAQ,oBAAmB;AAE3B,IAAI,gBAAgB;AAAA,EAClB,MAAM,gBAAgB,KAAK,KAAK,cAAc,cAAc,GAAG,EAAC,iBAAiB,KAAI,CAAC;AACxF;AAEA,IAAI,UAAU,MAAM,QAAQ,OAAO;AAAA,EACjC,GAAG;AAAA,EACH,aAAa;AAAA,EACb,gBAAgB;AAClB,CAAC;AAED,QAAQ,WAAW,sBAAsB;AACzC,QAAQ,WAAW,oBAAoB;AACvC,QAAQ,WAAW,sBAAsB;AAEzC,MAAM,QAAQ,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=CarsonTemplate.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ import { z } from "zod";
3
+ export const carsonTemplateConfigSchema = z.object({
4
+ disallowMultiProjectWorkspace: z.boolean().optional(),
5
+ disallowSingleProjectWorkspace: z.boolean().optional()
6
+ // TODO: add extends property to allow reuisng template files from another carson template
7
+ }).strict();
8
+ //# sourceMappingURL=CarsonTemplateConfig.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/template/CarsonTemplateConfig.ts"],
4
+ "sourcesContent": ["import {z} from 'zod';\n\nexport const carsonTemplateConfigSchema = z\n .object({\n disallowMultiProjectWorkspace: z.boolean().optional(),\n disallowSingleProjectWorkspace: z.boolean().optional(),\n\n // TODO: add extends property to allow reuisng template files from another carson template\n })\n .strict();\n\n/**\n * Carson template config.\n */\nexport type CarsonTemplateConfig = z.infer<typeof carsonTemplateConfigSchema>;\n"],
5
+ "mappings": ";AAAA,SAAQ,SAAQ;AAET,aAAM,6BAA6B,EACvC,OAAO;AAAA,EACN,+BAA+B,EAAE,QAAQ,EAAE,SAAS;AAAA,EACpD,gCAAgC,EAAE,QAAQ,EAAE,SAAS;AAAA;AAGvD,CAAC,EACA,OAAO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ import { createCustomErrorWithData } from "@jakubmazanec/error";
3
+ export const CarsonTemplateError = createCustomErrorWithData(
4
+ "CarsonTemplateError",
5
+ {
6
+ INVALID_CARSON_TEMPLATE_ID: 'Invalid Carson template ID "{0}". Carson template ID must consist of a module ID and a template name separated by a colon.',
7
+ CARSON_TEMPLATE_NOT_FOUND: 'Carson template "{0}" was not found in module "{1}".',
8
+ STRATEGY_UNSUPPORTED_EXTENSION: `Strategy "{0}" in the template file "{1}" doesn't support extension "{2}".`,
9
+ STRATEGY_MISSING_FILE: 'Strategy "{0}" in the template file "{1}" is missing file "{2}".'
10
+ },
11
+ class CarsonTemplateErrorData {
12
+ path;
13
+ }
14
+ );
15
+ //# sourceMappingURL=CarsonTemplateError.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/template/CarsonTemplateError.ts"],
4
+ "sourcesContent": ["import {createCustomErrorWithData} from '@jakubmazanec/error';\n\n/**\n * A subclass of `Error` that indicates a Carson template failure.\n */\nexport const CarsonTemplateError = createCustomErrorWithData(\n 'CarsonTemplateError',\n {\n INVALID_CARSON_TEMPLATE_ID:\n 'Invalid Carson template ID \"{0}\". Carson template ID must consist of a module ID and a template name separated by a colon.',\n CARSON_TEMPLATE_NOT_FOUND: 'Carson template \"{0}\" was not found in module \"{1}\".',\n STRATEGY_UNSUPPORTED_EXTENSION:\n 'Strategy \"{0}\" in the template file \"{1}\" doesn\\'t support extension \"{2}\".',\n STRATEGY_MISSING_FILE: 'Strategy \"{0}\" in the template file \"{1}\" is missing file \"{2}\".',\n },\n class CarsonTemplateErrorData {\n path?: string;\n },\n);\n"],
5
+ "mappings": ";AAAA,SAAQ,iCAAgC;AAKjC,aAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AAAA,IACE,4BACE;AAAA,IACF,2BAA2B;AAAA,IAC3B,gCACE;AAAA,IACF,uBAAuB;AAAA,EACzB;AAAA,EACA,MAAM,wBAAwB;AAAA,IAC5B;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ import { z } from "zod";
3
+ let strategyTemplateAttributeSchema = z.union([
4
+ z.literal("create"),
5
+ z.literal("ensure"),
6
+ z.literal("overwrite"),
7
+ z.literal("merge"),
8
+ z.literal("check"),
9
+ z.tuple([z.literal("insert"), z.string()])
10
+ ]);
11
+ export const templateAttributesSchema = z.object({
12
+ strategy: strategyTemplateAttributeSchema
13
+ }).strict();
14
+ //# sourceMappingURL=TemplateAttributes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/template/TemplateAttributes.ts"],
4
+ "sourcesContent": ["import {z} from 'zod';\n\n// TODO: add strategy 'none' so when you using template A that extends template B, you can overwrite template files to no-op\nlet strategyTemplateAttributeSchema = z.union([\n z.literal('create'),\n z.literal('ensure'),\n z.literal('overwrite'),\n z.literal('merge'),\n z.literal('check'),\n z.tuple([z.literal('insert'), z.string()]),\n]);\n\nexport const templateAttributesSchema = z\n .object({\n strategy: strategyTemplateAttributeSchema,\n })\n .strict();\n\nexport type TemplateAttributes = z.infer<typeof templateAttributesSchema>;\n"],
5
+ "mappings": ";AAAA,SAAQ,SAAQ;AAGhB,IAAI,kCAAkC,EAAE,MAAM;AAAA,EAC5C,EAAE,QAAQ,QAAQ;AAAA,EAClB,EAAE,QAAQ,QAAQ;AAAA,EAClB,EAAE,QAAQ,WAAW;AAAA,EACrB,EAAE,QAAQ,OAAO;AAAA,EACjB,EAAE,QAAQ,OAAO;AAAA,EACjB,EAAE,MAAM,CAAC,EAAE,QAAQ,QAAQ,GAAG,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAEM,aAAM,2BAA2B,EACrC,OAAO;AAAA,EACN,UAAU;AACZ,CAAC,EACA,OAAO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ import { z } from "zod";
3
+ import { Project } from "../workspace/Project.js";
4
+ import { Workspace } from "../workspace/Workspace.js";
5
+ export const templateDataSchema = z.object({
6
+ workspace: z.instanceof(Workspace).optional(),
7
+ project: z.instanceof(Project).optional(),
8
+ args: z.record(z.unknown()).optional()
9
+ }).strict();
10
+ //# sourceMappingURL=TemplateData.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/template/TemplateData.ts"],
4
+ "sourcesContent": ["import {z} from 'zod';\n\nimport {Project} from '../workspace/Project.js';\nimport {Workspace} from '../workspace/Workspace.js';\n\n// TODO: what about template data for workspace and template data for project, so we can get rid of the `.optional()`?\nexport const templateDataSchema = z\n .object({\n workspace: z.instanceof(Workspace).optional(),\n project: z.instanceof(Project).optional(),\n args: z.record(z.unknown()).optional(),\n })\n .strict();\n\nexport type TemplateData = z.infer<typeof templateDataSchema>;\n"],
5
+ "mappings": ";AAAA,SAAQ,SAAQ;AAEhB,SAAQ,eAAc;AACtB,SAAQ,iBAAgB;AAGjB,aAAM,qBAAqB,EAC/B,OAAO;AAAA,EACN,WAAW,EAAE,WAAW,SAAS,EAAE,SAAS;AAAA,EAC5C,SAAS,EAAE,WAAW,OAAO,EAAE,SAAS;AAAA,EACxC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS;AACvC,CAAC,EACA,OAAO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=TemplateRender.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=TemplateRenders.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ import fs from "fs-extra";
3
+ import path from "node:path";
4
+ import prettier from "prettier";
5
+ import { CARSON_CONFIG_DIRECTORY } from "../constants.js";
6
+ import { CarsonTemplateError } from "./CarsonTemplateError.js";
7
+ import {
8
+ createUsingTemplateRender,
9
+ deleteUsingTemplateRender,
10
+ insertUsingTemplateRender,
11
+ loadTemplateRenderSnapshots,
12
+ mergeUsingTemplateRender,
13
+ overwriteUsingTemplateRender,
14
+ saveTemplateRenderSnapshots,
15
+ uninsertUsingTemplateRender,
16
+ unmergeUsingTemplateRender
17
+ } from "./internals.js";
18
+ export async function applyTemplateRenders({
19
+ templateRenders,
20
+ targetPath,
21
+ snapshotPath,
22
+ ignoreStrategies
23
+ }) {
24
+ await prettier.clearConfigCache();
25
+ if (await fs.pathExists(snapshotPath)) {
26
+ let templateRenderSnapshots = await loadTemplateRenderSnapshots(snapshotPath);
27
+ for (let templateRenderSnapshot of templateRenderSnapshots) {
28
+ let strategy = typeof templateRenderSnapshot.attributes.strategy === "string" ? templateRenderSnapshot.attributes.strategy : templateRenderSnapshot.attributes.strategy[0];
29
+ if (ignoreStrategies.includes(strategy)) {
30
+ continue;
31
+ }
32
+ if (templateRenderSnapshot.attributes.strategy === "ensure") {
33
+ await deleteUsingTemplateRender(templateRenderSnapshot, targetPath, {
34
+ onlyDeleteWhenContentsMatch: true
35
+ });
36
+ }
37
+ if (templateRenderSnapshot.attributes.strategy === "overwrite") {
38
+ await deleteUsingTemplateRender(templateRenderSnapshot, targetPath);
39
+ }
40
+ if (templateRenderSnapshot.attributes.strategy === "merge") {
41
+ await unmergeUsingTemplateRender(templateRenderSnapshot, targetPath);
42
+ }
43
+ if (templateRenderSnapshot.attributes.strategy[0] === "insert") {
44
+ await uninsertUsingTemplateRender(templateRenderSnapshot, targetPath);
45
+ }
46
+ }
47
+ }
48
+ for (let templateRender of templateRenders) {
49
+ let strategy = typeof templateRender.attributes.strategy === "string" ? templateRender.attributes.strategy : templateRender.attributes.strategy[0];
50
+ if (ignoreStrategies.includes(strategy)) {
51
+ continue;
52
+ }
53
+ if (templateRender.attributes.strategy === "create") {
54
+ await createUsingTemplateRender(templateRender, targetPath);
55
+ }
56
+ if (templateRender.attributes.strategy === "ensure") {
57
+ let to = path.join(targetPath, templateRender.attributes.to);
58
+ let doesToExist = await fs.pathExists(to);
59
+ if (!doesToExist) {
60
+ await createUsingTemplateRender(templateRender, targetPath);
61
+ }
62
+ }
63
+ }
64
+ for (let templateRender of templateRenders) {
65
+ let strategy = typeof templateRender.attributes.strategy === "string" ? templateRender.attributes.strategy : templateRender.attributes.strategy[0];
66
+ if (ignoreStrategies.includes(strategy)) {
67
+ continue;
68
+ }
69
+ if (templateRender.attributes.strategy === "overwrite") {
70
+ await overwriteUsingTemplateRender(templateRender, targetPath);
71
+ }
72
+ if (templateRender.attributes.strategy === "merge") {
73
+ await mergeUsingTemplateRender(templateRender, targetPath);
74
+ }
75
+ if (templateRender.attributes.strategy[0] === "insert") {
76
+ await insertUsingTemplateRender(templateRender, targetPath);
77
+ }
78
+ if (templateRender.attributes.strategy === "check") {
79
+ let to = path.join(targetPath, templateRender.attributes.to);
80
+ let doesToExist = await fs.pathExists(to);
81
+ if (!doesToExist) {
82
+ throw new CarsonTemplateError("STRATEGY_MISSING_FILE", {
83
+ messageParameters: [templateRender.attributes.strategy, templateRender.template.path, to],
84
+ data: {
85
+ path: to
86
+ }
87
+ });
88
+ }
89
+ }
90
+ }
91
+ await fs.ensureDir(path.join(targetPath, CARSON_CONFIG_DIRECTORY));
92
+ await saveTemplateRenderSnapshots(templateRenders, snapshotPath);
93
+ }
94
+ //# sourceMappingURL=applyTemplateRenders.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/template/applyTemplateRenders.ts"],
4
+ "sourcesContent": ["// TODO: can this be fixed?\n/* eslint-disable complexity -- TODO */\nimport fs from 'fs-extra';\nimport path from 'node:path';\nimport prettier from 'prettier';\n\nimport {CARSON_CONFIG_DIRECTORY} from '../constants.js';\nimport {CarsonTemplateError} from './CarsonTemplateError.js';\nimport {\n createUsingTemplateRender,\n deleteUsingTemplateRender,\n insertUsingTemplateRender,\n loadTemplateRenderSnapshots,\n mergeUsingTemplateRender,\n overwriteUsingTemplateRender,\n saveTemplateRenderSnapshots,\n uninsertUsingTemplateRender,\n unmergeUsingTemplateRender,\n} from './internals.js';\nimport {type TemplateRenders} from './TemplateRenders.js';\n\nexport type ApplyTemplateRendersOptions = {\n templateRenders: TemplateRenders;\n targetPath: string;\n snapshotPath: string;\n ignoreStrategies: string[];\n};\n\n/**\n * Applies rendered Carson template to a specified path, i.e. creates and updates files based on the result of rendering each Carson template file.\n */\nexport async function applyTemplateRenders({\n templateRenders,\n targetPath,\n snapshotPath,\n ignoreStrategies,\n}: ApplyTemplateRendersOptions) {\n // we need to clear Prettier cache, because we are changing file system\n await prettier.clearConfigCache();\n\n // first, we read the existing snapshots and use them to undo previous changes\n if (await fs.pathExists(snapshotPath)) {\n let templateRenderSnapshots = await loadTemplateRenderSnapshots(snapshotPath);\n\n for (let templateRenderSnapshot of templateRenderSnapshots) {\n let strategy =\n typeof templateRenderSnapshot.attributes.strategy === 'string' ?\n templateRenderSnapshot.attributes.strategy\n : templateRenderSnapshot.attributes.strategy[0];\n\n if (ignoreStrategies.includes(strategy)) {\n continue;\n }\n\n if (templateRenderSnapshot.attributes.strategy === 'ensure') {\n await deleteUsingTemplateRender(templateRenderSnapshot, targetPath, {\n onlyDeleteWhenContentsMatch: true,\n });\n }\n\n if (templateRenderSnapshot.attributes.strategy === 'overwrite') {\n await deleteUsingTemplateRender(templateRenderSnapshot, targetPath);\n }\n\n if (templateRenderSnapshot.attributes.strategy === 'merge') {\n await unmergeUsingTemplateRender(templateRenderSnapshot, targetPath);\n }\n\n if (templateRenderSnapshot.attributes.strategy[0] === 'insert') {\n await uninsertUsingTemplateRender(templateRenderSnapshot, targetPath);\n }\n }\n }\n\n // second, we apply strategies that create files\n for (let templateRender of templateRenders) {\n let strategy =\n typeof templateRender.attributes.strategy === 'string' ?\n templateRender.attributes.strategy\n : templateRender.attributes.strategy[0];\n\n if (ignoreStrategies.includes(strategy)) {\n continue;\n }\n\n if (templateRender.attributes.strategy === 'create') {\n await createUsingTemplateRender(templateRender, targetPath);\n }\n\n if (templateRender.attributes.strategy === 'ensure') {\n let to = path.join(targetPath, templateRender.attributes.to);\n let doesToExist = await fs.pathExists(to);\n\n if (!doesToExist) {\n await createUsingTemplateRender(templateRender, targetPath);\n }\n }\n }\n\n // third, we apply strategies that change files\n for (let templateRender of templateRenders) {\n let strategy =\n typeof templateRender.attributes.strategy === 'string' ?\n templateRender.attributes.strategy\n : templateRender.attributes.strategy[0];\n\n if (ignoreStrategies.includes(strategy)) {\n continue;\n }\n\n if (templateRender.attributes.strategy === 'overwrite') {\n await overwriteUsingTemplateRender(templateRender, targetPath);\n }\n\n if (templateRender.attributes.strategy === 'merge') {\n await mergeUsingTemplateRender(templateRender, targetPath);\n }\n\n if (templateRender.attributes.strategy[0] === 'insert') {\n await insertUsingTemplateRender(templateRender, targetPath);\n }\n\n if (templateRender.attributes.strategy === 'check') {\n let to = path.join(targetPath, templateRender.attributes.to);\n let doesToExist = await fs.pathExists(to);\n\n if (!doesToExist) {\n throw new CarsonTemplateError('STRATEGY_MISSING_FILE', {\n messageParameters: [templateRender.attributes.strategy, templateRender.template.path, to],\n data: {\n path: to,\n },\n });\n }\n }\n }\n\n await fs.ensureDir(path.join(targetPath, CARSON_CONFIG_DIRECTORY));\n\n await saveTemplateRenderSnapshots(templateRenders, snapshotPath);\n}\n"],
5
+ "mappings": ";AAEA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,cAAc;AAErB,SAAQ,+BAA8B;AACtC,SAAQ,2BAA0B;AAClC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAaP,sBAAsB,qBAAqB;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAE9B,QAAM,SAAS,iBAAiB;AAGhC,MAAI,MAAM,GAAG,WAAW,YAAY,GAAG;AACrC,QAAI,0BAA0B,MAAM,4BAA4B,YAAY;AAE5E,aAAS,0BAA0B,yBAAyB;AAC1D,UAAI,WACF,OAAO,uBAAuB,WAAW,aAAa,WACpD,uBAAuB,WAAW,WAClC,uBAAuB,WAAW,SAAS,CAAC;AAEhD,UAAI,iBAAiB,SAAS,QAAQ,GAAG;AACvC;AAAA,MACF;AAEA,UAAI,uBAAuB,WAAW,aAAa,UAAU;AAC3D,cAAM,0BAA0B,wBAAwB,YAAY;AAAA,UAClE,6BAA6B;AAAA,QAC/B,CAAC;AAAA,MACH;AAEA,UAAI,uBAAuB,WAAW,aAAa,aAAa;AAC9D,cAAM,0BAA0B,wBAAwB,UAAU;AAAA,MACpE;AAEA,UAAI,uBAAuB,WAAW,aAAa,SAAS;AAC1D,cAAM,2BAA2B,wBAAwB,UAAU;AAAA,MACrE;AAEA,UAAI,uBAAuB,WAAW,SAAS,CAAC,MAAM,UAAU;AAC9D,cAAM,4BAA4B,wBAAwB,UAAU;AAAA,MACtE;AAAA,IACF;AAAA,EACF;AAGA,WAAS,kBAAkB,iBAAiB;AAC1C,QAAI,WACF,OAAO,eAAe,WAAW,aAAa,WAC5C,eAAe,WAAW,WAC1B,eAAe,WAAW,SAAS,CAAC;AAExC,QAAI,iBAAiB,SAAS,QAAQ,GAAG;AACvC;AAAA,IACF;AAEA,QAAI,eAAe,WAAW,aAAa,UAAU;AACnD,YAAM,0BAA0B,gBAAgB,UAAU;AAAA,IAC5D;AAEA,QAAI,eAAe,WAAW,aAAa,UAAU;AACnD,UAAI,KAAK,KAAK,KAAK,YAAY,eAAe,WAAW,EAAE;AAC3D,UAAI,cAAc,MAAM,GAAG,WAAW,EAAE;AAExC,UAAI,CAAC,aAAa;AAChB,cAAM,0BAA0B,gBAAgB,UAAU;AAAA,MAC5D;AAAA,IACF;AAAA,EACF;AAGA,WAAS,kBAAkB,iBAAiB;AAC1C,QAAI,WACF,OAAO,eAAe,WAAW,aAAa,WAC5C,eAAe,WAAW,WAC1B,eAAe,WAAW,SAAS,CAAC;AAExC,QAAI,iBAAiB,SAAS,QAAQ,GAAG;AACvC;AAAA,IACF;AAEA,QAAI,eAAe,WAAW,aAAa,aAAa;AACtD,YAAM,6BAA6B,gBAAgB,UAAU;AAAA,IAC/D;AAEA,QAAI,eAAe,WAAW,aAAa,SAAS;AAClD,YAAM,yBAAyB,gBAAgB,UAAU;AAAA,IAC3D;AAEA,QAAI,eAAe,WAAW,SAAS,CAAC,MAAM,UAAU;AACtD,YAAM,0BAA0B,gBAAgB,UAAU;AAAA,IAC5D;AAEA,QAAI,eAAe,WAAW,aAAa,SAAS;AAClD,UAAI,KAAK,KAAK,KAAK,YAAY,eAAe,WAAW,EAAE;AAC3D,UAAI,cAAc,MAAM,GAAG,WAAW,EAAE;AAExC,UAAI,CAAC,aAAa;AAChB,cAAM,IAAI,oBAAoB,yBAAyB;AAAA,UACrD,mBAAmB,CAAC,eAAe,WAAW,UAAU,eAAe,SAAS,MAAM,EAAE;AAAA,UACxF,MAAM;AAAA,YACJ,MAAM;AAAA,UACR;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEA,QAAM,GAAG,UAAU,KAAK,KAAK,YAAY,uBAAuB,CAAC;AAEjE,QAAM,4BAA4B,iBAAiB,YAAY;AACjE;",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ import { templateAttributesSchema as baseTemplateAttributesSchema } from "@jakubmazanec/template";
3
+ import { z } from "zod";
4
+ import { templateAttributesSchema } from "../TemplateAttributes.js";
5
+ export const templateRenderSnapshotSchema = z.object({
6
+ attributes: baseTemplateAttributesSchema.pick({ to: true }).merge(templateAttributesSchema),
7
+ content: z.string(),
8
+ template: z.object({
9
+ path: z.string()
10
+ }).strict()
11
+ }).strict();
12
+ //# sourceMappingURL=TemplateRenderSnapshot.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/TemplateRenderSnapshot.ts"],
4
+ "sourcesContent": ["import {templateAttributesSchema as baseTemplateAttributesSchema} from '@jakubmazanec/template';\nimport {z} from 'zod';\n\nimport {templateAttributesSchema} from '../TemplateAttributes.js';\n\nexport const templateRenderSnapshotSchema = z\n .object({\n attributes: baseTemplateAttributesSchema.pick({to: true}).merge(templateAttributesSchema),\n content: z.string(),\n template: z\n .object({\n path: z.string(),\n })\n .strict(),\n })\n .strict();\n\nexport type TemplateRenderSnapshot = z.infer<typeof templateRenderSnapshotSchema>;\n"],
5
+ "mappings": ";AAAA,SAAQ,4BAA4B,oCAAmC;AACvE,SAAQ,SAAQ;AAEhB,SAAQ,gCAA+B;AAEhC,aAAM,+BAA+B,EACzC,OAAO;AAAA,EACN,YAAY,6BAA6B,KAAK,EAAC,IAAI,KAAI,CAAC,EAAE,MAAM,wBAAwB;AAAA,EACxF,SAAS,EAAE,OAAO;AAAA,EAClB,UAAU,EACP,OAAO;AAAA,IACN,MAAM,EAAE,OAAO;AAAA,EACjB,CAAC,EACA,OAAO;AACZ,CAAC,EACA,OAAO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ import { templateRenderSnapshotSchema } from "./TemplateRenderSnapshot.js";
3
+ export const templateRenderSnapshotsSchema = templateRenderSnapshotSchema.array();
4
+ //# sourceMappingURL=TemplateRenderSnapshots.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/TemplateRenderSnapshots.ts"],
4
+ "sourcesContent": ["import {type z} from 'zod';\n\nimport {templateRenderSnapshotSchema} from './TemplateRenderSnapshot.js';\n\nexport const templateRenderSnapshotsSchema = templateRenderSnapshotSchema.array();\n\nexport type TemplateRenderSnapshots = z.infer<typeof templateRenderSnapshotsSchema>;\n"],
5
+ "mappings": ";AAEA,SAAQ,oCAAmC;AAEpC,aAAM,gCAAgC,6BAA6B,MAAM;",
6
+ "names": []
7
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ import fs from "fs-extra";
3
+ import json from "json5";
4
+ import path from "node:path";
5
+ import yaml from "yaml";
6
+ import { merge } from "./merge.js";
7
+ import { prettify } from "./prettify.js";
8
+ export async function createUsingTemplateRender(templateRender, basePath) {
9
+ let to = path.join(basePath, templateRender.attributes.to);
10
+ let extension = path.extname(to);
11
+ switch (extension) {
12
+ case ".json": {
13
+ if (await fs.pathExists(to)) {
14
+ let targetFile = await fs.readJson(to);
15
+ let fileToMerge = json.parse(templateRender.content);
16
+ let newFile = JSON.stringify(merge(targetFile, fileToMerge), null, 2);
17
+ await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
18
+ } else {
19
+ await fs.ensureDir(path.dirname(to));
20
+ await fs.writeFile(to, await prettify(templateRender.content, to), { encoding: "utf8" });
21
+ }
22
+ break;
23
+ }
24
+ case ".yaml": {
25
+ if (await fs.pathExists(to)) {
26
+ let targetFile = yaml.parse(await fs.readFile(to, { encoding: "utf8" }));
27
+ let fileToMerge = yaml.parse(templateRender.content);
28
+ let newFile = yaml.stringify(merge(targetFile, fileToMerge));
29
+ await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
30
+ } else {
31
+ await fs.writeFile(to, await prettify(templateRender.content, to), { encoding: "utf8" });
32
+ }
33
+ break;
34
+ }
35
+ default: {
36
+ await fs.ensureDir(path.dirname(to));
37
+ await fs.writeFile(to, await prettify(templateRender.content, to), { encoding: "utf8" });
38
+ break;
39
+ }
40
+ }
41
+ }
42
+ //# sourceMappingURL=createUsingTemplateRender.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/createUsingTemplateRender.ts"],
4
+ "sourcesContent": ["import {type Json} from '@jakubmazanec/zod-utils';\nimport fs from 'fs-extra';\nimport json from 'json5';\nimport path from 'node:path';\nimport yaml from 'yaml';\n\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {merge} from './merge.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\n\nexport async function createUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n basePath: string,\n) {\n let to = path.join(basePath, templateRender.attributes.to);\n let extension = path.extname(to);\n\n switch (extension) {\n case '.json': {\n if (await fs.pathExists(to)) {\n let targetFile = (await fs.readJson(to)) as Json;\n let fileToMerge = json.parse<Json>(templateRender.content);\n let newFile = JSON.stringify(merge(targetFile, fileToMerge), null, 2);\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n } else {\n await fs.ensureDir(path.dirname(to));\n await fs.writeFile(to, await prettify(templateRender.content, to), {encoding: 'utf8'});\n }\n\n break;\n }\n\n case '.yaml': {\n if (await fs.pathExists(to)) {\n let targetFile = yaml.parse(await fs.readFile(to, {encoding: 'utf8'})) as unknown;\n let fileToMerge = yaml.parse(templateRender.content) as unknown;\n let newFile = yaml.stringify(merge(targetFile, fileToMerge));\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n } else {\n await fs.writeFile(to, await prettify(templateRender.content, to), {encoding: 'utf8'});\n }\n\n break;\n }\n\n default: {\n await fs.ensureDir(path.dirname(to));\n await fs.writeFile(to, await prettify(templateRender.content, to), {encoding: 'utf8'});\n\n break;\n }\n }\n}\n"],
5
+ "mappings": ";AACA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,UAAU;AAGjB,SAAQ,aAAY;AACpB,SAAQ,gBAAe;AAGvB,sBAAsB,0BACpB,gBACA,UACA;AACA,MAAI,KAAK,KAAK,KAAK,UAAU,eAAe,WAAW,EAAE;AACzD,MAAI,YAAY,KAAK,QAAQ,EAAE;AAE/B,UAAQ,WAAW;AAAA,IACjB,KAAK,SAAS;AACZ,UAAI,MAAM,GAAG,WAAW,EAAE,GAAG;AAC3B,YAAI,aAAc,MAAM,GAAG,SAAS,EAAE;AACtC,YAAI,cAAc,KAAK,MAAY,eAAe,OAAO;AACzD,YAAI,UAAU,KAAK,UAAU,MAAM,YAAY,WAAW,GAAG,MAAM,CAAC;AAEpE,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACxE,OAAO;AACL,cAAM,GAAG,UAAU,KAAK,QAAQ,EAAE,CAAC;AACnC,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,eAAe,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACvF;AAEA;AAAA,IACF;AAAA,IAEA,KAAK,SAAS;AACZ,UAAI,MAAM,GAAG,WAAW,EAAE,GAAG;AAC3B,YAAI,aAAa,KAAK,MAAM,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC,CAAC;AACrE,YAAI,cAAc,KAAK,MAAM,eAAe,OAAO;AACnD,YAAI,UAAU,KAAK,UAAU,MAAM,YAAY,WAAW,CAAC;AAE3D,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACxE,OAAO;AACL,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,eAAe,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACvF;AAEA;AAAA,IACF;AAAA,IAEA,SAAS;AACP,YAAM,GAAG,UAAU,KAAK,QAAQ,EAAE,CAAC;AACnC,YAAM,GAAG,UAAU,IAAI,MAAM,SAAS,eAAe,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAErF;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ import fs from "fs-extra";
3
+ import path from "node:path";
4
+ import { prettify } from "./prettify.js";
5
+ export async function deleteUsingTemplateRender(templateRender, basePath, options) {
6
+ let to = path.join(basePath, templateRender.attributes.to);
7
+ if (!await fs.pathExists(to)) {
8
+ return;
9
+ }
10
+ if (options?.onlyDeleteWhenContentsMatch) {
11
+ let existingContent = await fs.readFile(to, { encoding: "utf8" });
12
+ let newContent = await prettify(templateRender.content, to);
13
+ if (existingContent.trim() === newContent.trim()) {
14
+ await fs.rm(to);
15
+ }
16
+ return;
17
+ }
18
+ await fs.rm(to);
19
+ }
20
+ //# sourceMappingURL=deleteUsingTemplateRender.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/deleteUsingTemplateRender.ts"],
4
+ "sourcesContent": ["import fs from 'fs-extra';\nimport path from 'node:path';\n\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\n\nexport type DeleteUsingTemplateRenderOptions = {\n onlyDeleteWhenContentsMatch?: boolean;\n};\n\nexport async function deleteUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n basePath: string,\n options?: DeleteUsingTemplateRenderOptions,\n) {\n let to = path.join(basePath, templateRender.attributes.to);\n\n if (!(await fs.pathExists(to))) {\n return;\n }\n\n if (options?.onlyDeleteWhenContentsMatch) {\n let existingContent = await fs.readFile(to, {encoding: 'utf8'});\n let newContent = await prettify(templateRender.content, to);\n\n if (existingContent.trim() === newContent.trim()) {\n await fs.rm(to);\n }\n\n return;\n }\n\n await fs.rm(to);\n}\n"],
5
+ "mappings": ";AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AAGjB,SAAQ,gBAAe;AAOvB,sBAAsB,0BACpB,gBACA,UACA,SACA;AACA,MAAI,KAAK,KAAK,KAAK,UAAU,eAAe,WAAW,EAAE;AAEzD,MAAI,CAAE,MAAM,GAAG,WAAW,EAAE,GAAI;AAC9B;AAAA,EACF;AAEA,MAAI,SAAS,6BAA6B;AACxC,QAAI,kBAAkB,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC;AAC9D,QAAI,aAAa,MAAM,SAAS,eAAe,SAAS,EAAE;AAE1D,QAAI,gBAAgB,KAAK,MAAM,WAAW,KAAK,GAAG;AAChD,YAAM,GAAG,GAAG,EAAE;AAAA,IAChB;AAEA;AAAA,EACF;AAEA,QAAM,GAAG,GAAG,EAAE;AAChB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ import { parseCarsonTemplateId } from "./parseCarsonTemplateId.js";
3
+ export async function importCarsonTemplate(templateId) {
4
+ let [moduleId] = parseCarsonTemplateId(templateId);
5
+ let { default: _, ...moduleWithoutDefault } = await import(moduleId);
6
+ return moduleWithoutDefault;
7
+ }
8
+ //# sourceMappingURL=importCarsonTemplate.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/importCarsonTemplate.ts"],
4
+ "sourcesContent": ["import {parseCarsonTemplateId} from './parseCarsonTemplateId.js';\n\ntype Module = {\n [key: string]: unknown;\n default: unknown;\n};\n\nexport async function importCarsonTemplate(templateId: string) {\n let [moduleId] = parseCarsonTemplateId(templateId);\n let {default: _, ...moduleWithoutDefault} = (await import(moduleId)) as Module;\n\n return moduleWithoutDefault;\n}\n"],
5
+ "mappings": ";AAAA,SAAQ,6BAA4B;AAOpC,sBAAsB,qBAAqB,YAAoB;AAC7D,MAAI,CAAC,QAAQ,IAAI,sBAAsB,UAAU;AACjD,MAAI,EAAC,SAAS,GAAG,GAAG,qBAAoB,IAAK,MAAM,OAAO;AAE1D,SAAO;AACT;",
6
+ "names": []
7
+ }