@baseplate-dev/core-generators 0.1.1

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 (304) hide show
  1. package/LICENSE +390 -0
  2. package/dist/constants/core-packages.d.ts +21 -0
  3. package/dist/constants/core-packages.d.ts.map +1 -0
  4. package/dist/constants/core-packages.js +26 -0
  5. package/dist/constants/core-packages.js.map +1 -0
  6. package/dist/constants/index.d.ts +2 -0
  7. package/dist/constants/index.d.ts.map +1 -0
  8. package/dist/constants/index.js +2 -0
  9. package/dist/constants/index.js.map +1 -0
  10. package/dist/constants/node.d.ts +3 -0
  11. package/dist/constants/node.d.ts.map +1 -0
  12. package/dist/constants/node.js +3 -0
  13. package/dist/constants/node.js.map +1 -0
  14. package/dist/generators/docker/docker-compose/docker-compose.generator.d.ts +17 -0
  15. package/dist/generators/docker/docker-compose/docker-compose.generator.d.ts.map +1 -0
  16. package/dist/generators/docker/docker-compose/docker-compose.generator.js +83 -0
  17. package/dist/generators/docker/docker-compose/docker-compose.generator.js.map +1 -0
  18. package/dist/generators/docker/docker-compose/postgres.d.ts +8 -0
  19. package/dist/generators/docker/docker-compose/postgres.d.ts.map +1 -0
  20. package/dist/generators/docker/docker-compose/postgres.js +22 -0
  21. package/dist/generators/docker/docker-compose/postgres.js.map +1 -0
  22. package/dist/generators/docker/docker-compose/redis.d.ts +8 -0
  23. package/dist/generators/docker/docker-compose/redis.d.ts.map +1 -0
  24. package/dist/generators/docker/docker-compose/redis.js +21 -0
  25. package/dist/generators/docker/docker-compose/redis.js.map +1 -0
  26. package/dist/generators/docker/docker-compose/types.d.ts +5 -0
  27. package/dist/generators/docker/docker-compose/types.d.ts.map +1 -0
  28. package/dist/generators/docker/docker-compose/types.js +2 -0
  29. package/dist/generators/docker/docker-compose/types.js.map +1 -0
  30. package/dist/generators/docker/index.d.ts +2 -0
  31. package/dist/generators/docker/index.d.ts.map +1 -0
  32. package/dist/generators/docker/index.js +2 -0
  33. package/dist/generators/docker/index.js.map +1 -0
  34. package/dist/generators/index.d.ts +3 -0
  35. package/dist/generators/index.d.ts.map +1 -0
  36. package/dist/generators/index.js +3 -0
  37. package/dist/generators/index.js.map +1 -0
  38. package/dist/generators/node/_composers/index.d.ts +2 -0
  39. package/dist/generators/node/_composers/index.d.ts.map +1 -0
  40. package/dist/generators/node/_composers/index.js +2 -0
  41. package/dist/generators/node/_composers/index.js.map +1 -0
  42. package/dist/generators/node/_composers/node.d.ts +4 -0
  43. package/dist/generators/node/_composers/node.d.ts.map +1 -0
  44. package/dist/generators/node/_composers/node.js +18 -0
  45. package/dist/generators/node/_composers/node.js.map +1 -0
  46. package/dist/generators/node/eslint/eslint.generator.d.ts +33 -0
  47. package/dist/generators/node/eslint/eslint.generator.d.ts.map +1 -0
  48. package/dist/generators/node/eslint/eslint.generator.js +110 -0
  49. package/dist/generators/node/eslint/eslint.generator.js.map +1 -0
  50. package/dist/generators/node/eslint/generated/ts-templates.d.ts +9 -0
  51. package/dist/generators/node/eslint/generated/ts-templates.d.ts.map +1 -0
  52. package/dist/generators/node/eslint/generated/ts-templates.js +14 -0
  53. package/dist/generators/node/eslint/generated/ts-templates.js.map +1 -0
  54. package/dist/generators/node/eslint/react-rules.d.ts +2 -0
  55. package/dist/generators/node/eslint/react-rules.d.ts.map +1 -0
  56. package/dist/generators/node/eslint/react-rules.js +59 -0
  57. package/dist/generators/node/eslint/react-rules.js.map +1 -0
  58. package/dist/generators/node/eslint/templates/eslint.config.js +219 -0
  59. package/dist/generators/node/eslint/vitest-rules.d.ts +2 -0
  60. package/dist/generators/node/eslint/vitest-rules.d.ts.map +1 -0
  61. package/dist/generators/node/eslint/vitest-rules.js +17 -0
  62. package/dist/generators/node/eslint/vitest-rules.js.map +1 -0
  63. package/dist/generators/node/index.d.ts +9 -0
  64. package/dist/generators/node/index.d.ts.map +1 -0
  65. package/dist/generators/node/index.js +9 -0
  66. package/dist/generators/node/index.js.map +1 -0
  67. package/dist/generators/node/node/node.generator.d.ts +72 -0
  68. package/dist/generators/node/node/node.generator.d.ts.map +1 -0
  69. package/dist/generators/node/node/node.generator.js +149 -0
  70. package/dist/generators/node/node/node.generator.js.map +1 -0
  71. package/dist/generators/node/node/package-dependencies-container.d.ts +41 -0
  72. package/dist/generators/node/node/package-dependencies-container.d.ts.map +1 -0
  73. package/dist/generators/node/node/package-dependencies-container.js +104 -0
  74. package/dist/generators/node/node/package-dependencies-container.js.map +1 -0
  75. package/dist/generators/node/node-git-ignore/node-git-ignore.generator.d.ts +15 -0
  76. package/dist/generators/node/node-git-ignore/node-git-ignore.generator.d.ts.map +1 -0
  77. package/dist/generators/node/node-git-ignore/node-git-ignore.generator.js +75 -0
  78. package/dist/generators/node/node-git-ignore/node-git-ignore.generator.js.map +1 -0
  79. package/dist/generators/node/prettier/prettier.generator.d.ts +33 -0
  80. package/dist/generators/node/prettier/prettier.generator.d.ts.map +1 -0
  81. package/dist/generators/node/prettier/prettier.generator.js +191 -0
  82. package/dist/generators/node/prettier/prettier.generator.js.map +1 -0
  83. package/dist/generators/node/ts-utils/generated/ts-import-maps.d.ts +21 -0
  84. package/dist/generators/node/ts-utils/generated/ts-import-maps.d.ts.map +1 -0
  85. package/dist/generators/node/ts-utils/generated/ts-import-maps.js +22 -0
  86. package/dist/generators/node/ts-utils/generated/ts-import-maps.js.map +1 -0
  87. package/dist/generators/node/ts-utils/generated/ts-templates.d.ts +7 -0
  88. package/dist/generators/node/ts-utils/generated/ts-templates.d.ts.map +1 -0
  89. package/dist/generators/node/ts-utils/generated/ts-templates.js +32 -0
  90. package/dist/generators/node/ts-utils/generated/ts-templates.js.map +1 -0
  91. package/dist/generators/node/ts-utils/templates/arrays.ts +13 -0
  92. package/dist/generators/node/ts-utils/templates/normalize-types.ts +12 -0
  93. package/dist/generators/node/ts-utils/templates/nulls.ts +33 -0
  94. package/dist/generators/node/ts-utils/templates/string.ts +11 -0
  95. package/dist/generators/node/ts-utils/ts-utils.generator.d.ts +17 -0
  96. package/dist/generators/node/ts-utils/ts-utils.generator.d.ts.map +1 -0
  97. package/dist/generators/node/ts-utils/ts-utils.generator.js +48 -0
  98. package/dist/generators/node/ts-utils/ts-utils.generator.js.map +1 -0
  99. package/dist/generators/node/typescript/compiler-types.d.ts +178 -0
  100. package/dist/generators/node/typescript/compiler-types.d.ts.map +1 -0
  101. package/dist/generators/node/typescript/compiler-types.js +70 -0
  102. package/dist/generators/node/typescript/compiler-types.js.map +1 -0
  103. package/dist/generators/node/typescript/typescript.generator.d.ts +117 -0
  104. package/dist/generators/node/typescript/typescript.generator.d.ts.map +1 -0
  105. package/dist/generators/node/typescript/typescript.generator.js +198 -0
  106. package/dist/generators/node/typescript/typescript.generator.js.map +1 -0
  107. package/dist/generators/node/vitest/generated/ts-templates.d.ts +9 -0
  108. package/dist/generators/node/vitest/generated/ts-templates.d.ts.map +1 -0
  109. package/dist/generators/node/vitest/generated/ts-templates.js +15 -0
  110. package/dist/generators/node/vitest/generated/ts-templates.js.map +1 -0
  111. package/dist/generators/node/vitest/templates/global-setup.ts +5 -0
  112. package/dist/generators/node/vitest/templates/vitest.config.ts +5 -0
  113. package/dist/generators/node/vitest/vitest.generator.d.ts +26 -0
  114. package/dist/generators/node/vitest/vitest.generator.d.ts.map +1 -0
  115. package/dist/generators/node/vitest/vitest.generator.js +93 -0
  116. package/dist/generators/node/vitest/vitest.generator.js.map +1 -0
  117. package/dist/index.d.ts +7 -0
  118. package/dist/index.js +7 -0
  119. package/dist/index.js.map +1 -0
  120. package/dist/providers/index.d.ts +3 -0
  121. package/dist/providers/index.d.ts.map +1 -0
  122. package/dist/providers/index.js +3 -0
  123. package/dist/providers/index.js.map +1 -0
  124. package/dist/providers/project.d.ts +5 -0
  125. package/dist/providers/project.d.ts.map +1 -0
  126. package/dist/providers/project.js +3 -0
  127. package/dist/providers/project.js.map +1 -0
  128. package/dist/providers/scopes.d.ts +3 -0
  129. package/dist/providers/scopes.d.ts.map +1 -0
  130. package/dist/providers/scopes.js +4 -0
  131. package/dist/providers/scopes.js.map +1 -0
  132. package/dist/renderers/index.d.ts +2 -0
  133. package/dist/renderers/index.d.ts.map +1 -0
  134. package/dist/renderers/index.js +2 -0
  135. package/dist/renderers/index.js.map +1 -0
  136. package/dist/renderers/typescript/actions/index.d.ts +4 -0
  137. package/dist/renderers/typescript/actions/index.d.ts.map +1 -0
  138. package/dist/renderers/typescript/actions/index.js +4 -0
  139. package/dist/renderers/typescript/actions/index.js.map +1 -0
  140. package/dist/renderers/typescript/actions/render-ts-fragment-action.d.ts +12 -0
  141. package/dist/renderers/typescript/actions/render-ts-fragment-action.d.ts.map +1 -0
  142. package/dist/renderers/typescript/actions/render-ts-fragment-action.js +25 -0
  143. package/dist/renderers/typescript/actions/render-ts-fragment-action.js.map +1 -0
  144. package/dist/renderers/typescript/actions/render-ts-template-file-action.d.ts +32 -0
  145. package/dist/renderers/typescript/actions/render-ts-template-file-action.d.ts.map +1 -0
  146. package/dist/renderers/typescript/actions/render-ts-template-file-action.js +65 -0
  147. package/dist/renderers/typescript/actions/render-ts-template-file-action.js.map +1 -0
  148. package/dist/renderers/typescript/actions/render-ts-template-group-action.d.ts +58 -0
  149. package/dist/renderers/typescript/actions/render-ts-template-group-action.d.ts.map +1 -0
  150. package/dist/renderers/typescript/actions/render-ts-template-group-action.js +69 -0
  151. package/dist/renderers/typescript/actions/render-ts-template-group-action.js.map +1 -0
  152. package/dist/renderers/typescript/extractor/extract-ts-template-variables.d.ts +18 -0
  153. package/dist/renderers/typescript/extractor/extract-ts-template-variables.d.ts.map +1 -0
  154. package/dist/renderers/typescript/extractor/extract-ts-template-variables.js +38 -0
  155. package/dist/renderers/typescript/extractor/extract-ts-template-variables.js.map +1 -0
  156. package/dist/renderers/typescript/extractor/index.d.ts +2 -0
  157. package/dist/renderers/typescript/extractor/index.d.ts.map +1 -0
  158. package/dist/renderers/typescript/extractor/index.js +2 -0
  159. package/dist/renderers/typescript/extractor/index.js.map +1 -0
  160. package/dist/renderers/typescript/extractor/organize-ts-template-imports.d.ts +26 -0
  161. package/dist/renderers/typescript/extractor/organize-ts-template-imports.d.ts.map +1 -0
  162. package/dist/renderers/typescript/extractor/organize-ts-template-imports.js +175 -0
  163. package/dist/renderers/typescript/extractor/organize-ts-template-imports.js.map +1 -0
  164. package/dist/renderers/typescript/extractor/preprocess-code-for-extraction-hack.d.ts +17 -0
  165. package/dist/renderers/typescript/extractor/preprocess-code-for-extraction-hack.d.ts.map +1 -0
  166. package/dist/renderers/typescript/extractor/preprocess-code-for-extraction-hack.js +46 -0
  167. package/dist/renderers/typescript/extractor/preprocess-code-for-extraction-hack.js.map +1 -0
  168. package/dist/renderers/typescript/extractor/templates/imports-file.d.ts +2 -0
  169. package/dist/renderers/typescript/extractor/templates/imports-file.d.ts.map +1 -0
  170. package/dist/renderers/typescript/extractor/templates/imports-file.js +35 -0
  171. package/dist/renderers/typescript/extractor/templates/imports-file.js.map +1 -0
  172. package/dist/renderers/typescript/extractor/ts-template-file-extractor.d.ts +167 -0
  173. package/dist/renderers/typescript/extractor/ts-template-file-extractor.d.ts.map +1 -0
  174. package/dist/renderers/typescript/extractor/ts-template-file-extractor.js +279 -0
  175. package/dist/renderers/typescript/extractor/ts-template-file-extractor.js.map +1 -0
  176. package/dist/renderers/typescript/extractor/write-ts-project-exports.d.ts +96 -0
  177. package/dist/renderers/typescript/extractor/write-ts-project-exports.d.ts.map +1 -0
  178. package/dist/renderers/typescript/extractor/write-ts-project-exports.js +139 -0
  179. package/dist/renderers/typescript/extractor/write-ts-project-exports.js.map +1 -0
  180. package/dist/renderers/typescript/fragments/creators.d.ts +29 -0
  181. package/dist/renderers/typescript/fragments/creators.d.ts.map +1 -0
  182. package/dist/renderers/typescript/fragments/creators.js +53 -0
  183. package/dist/renderers/typescript/fragments/creators.js.map +1 -0
  184. package/dist/renderers/typescript/fragments/index.d.ts +4 -0
  185. package/dist/renderers/typescript/fragments/index.d.ts.map +1 -0
  186. package/dist/renderers/typescript/fragments/index.js +3 -0
  187. package/dist/renderers/typescript/fragments/index.js.map +1 -0
  188. package/dist/renderers/typescript/fragments/types.d.ts +65 -0
  189. package/dist/renderers/typescript/fragments/types.d.ts.map +1 -0
  190. package/dist/renderers/typescript/fragments/types.js +2 -0
  191. package/dist/renderers/typescript/fragments/types.js.map +1 -0
  192. package/dist/renderers/typescript/fragments/utils.d.ts +51 -0
  193. package/dist/renderers/typescript/fragments/utils.d.ts.map +1 -0
  194. package/dist/renderers/typescript/fragments/utils.js +134 -0
  195. package/dist/renderers/typescript/fragments/utils.js.map +1 -0
  196. package/dist/renderers/typescript/import-maps/index.d.ts +4 -0
  197. package/dist/renderers/typescript/import-maps/index.d.ts.map +1 -0
  198. package/dist/renderers/typescript/import-maps/index.js +3 -0
  199. package/dist/renderers/typescript/import-maps/index.js.map +1 -0
  200. package/dist/renderers/typescript/import-maps/transform-ts-imports-with-map.d.ts +19 -0
  201. package/dist/renderers/typescript/import-maps/transform-ts-imports-with-map.d.ts.map +1 -0
  202. package/dist/renderers/typescript/import-maps/transform-ts-imports-with-map.js +54 -0
  203. package/dist/renderers/typescript/import-maps/transform-ts-imports-with-map.js.map +1 -0
  204. package/dist/renderers/typescript/import-maps/ts-import-map.d.ts +10 -0
  205. package/dist/renderers/typescript/import-maps/ts-import-map.d.ts.map +1 -0
  206. package/dist/renderers/typescript/import-maps/ts-import-map.js +39 -0
  207. package/dist/renderers/typescript/import-maps/ts-import-map.js.map +1 -0
  208. package/dist/renderers/typescript/import-maps/types.d.ts +28 -0
  209. package/dist/renderers/typescript/import-maps/types.d.ts.map +1 -0
  210. package/dist/renderers/typescript/import-maps/types.js +2 -0
  211. package/dist/renderers/typescript/import-maps/types.js.map +1 -0
  212. package/dist/renderers/typescript/imports/builder.d.ts +49 -0
  213. package/dist/renderers/typescript/imports/builder.d.ts.map +1 -0
  214. package/dist/renderers/typescript/imports/builder.js +47 -0
  215. package/dist/renderers/typescript/imports/builder.js.map +1 -0
  216. package/dist/renderers/typescript/imports/index.d.ts +8 -0
  217. package/dist/renderers/typescript/imports/index.d.ts.map +1 -0
  218. package/dist/renderers/typescript/imports/index.js +7 -0
  219. package/dist/renderers/typescript/imports/index.js.map +1 -0
  220. package/dist/renderers/typescript/imports/merge-ts-import-declarations.d.ts +20 -0
  221. package/dist/renderers/typescript/imports/merge-ts-import-declarations.d.ts.map +1 -0
  222. package/dist/renderers/typescript/imports/merge-ts-import-declarations.js +114 -0
  223. package/dist/renderers/typescript/imports/merge-ts-import-declarations.js.map +1 -0
  224. package/dist/renderers/typescript/imports/normalize-module-specifier.d.ts +40 -0
  225. package/dist/renderers/typescript/imports/normalize-module-specifier.d.ts.map +1 -0
  226. package/dist/renderers/typescript/imports/normalize-module-specifier.js +133 -0
  227. package/dist/renderers/typescript/imports/normalize-module-specifier.js.map +1 -0
  228. package/dist/renderers/typescript/imports/sort-imports/get-import-sort-group.d.ts +31 -0
  229. package/dist/renderers/typescript/imports/sort-imports/get-import-sort-group.d.ts.map +1 -0
  230. package/dist/renderers/typescript/imports/sort-imports/get-import-sort-group.js +169 -0
  231. package/dist/renderers/typescript/imports/sort-imports/get-import-sort-group.js.map +1 -0
  232. package/dist/renderers/typescript/imports/sort-imports/index.d.ts +2 -0
  233. package/dist/renderers/typescript/imports/sort-imports/index.d.ts.map +1 -0
  234. package/dist/renderers/typescript/imports/sort-imports/index.js +2 -0
  235. package/dist/renderers/typescript/imports/sort-imports/index.js.map +1 -0
  236. package/dist/renderers/typescript/imports/sort-imports/sort-import-declarations.d.ts +32 -0
  237. package/dist/renderers/typescript/imports/sort-imports/sort-import-declarations.d.ts.map +1 -0
  238. package/dist/renderers/typescript/imports/sort-imports/sort-import-declarations.js +72 -0
  239. package/dist/renderers/typescript/imports/sort-imports/sort-import-declarations.js.map +1 -0
  240. package/dist/renderers/typescript/imports/ts-morph-operations.d.ts +42 -0
  241. package/dist/renderers/typescript/imports/ts-morph-operations.d.ts.map +1 -0
  242. package/dist/renderers/typescript/imports/ts-morph-operations.js +145 -0
  243. package/dist/renderers/typescript/imports/ts-morph-operations.js.map +1 -0
  244. package/dist/renderers/typescript/imports/ts-path-maps.d.ts +18 -0
  245. package/dist/renderers/typescript/imports/ts-path-maps.d.ts.map +1 -0
  246. package/dist/renderers/typescript/imports/ts-path-maps.js +39 -0
  247. package/dist/renderers/typescript/imports/ts-path-maps.js.map +1 -0
  248. package/dist/renderers/typescript/imports/types.d.ts +73 -0
  249. package/dist/renderers/typescript/imports/types.d.ts.map +1 -0
  250. package/dist/renderers/typescript/imports/types.js +2 -0
  251. package/dist/renderers/typescript/imports/types.js.map +1 -0
  252. package/dist/renderers/typescript/index.d.ts +9 -0
  253. package/dist/renderers/typescript/index.d.ts.map +1 -0
  254. package/dist/renderers/typescript/index.js +9 -0
  255. package/dist/renderers/typescript/index.js.map +1 -0
  256. package/dist/renderers/typescript/renderers/file.d.ts +18 -0
  257. package/dist/renderers/typescript/renderers/file.d.ts.map +1 -0
  258. package/dist/renderers/typescript/renderers/file.js +91 -0
  259. package/dist/renderers/typescript/renderers/file.js.map +1 -0
  260. package/dist/renderers/typescript/renderers/index.d.ts +3 -0
  261. package/dist/renderers/typescript/renderers/index.d.ts.map +1 -0
  262. package/dist/renderers/typescript/renderers/index.js +3 -0
  263. package/dist/renderers/typescript/renderers/index.js.map +1 -0
  264. package/dist/renderers/typescript/renderers/template.d.ts +21 -0
  265. package/dist/renderers/typescript/renderers/template.d.ts.map +1 -0
  266. package/dist/renderers/typescript/renderers/template.js +132 -0
  267. package/dist/renderers/typescript/renderers/template.js.map +1 -0
  268. package/dist/renderers/typescript/templates/creators.d.ts +10 -0
  269. package/dist/renderers/typescript/templates/creators.d.ts.map +1 -0
  270. package/dist/renderers/typescript/templates/creators.js +9 -0
  271. package/dist/renderers/typescript/templates/creators.js.map +1 -0
  272. package/dist/renderers/typescript/templates/index.d.ts +3 -0
  273. package/dist/renderers/typescript/templates/index.d.ts.map +1 -0
  274. package/dist/renderers/typescript/templates/index.js +3 -0
  275. package/dist/renderers/typescript/templates/index.js.map +1 -0
  276. package/dist/renderers/typescript/templates/types.d.ts +119 -0
  277. package/dist/renderers/typescript/templates/types.d.ts.map +1 -0
  278. package/dist/renderers/typescript/templates/types.js +43 -0
  279. package/dist/renderers/typescript/templates/types.js.map +1 -0
  280. package/dist/renderers/typescript/utils/index.d.ts +2 -0
  281. package/dist/renderers/typescript/utils/index.d.ts.map +1 -0
  282. package/dist/renderers/typescript/utils/index.js +2 -0
  283. package/dist/renderers/typescript/utils/index.js.map +1 -0
  284. package/dist/renderers/typescript/utils/ts-code-utils.d.ts +200 -0
  285. package/dist/renderers/typescript/utils/ts-code-utils.d.ts.map +1 -0
  286. package/dist/renderers/typescript/utils/ts-code-utils.js +431 -0
  287. package/dist/renderers/typescript/utils/ts-code-utils.js.map +1 -0
  288. package/dist/utils/extract-packages.d.ts +8 -0
  289. package/dist/utils/extract-packages.d.ts.map +1 -0
  290. package/dist/utils/extract-packages.js +10 -0
  291. package/dist/utils/extract-packages.js.map +1 -0
  292. package/dist/utils/index.d.ts +2 -0
  293. package/dist/utils/index.d.ts.map +1 -0
  294. package/dist/utils/index.js +2 -0
  295. package/dist/utils/index.js.map +1 -0
  296. package/dist/writers/index.d.ts +2 -0
  297. package/dist/writers/index.d.ts.map +1 -0
  298. package/dist/writers/index.js +2 -0
  299. package/dist/writers/index.js.map +1 -0
  300. package/dist/writers/json.d.ts +21 -0
  301. package/dist/writers/json.d.ts.map +1 -0
  302. package/dist/writers/json.js +14 -0
  303. package/dist/writers/json.js.map +1 -0
  304. package/package.json +88 -0
@@ -0,0 +1,5 @@
1
+ export interface ProjectProvider {
2
+ getProjectName(): string;
3
+ }
4
+ export declare const projectProvider: import("@baseplate-dev/sync").ProviderType<ProjectProvider>;
5
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/providers/project.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,cAAc,IAAI,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,eAAe,6DAC4B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createReadOnlyProviderType } from '@baseplate-dev/sync';
2
+ export const projectProvider = createReadOnlyProviderType('project');
3
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/providers/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAMjE,MAAM,CAAC,MAAM,eAAe,GAC1B,0BAA0B,CAAkB,SAAS,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const projectScope: import("@baseplate-dev/sync").ProviderExportScope;
2
+ export declare const featureScope: import("@baseplate-dev/sync").ProviderExportScope;
3
+ //# sourceMappingURL=scopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/providers/scopes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,mDAGxB,CAAC;AAEF,eAAO,MAAM,YAAY,mDAGxB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { createProviderExportScope } from '@baseplate-dev/sync';
2
+ export const projectScope = createProviderExportScope('core/project', 'Scope for the entire project');
3
+ export const featureScope = createProviderExportScope('core/feature', 'Scope for a specific feature');
4
+ //# sourceMappingURL=scopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/providers/scopes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,CACnD,cAAc,EACd,8BAA8B,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,CACnD,cAAc,EACd,8BAA8B,CAC/B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './typescript/index.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './typescript/index.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './render-ts-fragment-action.js';
2
+ export * from './render-ts-template-file-action.js';
3
+ export * from './render-ts-template-group-action.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './render-ts-fragment-action.js';
2
+ export * from './render-ts-template-file-action.js';
3
+ export * from './render-ts-template-group-action.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { BuilderAction, WriteFileOptions } from '@baseplate-dev/sync';
2
+ import type { TsCodeFragment } from '../fragments/types.js';
3
+ import type { RenderTsCodeFileTemplateOptions } from '../renderers/file.js';
4
+ export interface RenderTsFragmentActionInput {
5
+ fragment: TsCodeFragment;
6
+ id: string;
7
+ destination: string;
8
+ renderOptions?: RenderTsCodeFileTemplateOptions;
9
+ writeOptions?: Omit<WriteFileOptions, 'templateMetadata'>;
10
+ }
11
+ export declare function renderTsFragmentAction({ fragment, id, destination, writeOptions, renderOptions, }: RenderTsFragmentActionInput): BuilderAction;
12
+ //# sourceMappingURL=render-ts-fragment-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-fragment-action.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-fragment-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAI5E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,cAAc,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,+BAA+B,CAAC;IAChD,YAAY,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;CAC3D;AAED,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,EAAE,EACF,WAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE,2BAA2B,GAAG,aAAa,CAuB7C"}
@@ -0,0 +1,25 @@
1
+ import { renderTsCodeFileTemplate } from '../renderers/file.js';
2
+ export function renderTsFragmentAction({ fragment, id, destination, writeOptions, renderOptions, }) {
3
+ return {
4
+ execute: (builder) => {
5
+ const renderedTemplate = renderTsCodeFileTemplate({
6
+ templateContents: 'TPL_CONTENTS',
7
+ variables: { TPL_CONTENTS: fragment },
8
+ importMapProviders: {},
9
+ positionedHoistedFragments: [],
10
+ options: {
11
+ includeMetadata: false,
12
+ ...renderOptions,
13
+ },
14
+ });
15
+ builder.writeFile({
16
+ id,
17
+ destination,
18
+ contents: renderedTemplate,
19
+ options: writeOptions,
20
+ generatorName: builder.generatorInfo.name,
21
+ });
22
+ },
23
+ };
24
+ }
25
+ //# sourceMappingURL=render-ts-fragment-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-fragment-action.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-fragment-action.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAUhE,MAAM,UAAU,sBAAsB,CAAC,EACrC,QAAQ,EACR,EAAE,EACF,WAAW,EACX,YAAY,EACZ,aAAa,GACe;IAC5B,OAAO;QACL,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;YACnB,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;gBAChD,gBAAgB,EAAE,cAAc;gBAChC,SAAS,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE;gBACrC,kBAAkB,EAAE,EAAE;gBACtB,0BAA0B,EAAE,EAAE;gBAC9B,OAAO,EAAE;oBACP,eAAe,EAAE,KAAK;oBACtB,GAAG,aAAa;iBACjB;aACF,CAAC,CAAC;YAEH,OAAO,CAAC,SAAS,CAAC;gBAChB,EAAE;gBACF,WAAW;gBACX,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,YAAY;gBACrB,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI;aAC1C,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { BuilderAction, GeneratorInfo, Provider, WriteFileOptions } from '@baseplate-dev/sync';
2
+ import type { TsPositionedHoistedFragment } from '../fragments/types.js';
3
+ import type { RenderTsCodeFileTemplateOptions } from '../renderers/file.js';
4
+ import type { InferImportMapProvidersFromProviderTypeMap, InferTsTemplateVariablesFromMap, TsTemplateFile } from '../templates/types.js';
5
+ interface RenderTsTemplateFileActionInputBase<T extends TsTemplateFile> {
6
+ template: T;
7
+ id?: string;
8
+ destination: string;
9
+ writeOptions?: Omit<WriteFileOptions, 'templateMetadata'>;
10
+ positionedHoistedFragments?: TsPositionedHoistedFragment[];
11
+ renderOptions?: Omit<RenderTsCodeFileTemplateOptions, 'prefix' | 'includeMetadata'>;
12
+ /**
13
+ * The generator info for the generator that is writing the template file
14
+ *
15
+ * If not provided, it will be inferred from the builder.
16
+ */
17
+ generatorInfo?: GeneratorInfo;
18
+ }
19
+ type RenderTsTemplateFileActionVariablesInput<T extends TsTemplateFile> = keyof InferTsTemplateVariablesFromMap<T['variables']> extends never ? Partial<{
20
+ variables: InferTsTemplateVariablesFromMap<T['variables']>;
21
+ }> : {
22
+ variables: InferTsTemplateVariablesFromMap<T['variables']>;
23
+ };
24
+ type RenderTsTemplateFileActionImportMapProvidersInput<T extends TsTemplateFile> = keyof Exclude<T['importMapProviders'], undefined> extends never ? Partial<{
25
+ importMapProviders: Partial<Record<'', Provider>>;
26
+ }> : {
27
+ importMapProviders: InferImportMapProvidersFromProviderTypeMap<T['importMapProviders']>;
28
+ };
29
+ export type RenderTsTemplateFileActionInput<T extends TsTemplateFile = TsTemplateFile> = RenderTsTemplateFileActionInputBase<T> & RenderTsTemplateFileActionVariablesInput<T> & RenderTsTemplateFileActionImportMapProvidersInput<T>;
30
+ export declare function renderTsTemplateFileAction<T extends TsTemplateFile = TsTemplateFile>({ template, id, destination, writeOptions, variables, importMapProviders, renderOptions, positionedHoistedFragments, generatorInfo: providedGeneratorInfo, }: RenderTsTemplateFileActionInput<T>): BuilderAction;
31
+ export {};
32
+ //# sourceMappingURL=render-ts-template-file-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-template-file-action.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-template-file-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EACV,0CAA0C,EAC1C,+BAA+B,EAC/B,cAAc,EAGf,MAAM,uBAAuB,CAAC;AAK/B,UAAU,mCAAmC,CAAC,CAAC,SAAS,cAAc;IACpE,QAAQ,EAAE,CAAC,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC1D,0BAA0B,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC3D,aAAa,CAAC,EAAE,IAAI,CAClB,+BAA+B,EAC/B,QAAQ,GAAG,iBAAiB,CAC7B,CAAC;IACF;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,KAAK,wCAAwC,CAAC,CAAC,SAAS,cAAc,IACpE,MAAM,+BAA+B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,KAAK,GAC/D,OAAO,CAAC;IAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;CAAE,CAAC,GACvE;IAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;CAAE,CAAC;AAErE,KAAK,iDAAiD,CACpD,CAAC,SAAS,cAAc,IACtB,MAAM,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,SAAS,KAAK,GAC/D,OAAO,CAAC;IAEN,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;CACnD,CAAC,GACF;IACE,kBAAkB,EAAE,0CAA0C,CAC5D,CAAC,CAAC,oBAAoB,CAAC,CACxB,CAAC;CACH,CAAC;AAEN,MAAM,MAAM,+BAA+B,CACzC,CAAC,SAAS,cAAc,GAAG,cAAc,IACvC,mCAAmC,CAAC,CAAC,CAAC,GACxC,wCAAwC,CAAC,CAAC,CAAC,GAC3C,iDAAiD,CAAC,CAAC,CAAC,CAAC;AAEvD,wBAAgB,0BAA0B,CACxC,CAAC,SAAS,cAAc,GAAG,cAAc,EACzC,EACA,QAAQ,EACR,EAAE,EACF,WAAW,EACX,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,0BAA0B,EAC1B,aAAa,EAAE,qBAAqB,GACrC,EAAE,+BAA+B,CAAC,CAAC,CAAC,GAAG,aAAa,CA6EpD"}
@@ -0,0 +1,65 @@
1
+ import { normalizePathToProjectPath, readTemplateFileSource, } from '@baseplate-dev/sync';
2
+ import { differenceSet } from '@baseplate-dev/utils';
3
+ import { renderTsCodeFileTemplate } from '../renderers/file.js';
4
+ import { TS_TEMPLATE_TYPE } from '../templates/types.js';
5
+ export function renderTsTemplateFileAction({ template, id, destination, writeOptions, variables, importMapProviders, renderOptions, positionedHoistedFragments, generatorInfo: providedGeneratorInfo, }) {
6
+ return {
7
+ execute: async (builder) => {
8
+ const generatorInfo = providedGeneratorInfo ?? builder.generatorInfo;
9
+ const templateContents = await readTemplateFileSource(generatorInfo.baseDirectory, template.source);
10
+ const prefix = template.prefix ?? 'TPL_';
11
+ const variableValues = variables ?? {};
12
+ // make sure variables and template variables match keys
13
+ const templateVariables = template.variables;
14
+ const templateKeySet = new Set(Object.keys(templateVariables));
15
+ const providedKeySet = new Set(Object.keys(variableValues));
16
+ if (templateKeySet.size !== providedKeySet.size ||
17
+ [...templateKeySet].some((k) => !providedKeySet.has(k))) {
18
+ const missingKeys = differenceSet(templateKeySet, providedKeySet);
19
+ const extraKeys = differenceSet(providedKeySet, templateKeySet);
20
+ throw new Error(`Template variables and provided variables do not match. Missing keys: ${[
21
+ ...missingKeys,
22
+ ].join(', ')}. Extra keys: ${[...extraKeys].join(', ')}.`);
23
+ }
24
+ const templateMetadata = {
25
+ name: template.name,
26
+ template: 'path' in template.source
27
+ ? template.source.path
28
+ : 'content-only-template',
29
+ generator: generatorInfo.name,
30
+ group: template.group,
31
+ type: TS_TEMPLATE_TYPE,
32
+ projectExports: Object.keys(template.projectExports ?? {}).length > 0
33
+ ? template.projectExports
34
+ : undefined,
35
+ };
36
+ const shouldIncludeMetadata = builder.metadataOptions.includeTemplateMetadata &&
37
+ builder.metadataOptions.shouldGenerateMetadata({
38
+ fileId: id ?? template.name,
39
+ filePath: normalizePathToProjectPath(destination),
40
+ generatorName: generatorInfo.name,
41
+ hasManualId: !!id,
42
+ });
43
+ const renderedTemplate = renderTsCodeFileTemplate({
44
+ templateContents,
45
+ variables: variableValues,
46
+ importMapProviders,
47
+ positionedHoistedFragments,
48
+ options: {
49
+ ...renderOptions,
50
+ includeMetadata: shouldIncludeMetadata,
51
+ prefix,
52
+ },
53
+ });
54
+ builder.writeFile({
55
+ id: id ?? template.name,
56
+ destination,
57
+ contents: renderedTemplate,
58
+ options: writeOptions,
59
+ templateMetadata: shouldIncludeMetadata ? templateMetadata : undefined,
60
+ generatorName: generatorInfo.name,
61
+ });
62
+ },
63
+ };
64
+ }
65
+ //# sourceMappingURL=render-ts-template-file-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-template-file-action.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-template-file-action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { type BuilderAction, type WriteFileOptions } from '@baseplate-dev/sync';
2
+ import type { RenderTsCodeFileTemplateOptions } from '../renderers/file.js';
3
+ import type { InferImportMapProvidersFromProviderTypeMap, InferTsTemplateVariablesFromMap, TsTemplateFile, TsTemplateGroup } from '../templates/types.js';
4
+ import type { RenderTsTemplateFileActionInput } from './render-ts-template-file-action.js';
5
+ type HasVariables<T extends TsTemplateFile> = keyof InferTsTemplateVariablesFromMap<T['variables']> extends never ? false : true;
6
+ type InferTsTemplateVariablesFromTemplateGroup<T extends TsTemplateGroup> = {
7
+ [K in keyof T['templates'] as HasVariables<T['templates'][K]['template']> extends true ? K : never]: InferTsTemplateVariablesFromMap<T['templates'][K]['template']['variables']>;
8
+ };
9
+ type IntersectionOfValues<T> = UnionToIntersection<T[keyof T]>;
10
+ type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
11
+ /**
12
+ * Typescript hack to force IDEs to show raw object
13
+ * type without additional typing that we have added
14
+ */
15
+ type NormalizeTypes<T> = T extends Record<string, unknown> ? {
16
+ [K in keyof T]: T[K];
17
+ } : T;
18
+ type InferImportMapProvidersFromTemplateGroup<T extends TsTemplateGroup> = NormalizeTypes<IntersectionOfValues<{
19
+ [K in keyof T['templates']]: InferImportMapProvidersFromProviderTypeMap<T['templates'][K]['template']['importMapProviders']>;
20
+ }>>;
21
+ interface RenderTsTemplateGroupActionInputBase<T extends TsTemplateGroup> {
22
+ group: T;
23
+ baseDirectory: string;
24
+ writeOptions?: {
25
+ [K in keyof T['templates']]?: Omit<WriteFileOptions, 'templateMetadata'>;
26
+ };
27
+ renderOptions?: Omit<RenderTsCodeFileTemplateOptions, 'resolveModule'> & {
28
+ resolveModule?: (moduleSpecifier: string, sourceDirectory: string) => string;
29
+ };
30
+ /**
31
+ * Called when a template file is rendered
32
+ * @param canonicalPath - The canonical path to the template file
33
+ */
34
+ onRenderTemplateFile?: (canonicalPath: string) => void;
35
+ }
36
+ export type RenderTsTemplateGroupActionInput<T extends TsTemplateGroup = TsTemplateGroup> = RenderTsTemplateGroupActionInputBase<T> & (keyof InferTsTemplateVariablesFromTemplateGroup<T> extends never ? Partial<{
37
+ variables: InferTsTemplateVariablesFromTemplateGroup<T>;
38
+ }> : {
39
+ variables: InferTsTemplateVariablesFromTemplateGroup<T>;
40
+ }) & (keyof InferImportMapProvidersFromTemplateGroup<T> extends never ? {
41
+ importMapProviders?: never;
42
+ } : {
43
+ importMapProviders: InferImportMapProvidersFromTemplateGroup<T>;
44
+ });
45
+ /**
46
+ * Extracts the template file inputs from a template group
47
+ * @param input - The input for the template group
48
+ * @returns The template file inputs
49
+ */
50
+ export declare function extractTsTemplateFileInputsFromTemplateGroup<T extends TsTemplateGroup = TsTemplateGroup>({ group, baseDirectory, variables, importMapProviders, writeOptions, renderOptions, }: RenderTsTemplateGroupActionInput<T>): RenderTsTemplateFileActionInput[];
51
+ /**
52
+ * Renders a template group to a builder action
53
+ * @param input - The input for the template group
54
+ * @returns The builder action
55
+ */
56
+ export declare function renderTsTemplateGroupAction<T extends TsTemplateGroup = TsTemplateGroup>(input: RenderTsTemplateGroupActionInput<T>): BuilderAction;
57
+ export {};
58
+ //# sourceMappingURL=render-ts-template-group-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-template-group-action.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-template-group-action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { normalizePathToProjectPath, } from '@baseplate-dev/sync';
2
+ import { enhanceErrorWithContext } from '@baseplate-dev/utils';
3
+ import { mapValues } from 'es-toolkit';
4
+ import path from 'node:path';
5
+ import { renderTsTemplateFileAction } from './render-ts-template-file-action.js';
6
+ /**
7
+ * Extracts the template file inputs from a template group
8
+ * @param input - The input for the template group
9
+ * @returns The template file inputs
10
+ */
11
+ export function extractTsTemplateFileInputsFromTemplateGroup({ group, baseDirectory, variables, importMapProviders, writeOptions, renderOptions, }) {
12
+ if (!baseDirectory.startsWith('@/')) {
13
+ throw new Error('baseDirectory must start with @/');
14
+ }
15
+ const fileActionInputs = [];
16
+ const typedImportMapProviders = importMapProviders ?? {};
17
+ for (const [key, templateEntry] of Object.entries(group.templates)) {
18
+ const destination = path.posix.join(baseDirectory, templateEntry.destination);
19
+ const templateSpecificProviders = templateEntry.template.importMapProviders
20
+ ? mapValues(templateEntry.template.importMapProviders, (_, providerKey) => {
21
+ if (!(providerKey in typedImportMapProviders)) {
22
+ throw new Error(`Import map provider "${providerKey}" is not defined in the import map providers`);
23
+ }
24
+ return typedImportMapProviders[providerKey];
25
+ })
26
+ : undefined;
27
+ const destinationDirectory = path.dirname(normalizePathToProjectPath(destination));
28
+ fileActionInputs.push({
29
+ template: templateEntry.template,
30
+ destination,
31
+ variables: variables && typeof variables === 'object'
32
+ ? variables[key]
33
+ : undefined,
34
+ writeOptions: writeOptions?.[key],
35
+ importMapProviders: templateSpecificProviders,
36
+ renderOptions: {
37
+ ...renderOptions,
38
+ resolveModule: (specifier) => {
39
+ if (!renderOptions?.resolveModule)
40
+ return specifier;
41
+ return renderOptions.resolveModule(specifier, destinationDirectory);
42
+ },
43
+ },
44
+ });
45
+ }
46
+ return fileActionInputs;
47
+ }
48
+ /**
49
+ * Renders a template group to a builder action
50
+ * @param input - The input for the template group
51
+ * @returns The builder action
52
+ */
53
+ export function renderTsTemplateGroupAction(input) {
54
+ return {
55
+ execute: async (builder) => {
56
+ const fileActionInputs = extractTsTemplateFileInputsFromTemplateGroup(input);
57
+ for (const fileActionInput of fileActionInputs) {
58
+ try {
59
+ await builder.apply(renderTsTemplateFileAction(fileActionInput));
60
+ input.onRenderTemplateFile?.(fileActionInput.destination);
61
+ }
62
+ catch (error) {
63
+ throw enhanceErrorWithContext(error, `Failed to render template "${fileActionInput.template.name}"`);
64
+ }
65
+ }
66
+ },
67
+ };
68
+ }
69
+ //# sourceMappingURL=render-ts-template-group-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-template-group-action.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-template-group-action.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,GAG3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAW7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AA6EjF;;;;GAIG;AACH,MAAM,UAAU,4CAA4C,CAE1D,EACA,KAAK,EACL,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACuB;IACpC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,gBAAgB,GAAsC,EAAE,CAAC;IAC/D,MAAM,uBAAuB,GAC1B,kBAA+D,IAAI,EAAE,CAAC;IAEzE,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACjC,aAAa,EACb,aAAa,CAAC,WAAW,CAC1B,CAAC;QAEF,MAAM,yBAAyB,GAAG,aAAa,CAAC,QAAQ,CAAC,kBAAkB;YACzE,CAAC,CAAC,SAAS,CACP,aAAa,CAAC,QAAQ,CAAC,kBAAkB,EACzC,CAAC,CAAC,EAAE,WAAmB,EAAE,EAAE;gBACzB,IAAI,CAAC,CAAC,WAAW,IAAI,uBAAuB,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,8CAA8C,CAClF,CAAC;gBACJ,CAAC;gBACD,OAAO,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAC9C,CAAC,CACF;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CACvC,0BAA0B,CAAC,WAAW,CAAC,CACxC,CAAC;QACF,gBAAgB,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,WAAW;YACX,SAAS,EACP,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;gBACxC,CAAC,CAAE,SAAS,CAAC,GAA6B,CAA2B;gBACrE,CAAC,CAAC,SAAS;YACf,YAAY,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;YACjC,kBAAkB,EAAE,yBAAyB;YAC7C,aAAa,EAAE;gBACb,GAAG,aAAa;gBAChB,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE;oBAC3B,IAAI,CAAC,aAAa,EAAE,aAAa;wBAAE,OAAO,SAAS,CAAC;oBACpD,OAAO,aAAa,CAAC,aAAa,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;gBACtE,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAEzC,KAA0C;IAC1C,OAAO;QACL,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,MAAM,gBAAgB,GACpB,4CAA4C,CAAC,KAAK,CAAC,CAAC;YACtD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC,CAAC;oBACjE,KAAK,CAAC,oBAAoB,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,uBAAuB,CAC3B,KAAK,EACL,8BAA8B,eAAe,CAAC,QAAQ,CAAC,IAAI,GAAG,CAC/D,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { TsTemplateVariable } from '../templates/types.js';
2
+ interface ExtractedTemplateVariables {
3
+ content: string;
4
+ variables: Record<string, TsTemplateVariable>;
5
+ }
6
+ /**
7
+ * Extracts template variables from a Typescript template file and returns both the processed content
8
+ * and the discovered variables.
9
+ * - Replaces TPL variable blocks with placeholders `TPL_VAR`.
10
+ * - Removes HOISTED blocks.
11
+ * - Discovers all template variables used in the content.
12
+ *
13
+ * @param content - The raw file content.
14
+ * @returns An object containing the processed content and discovered variables.
15
+ */
16
+ export declare function extractTsTemplateVariables(content: string): ExtractedTemplateVariables;
17
+ export {};
18
+ //# sourceMappingURL=extract-ts-template-variables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-ts-template-variables.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/extract-ts-template-variables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAahE,UAAU,0BAA0B;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GACd,0BAA0B,CAwC5B"}
@@ -0,0 +1,38 @@
1
+ import { sortObjectKeys } from '@baseplate-dev/utils';
2
+ import { preprocessCodeForExtractionHack } from './preprocess-code-for-extraction-hack.js';
3
+ const VARIABLE_REGEX = /\/\* TPL_([A-Z0-9_]+):START \*\/([\s\S]*?)\/\* TPL_\1:END \*\//g;
4
+ const TSX_VARIABLE_REGEX = /\{\/\* TPL_([A-Z0-9_]+):START \*\/\}([\s\S]*?)\{\/\* TPL_\1:END \*\/\}/g;
5
+ const COMMENT_VARIABLE_REGEX = /\/\* TPL_([A-Z0-9_]+):COMMENT:START \*\/([\s\S]*?)\/\* TPL_\1:COMMENT:END \*\//g;
6
+ const HOISTED_REGEX = /\/\* HOISTED:([A-Za-z0-9_-]+):START \*\/([\s\S]*?)\/\* HOISTED:\1:END \*\/\n?/g;
7
+ /**
8
+ * Extracts template variables from a Typescript template file and returns both the processed content
9
+ * and the discovered variables.
10
+ * - Replaces TPL variable blocks with placeholders `TPL_VAR`.
11
+ * - Removes HOISTED blocks.
12
+ * - Discovers all template variables used in the content.
13
+ *
14
+ * @param content - The raw file content.
15
+ * @returns An object containing the processed content and discovered variables.
16
+ */
17
+ export function extractTsTemplateVariables(content) {
18
+ let processedContent = content;
19
+ const discoveredVariables = {};
20
+ // Preprocess the content to handle the extraction hack
21
+ processedContent = preprocessCodeForExtractionHack(processedContent);
22
+ // Extract and process TPL variable blocks
23
+ const processVariableBlock = (varName, formatName) => {
24
+ const fullName = `TPL_${varName}`;
25
+ discoveredVariables[fullName] = {};
26
+ return formatName(fullName);
27
+ };
28
+ processedContent = processedContent.replaceAll(TSX_VARIABLE_REGEX, (match, varName) => processVariableBlock(varName, (name) => `<${name} />`));
29
+ processedContent = processedContent.replaceAll(VARIABLE_REGEX, (match, varName) => processVariableBlock(varName, (name) => name));
30
+ processedContent = processedContent.replaceAll(COMMENT_VARIABLE_REGEX, (match, varName) => processVariableBlock(varName, (name) => `/* ${name} */`));
31
+ // Remove HOISTED blocks
32
+ processedContent = processedContent.replaceAll(HOISTED_REGEX, '');
33
+ return {
34
+ content: processedContent,
35
+ variables: sortObjectKeys(discoveredVariables),
36
+ };
37
+ }
38
+ //# sourceMappingURL=extract-ts-template-variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-ts-template-variables.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/extract-ts-template-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAE3F,MAAM,cAAc,GAClB,iEAAiE,CAAC;AACpE,MAAM,kBAAkB,GACtB,yEAAyE,CAAC;AAC5E,MAAM,sBAAsB,GAC1B,iFAAiF,CAAC;AACpF,MAAM,aAAa,GACjB,gFAAgF,CAAC;AAOnF;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAe;IAEf,IAAI,gBAAgB,GAAG,OAAO,CAAC;IAC/B,MAAM,mBAAmB,GAAuC,EAAE,CAAC;IAEnE,uDAAuD;IACvD,gBAAgB,GAAG,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;IAErE,0CAA0C;IAC1C,MAAM,oBAAoB,GAAG,CAC3B,OAAe,EACf,UAAoC,EAC5B,EAAE;QACV,MAAM,QAAQ,GAAG,OAAO,OAAO,EAAE,CAAC;QAClC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAC5C,kBAAkB,EAClB,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE,CACjC,oBAAoB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,CACzD,CAAC;IACF,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAC5C,cAAc,EACd,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE,CACjC,oBAAoB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAChD,CAAC;IACF,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAC5C,sBAAsB,EACtB,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE,CACjC,oBAAoB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,CAC3D,CAAC;IAEF,wBAAwB;IACxB,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAElE,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,SAAS,EAAE,cAAc,CAAC,mBAAmB,CAAC;KAC/C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ts-template-file-extractor.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ts-template-file-extractor.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { ResolverFactory } from 'oxc-resolver';
2
+ import type { TsProjectExport } from './write-ts-project-exports.js';
3
+ export type ProjectExportLookupMap = Map<string, Map<string, TsProjectExport>>;
4
+ export interface TsTemplateImportLookupContext {
5
+ projectExportMap: ProjectExportLookupMap;
6
+ projectRoot: string;
7
+ generatorFiles: string[];
8
+ resolver: ResolverFactory;
9
+ }
10
+ /**
11
+ * Organizes the imports in a Typescript template file.
12
+ * - Removes unused imports
13
+ * - Replaces import declarations with new import declarations in the projectExportMap
14
+ * - Sorts the imports
15
+ * - Writes the imports to the file
16
+ *
17
+ * @param filePath - The path to the file to organize
18
+ * @param contents - The contents of the file to organize
19
+ * @param context - The context for the template import lookup
20
+ * @returns The organized contents of the file
21
+ */
22
+ export declare function organizeTsTemplateImports(filePath: string, contents: string, { projectExportMap, generatorFiles, resolver, projectRoot, }: TsTemplateImportLookupContext): Promise<{
23
+ contents: string;
24
+ usedProjectExports: TsProjectExport[];
25
+ }>;
26
+ //# sourceMappingURL=organize-ts-template-imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organize-ts-template-imports.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/organize-ts-template-imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAUrE,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;AAE/E,MAAM,WAAW,6BAA6B;IAC5C,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,EACE,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,WAAW,GACZ,EAAE,6BAA6B,GAC/B,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,eAAe,EAAE,CAAC;CACvC,CAAC,CAyLD"}