@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,40 @@
1
+ "use strict";
2
+ import fs from "fs-extra";
3
+ import _ from "lodash";
4
+ import path from "node:path";
5
+ import { CarsonTemplateError } from "../CarsonTemplateError.js";
6
+ import { prettify } from "./prettify.js";
7
+ export async function insertUsingTemplateRender(templateRender, basePath) {
8
+ let to = path.join(basePath, templateRender.attributes.to);
9
+ let extension = path.extname(to);
10
+ switch (extension) {
11
+ case ".md": {
12
+ if (await fs.pathExists(to)) {
13
+ let targetFile = await fs.readFile(to, { encoding: "utf8" });
14
+ let newContent = `<!-- ${templateRender.attributes.strategy[1]} -->${templateRender.content}<!-- ${templateRender.attributes.strategy[1]} -->`;
15
+ let oldContentRegexp = new RegExp(
16
+ `<!--\\s*${_.escapeRegExp(
17
+ templateRender.attributes.strategy[1]
18
+ )}\\s-->[\\s\\S]*<!--\\s*${_.escapeRegExp(templateRender.attributes.strategy[1])}\\s-->`,
19
+ "u"
20
+ );
21
+ let newFile = targetFile.replace(oldContentRegexp, newContent);
22
+ await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
23
+ }
24
+ break;
25
+ }
26
+ default: {
27
+ throw new CarsonTemplateError("STRATEGY_UNSUPPORTED_EXTENSION", {
28
+ messageParameters: [
29
+ templateRender.attributes.strategy,
30
+ templateRender.template.path,
31
+ extension
32
+ ],
33
+ data: {
34
+ path: templateRender.template.path
35
+ }
36
+ });
37
+ }
38
+ }
39
+ }
40
+ //# sourceMappingURL=insertUsingTemplateRender.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/insertUsingTemplateRender.ts"],
4
+ "sourcesContent": ["import fs from 'fs-extra';\nimport _ from 'lodash';\nimport path from 'node:path';\n\nimport {CarsonTemplateError} from '../CarsonTemplateError.js';\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\n\nexport async function insertUsingTemplateRender(\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 '.md': {\n if (await fs.pathExists(to)) {\n let targetFile = await fs.readFile(to, {encoding: 'utf8'});\n let newContent = `<!-- ${templateRender.attributes.strategy[1]} -->${templateRender.content}<!-- ${templateRender.attributes.strategy[1]} -->`;\n let oldContentRegexp = new RegExp(\n `<!--\\\\s*${_.escapeRegExp(\n templateRender.attributes.strategy[1],\n )}\\\\s-->[\\\\s\\\\S]*<!--\\\\s*${_.escapeRegExp(templateRender.attributes.strategy[1])}\\\\s-->`,\n 'u',\n );\n let newFile = targetFile.replace(oldContentRegexp, newContent);\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n }\n\n break;\n }\n\n default: {\n throw new CarsonTemplateError('STRATEGY_UNSUPPORTED_EXTENSION', {\n messageParameters: [\n templateRender.attributes.strategy,\n templateRender.template.path,\n extension,\n ],\n data: {\n path: templateRender.template.path,\n },\n });\n }\n }\n}\n"],
5
+ "mappings": ";AAAA,OAAO,QAAQ;AACf,OAAO,OAAO;AACd,OAAO,UAAU;AAEjB,SAAQ,2BAA0B;AAElC,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,OAAO;AACV,UAAI,MAAM,GAAG,WAAW,EAAE,GAAG;AAC3B,YAAI,aAAa,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC;AACzD,YAAI,aAAa,QAAQ,eAAe,WAAW,SAAS,CAAC,CAAC,OAAO,eAAe,OAAO,QAAQ,eAAe,WAAW,SAAS,CAAC,CAAC;AACxI,YAAI,mBAAmB,IAAI;AAAA,UACzB,WAAW,EAAE;AAAA,YACX,eAAe,WAAW,SAAS,CAAC;AAAA,UACtC,CAAC,0BAA0B,EAAE,aAAa,eAAe,WAAW,SAAS,CAAC,CAAC,CAAC;AAAA,UAChF;AAAA,QACF;AACA,YAAI,UAAU,WAAW,QAAQ,kBAAkB,UAAU;AAE7D,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACxE;AAEA;AAAA,IACF;AAAA,IAEA,SAAS;AACP,YAAM,IAAI,oBAAoB,kCAAkC;AAAA,QAC9D,mBAAmB;AAAA,UACjB,eAAe,WAAW;AAAA,UAC1B,eAAe,SAAS;AAAA,UACxB;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,eAAe,SAAS;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ import { inflateSync, strFromU8 } from "fflate";
3
+ import fs from "fs-extra";
4
+ import { templateRenderSnapshotsSchema } from "./TemplateRenderSnapshots.js";
5
+ export async function loadTemplateRenderSnapshots(templateRenderSnapshotsPath) {
6
+ let compressedSnapshots = await fs.readFile(templateRenderSnapshotsPath);
7
+ let decompressedSnapshots = inflateSync(new Uint8Array(compressedSnapshots));
8
+ let parsingResult = templateRenderSnapshotsSchema.safeParse(
9
+ JSON.parse(strFromU8(decompressedSnapshots))
10
+ );
11
+ if (!parsingResult.success) {
12
+ throw parsingResult.error;
13
+ }
14
+ return parsingResult.data;
15
+ }
16
+ //# sourceMappingURL=loadTemplateRenderSnapshots.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/loadTemplateRenderSnapshots.ts"],
4
+ "sourcesContent": ["import {inflateSync, strFromU8} from 'fflate';\nimport fs from 'fs-extra';\n\nimport {templateRenderSnapshotsSchema} from './TemplateRenderSnapshots.js';\n\nexport async function loadTemplateRenderSnapshots(templateRenderSnapshotsPath: string) {\n let compressedSnapshots = await fs.readFile(templateRenderSnapshotsPath);\n let decompressedSnapshots = inflateSync(new Uint8Array(compressedSnapshots));\n let parsingResult = templateRenderSnapshotsSchema.safeParse(\n JSON.parse(strFromU8(decompressedSnapshots)),\n );\n\n if (!parsingResult.success) {\n throw parsingResult.error;\n }\n\n return parsingResult.data;\n}\n"],
5
+ "mappings": ";AAAA,SAAQ,aAAa,iBAAgB;AACrC,OAAO,QAAQ;AAEf,SAAQ,qCAAoC;AAE5C,sBAAsB,4BAA4B,6BAAqC;AACrF,MAAI,sBAAsB,MAAM,GAAG,SAAS,2BAA2B;AACvE,MAAI,wBAAwB,YAAY,IAAI,WAAW,mBAAmB,CAAC;AAC3E,MAAI,gBAAgB,8BAA8B;AAAA,IAChD,KAAK,MAAM,UAAU,qBAAqB,CAAC;AAAA,EAC7C;AAEA,MAAI,CAAC,cAAc,SAAS;AAC1B,UAAM,cAAc;AAAA,EACtB;AAEA,SAAO,cAAc;AACvB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ export function merge(a, b) {
3
+ if (b === void 0 || b == null) {
4
+ return a;
5
+ }
6
+ if (typeof b !== "object" || Array.isArray(b)) {
7
+ return a;
8
+ }
9
+ if (a === void 0 || a == null) {
10
+ return a;
11
+ }
12
+ if (typeof a !== "object" || Array.isArray(a)) {
13
+ return a;
14
+ }
15
+ const newA = { ...a };
16
+ for (let [key, value] of Object.entries(b)) {
17
+ if (a[key] && typeof a[key] === "object" && !Array.isArray(a[key]) && b[key] && typeof b[key] === "object" && !Array.isArray(b[key])) {
18
+ const result = merge(
19
+ a[key],
20
+ b[key]
21
+ );
22
+ newA[key] = result;
23
+ } else {
24
+ newA[key] = value;
25
+ }
26
+ }
27
+ return newA;
28
+ }
29
+ //# sourceMappingURL=merge.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/merge.ts"],
4
+ "sourcesContent": ["/**\n * Merges two JSON-like variables. Only simple objects, not arrays, are merged recursively.\n */\nexport function merge(a: unknown, b: unknown) {\n if (b === undefined || b == null) {\n return a;\n }\n\n if (typeof b !== 'object' || Array.isArray(b)) {\n return a;\n }\n\n if (a === undefined || a == null) {\n return a;\n }\n\n if (typeof a !== 'object' || Array.isArray(a)) {\n return a;\n }\n\n const newA: Record<string, unknown> = {...a};\n\n for (let [key, value] of Object.entries(b)) {\n if (\n (a as Record<string, unknown>)[key] &&\n typeof (a as Record<string, unknown>)[key] === 'object' &&\n !Array.isArray((a as Record<string, unknown>)[key]) &&\n (b as Record<string, unknown>)[key] &&\n typeof (b as Record<string, unknown>)[key] === 'object' &&\n !Array.isArray((b as Record<string, unknown>)[key])\n ) {\n const result = merge(\n (a as Record<string, unknown>)[key],\n (b as Record<string, unknown>)[key],\n );\n\n newA[key] = result;\n } else {\n newA[key] = value;\n }\n }\n\n return newA;\n}\n"],
5
+ "mappings": ";AAGO,gBAAS,MAAM,GAAY,GAAY;AAC5C,MAAI,MAAM,UAAa,KAAK,MAAM;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,CAAC,GAAG;AAC7C,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,UAAa,KAAK,MAAM;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,CAAC,GAAG;AAC7C,WAAO;AAAA,EACT;AAEA,QAAM,OAAgC,EAAC,GAAG,EAAC;AAE3C,WAAS,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,CAAC,GAAG;AAC1C,QACG,EAA8B,GAAG,KAClC,OAAQ,EAA8B,GAAG,MAAM,YAC/C,CAAC,MAAM,QAAS,EAA8B,GAAG,CAAC,KACjD,EAA8B,GAAG,KAClC,OAAQ,EAA8B,GAAG,MAAM,YAC/C,CAAC,MAAM,QAAS,EAA8B,GAAG,CAAC,GAClD;AACA,YAAM,SAAS;AAAA,QACZ,EAA8B,GAAG;AAAA,QACjC,EAA8B,GAAG;AAAA,MACpC;AAEA,WAAK,GAAG,IAAI;AAAA,IACd,OAAO;AACL,WAAK,GAAG,IAAI;AAAA,IACd;AAAA,EACF;AAEA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,49 @@
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 { CarsonTemplateError } from "../CarsonTemplateError.js";
7
+ import { merge } from "./merge.js";
8
+ import { prettify } from "./prettify.js";
9
+ export async function mergeUsingTemplateRender(templateRender, basePath) {
10
+ let to = path.join(basePath, templateRender.attributes.to);
11
+ let extension = path.extname(to);
12
+ switch (extension) {
13
+ case ".json": {
14
+ if (await fs.pathExists(to)) {
15
+ let targetFile = await fs.readJson(to);
16
+ let fileToMerge = json.parse(templateRender.content);
17
+ let newFile = JSON.stringify(merge(targetFile, fileToMerge), null, 2);
18
+ await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
19
+ } else {
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
+ throw new CarsonTemplateError("STRATEGY_UNSUPPORTED_EXTENSION", {
37
+ messageParameters: [
38
+ templateRender.attributes.strategy,
39
+ templateRender.template.path,
40
+ extension
41
+ ],
42
+ data: {
43
+ path: templateRender.template.path
44
+ }
45
+ });
46
+ }
47
+ }
48
+ }
49
+ //# sourceMappingURL=mergeUsingTemplateRender.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/mergeUsingTemplateRender.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 {CarsonTemplateError} from '../CarsonTemplateError.js';\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 mergeUsingTemplateRender(\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.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 throw new CarsonTemplateError('STRATEGY_UNSUPPORTED_EXTENSION', {\n messageParameters: [\n templateRender.attributes.strategy,\n templateRender.template.path,\n extension,\n ],\n data: {\n path: templateRender.template.path,\n },\n });\n }\n }\n}\n"],
5
+ "mappings": ";AACA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,UAAU;AAEjB,SAAQ,2BAA0B;AAElC,SAAQ,aAAY;AACpB,SAAQ,gBAAe;AAGvB,sBAAsB,yBACpB,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,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,IAAI,oBAAoB,kCAAkC;AAAA,QAC9D,mBAAmB;AAAA,UACjB,eAAe,WAAW;AAAA,UAC1B,eAAe,SAAS;AAAA,UACxB;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,eAAe,SAAS;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
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 overwriteUsingTemplateRender(templateRender, basePath) {
6
+ let to = path.join(basePath, templateRender.attributes.to);
7
+ await fs.ensureDir(path.dirname(to));
8
+ await fs.writeFile(to, await prettify(templateRender.content, to), { encoding: "utf8" });
9
+ }
10
+ //# sourceMappingURL=overwriteUsingTemplateRender.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/overwriteUsingTemplateRender.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 async function overwriteUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n basePath: string,\n) {\n let to = path.join(basePath, templateRender.attributes.to);\n\n await fs.ensureDir(path.dirname(to));\n await fs.writeFile(to, await prettify(templateRender.content, to), {encoding: 'utf8'});\n}\n"],
5
+ "mappings": ";AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AAGjB,SAAQ,gBAAe;AAGvB,sBAAsB,6BACpB,gBACA,UACA;AACA,MAAI,KAAK,KAAK,KAAK,UAAU,eAAe,WAAW,EAAE;AAEzD,QAAM,GAAG,UAAU,KAAK,QAAQ,EAAE,CAAC;AACnC,QAAM,GAAG,UAAU,IAAI,MAAM,SAAS,eAAe,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AACvF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ import { CarsonTemplateError } from "../CarsonTemplateError.js";
3
+ export function parseCarsonTemplateId(value) {
4
+ let parts = value.split(":");
5
+ if (!parts[0] || !parts[1]) {
6
+ throw new CarsonTemplateError("INVALID_CARSON_TEMPLATE_ID", {
7
+ messageParameters: [value]
8
+ });
9
+ }
10
+ return [parts[0], parts[1]];
11
+ }
12
+ //# sourceMappingURL=parseCarsonTemplateId.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/parseCarsonTemplateId.ts"],
4
+ "sourcesContent": ["import {CarsonTemplateError} from '../CarsonTemplateError.js';\n\nexport function parseCarsonTemplateId(value: string): [moduleId: string, templateName: string] {\n let parts = value.split(':');\n\n if (!parts[0] || !parts[1]) {\n throw new CarsonTemplateError('INVALID_CARSON_TEMPLATE_ID', {\n messageParameters: [value],\n });\n }\n\n return [parts[0], parts[1]];\n}\n"],
5
+ "mappings": ";AAAA,SAAQ,2BAA0B;AAE3B,gBAAS,sBAAsB,OAAyD;AAC7F,MAAI,QAAQ,MAAM,MAAM,GAAG;AAE3B,MAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG;AAC1B,UAAM,IAAI,oBAAoB,8BAA8B;AAAA,MAC1D,mBAAmB,CAAC,KAAK;AAAA,IAC3B,CAAC;AAAA,EACH;AAEA,SAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAC5B;",
6
+ "names": []
7
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ import prettier from "prettier";
3
+ import packageJsonPrettierPlugin from "prettier-plugin-packagejson";
4
+ const NO_INFERRED_PARSER = /parser.*inferred/i;
5
+ export async function prettify(content, targetPath) {
6
+ let prettifiedContent = content;
7
+ try {
8
+ let prettierOptions = await prettier.resolveConfig(targetPath, { editorconfig: true });
9
+ prettifiedContent = await prettier.format(content, {
10
+ ...prettierOptions,
11
+ filepath: targetPath,
12
+ plugins: [packageJsonPrettierPlugin]
13
+ });
14
+ } catch (error) {
15
+ if (!NO_INFERRED_PARSER.test(error.message)) {
16
+ throw error;
17
+ }
18
+ }
19
+ return prettifiedContent;
20
+ }
21
+ //# sourceMappingURL=prettify.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/prettify.ts"],
4
+ "sourcesContent": ["import prettier, {type Plugin} from 'prettier';\nimport packageJsonPrettierPlugin from 'prettier-plugin-packagejson';\n\nconst NO_INFERRED_PARSER = /parser.*inferred/i;\n\nexport async function prettify(content: string, targetPath: string) {\n let prettifiedContent = content;\n\n try {\n let prettierOptions = await prettier.resolveConfig(targetPath, {editorconfig: true});\n\n prettifiedContent = await prettier.format(content, {\n ...prettierOptions,\n filepath: targetPath,\n plugins: [packageJsonPrettierPlugin as Plugin],\n });\n } catch (error: unknown) {\n if (!NO_INFERRED_PARSER.test((error as Error).message)) {\n throw error;\n }\n }\n\n return prettifiedContent;\n}\n"],
5
+ "mappings": ";AAAA,OAAO,cAA6B;AACpC,OAAO,+BAA+B;AAEtC,MAAM,qBAAqB;AAE3B,sBAAsB,SAAS,SAAiB,YAAoB;AAClE,MAAI,oBAAoB;AAExB,MAAI;AACF,QAAI,kBAAkB,MAAM,SAAS,cAAc,YAAY,EAAC,cAAc,KAAI,CAAC;AAEnF,wBAAoB,MAAM,SAAS,OAAO,SAAS;AAAA,MACjD,GAAG;AAAA,MACH,UAAU;AAAA,MACV,SAAS,CAAC,yBAAmC;AAAA,IAC/C,CAAC;AAAA,EACH,SAAS,OAAgB;AACvB,QAAI,CAAC,mBAAmB,KAAM,MAAgB,OAAO,GAAG;AACtD,YAAM;AAAA,IACR;AAAA,EACF;AAEA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ import { Template } from "@jakubmazanec/template";
3
+ import { readFile } from "@jakubmazanec/zod-utils";
4
+ import glob from "fast-glob";
5
+ import fs from "fs-extra";
6
+ import path from "node:path";
7
+ import { TEMPLATE_CONFIG_FILENAME, TEMPLATES_PATH } from "../../constants.js";
8
+ import { carsonTemplateConfigSchema } from "../CarsonTemplateConfig.js";
9
+ import { CarsonTemplateError } from "../CarsonTemplateError.js";
10
+ import { templateAttributesSchema } from "../TemplateAttributes.js";
11
+ import { parseCarsonTemplateId } from "./parseCarsonTemplateId.js";
12
+ import { resolveModule } from "./resolveModule.js";
13
+ export async function readCarsonTemplate(templateId) {
14
+ let [moduleId, templateName] = parseCarsonTemplateId(templateId);
15
+ let modulePath = await resolveModule(moduleId);
16
+ let carsonTemplatePath = path.join(modulePath, TEMPLATES_PATH, templateName);
17
+ if (await fs.pathExists(carsonTemplatePath)) {
18
+ let templateConfigPath = path.join(carsonTemplatePath, TEMPLATE_CONFIG_FILENAME);
19
+ let templateConfig = await readFile(templateConfigPath, carsonTemplateConfigSchema, {
20
+ throwOnZodError: true
21
+ });
22
+ let templateFilePaths = await glob("**/*.ejs", {
23
+ cwd: carsonTemplatePath,
24
+ dot: true
25
+ });
26
+ let carsonTemplate = {
27
+ name: templateName,
28
+ config: templateConfig,
29
+ files: []
30
+ };
31
+ for (let templateFilePath of templateFilePaths) {
32
+ carsonTemplate.files.push(
33
+ await Template.read(path.join(carsonTemplatePath, templateFilePath), {
34
+ attributesSchema: templateAttributesSchema
35
+ })
36
+ );
37
+ }
38
+ return carsonTemplate;
39
+ }
40
+ throw new CarsonTemplateError("CARSON_TEMPLATE_NOT_FOUND", {
41
+ messageParameters: [templateId, moduleId]
42
+ });
43
+ }
44
+ //# sourceMappingURL=readCarsonTemplate.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/readCarsonTemplate.ts"],
4
+ "sourcesContent": ["import {Template} from '@jakubmazanec/template';\nimport {readFile} from '@jakubmazanec/zod-utils';\nimport glob from 'fast-glob';\nimport fs from 'fs-extra';\nimport path from 'node:path';\n\nimport {TEMPLATE_CONFIG_FILENAME, TEMPLATES_PATH} from '../../constants.js';\nimport {type CarsonTemplate} from '../CarsonTemplate.js';\nimport {carsonTemplateConfigSchema} from '../CarsonTemplateConfig.js';\nimport {CarsonTemplateError} from '../CarsonTemplateError.js';\nimport {templateAttributesSchema} from '../TemplateAttributes.js';\nimport {parseCarsonTemplateId} from './parseCarsonTemplateId.js';\nimport {resolveModule} from './resolveModule.js';\n\nexport async function readCarsonTemplate(templateId: string): Promise<CarsonTemplate> {\n let [moduleId, templateName] = parseCarsonTemplateId(templateId);\n let modulePath = await resolveModule(moduleId);\n let carsonTemplatePath = path.join(modulePath, TEMPLATES_PATH, templateName);\n\n if (await fs.pathExists(carsonTemplatePath)) {\n let templateConfigPath = path.join(carsonTemplatePath, TEMPLATE_CONFIG_FILENAME);\n let templateConfig = await readFile(templateConfigPath, carsonTemplateConfigSchema, {\n throwOnZodError: true,\n });\n let templateFilePaths = await glob('**/*.ejs', {\n cwd: carsonTemplatePath,\n dot: true,\n });\n let carsonTemplate: CarsonTemplate = {\n name: templateName,\n config: templateConfig,\n files: [],\n };\n\n for (let templateFilePath of templateFilePaths) {\n carsonTemplate.files.push(\n await Template.read(path.join(carsonTemplatePath, templateFilePath), {\n attributesSchema: templateAttributesSchema,\n }),\n );\n }\n\n return carsonTemplate;\n }\n\n throw new CarsonTemplateError('CARSON_TEMPLATE_NOT_FOUND', {\n messageParameters: [templateId, moduleId],\n });\n}\n"],
5
+ "mappings": ";AAAA,SAAQ,gBAAe;AACvB,SAAQ,gBAAe;AACvB,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,OAAO,UAAU;AAEjB,SAAQ,0BAA0B,sBAAqB;AAEvD,SAAQ,kCAAiC;AACzC,SAAQ,2BAA0B;AAClC,SAAQ,gCAA+B;AACvC,SAAQ,6BAA4B;AACpC,SAAQ,qBAAoB;AAE5B,sBAAsB,mBAAmB,YAA6C;AACpF,MAAI,CAAC,UAAU,YAAY,IAAI,sBAAsB,UAAU;AAC/D,MAAI,aAAa,MAAM,cAAc,QAAQ;AAC7C,MAAI,qBAAqB,KAAK,KAAK,YAAY,gBAAgB,YAAY;AAE3E,MAAI,MAAM,GAAG,WAAW,kBAAkB,GAAG;AAC3C,QAAI,qBAAqB,KAAK,KAAK,oBAAoB,wBAAwB;AAC/E,QAAI,iBAAiB,MAAM,SAAS,oBAAoB,4BAA4B;AAAA,MAClF,iBAAiB;AAAA,IACnB,CAAC;AACD,QAAI,oBAAoB,MAAM,KAAK,YAAY;AAAA,MAC7C,KAAK;AAAA,MACL,KAAK;AAAA,IACP,CAAC;AACD,QAAI,iBAAiC;AAAA,MACnC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO,CAAC;AAAA,IACV;AAEA,aAAS,oBAAoB,mBAAmB;AAC9C,qBAAe,MAAM;AAAA,QACnB,MAAM,SAAS,KAAK,KAAK,KAAK,oBAAoB,gBAAgB,GAAG;AAAA,UACnE,kBAAkB;AAAA,QACpB,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,QAAM,IAAI,oBAAoB,6BAA6B;AAAA,IACzD,mBAAmB,CAAC,YAAY,QAAQ;AAAA,EAC1C,CAAC;AACH;",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ import { createRequire } from "node:module";
3
+ import path from "node:path";
4
+ export async function resolveModule(moduleId) {
5
+ let require = createRequire(import.meta.url);
6
+ let modulePath = path.dirname(require.resolve(`${moduleId}/package.json`));
7
+ return modulePath;
8
+ }
9
+ //# sourceMappingURL=resolveModule.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/resolveModule.ts"],
4
+ "sourcesContent": ["import {createRequire} from 'node:module';\nimport path from 'node:path';\n\nexport async function resolveModule(moduleId: string) {\n let require = createRequire(import.meta.url);\n let modulePath = path.dirname(require.resolve(`${moduleId}/package.json`));\n\n return modulePath;\n}\n"],
5
+ "mappings": ";AAAA,SAAQ,qBAAoB;AAC5B,OAAO,UAAU;AAEjB,sBAAsB,cAAc,UAAkB;AACpD,MAAI,UAAU,cAAc,YAAY,GAAG;AAC3C,MAAI,aAAa,KAAK,QAAQ,QAAQ,QAAQ,GAAG,QAAQ,eAAe,CAAC;AAEzE,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ import { deflateSync, strToU8 } from "fflate";
3
+ import fs from "fs-extra";
4
+ export async function saveTemplateRenderSnapshots(templateRenders, templateRenderSnapshotsPath) {
5
+ let templateRendersSnapshots = [];
6
+ for (let templateRender of templateRenders) {
7
+ if (templateRender.attributes.strategy === "ensure" || templateRender.attributes.strategy === "overwrite" || templateRender.attributes.strategy === "merge" || templateRender.attributes.strategy[0] === "insert") {
8
+ templateRendersSnapshots.push({
9
+ attributes: {
10
+ to: templateRender.attributes.to,
11
+ strategy: templateRender.attributes.strategy
12
+ },
13
+ content: templateRender.content,
14
+ template: templateRender.template
15
+ });
16
+ }
17
+ }
18
+ await fs.writeFile(
19
+ templateRenderSnapshotsPath,
20
+ deflateSync(strToU8(JSON.stringify(templateRendersSnapshots)), { level: 1, mem: 0 })
21
+ );
22
+ }
23
+ //# sourceMappingURL=saveTemplateRenderSnapshots.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/saveTemplateRenderSnapshots.ts"],
4
+ "sourcesContent": ["import {deflateSync, strToU8} from 'fflate';\nimport fs from 'fs-extra';\n\nimport {type TemplateRenders} from '../TemplateRenders.js';\nimport {type TemplateRenderSnapshots} from './TemplateRenderSnapshots.js';\n\nexport async function saveTemplateRenderSnapshots(\n templateRenders: TemplateRenders,\n templateRenderSnapshotsPath: string,\n) {\n let templateRendersSnapshots: TemplateRenderSnapshots = [];\n\n for (let templateRender of templateRenders) {\n if (\n templateRender.attributes.strategy === 'ensure' ||\n templateRender.attributes.strategy === 'overwrite' ||\n templateRender.attributes.strategy === 'merge' ||\n templateRender.attributes.strategy[0] === 'insert'\n ) {\n templateRendersSnapshots.push({\n attributes: {\n to: templateRender.attributes.to,\n strategy: templateRender.attributes.strategy,\n },\n content: templateRender.content,\n template: templateRender.template,\n });\n }\n }\n\n await fs.writeFile(\n templateRenderSnapshotsPath,\n deflateSync(strToU8(JSON.stringify(templateRendersSnapshots)), {level: 1, mem: 0}),\n );\n}\n"],
5
+ "mappings": ";AAAA,SAAQ,aAAa,eAAc;AACnC,OAAO,QAAQ;AAKf,sBAAsB,4BACpB,iBACA,6BACA;AACA,MAAI,2BAAoD,CAAC;AAEzD,WAAS,kBAAkB,iBAAiB;AAC1C,QACE,eAAe,WAAW,aAAa,YACvC,eAAe,WAAW,aAAa,eACvC,eAAe,WAAW,aAAa,WACvC,eAAe,WAAW,SAAS,CAAC,MAAM,UAC1C;AACA,+BAAyB,KAAK;AAAA,QAC5B,YAAY;AAAA,UACV,IAAI,eAAe,WAAW;AAAA,UAC9B,UAAU,eAAe,WAAW;AAAA,QACtC;AAAA,QACA,SAAS,eAAe;AAAA,QACxB,UAAU,eAAe;AAAA,MAC3B,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,GAAG;AAAA,IACP;AAAA,IACA,YAAY,QAAQ,KAAK,UAAU,wBAAwB,CAAC,GAAG,EAAC,OAAO,GAAG,KAAK,EAAC,CAAC;AAAA,EACnF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ import fs from "fs-extra";
3
+ import _ from "lodash";
4
+ import path from "node:path";
5
+ import { CarsonTemplateError } from "../CarsonTemplateError.js";
6
+ import { prettify } from "./prettify.js";
7
+ export async function uninsertUsingTemplateRender(templateRender, basePath) {
8
+ let to = path.join(basePath, templateRender.attributes.to);
9
+ let extension = path.extname(to);
10
+ switch (extension) {
11
+ case ".md": {
12
+ if (await fs.pathExists(to)) {
13
+ let targetFile = await fs.readFile(to, { encoding: "utf8" });
14
+ let newContent = `<!-- ${templateRender.attributes.strategy[1]} --><!-- ${templateRender.attributes.strategy[1]} -->`;
15
+ let oldContentRegexp = new RegExp(
16
+ `<!--\\s*${_.escapeRegExp(
17
+ templateRender.attributes.strategy[1]
18
+ )}\\s-->[\\s\\S]*<!--\\s*${_.escapeRegExp(templateRender.attributes.strategy[1])}\\s-->`,
19
+ "u"
20
+ );
21
+ let newFile = targetFile.replace(oldContentRegexp, newContent);
22
+ await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
23
+ }
24
+ break;
25
+ }
26
+ default: {
27
+ throw new CarsonTemplateError("STRATEGY_UNSUPPORTED_EXTENSION", {
28
+ messageParameters: [
29
+ templateRender.attributes.strategy,
30
+ templateRender.template.path,
31
+ extension
32
+ ],
33
+ data: {
34
+ path: templateRender.template.path
35
+ }
36
+ });
37
+ }
38
+ }
39
+ }
40
+ //# sourceMappingURL=uninsertUsingTemplateRender.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/uninsertUsingTemplateRender.ts"],
4
+ "sourcesContent": ["import fs from 'fs-extra';\nimport _ from 'lodash';\nimport path from 'node:path';\n\nimport {CarsonTemplateError} from '../CarsonTemplateError.js';\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\n\nexport async function uninsertUsingTemplateRender(\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 '.md': {\n if (await fs.pathExists(to)) {\n let targetFile = await fs.readFile(to, {encoding: 'utf8'});\n let newContent = `<!-- ${templateRender.attributes.strategy[1]} --><!-- ${templateRender.attributes.strategy[1]} -->`;\n let oldContentRegexp = new RegExp(\n `<!--\\\\s*${_.escapeRegExp(\n templateRender.attributes.strategy[1],\n )}\\\\s-->[\\\\s\\\\S]*<!--\\\\s*${_.escapeRegExp(templateRender.attributes.strategy[1])}\\\\s-->`,\n 'u',\n );\n let newFile = targetFile.replace(oldContentRegexp, newContent);\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n }\n\n break;\n }\n\n default: {\n throw new CarsonTemplateError('STRATEGY_UNSUPPORTED_EXTENSION', {\n messageParameters: [\n templateRender.attributes.strategy,\n templateRender.template.path,\n extension,\n ],\n data: {\n path: templateRender.template.path,\n },\n });\n }\n }\n}\n"],
5
+ "mappings": ";AAAA,OAAO,QAAQ;AACf,OAAO,OAAO;AACd,OAAO,UAAU;AAEjB,SAAQ,2BAA0B;AAElC,SAAQ,gBAAe;AAGvB,sBAAsB,4BACpB,gBACA,UACA;AACA,MAAI,KAAK,KAAK,KAAK,UAAU,eAAe,WAAW,EAAE;AACzD,MAAI,YAAY,KAAK,QAAQ,EAAE;AAE/B,UAAQ,WAAW;AAAA,IACjB,KAAK,OAAO;AACV,UAAI,MAAM,GAAG,WAAW,EAAE,GAAG;AAC3B,YAAI,aAAa,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC;AACzD,YAAI,aAAa,QAAQ,eAAe,WAAW,SAAS,CAAC,CAAC,YAAY,eAAe,WAAW,SAAS,CAAC,CAAC;AAC/G,YAAI,mBAAmB,IAAI;AAAA,UACzB,WAAW,EAAE;AAAA,YACX,eAAe,WAAW,SAAS,CAAC;AAAA,UACtC,CAAC,0BAA0B,EAAE,aAAa,eAAe,WAAW,SAAS,CAAC,CAAC,CAAC;AAAA,UAChF;AAAA,QACF;AACA,YAAI,UAAU,WAAW,QAAQ,kBAAkB,UAAU;AAE7D,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACxE;AAEA;AAAA,IACF;AAAA,IAEA,SAAS;AACP,YAAM,IAAI,oBAAoB,kCAAkC;AAAA,QAC9D,mBAAmB;AAAA,UACjB,eAAe,WAAW;AAAA,UAC1B,eAAe,SAAS;AAAA,UACxB;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,eAAe,SAAS;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ export function unmerge(a, b) {
3
+ if (b === void 0 || b == null) {
4
+ return a;
5
+ }
6
+ if (typeof b !== "object" || Array.isArray(b)) {
7
+ return a;
8
+ }
9
+ if (a === void 0 || a == null) {
10
+ return a;
11
+ }
12
+ if (typeof a !== "object" || Array.isArray(a)) {
13
+ return a;
14
+ }
15
+ const newA = {};
16
+ for (let [key] of Object.entries(a)) {
17
+ if (!Object.hasOwn(b, key)) {
18
+ newA[key] = a[key];
19
+ continue;
20
+ } else if (a[key] && typeof a[key] === "object" && !Array.isArray(a[key]) && b[key] && typeof b[key] === "object" && !Array.isArray(b[key])) {
21
+ const result = unmerge(
22
+ a[key],
23
+ b[key]
24
+ );
25
+ if (Object.keys(result).length > 0) {
26
+ newA[key] = result;
27
+ }
28
+ }
29
+ }
30
+ return newA;
31
+ }
32
+ //# sourceMappingURL=unmerge.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/unmerge.ts"],
4
+ "sourcesContent": ["/**\n * Reverts {@link merge}.\n */\nexport function unmerge(a: unknown, b: unknown) {\n if (b === undefined || b == null) {\n return a;\n }\n\n if (typeof b !== 'object' || Array.isArray(b)) {\n return a;\n }\n\n if (a === undefined || a == null) {\n return a;\n }\n\n if (typeof a !== 'object' || Array.isArray(a)) {\n return a;\n }\n\n const newA: Record<string, unknown> = {};\n\n for (let [key] of Object.entries(a)) {\n if (!Object.hasOwn(b, key)) {\n newA[key] = (a as Record<string, unknown>)[key];\n\n continue;\n } else if (\n (a as Record<string, unknown>)[key] &&\n typeof (a as Record<string, unknown>)[key] === 'object' &&\n !Array.isArray((a as Record<string, unknown>)[key]) &&\n (b as Record<string, unknown>)[key] &&\n typeof (b as Record<string, unknown>)[key] === 'object' &&\n !Array.isArray((b as Record<string, unknown>)[key])\n ) {\n const result = unmerge(\n (a as Record<string, unknown>)[key],\n (b as Record<string, unknown>)[key],\n );\n\n if (Object.keys(result as Record<string, unknown>).length > 0) {\n newA[key] = result;\n }\n }\n }\n\n return newA;\n}\n"],
5
+ "mappings": ";AAGO,gBAAS,QAAQ,GAAY,GAAY;AAC9C,MAAI,MAAM,UAAa,KAAK,MAAM;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,CAAC,GAAG;AAC7C,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,UAAa,KAAK,MAAM;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,CAAC,GAAG;AAC7C,WAAO;AAAA,EACT;AAEA,QAAM,OAAgC,CAAC;AAEvC,WAAS,CAAC,GAAG,KAAK,OAAO,QAAQ,CAAC,GAAG;AACnC,QAAI,CAAC,OAAO,OAAO,GAAG,GAAG,GAAG;AAC1B,WAAK,GAAG,IAAK,EAA8B,GAAG;AAE9C;AAAA,IACF,WACG,EAA8B,GAAG,KAClC,OAAQ,EAA8B,GAAG,MAAM,YAC/C,CAAC,MAAM,QAAS,EAA8B,GAAG,CAAC,KACjD,EAA8B,GAAG,KAClC,OAAQ,EAA8B,GAAG,MAAM,YAC/C,CAAC,MAAM,QAAS,EAA8B,GAAG,CAAC,GAClD;AACA,YAAM,SAAS;AAAA,QACZ,EAA8B,GAAG;AAAA,QACjC,EAA8B,GAAG;AAAA,MACpC;AAEA,UAAI,OAAO,KAAK,MAAiC,EAAE,SAAS,GAAG;AAC7D,aAAK,GAAG,IAAI;AAAA,MACd;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,41 @@
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 { CarsonTemplateError } from "../CarsonTemplateError.js";
7
+ import { prettify } from "./prettify.js";
8
+ import { unmerge } from "./unmerge.js";
9
+ export async function unmergeUsingTemplateRender(templateRender, outputPath) {
10
+ let to = path.join(outputPath, templateRender.attributes.to);
11
+ let extension = path.extname(to);
12
+ switch (extension) {
13
+ case ".json": {
14
+ let targetFile = await fs.readJson(to);
15
+ let fileToMerge = json.parse(templateRender.content);
16
+ let newFile = JSON.stringify(unmerge(targetFile, fileToMerge));
17
+ await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
18
+ break;
19
+ }
20
+ case ".yaml": {
21
+ let targetFile = yaml.parse(await fs.readFile(to, { encoding: "utf8" }));
22
+ let fileToMerge = yaml.parse(templateRender.content);
23
+ let newFile = yaml.stringify(unmerge(targetFile, fileToMerge));
24
+ await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
25
+ break;
26
+ }
27
+ default: {
28
+ throw new CarsonTemplateError("STRATEGY_UNSUPPORTED_EXTENSION", {
29
+ messageParameters: [
30
+ templateRender.attributes.strategy,
31
+ templateRender.template.path,
32
+ extension
33
+ ],
34
+ data: {
35
+ path: templateRender.template.path
36
+ }
37
+ });
38
+ }
39
+ }
40
+ }
41
+ //# sourceMappingURL=unmergeUsingTemplateRender.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../source/template/internals/unmergeUsingTemplateRender.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 {CarsonTemplateError} from '../CarsonTemplateError.js';\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\nimport {unmerge} from './unmerge.js';\n\nexport async function unmergeUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n outputPath: string,\n) {\n let to = path.join(outputPath, templateRender.attributes.to);\n let extension = path.extname(to);\n\n switch (extension) {\n case '.json': {\n let targetFile = (await fs.readJson(to)) as Json;\n let fileToMerge = json.parse<Json>(templateRender.content);\n let newFile = JSON.stringify(unmerge(targetFile, fileToMerge));\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n\n break;\n }\n\n case '.yaml': {\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(unmerge(targetFile, fileToMerge));\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n\n break;\n }\n\n default: {\n throw new CarsonTemplateError('STRATEGY_UNSUPPORTED_EXTENSION', {\n messageParameters: [\n templateRender.attributes.strategy,\n templateRender.template.path,\n extension,\n ],\n data: {\n path: templateRender.template.path,\n },\n });\n }\n }\n}\n"],
5
+ "mappings": ";AACA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,UAAU;AAEjB,SAAQ,2BAA0B;AAElC,SAAQ,gBAAe;AAEvB,SAAQ,eAAc;AAEtB,sBAAsB,2BACpB,gBACA,YACA;AACA,MAAI,KAAK,KAAK,KAAK,YAAY,eAAe,WAAW,EAAE;AAC3D,MAAI,YAAY,KAAK,QAAQ,EAAE;AAE/B,UAAQ,WAAW;AAAA,IACjB,KAAK,SAAS;AACZ,UAAI,aAAc,MAAM,GAAG,SAAS,EAAE;AACtC,UAAI,cAAc,KAAK,MAAY,eAAe,OAAO;AACzD,UAAI,UAAU,KAAK,UAAU,QAAQ,YAAY,WAAW,CAAC;AAE7D,YAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAEtE;AAAA,IACF;AAAA,IAEA,KAAK,SAAS;AACZ,UAAI,aAAa,KAAK,MAAM,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC,CAAC;AACrE,UAAI,cAAc,KAAK,MAAM,eAAe,OAAO;AACnD,UAAI,UAAU,KAAK,UAAU,QAAQ,YAAY,WAAW,CAAC;AAE7D,YAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAEtE;AAAA,IACF;AAAA,IAEA,SAAS;AACP,YAAM,IAAI,oBAAoB,kCAAkC;AAAA,QAC9D,mBAAmB;AAAA,UACjB,eAAe,WAAW;AAAA,UAC1B,eAAe,SAAS;AAAA,UACxB;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,eAAe,SAAS;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ export * from "./internals/createUsingTemplateRender.js";
3
+ export * from "./internals/deleteUsingTemplateRender.js";
4
+ export * from "./internals/importCarsonTemplate.js";
5
+ export * from "./internals/insertUsingTemplateRender.js";
6
+ export * from "./internals/loadTemplateRenderSnapshots.js";
7
+ export * from "./internals/merge.js";
8
+ export * from "./internals/mergeUsingTemplateRender.js";
9
+ export * from "./internals/overwriteUsingTemplateRender.js";
10
+ export * from "./internals/parseCarsonTemplateId.js";
11
+ export * from "./internals/prettify.js";
12
+ export * from "./internals/readCarsonTemplate.js";
13
+ export * from "./internals/resolveModule.js";
14
+ export * from "./internals/saveTemplateRenderSnapshots.js";
15
+ export * from "./internals/TemplateRenderSnapshot.js";
16
+ export * from "./internals/TemplateRenderSnapshots.js";
17
+ export * from "./internals/uninsertUsingTemplateRender.js";
18
+ export * from "./internals/unmerge.js";
19
+ export * from "./internals/unmergeUsingTemplateRender.js";
20
+ //# sourceMappingURL=internals.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/template/internals.ts"],
4
+ "sourcesContent": ["export * from './internals/createUsingTemplateRender.js';\nexport * from './internals/deleteUsingTemplateRender.js';\nexport * from './internals/importCarsonTemplate.js';\nexport * from './internals/insertUsingTemplateRender.js';\nexport * from './internals/loadTemplateRenderSnapshots.js';\nexport * from './internals/merge.js';\nexport * from './internals/mergeUsingTemplateRender.js';\nexport * from './internals/overwriteUsingTemplateRender.js';\nexport * from './internals/parseCarsonTemplateId.js';\nexport * from './internals/prettify.js';\nexport * from './internals/readCarsonTemplate.js';\nexport * from './internals/resolveModule.js';\nexport * from './internals/saveTemplateRenderSnapshots.js';\nexport * from './internals/TemplateRenderSnapshot.js';\nexport * from './internals/TemplateRenderSnapshots.js';\nexport * from './internals/uninsertUsingTemplateRender.js';\nexport * from './internals/unmerge.js';\nexport * from './internals/unmergeUsingTemplateRender.js';\n"],
5
+ "mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ import { pathToPosixPath } from "@jakubmazanec/fs-utils";
3
+ import _ from "lodash";
4
+ import path from "node:path";
5
+ import {
6
+ importCarsonTemplate,
7
+ parseCarsonTemplateId,
8
+ readCarsonTemplate,
9
+ resolveModule
10
+ } from "./internals.js";
11
+ export async function renderCarsonTemplate(options) {
12
+ let [moduleId] = parseCarsonTemplateId(options.templateId);
13
+ let modulePath = await resolveModule(moduleId);
14
+ let template = await readCarsonTemplate(options.templateId);
15
+ let templateModule = await importCarsonTemplate(options.templateId);
16
+ let templateRenders = [];
17
+ for (let file of template.files) {
18
+ templateRenders.push(
19
+ ...(await file.render(
20
+ {
21
+ ...templateModule,
22
+ ...options.templateData
23
+ },
24
+ { disablePrettier: true }
25
+ )).map((templateRender) => ({
26
+ ...templateRender,
27
+ template: {
28
+ path: pathToPosixPath(
29
+ `${moduleId}/${path.relative(modulePath, file.path ?? modulePath)}`
30
+ )
31
+ }
32
+ }))
33
+ );
34
+ }
35
+ templateRenders = _.sortBy(templateRenders, [
36
+ (templateRender) => templateRender.attributes.to,
37
+ (templateRender) => templateRender.attributes.strategy,
38
+ (templateRender) => templateRender.content
39
+ ]);
40
+ return templateRenders;
41
+ }
42
+ //# sourceMappingURL=renderCarsonTemplate.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/template/renderCarsonTemplate.ts"],
4
+ "sourcesContent": ["import {pathToPosixPath} from '@jakubmazanec/fs-utils';\nimport _ from 'lodash';\nimport path from 'node:path';\n\nimport {\n importCarsonTemplate,\n parseCarsonTemplateId,\n readCarsonTemplate,\n resolveModule,\n} from './internals.js';\nimport {type TemplateData} from './TemplateData.js';\nimport {type TemplateRenders} from './TemplateRenders.js';\n\nexport type RenderCarsonTemplateOptions = {\n templateId: string;\n templateData: TemplateData;\n};\n\n/**\n * Renders a Carson template with provided template data.\n */\nexport async function renderCarsonTemplate(\n options: RenderCarsonTemplateOptions,\n): Promise<TemplateRenders> {\n let [moduleId] = parseCarsonTemplateId(options.templateId);\n let modulePath = await resolveModule(moduleId);\n let template = await readCarsonTemplate(options.templateId);\n let templateModule = await importCarsonTemplate(options.templateId);\n let templateRenders: TemplateRenders = [];\n\n for (let file of template.files) {\n templateRenders.push(\n ...(\n await file.render(\n {\n ...templateModule,\n ...options.templateData,\n },\n {disablePrettier: true},\n )\n ).map((templateRender) => ({\n ...templateRender,\n template: {\n path: pathToPosixPath(\n `${moduleId}/${path.relative(modulePath, file.path ?? modulePath)}`,\n ),\n },\n })),\n );\n }\n\n templateRenders = _.sortBy(templateRenders, [\n (templateRender) => templateRender.attributes.to,\n (templateRender) => templateRender.attributes.strategy,\n (templateRender) => templateRender.content,\n ]);\n\n return templateRenders;\n}\n"],
5
+ "mappings": ";AAAA,SAAQ,uBAAsB;AAC9B,OAAO,OAAO;AACd,OAAO,UAAU;AAEjB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAYP,sBAAsB,qBACpB,SAC0B;AAC1B,MAAI,CAAC,QAAQ,IAAI,sBAAsB,QAAQ,UAAU;AACzD,MAAI,aAAa,MAAM,cAAc,QAAQ;AAC7C,MAAI,WAAW,MAAM,mBAAmB,QAAQ,UAAU;AAC1D,MAAI,iBAAiB,MAAM,qBAAqB,QAAQ,UAAU;AAClE,MAAI,kBAAmC,CAAC;AAExC,WAAS,QAAQ,SAAS,OAAO;AAC/B,oBAAgB;AAAA,MACd,IACE,MAAM,KAAK;AAAA,QACT;AAAA,UACE,GAAG;AAAA,UACH,GAAG,QAAQ;AAAA,QACb;AAAA,QACA,EAAC,iBAAiB,KAAI;AAAA,MACxB,GACA,IAAI,CAAC,oBAAoB;AAAA,QACzB,GAAG;AAAA,QACH,UAAU;AAAA,UACR,MAAM;AAAA,YACJ,GAAG,QAAQ,IAAI,KAAK,SAAS,YAAY,KAAK,QAAQ,UAAU,CAAC;AAAA,UACnE;AAAA,QACF;AAAA,MACF,EAAE;AAAA,IACJ;AAAA,EACF;AAEA,oBAAkB,EAAE,OAAO,iBAAiB;AAAA,IAC1C,CAAC,mBAAmB,eAAe,WAAW;AAAA,IAC9C,CAAC,mBAAmB,eAAe,WAAW;AAAA,IAC9C,CAAC,mBAAmB,eAAe;AAAA,EACrC,CAAC;AAED,SAAO;AACT;",
6
+ "names": []
7
+ }