@baseplate-dev/core-generators 0.1.3 → 0.2.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 (358) hide show
  1. package/dist/generators/docker/docker-compose/docker-compose.generator.d.ts +1 -1
  2. package/dist/generators/docker/docker-compose/docker-compose.generator.js +4 -4
  3. package/dist/generators/docker/docker-compose/docker-compose.generator.js.map +1 -1
  4. package/dist/generators/docker/docker-compose/index.d.ts +2 -0
  5. package/dist/generators/docker/docker-compose/index.d.ts.map +1 -0
  6. package/dist/generators/docker/docker-compose/index.js +2 -0
  7. package/dist/generators/docker/docker-compose/index.js.map +1 -0
  8. package/dist/generators/docker/index.d.ts +1 -1
  9. package/dist/generators/docker/index.d.ts.map +1 -1
  10. package/dist/generators/docker/index.js +1 -1
  11. package/dist/generators/docker/index.js.map +1 -1
  12. package/dist/generators/index.d.ts +1 -0
  13. package/dist/generators/index.d.ts.map +1 -1
  14. package/dist/generators/index.js +1 -0
  15. package/dist/generators/index.js.map +1 -1
  16. package/dist/generators/metadata/index.d.ts +2 -0
  17. package/dist/generators/metadata/index.d.ts.map +1 -0
  18. package/dist/generators/metadata/index.js +2 -0
  19. package/dist/generators/metadata/index.js.map +1 -0
  20. package/dist/generators/metadata/path-roots/index.d.ts +2 -0
  21. package/dist/generators/metadata/path-roots/index.d.ts.map +1 -0
  22. package/dist/generators/metadata/path-roots/index.js +2 -0
  23. package/dist/generators/metadata/path-roots/index.js.map +1 -0
  24. package/dist/generators/metadata/path-roots/path-roots.generator.d.ts +20 -0
  25. package/dist/generators/metadata/path-roots/path-roots.generator.d.ts.map +1 -0
  26. package/dist/generators/metadata/path-roots/path-roots.generator.js +54 -0
  27. package/dist/generators/metadata/path-roots/path-roots.generator.js.map +1 -0
  28. package/dist/generators/node/_composers/node.d.ts +1 -1
  29. package/dist/generators/node/_composers/node.d.ts.map +1 -1
  30. package/dist/generators/node/_composers/node.js +8 -6
  31. package/dist/generators/node/_composers/node.js.map +1 -1
  32. package/dist/generators/node/eslint/eslint.generator.d.ts +7 -1
  33. package/dist/generators/node/eslint/eslint.generator.d.ts.map +1 -1
  34. package/dist/generators/node/eslint/eslint.generator.js +29 -12
  35. package/dist/generators/node/eslint/eslint.generator.js.map +1 -1
  36. package/dist/generators/node/eslint/generated/index.d.ts +14 -0
  37. package/dist/generators/node/eslint/generated/index.d.ts.map +1 -0
  38. package/dist/generators/node/eslint/generated/index.js +7 -0
  39. package/dist/generators/node/eslint/generated/index.js.map +1 -0
  40. package/dist/generators/node/eslint/generated/template-paths.d.ts +7 -0
  41. package/dist/generators/node/eslint/generated/template-paths.d.ts.map +1 -0
  42. package/dist/generators/node/eslint/generated/template-paths.js +6 -0
  43. package/dist/generators/node/eslint/generated/template-paths.js.map +1 -0
  44. package/dist/generators/node/eslint/generated/typed-templates.d.ts +9 -0
  45. package/dist/generators/node/eslint/generated/typed-templates.d.ts.map +1 -0
  46. package/dist/generators/node/eslint/generated/typed-templates.js +22 -0
  47. package/dist/generators/node/eslint/generated/typed-templates.js.map +1 -0
  48. package/dist/generators/node/eslint/index.d.ts +2 -0
  49. package/dist/generators/node/eslint/index.d.ts.map +1 -0
  50. package/dist/generators/node/eslint/index.js +2 -0
  51. package/dist/generators/node/eslint/index.js.map +1 -0
  52. package/dist/generators/node/index.d.ts +7 -7
  53. package/dist/generators/node/index.d.ts.map +1 -1
  54. package/dist/generators/node/index.js +7 -7
  55. package/dist/generators/node/index.js.map +1 -1
  56. package/dist/generators/node/node/index.d.ts +2 -0
  57. package/dist/generators/node/node/index.d.ts.map +1 -0
  58. package/dist/generators/node/node/index.js +2 -0
  59. package/dist/generators/node/node/index.js.map +1 -0
  60. package/dist/generators/node/node/node.generator.d.ts +7 -3
  61. package/dist/generators/node/node/node.generator.d.ts.map +1 -1
  62. package/dist/generators/node/node/node.generator.js +25 -8
  63. package/dist/generators/node/node/node.generator.js.map +1 -1
  64. package/dist/generators/node/node-git-ignore/index.d.ts +2 -0
  65. package/dist/generators/node/node-git-ignore/index.d.ts.map +1 -0
  66. package/dist/generators/node/node-git-ignore/index.js +2 -0
  67. package/dist/generators/node/node-git-ignore/index.js.map +1 -0
  68. package/dist/generators/node/node-git-ignore/node-git-ignore.generator.js +2 -2
  69. package/dist/generators/node/prettier/index.d.ts +2 -0
  70. package/dist/generators/node/prettier/index.d.ts.map +1 -0
  71. package/dist/generators/node/prettier/index.js +2 -0
  72. package/dist/generators/node/prettier/index.js.map +1 -0
  73. package/dist/generators/node/prettier/prettier.generator.d.ts +1 -0
  74. package/dist/generators/node/prettier/prettier.generator.d.ts.map +1 -1
  75. package/dist/generators/node/prettier/prettier.generator.js +6 -3
  76. package/dist/generators/node/prettier/prettier.generator.js.map +1 -1
  77. package/dist/generators/node/ts-utils/generated/index.d.ts +31 -0
  78. package/dist/generators/node/ts-utils/generated/index.d.ts.map +1 -0
  79. package/dist/generators/node/ts-utils/generated/index.js +9 -0
  80. package/dist/generators/node/ts-utils/generated/index.js.map +1 -0
  81. package/dist/generators/node/ts-utils/generated/template-paths.d.ts +15 -0
  82. package/dist/generators/node/ts-utils/generated/template-paths.d.ts.map +1 -0
  83. package/dist/generators/node/ts-utils/generated/template-paths.js +25 -0
  84. package/dist/generators/node/ts-utils/generated/template-paths.js.map +1 -0
  85. package/dist/generators/node/ts-utils/generated/{ts-import-maps.d.ts → ts-import-providers.d.ts} +15 -2
  86. package/dist/generators/node/ts-utils/generated/ts-import-providers.d.ts.map +1 -0
  87. package/dist/generators/node/ts-utils/generated/ts-import-providers.js +33 -0
  88. package/dist/generators/node/ts-utils/generated/ts-import-providers.js.map +1 -0
  89. package/dist/generators/node/ts-utils/generated/typed-templates.d.ts +7 -0
  90. package/dist/generators/node/ts-utils/generated/typed-templates.d.ts.map +1 -0
  91. package/dist/generators/node/ts-utils/generated/typed-templates.js +49 -0
  92. package/dist/generators/node/ts-utils/generated/typed-templates.js.map +1 -0
  93. package/dist/generators/node/ts-utils/index.d.ts +4 -0
  94. package/dist/generators/node/ts-utils/index.d.ts.map +1 -0
  95. package/dist/generators/node/ts-utils/index.js +3 -0
  96. package/dist/generators/node/ts-utils/index.js.map +1 -0
  97. package/dist/generators/node/ts-utils/ts-utils.generator.d.ts +10 -3
  98. package/dist/generators/node/ts-utils/ts-utils.generator.d.ts.map +1 -1
  99. package/dist/generators/node/ts-utils/ts-utils.generator.js +9 -22
  100. package/dist/generators/node/ts-utils/ts-utils.generator.js.map +1 -1
  101. package/dist/generators/node/typescript/index.d.ts +2 -0
  102. package/dist/generators/node/typescript/index.d.ts.map +1 -0
  103. package/dist/generators/node/typescript/index.js +2 -0
  104. package/dist/generators/node/typescript/index.js.map +1 -0
  105. package/dist/generators/node/typescript/typescript.generator.d.ts +14 -8
  106. package/dist/generators/node/typescript/typescript.generator.d.ts.map +1 -1
  107. package/dist/generators/node/typescript/typescript.generator.js +19 -18
  108. package/dist/generators/node/typescript/typescript.generator.js.map +1 -1
  109. package/dist/generators/node/vitest/generated/index.d.ts +14 -0
  110. package/dist/generators/node/vitest/generated/index.d.ts.map +1 -0
  111. package/dist/generators/node/vitest/generated/index.js +7 -0
  112. package/dist/generators/node/vitest/generated/index.js.map +1 -0
  113. package/dist/generators/node/vitest/generated/template-paths.d.ts +8 -0
  114. package/dist/generators/node/vitest/generated/template-paths.d.ts.map +1 -0
  115. package/dist/generators/node/vitest/generated/template-paths.js +6 -0
  116. package/dist/generators/node/vitest/generated/template-paths.js.map +1 -0
  117. package/dist/generators/node/vitest/generated/typed-templates.d.ts +9 -0
  118. package/dist/generators/node/vitest/generated/typed-templates.d.ts.map +1 -0
  119. package/dist/generators/node/vitest/generated/typed-templates.js +26 -0
  120. package/dist/generators/node/vitest/generated/typed-templates.js.map +1 -0
  121. package/dist/generators/node/vitest/index.d.ts +2 -0
  122. package/dist/generators/node/vitest/index.d.ts.map +1 -0
  123. package/dist/generators/node/vitest/index.js +2 -0
  124. package/dist/generators/node/vitest/index.js.map +1 -0
  125. package/dist/generators/node/vitest/vitest.generator.d.ts +8 -1
  126. package/dist/generators/node/vitest/vitest.generator.d.ts.map +1 -1
  127. package/dist/generators/node/vitest/vitest.generator.js +36 -12
  128. package/dist/generators/node/vitest/vitest.generator.js.map +1 -1
  129. package/dist/providers/project.d.ts +14 -3
  130. package/dist/providers/project.d.ts.map +1 -1
  131. package/dist/providers/project.js +1 -1
  132. package/dist/providers/project.js.map +1 -1
  133. package/dist/providers/scopes.d.ts +1 -1
  134. package/dist/providers/scopes.js +1 -1
  135. package/dist/renderers/extractor/index.d.ts +3 -0
  136. package/dist/renderers/extractor/index.d.ts.map +1 -0
  137. package/dist/renderers/extractor/index.js +3 -0
  138. package/dist/renderers/extractor/index.js.map +1 -0
  139. package/dist/renderers/extractor/plugins/barrel-export.d.ts +17 -0
  140. package/dist/renderers/extractor/plugins/barrel-export.d.ts.map +1 -0
  141. package/dist/renderers/extractor/plugins/barrel-export.js +248 -0
  142. package/dist/renderers/extractor/plugins/barrel-export.js.map +1 -0
  143. package/dist/renderers/extractor/plugins/index.d.ts +3 -0
  144. package/dist/renderers/extractor/plugins/index.d.ts.map +1 -0
  145. package/dist/renderers/extractor/plugins/index.js +3 -0
  146. package/dist/renderers/extractor/plugins/index.js.map +1 -0
  147. package/dist/renderers/extractor/plugins/template-paths/index.d.ts +2 -0
  148. package/dist/renderers/extractor/plugins/template-paths/index.d.ts.map +1 -0
  149. package/dist/renderers/extractor/plugins/template-paths/index.js +2 -0
  150. package/dist/renderers/extractor/plugins/template-paths/index.js.map +1 -0
  151. package/dist/renderers/extractor/plugins/template-paths/paths-file.d.ts +16 -0
  152. package/dist/renderers/extractor/plugins/template-paths/paths-file.d.ts.map +1 -0
  153. package/dist/renderers/extractor/plugins/template-paths/paths-file.js +156 -0
  154. package/dist/renderers/extractor/plugins/template-paths/paths-file.js.map +1 -0
  155. package/dist/renderers/extractor/plugins/template-paths/template-paths.plugin.d.ts +36 -0
  156. package/dist/renderers/extractor/plugins/template-paths/template-paths.plugin.d.ts.map +1 -0
  157. package/dist/renderers/extractor/plugins/template-paths/template-paths.plugin.js +137 -0
  158. package/dist/renderers/extractor/plugins/template-paths/template-paths.plugin.js.map +1 -0
  159. package/dist/renderers/extractor/plugins/typed-templates-file.d.ts +28 -0
  160. package/dist/renderers/extractor/plugins/typed-templates-file.d.ts.map +1 -0
  161. package/dist/renderers/extractor/plugins/typed-templates-file.js +67 -0
  162. package/dist/renderers/extractor/plugins/typed-templates-file.js.map +1 -0
  163. package/dist/renderers/extractor/utils/deduplicate-templates.d.ts +9 -0
  164. package/dist/renderers/extractor/utils/deduplicate-templates.d.ts.map +1 -0
  165. package/dist/renderers/extractor/utils/deduplicate-templates.js +28 -0
  166. package/dist/renderers/extractor/utils/deduplicate-templates.js.map +1 -0
  167. package/dist/renderers/extractor/utils/generated-template-file-names.d.ts +29 -0
  168. package/dist/renderers/extractor/utils/generated-template-file-names.d.ts.map +1 -0
  169. package/dist/renderers/extractor/utils/generated-template-file-names.js +38 -0
  170. package/dist/renderers/extractor/utils/generated-template-file-names.js.map +1 -0
  171. package/dist/renderers/extractor/utils/index.d.ts +3 -0
  172. package/dist/renderers/extractor/utils/index.d.ts.map +1 -0
  173. package/dist/renderers/extractor/utils/index.js +3 -0
  174. package/dist/renderers/extractor/utils/index.js.map +1 -0
  175. package/dist/renderers/extractor/utils/package-path-specifier.d.ts +10 -0
  176. package/dist/renderers/extractor/utils/package-path-specifier.d.ts.map +1 -0
  177. package/dist/renderers/extractor/utils/package-path-specifier.js +36 -0
  178. package/dist/renderers/extractor/utils/package-path-specifier.js.map +1 -0
  179. package/dist/renderers/extractors.d.ts +5 -0
  180. package/dist/renderers/extractors.d.ts.map +1 -0
  181. package/dist/renderers/extractors.js +5 -0
  182. package/dist/renderers/extractors.js.map +1 -0
  183. package/dist/renderers/index.d.ts +2 -0
  184. package/dist/renderers/index.d.ts.map +1 -1
  185. package/dist/renderers/index.js +2 -0
  186. package/dist/renderers/index.js.map +1 -1
  187. package/dist/renderers/raw/index.d.ts +3 -0
  188. package/dist/renderers/raw/index.d.ts.map +1 -0
  189. package/dist/renderers/raw/index.js +3 -0
  190. package/dist/renderers/raw/index.js.map +1 -0
  191. package/dist/renderers/raw/raw-template-file-extractor.d.ts +164 -0
  192. package/dist/renderers/raw/raw-template-file-extractor.d.ts.map +1 -0
  193. package/dist/renderers/raw/raw-template-file-extractor.js +79 -0
  194. package/dist/renderers/raw/raw-template-file-extractor.js.map +1 -0
  195. package/dist/renderers/raw/render-raw-template-action.d.ts +15 -0
  196. package/dist/renderers/raw/render-raw-template-action.d.ts.map +1 -0
  197. package/dist/renderers/raw/render-raw-template-action.js +39 -0
  198. package/dist/renderers/raw/render-raw-template-action.js.map +1 -0
  199. package/dist/renderers/raw/types.d.ts +178 -0
  200. package/dist/renderers/raw/types.d.ts.map +1 -0
  201. package/dist/renderers/raw/types.js +31 -0
  202. package/dist/renderers/raw/types.js.map +1 -0
  203. package/dist/renderers/schemas/template-file-options.d.ts +39 -0
  204. package/dist/renderers/schemas/template-file-options.d.ts.map +1 -0
  205. package/dist/renderers/schemas/template-file-options.js +29 -0
  206. package/dist/renderers/schemas/template-file-options.js.map +1 -0
  207. package/dist/renderers/text/index.d.ts +4 -0
  208. package/dist/renderers/text/index.d.ts.map +1 -0
  209. package/dist/renderers/text/index.js +4 -0
  210. package/dist/renderers/text/index.js.map +1 -0
  211. package/dist/renderers/text/render-text-template-file-action.d.ts +16 -0
  212. package/dist/renderers/text/render-text-template-file-action.d.ts.map +1 -0
  213. package/dist/renderers/text/render-text-template-file-action.js +86 -0
  214. package/dist/renderers/text/render-text-template-file-action.js.map +1 -0
  215. package/dist/renderers/text/render-text-template-group-action.d.ts +23 -0
  216. package/dist/renderers/text/render-text-template-group-action.d.ts.map +1 -0
  217. package/dist/renderers/text/render-text-template-group-action.js +25 -0
  218. package/dist/renderers/text/render-text-template-group-action.js.map +1 -0
  219. package/dist/renderers/text/render-text-typed-templates.d.ts +9 -0
  220. package/dist/renderers/text/render-text-typed-templates.d.ts.map +1 -0
  221. package/dist/renderers/text/render-text-typed-templates.js +50 -0
  222. package/dist/renderers/text/render-text-typed-templates.js.map +1 -0
  223. package/dist/renderers/text/text-template-file-extractor.d.ts +215 -0
  224. package/dist/renderers/text/text-template-file-extractor.d.ts.map +1 -0
  225. package/dist/renderers/text/text-template-file-extractor.js +76 -0
  226. package/dist/renderers/text/text-template-file-extractor.js.map +1 -0
  227. package/dist/renderers/text/types.d.ts +281 -0
  228. package/dist/renderers/text/types.d.ts.map +1 -0
  229. package/dist/renderers/text/types.js +56 -0
  230. package/dist/renderers/text/types.js.map +1 -0
  231. package/dist/renderers/text/utils.d.ts +27 -0
  232. package/dist/renderers/text/utils.d.ts.map +1 -0
  233. package/dist/renderers/text/utils.js +72 -0
  234. package/dist/renderers/text/utils.js.map +1 -0
  235. package/dist/renderers/typescript/actions/render-ts-template-file-action.js +10 -8
  236. package/dist/renderers/typescript/actions/render-ts-template-file-action.js.map +1 -1
  237. package/dist/renderers/typescript/actions/render-ts-template-group-action.d.ts +12 -26
  238. package/dist/renderers/typescript/actions/render-ts-template-group-action.d.ts.map +1 -1
  239. package/dist/renderers/typescript/actions/render-ts-template-group-action.js +8 -17
  240. package/dist/renderers/typescript/actions/render-ts-template-group-action.js.map +1 -1
  241. package/dist/renderers/typescript/extractor/build-external-import-providers-map.d.ts +16 -0
  242. package/dist/renderers/typescript/extractor/build-external-import-providers-map.d.ts.map +1 -0
  243. package/dist/renderers/typescript/extractor/build-external-import-providers-map.js +33 -0
  244. package/dist/renderers/typescript/extractor/build-external-import-providers-map.js.map +1 -0
  245. package/dist/renderers/typescript/extractor/build-ts-project-export-map.d.ts +49 -0
  246. package/dist/renderers/typescript/extractor/build-ts-project-export-map.d.ts.map +1 -0
  247. package/dist/renderers/typescript/extractor/build-ts-project-export-map.js +73 -0
  248. package/dist/renderers/typescript/extractor/build-ts-project-export-map.js.map +1 -0
  249. package/dist/renderers/typescript/extractor/default-import-providers.d.ts +30 -0
  250. package/dist/renderers/typescript/extractor/default-import-providers.d.ts.map +1 -0
  251. package/dist/renderers/typescript/extractor/default-import-providers.js +26 -0
  252. package/dist/renderers/typescript/extractor/default-import-providers.js.map +1 -0
  253. package/dist/renderers/typescript/extractor/extract-ts-template-variables.d.ts +2 -2
  254. package/dist/renderers/typescript/extractor/extract-ts-template-variables.d.ts.map +1 -1
  255. package/dist/renderers/typescript/extractor/extract-ts-template-variables.js +5 -0
  256. package/dist/renderers/typescript/extractor/extract-ts-template-variables.js.map +1 -1
  257. package/dist/renderers/typescript/extractor/get-resolver-factory.d.ts +8 -0
  258. package/dist/renderers/typescript/extractor/get-resolver-factory.d.ts.map +1 -0
  259. package/dist/renderers/typescript/extractor/get-resolver-factory.js +29 -0
  260. package/dist/renderers/typescript/extractor/get-resolver-factory.js.map +1 -0
  261. package/dist/renderers/typescript/extractor/organize-ts-template-imports.d.ts +17 -6
  262. package/dist/renderers/typescript/extractor/organize-ts-template-imports.d.ts.map +1 -1
  263. package/dist/renderers/typescript/extractor/organize-ts-template-imports.js +31 -14
  264. package/dist/renderers/typescript/extractor/organize-ts-template-imports.js.map +1 -1
  265. package/dist/renderers/typescript/extractor/render-ts-import-providers.d.ts +27 -0
  266. package/dist/renderers/typescript/extractor/render-ts-import-providers.d.ts.map +1 -0
  267. package/dist/renderers/typescript/extractor/render-ts-import-providers.js +194 -0
  268. package/dist/renderers/typescript/extractor/render-ts-import-providers.js.map +1 -0
  269. package/dist/renderers/typescript/extractor/render-ts-template-file.d.ts +11 -0
  270. package/dist/renderers/typescript/extractor/render-ts-template-file.d.ts.map +1 -0
  271. package/dist/renderers/typescript/extractor/render-ts-template-file.js +26 -0
  272. package/dist/renderers/typescript/extractor/render-ts-template-file.js.map +1 -0
  273. package/dist/renderers/typescript/extractor/render-ts-typed-templates.d.ts +9 -0
  274. package/dist/renderers/typescript/extractor/render-ts-typed-templates.d.ts.map +1 -0
  275. package/dist/renderers/typescript/extractor/render-ts-typed-templates.js +56 -0
  276. package/dist/renderers/typescript/extractor/render-ts-typed-templates.js.map +1 -0
  277. package/dist/renderers/typescript/extractor/ts-extractor-config.schema.d.ts +38 -0
  278. package/dist/renderers/typescript/extractor/ts-extractor-config.schema.d.ts.map +1 -0
  279. package/dist/renderers/typescript/extractor/ts-extractor-config.schema.js +30 -0
  280. package/dist/renderers/typescript/extractor/ts-extractor-config.schema.js.map +1 -0
  281. package/dist/renderers/typescript/extractor/ts-import-provider-config.schema.d.ts +45 -0
  282. package/dist/renderers/typescript/extractor/ts-import-provider-config.schema.d.ts.map +1 -0
  283. package/dist/renderers/typescript/extractor/ts-import-provider-config.schema.js +35 -0
  284. package/dist/renderers/typescript/extractor/ts-import-provider-config.schema.js.map +1 -0
  285. package/dist/renderers/typescript/extractor/ts-template-file-extractor.d.ts +257 -161
  286. package/dist/renderers/typescript/extractor/ts-template-file-extractor.d.ts.map +1 -1
  287. package/dist/renderers/typescript/extractor/ts-template-file-extractor.js +109 -268
  288. package/dist/renderers/typescript/extractor/ts-template-file-extractor.js.map +1 -1
  289. package/dist/renderers/typescript/extractor/utils/create-placeholder-module-specifier.d.ts +9 -0
  290. package/dist/renderers/typescript/extractor/utils/create-placeholder-module-specifier.d.ts.map +1 -0
  291. package/dist/renderers/typescript/extractor/utils/create-placeholder-module-specifier.js +11 -0
  292. package/dist/renderers/typescript/extractor/utils/create-placeholder-module-specifier.js.map +1 -0
  293. package/dist/renderers/typescript/import-maps/ts-import-map.js +1 -1
  294. package/dist/renderers/typescript/import-maps/ts-import-map.js.map +1 -1
  295. package/dist/renderers/typescript/import-maps/types.d.ts +4 -2
  296. package/dist/renderers/typescript/import-maps/types.d.ts.map +1 -1
  297. package/dist/renderers/typescript/imports/normalize-module-specifier.d.ts +4 -4
  298. package/dist/renderers/typescript/imports/normalize-module-specifier.d.ts.map +1 -1
  299. package/dist/renderers/typescript/imports/normalize-module-specifier.js +20 -20
  300. package/dist/renderers/typescript/imports/normalize-module-specifier.js.map +1 -1
  301. package/dist/renderers/typescript/imports/ts-morph-operations.d.ts +1 -1
  302. package/dist/renderers/typescript/imports/ts-morph-operations.d.ts.map +1 -1
  303. package/dist/renderers/typescript/imports/ts-morph-operations.js +5 -2
  304. package/dist/renderers/typescript/imports/ts-morph-operations.js.map +1 -1
  305. package/dist/renderers/typescript/imports/types.d.ts +1 -1
  306. package/dist/renderers/typescript/imports/types.d.ts.map +1 -1
  307. package/dist/renderers/typescript/index.d.ts +0 -1
  308. package/dist/renderers/typescript/index.d.ts.map +1 -1
  309. package/dist/renderers/typescript/index.js +0 -1
  310. package/dist/renderers/typescript/index.js.map +1 -1
  311. package/dist/renderers/typescript/renderers/template.d.ts.map +1 -1
  312. package/dist/renderers/typescript/renderers/template.js +10 -3
  313. package/dist/renderers/typescript/renderers/template.js.map +1 -1
  314. package/dist/renderers/typescript/templates/types.d.ts +350 -35
  315. package/dist/renderers/typescript/templates/types.d.ts.map +1 -1
  316. package/dist/renderers/typescript/templates/types.js +66 -20
  317. package/dist/renderers/typescript/templates/types.js.map +1 -1
  318. package/dist/renderers/typescript/utils/ts-code-utils.d.ts +1 -0
  319. package/dist/renderers/typescript/utils/ts-code-utils.d.ts.map +1 -1
  320. package/dist/renderers/typescript/utils/ts-code-utils.js +1 -0
  321. package/dist/renderers/typescript/utils/ts-code-utils.js.map +1 -1
  322. package/dist/utils/index.d.ts +1 -0
  323. package/dist/utils/index.d.ts.map +1 -1
  324. package/dist/utils/index.js +1 -0
  325. package/dist/utils/index.js.map +1 -1
  326. package/dist/utils/ts-paths.d.ts +9 -0
  327. package/dist/utils/ts-paths.d.ts.map +1 -0
  328. package/dist/utils/ts-paths.js +11 -0
  329. package/dist/utils/ts-paths.js.map +1 -0
  330. package/package.json +17 -5
  331. package/dist/generators/node/eslint/generated/ts-templates.d.ts +0 -9
  332. package/dist/generators/node/eslint/generated/ts-templates.d.ts.map +0 -1
  333. package/dist/generators/node/eslint/generated/ts-templates.js +0 -14
  334. package/dist/generators/node/eslint/generated/ts-templates.js.map +0 -1
  335. package/dist/generators/node/ts-utils/generated/ts-import-maps.d.ts.map +0 -1
  336. package/dist/generators/node/ts-utils/generated/ts-import-maps.js +0 -22
  337. package/dist/generators/node/ts-utils/generated/ts-import-maps.js.map +0 -1
  338. package/dist/generators/node/ts-utils/generated/ts-templates.d.ts +0 -7
  339. package/dist/generators/node/ts-utils/generated/ts-templates.d.ts.map +0 -1
  340. package/dist/generators/node/ts-utils/generated/ts-templates.js +0 -32
  341. package/dist/generators/node/ts-utils/generated/ts-templates.js.map +0 -1
  342. package/dist/generators/node/vitest/generated/ts-templates.d.ts +0 -9
  343. package/dist/generators/node/vitest/generated/ts-templates.d.ts.map +0 -1
  344. package/dist/generators/node/vitest/generated/ts-templates.js +0 -15
  345. package/dist/generators/node/vitest/generated/ts-templates.js.map +0 -1
  346. package/dist/renderers/typescript/extractor/templates/imports-file.d.ts +0 -2
  347. package/dist/renderers/typescript/extractor/templates/imports-file.d.ts.map +0 -1
  348. package/dist/renderers/typescript/extractor/templates/imports-file.js +0 -35
  349. package/dist/renderers/typescript/extractor/templates/imports-file.js.map +0 -1
  350. package/dist/renderers/typescript/extractor/write-ts-project-exports.d.ts +0 -96
  351. package/dist/renderers/typescript/extractor/write-ts-project-exports.d.ts.map +0 -1
  352. package/dist/renderers/typescript/extractor/write-ts-project-exports.js +0 -139
  353. package/dist/renderers/typescript/extractor/write-ts-project-exports.js.map +0 -1
  354. /package/dist/generators/node/ts-utils/templates/{arrays.ts → src/utils/arrays.ts} +0 -0
  355. /package/dist/generators/node/ts-utils/templates/{normalize-types.ts → src/utils/normalize-types.ts} +0 -0
  356. /package/dist/generators/node/ts-utils/templates/{nulls.ts → src/utils/nulls.ts} +0 -0
  357. /package/dist/generators/node/ts-utils/templates/{string.ts → src/utils/string.ts} +0 -0
  358. /package/dist/generators/node/vitest/templates/{global-setup.ts → src/tests/scripts/global-setup.ts} +0 -0
@@ -0,0 +1,194 @@
1
+ import { quot } from '@baseplate-dev/utils';
2
+ import { camelCase } from 'change-case';
3
+ import { mapValues } from 'es-toolkit';
4
+ import { getGeneratedTemplateConstantName, getGeneratedTemplateExportName, resolvePackagePathSpecifier, } from '#src/renderers/extractor/index.js';
5
+ import { GENERATED_PATHS_FILE_NAME } from '#src/renderers/extractor/plugins/template-paths/paths-file.js';
6
+ import { normalizeTsPathToJsPath } from '#src/utils/index.js';
7
+ import { tsImportBuilder } from '../imports/builder.js';
8
+ import { renderTsCodeFileTemplate } from '../renderers/file.js';
9
+ import { TsCodeUtils, tsTemplate } from '../utils/ts-code-utils.js';
10
+ import { getDefaultImportProviderNames } from './default-import-providers.js';
11
+ export const GENERATED_IMPORT_PROVIDERS_FILE_NAME = 'ts-import-providers.ts';
12
+ function renderDefaultTsImportProviders(importProviderNames, projectExports, { generatorPackageName }) {
13
+ const typescriptRendererIndex = resolvePackagePathSpecifier(`@baseplate-dev/core-generators:src/renderers/typescript/index.ts`, generatorPackageName);
14
+ const createImportMapSchema = TsCodeUtils.importFragment('createTsImportMapSchema', typescriptRendererIndex);
15
+ const importTemplateSchema = tsTemplate `const ${importProviderNames.providerSchemaName} = ${createImportMapSchema}(
16
+ ${TsCodeUtils.mergeFragmentsAsObject(mapValues(projectExports, (projectExport) => JSON.stringify({
17
+ isTypeOnly: projectExport.isTypeOnly ? true : undefined,
18
+ exportedAs: projectExport.exportedAs ?? undefined,
19
+ })))}
20
+ );
21
+ `;
22
+ const tsImportMapProviderFromSchema = TsCodeUtils.typeImportFragment('TsImportMapProviderFromSchema', typescriptRendererIndex);
23
+ const providerTypeFragment = tsTemplate `export type ${importProviderNames.providerTypeName} =
24
+ ${tsImportMapProviderFromSchema}<typeof ${importProviderNames.providerSchemaName}>;
25
+ `;
26
+ const createReadOnlyProviderType = TsCodeUtils.importFragment('createReadOnlyProviderType', '@baseplate-dev/sync');
27
+ const providerFragment = tsTemplate `
28
+ export const ${importProviderNames.providerExportName} =
29
+ ${createReadOnlyProviderType}<${importProviderNames.providerTypeName}>(
30
+ ${quot(importProviderNames.providerName)},
31
+ );
32
+ `;
33
+ return TsCodeUtils.mergeFragmentsPresorted([importTemplateSchema, providerTypeFragment, providerFragment], '\n\n');
34
+ }
35
+ function renderCombinedImportProviderTask(generatorName, templates, defaultImportProviderConfig, externalImportProviders, { generatorPackageName, pathsRootExportName }) {
36
+ const typescriptRendererIndex = resolvePackagePathSpecifier(`@baseplate-dev/core-generators:src/renderers/typescript/index.ts`, generatorPackageName);
37
+ const projectScopeSpecifier = resolvePackagePathSpecifier(`@baseplate-dev/core-generators:src/providers/index.ts`, generatorPackageName);
38
+ const packageScope = TsCodeUtils.importFragment('packageScope', projectScopeSpecifier);
39
+ const createTsImportMap = TsCodeUtils.importFragment('createTsImportMap', typescriptRendererIndex);
40
+ const importsTaskName = getGeneratedTemplateExportName(generatorName, 'imports-task');
41
+ const pathsProvider = TsCodeUtils.templateWithImports(tsImportBuilder([pathsRootExportName]).from(normalizeTsPathToJsPath(`./${GENERATED_PATHS_FILE_NAME}`))) `${pathsRootExportName}.provider`;
42
+ const importProviderExports = new Map();
43
+ const importProviderPathMap = new Map();
44
+ const projectExportsMap = new Map(templates.flatMap((template) => Object.keys(template.config.projectExports ?? {}).map((name) => [
45
+ name,
46
+ `paths.${camelCase(template.config.name)}`,
47
+ ])));
48
+ if (defaultImportProviderConfig) {
49
+ const { importProviderNames, projectExports } = defaultImportProviderConfig;
50
+ const exportKey = importProviderNames.providerExportName.replace(/Provider$/, '');
51
+ importProviderExports.set(exportKey, tsTemplate `${importProviderNames.providerExportName}.export(${packageScope})`);
52
+ importProviderPathMap.set(exportKey, tsTemplate `${createTsImportMap}(${importProviderNames.providerSchemaName}, ${TsCodeUtils.mergeFragmentsAsObject(mapValues(projectExports, (projectExport, key) => {
53
+ const path = projectExportsMap.get(key);
54
+ if (!path) {
55
+ throw new Error(`Project export ${key} not found in project exports map`);
56
+ }
57
+ return path;
58
+ }))})`);
59
+ }
60
+ for (const externalImportProvider of externalImportProviders) {
61
+ const providerImport = TsCodeUtils.importFragment(externalImportProvider.providerExportName, resolvePackagePathSpecifier(externalImportProvider.packagePathSpecifier, generatorPackageName));
62
+ const providerSchema = TsCodeUtils.importFragment(externalImportProvider.importProviderSchemaName, resolvePackagePathSpecifier(externalImportProvider.packagePathSpecifier, generatorPackageName));
63
+ const exportKey = externalImportProvider.providerExportName.replace(/Provider$/, '');
64
+ importProviderExports.set(exportKey, tsTemplate `${providerImport}.export(${packageScope})`);
65
+ importProviderPathMap.set(exportKey, tsTemplate `${createTsImportMap}(${providerSchema}, ${TsCodeUtils.mergeFragmentsAsObject(mapValues(externalImportProvider.projectExports, (projectExport, key) => {
66
+ const path = projectExportsMap.get(key);
67
+ if (!path) {
68
+ throw new Error(`Project export ${key} not found in project exports map`);
69
+ }
70
+ return path;
71
+ }))})`);
72
+ }
73
+ // Build the run function body
74
+ const runFunctionBody = tsTemplate `
75
+ return {
76
+ providers: ${TsCodeUtils.mergeFragmentsAsObject(importProviderPathMap)},
77
+ };
78
+ `;
79
+ // Build exports object
80
+ const exportsObject = TsCodeUtils.mergeFragmentsAsObject(importProviderExports);
81
+ const importsTaskFragment = TsCodeUtils.templateWithImports([
82
+ tsImportBuilder(['createGeneratorTask']).from('@baseplate-dev/sync'),
83
+ ]) `
84
+ const ${importsTaskName} = createGeneratorTask({
85
+ dependencies: {
86
+ paths: ${pathsProvider},
87
+ },
88
+ exports: ${exportsObject},
89
+ run({ paths }) {
90
+ ${runFunctionBody}
91
+ },
92
+ });
93
+ `;
94
+ return {
95
+ fragment: importsTaskFragment,
96
+ exportName: importsTaskName,
97
+ };
98
+ }
99
+ /**
100
+ * Renders the generated import map providers.
101
+ *
102
+ * @param generatorName - The name of the generator.
103
+ * @param templates - The template entries for the generator.
104
+ * @param context - The rendering context.
105
+ * @param extractorConfig - The TypeScript extractor configuration.
106
+ * @returns The import map file contents and the project exports.
107
+ */
108
+ export function renderTsImportProviders(generatorName, templates, context, extractorConfig) {
109
+ const importProviderNames = getDefaultImportProviderNames(generatorName);
110
+ const projectExportArray = templates.flatMap((template) => Object.entries(template.config.projectExports ?? {}).map(([name, projectExport]) => ({
111
+ name,
112
+ projectExport,
113
+ })));
114
+ const externalImportProviders = extractorConfig?.importProviders?.map((provider) => {
115
+ const resolvedProvider = context.externalImportProvidersMap.get(provider);
116
+ if (!resolvedProvider) {
117
+ throw new Error(`Import provider ${provider} not found`);
118
+ }
119
+ return resolvedProvider;
120
+ }) ?? [];
121
+ // If skipDefaultImportMap is true and no external import providers, don't generate anything
122
+ if ((extractorConfig?.skipDefaultImportMap ||
123
+ projectExportArray.length === 0) &&
124
+ externalImportProviders.length === 0) {
125
+ return;
126
+ }
127
+ // Check for duplicate project exports
128
+ const duplicateProjectExports = projectExportArray.filter((projectExport, index, self) => self.findIndex((t) => t.name === projectExport.name) !== index);
129
+ if (duplicateProjectExports.length > 0) {
130
+ throw new Error(`Duplicate project exports found in template files for generator ${generatorName}: ${duplicateProjectExports.map((fileExport) => fileExport.name).join(', ')}`);
131
+ }
132
+ const fragments = [];
133
+ const barrelExports = [];
134
+ // Render default import providers if not skipped and has project exports
135
+ let defaultImportProviderFragment;
136
+ const defaultProjectExports = Object.fromEntries(projectExportArray
137
+ .filter(({ name }) => !externalImportProviders.some((provider) => name in provider.projectExports))
138
+ .map(({ name, projectExport }) => [name, projectExport]));
139
+ if (extractorConfig?.skipDefaultImportMap &&
140
+ Object.keys(defaultProjectExports).length > 0) {
141
+ throw new Error(`Generator ${generatorName} has project exports (${Object.keys(defaultProjectExports).join(', ')}) but skipDefaultImportMap is true`);
142
+ }
143
+ if (!extractorConfig?.skipDefaultImportMap &&
144
+ Object.keys(defaultProjectExports).length > 0) {
145
+ defaultImportProviderFragment = renderDefaultTsImportProviders(importProviderNames, defaultProjectExports, context);
146
+ fragments.push(defaultImportProviderFragment);
147
+ // Add barrel exports for default import providers
148
+ barrelExports.push({
149
+ moduleSpecifier: `./generated/${normalizeTsPathToJsPath(GENERATED_IMPORT_PROVIDERS_FILE_NAME)}`,
150
+ namedExports: [importProviderNames.providerExportName],
151
+ }, {
152
+ moduleSpecifier: `./generated/${normalizeTsPathToJsPath(GENERATED_IMPORT_PROVIDERS_FILE_NAME)}`,
153
+ namedExports: [importProviderNames.providerTypeName],
154
+ isTypeOnly: true,
155
+ });
156
+ }
157
+ // Create a single combined task that includes both default and existing import providers
158
+ const importsTaskFragment = renderCombinedImportProviderTask(generatorName, templates, defaultImportProviderFragment
159
+ ? {
160
+ importProviderNames,
161
+ projectExports: defaultProjectExports,
162
+ }
163
+ : undefined, externalImportProviders, context);
164
+ fragments.push(importsTaskFragment.fragment);
165
+ const generatedExportName = getGeneratedTemplateConstantName(generatorName, 'imports');
166
+ const barrelExportFragment = tsTemplate `export const ${generatedExportName} = {
167
+ task: ${importsTaskFragment.exportName},
168
+ };`;
169
+ fragments.push(barrelExportFragment);
170
+ const mergedFragment = TsCodeUtils.mergeFragmentsPresorted(fragments, '\n\n');
171
+ const contents = renderTsCodeFileTemplate({
172
+ templateContents: 'TPL_CONTENTS',
173
+ variables: { TPL_CONTENTS: mergedFragment },
174
+ importMapProviders: {},
175
+ positionedHoistedFragments: [],
176
+ options: {
177
+ importSortOptions: {
178
+ internalPatterns: [/^#src/],
179
+ },
180
+ },
181
+ });
182
+ return {
183
+ contents,
184
+ barrelExports,
185
+ generatorBarrelExports: [
186
+ {
187
+ moduleSpecifier: `./${normalizeTsPathToJsPath(GENERATED_IMPORT_PROVIDERS_FILE_NAME)}`,
188
+ namedExport: generatedExportName,
189
+ name: 'imports',
190
+ },
191
+ ],
192
+ };
193
+ }
194
+ //# sourceMappingURL=render-ts-import-providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-import-providers.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/render-ts-import-providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { TsTemplateFileImportProvider, TsTemplateVariableMap } from '../templates/types.js';
2
+ import type { TsTemplateImportLookupContext } from './organize-ts-template-imports.js';
3
+ export interface WriteTsTemplateFileContext extends TsTemplateImportLookupContext {
4
+ generatorName: string;
5
+ }
6
+ export declare function renderTsTemplateFile(sourceAbsolutePath: string, contents: string, context: WriteTsTemplateFileContext): Promise<{
7
+ contents: string;
8
+ variables: TsTemplateVariableMap;
9
+ importProviders: Record<string, TsTemplateFileImportProvider>;
10
+ }>;
11
+ //# sourceMappingURL=render-ts-template-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-template-file.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/render-ts-template-file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAKvF,MAAM,WAAW,0BACf,SAAQ,6BAA6B;IACrC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,oBAAoB,CACxC,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,qBAAqB,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;CAC/D,CAAC,CAoCD"}
@@ -0,0 +1,26 @@
1
+ import { mapKeyBy, mapValuesOfMap } from '@baseplate-dev/utils';
2
+ import { extractTsTemplateVariables } from './extract-ts-template-variables.js';
3
+ import { organizeTsTemplateImports } from './organize-ts-template-imports.js';
4
+ export async function renderTsTemplateFile(sourceAbsolutePath, contents, context) {
5
+ const { content: contentsWithVariables, variables } = extractTsTemplateVariables(contents);
6
+ const { usedProjectExports, contents: organizedContents } = await organizeTsTemplateImports(sourceAbsolutePath, contentsWithVariables, context);
7
+ const importProviders = mapValuesOfMap(mapKeyBy(usedProjectExports, (projectExport) => projectExport.providerImportName), (projectExport) => ({
8
+ importName: projectExport.providerImportName,
9
+ packagePathSpecifier: projectExport.providerPackagePathSpecifier,
10
+ }));
11
+ let processedContent = organizedContents;
12
+ if (organizedContents.startsWith('#!')) {
13
+ // shebang lines must always be the first line
14
+ const contentLines = organizedContents.split('\n');
15
+ processedContent = `${contentLines[0]}\n// @ts-nocheck\n\n${contentLines.slice(1).join('\n')}`;
16
+ }
17
+ else {
18
+ processedContent = `// @ts-nocheck\n\n${organizedContents}`;
19
+ }
20
+ return {
21
+ contents: processedContent,
22
+ variables,
23
+ importProviders: Object.fromEntries(importProviders),
24
+ };
25
+ }
26
+ //# sourceMappingURL=render-ts-template-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-template-file.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/render-ts-template-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAO9E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,kBAA0B,EAC1B,QAAgB,EAChB,OAAmC;IAMnC,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,GACjD,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GACvD,MAAM,yBAAyB,CAC7B,kBAAkB,EAClB,qBAAqB,EACrB,OAAO,CACR,CAAC;IAEJ,MAAM,eAAe,GAAG,cAAc,CACpC,QAAQ,CACN,kBAAkB,EAClB,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,kBAAkB,CACpD,EACD,CAAC,aAAa,EAAgC,EAAE,CAAC,CAAC;QAChD,UAAU,EAAE,aAAa,CAAC,kBAAkB;QAC5C,oBAAoB,EAAE,aAAa,CAAC,4BAA4B;KACjE,CAAC,CACH,CAAC;IAEF,IAAI,gBAAgB,GAAG,iBAAiB,CAAC;IACzC,IAAI,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,8CAA8C;QAC9C,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,gBAAgB,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,uBAAuB,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACjG,CAAC;SAAM,CAAC;QACN,gBAAgB,GAAG,qBAAqB,iBAAiB,EAAE,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,gBAAgB;QAC1B,SAAS;QACT,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC;KACrD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { TemplateExtractorTemplateEntry } from '@baseplate-dev/sync';
2
+ import type { TemplateExtractorTypedTemplate } from '#src/renderers/extractor/plugins/typed-templates-file.js';
3
+ import type { TsGeneratorTemplateMetadata } from '../templates/types.js';
4
+ interface RenderTsTypedTemplateContext {
5
+ generatorPackageName: string;
6
+ }
7
+ export declare function renderTsTypedTemplates(templates: TemplateExtractorTemplateEntry<TsGeneratorTemplateMetadata>[], context: RenderTsTypedTemplateContext): TemplateExtractorTypedTemplate[];
8
+ export {};
9
+ //# sourceMappingURL=render-ts-typed-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-typed-templates.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/render-ts-typed-templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAM1E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAC;AAI/G,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAKzE,UAAU,4BAA4B;IACpC,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AA+ED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,8BAA8B,CAAC,2BAA2B,CAAC,EAAE,EACxE,OAAO,EAAE,4BAA4B,GACpC,8BAA8B,EAAE,CAoBlC"}
@@ -0,0 +1,56 @@
1
+ import { quot, sortObjectKeys } from '@baseplate-dev/utils';
2
+ import { camelCase } from 'change-case';
3
+ import { groupBy } from 'es-toolkit';
4
+ import { resolvePackagePathSpecifier } from '#src/renderers/extractor/utils/package-path-specifier.js';
5
+ import { tsImportBuilder } from '../imports/builder.js';
6
+ import { TsCodeUtils, tsTemplate } from '../utils/ts-code-utils.js';
7
+ function renderTsTypedTemplate(templatePath, metadata, { generatorPackageName }) {
8
+ const exportName = camelCase(metadata.name);
9
+ const createOptions = TsCodeUtils.mergeFragmentsAsObject({
10
+ name: quot(metadata.name),
11
+ group: metadata.group ? quot(metadata.group) : undefined,
12
+ source: TsCodeUtils.templateWithImports([
13
+ tsImportBuilder().default('path').from('node:path'),
14
+ ]) `{
15
+ path: path.join(import.meta.dirname, '../templates/${templatePath}'),
16
+ }`,
17
+ fileOptions: JSON.stringify(sortObjectKeys(metadata.fileOptions)),
18
+ projectExports: JSON.stringify(metadata.projectExports),
19
+ variables: JSON.stringify(sortObjectKeys(metadata.variables ?? {})),
20
+ importMapProviders: metadata.importMapProviders &&
21
+ TsCodeUtils.mergeFragmentsAsObject(Object.fromEntries(Object.entries(metadata.importMapProviders).map(([key, importMapProvider]) => [
22
+ key.replace(/Provider$/, ''),
23
+ TsCodeUtils.importFragment(importMapProvider.importName, resolvePackagePathSpecifier(importMapProvider.packagePathSpecifier, generatorPackageName)),
24
+ ]))),
25
+ });
26
+ const fragment = TsCodeUtils.templateWithImports([
27
+ tsImportBuilder(['createTsTemplateFile']).from(resolvePackagePathSpecifier('@baseplate-dev/core-generators:src/renderers/typescript/templates/types.ts', generatorPackageName)),
28
+ ]) `const ${exportName} = createTsTemplateFile(${createOptions});`;
29
+ return {
30
+ fragment,
31
+ exportName,
32
+ };
33
+ }
34
+ function renderTsTypedTemplateGroup(groupName, templates, context) {
35
+ const renderedTemplates = templates
36
+ .map(({ path, config }) => renderTsTypedTemplate(path, config, context))
37
+ .toSorted((a, b) => a.exportName.localeCompare(b.exportName));
38
+ const exportName = `${camelCase(groupName)}Group`;
39
+ return {
40
+ fragment: TsCodeUtils.mergeFragmentsPresorted([
41
+ ...renderedTemplates.map(({ fragment }) => fragment),
42
+ tsTemplate `export const ${exportName} = ${TsCodeUtils.mergeFragmentsAsObject(Object.fromEntries(renderedTemplates.map(({ exportName }) => [exportName, exportName])))}`,
43
+ ], '\n\n'),
44
+ exportName,
45
+ };
46
+ }
47
+ export function renderTsTypedTemplates(templates, context) {
48
+ const templatesWithGroup = templates.filter((t) => t.config.group);
49
+ const templatesWithoutGroup = templates.filter((t) => !t.config.group);
50
+ const templatesByGroup = groupBy(templatesWithGroup, (t) => t.config.group ?? '');
51
+ // Render the template groups
52
+ const typedTemplateGroups = Object.entries(templatesByGroup).map(([groupName, templates]) => renderTsTypedTemplateGroup(groupName, templates, context));
53
+ const typedTemplates = templatesWithoutGroup.map((t) => renderTsTypedTemplate(t.path, t.config, context));
54
+ return [...typedTemplateGroups, ...typedTemplates];
55
+ }
56
+ //# sourceMappingURL=render-ts-typed-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-typed-templates.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/render-ts-typed-templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Schema for TypeScript extractor configuration in extractor.json
4
+ *
5
+ * @example
6
+ * {
7
+ * "extractors": {
8
+ * "ts": {
9
+ * "importProviders": [
10
+ * "@baseplate-dev/fastify-generators:authImportsProvider"
11
+ * ],
12
+ * "skipDefaultImportMap": false
13
+ * }
14
+ * }
15
+ * }
16
+ */
17
+ export declare const tsExtractorConfigSchema: z.ZodDefault<z.ZodObject<{
18
+ /**
19
+ * Optional, import providers that this generator implements (must be declared in providers.json)
20
+ * Always specified as package-name:provider-name
21
+ */
22
+ importProviders: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
23
+ /**
24
+ * Optional, whether to skip the default import map generation
25
+ */
26
+ skipDefaultImportMap: z.ZodDefault<z.ZodBoolean>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ skipDefaultImportMap: boolean;
29
+ importProviders?: string[] | undefined;
30
+ }, {
31
+ importProviders?: string[] | undefined;
32
+ skipDefaultImportMap?: boolean | undefined;
33
+ }>>;
34
+ /**
35
+ * Type for TypeScript extractor configuration
36
+ */
37
+ export type TsExtractorConfig = z.infer<typeof tsExtractorConfigSchema>;
38
+ //# sourceMappingURL=ts-extractor-config.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-extractor-config.schema.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/ts-extractor-config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB;IAEhC;;;OAGG;;IAEH;;OAEG;;;;;;;;GAGO,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Schema for TypeScript extractor configuration in extractor.json
4
+ *
5
+ * @example
6
+ * {
7
+ * "extractors": {
8
+ * "ts": {
9
+ * "importProviders": [
10
+ * "@baseplate-dev/fastify-generators:authImportsProvider"
11
+ * ],
12
+ * "skipDefaultImportMap": false
13
+ * }
14
+ * }
15
+ * }
16
+ */
17
+ export const tsExtractorConfigSchema = z
18
+ .object({
19
+ /**
20
+ * Optional, import providers that this generator implements (must be declared in providers.json)
21
+ * Always specified as package-name:provider-name
22
+ */
23
+ importProviders: z.array(z.string()).optional(),
24
+ /**
25
+ * Optional, whether to skip the default import map generation
26
+ */
27
+ skipDefaultImportMap: z.boolean().default(false),
28
+ })
29
+ .default({});
30
+ //# sourceMappingURL=ts-extractor-config.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-extractor-config.schema.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/ts-extractor-config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN;;;OAGG;IACH,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C;;OAEG;IACH,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACjD,CAAC;KACD,OAAO,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Schema for ts-imports provider configuration in providers.json
4
+ *
5
+ * @example
6
+ * {
7
+ * "authServiceImportsProvider": {
8
+ * "type": "ts-imports",
9
+ * "providerExport": "authServiceImportsProvider",
10
+ * "schemaExport": "authServiceImportsSchema",
11
+ * "projectExports": {
12
+ * "authServiceImports": {}
13
+ * }
14
+ * }
15
+ * }
16
+ */
17
+ export declare const tsImportProviderConfigSchema: z.ZodObject<{
18
+ /**
19
+ * The type of the provider, must be "ts-imports"
20
+ */
21
+ type: z.ZodLiteral<"ts-imports">;
22
+ /**
23
+ * The type of the provider exported by the file
24
+ */
25
+ providerExport: z.ZodString;
26
+ /**
27
+ * The schema of the import map
28
+ */
29
+ schemaExport: z.ZodString;
30
+ /**
31
+ * Project exports of the provider, e.g. the import map following same schema as the export
32
+ */
33
+ projectExports: z.ZodRecord<z.ZodString, z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ type: "ts-imports";
36
+ projectExports: Record<string, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">>;
37
+ providerExport: string;
38
+ schemaExport: string;
39
+ }, {
40
+ type: "ts-imports";
41
+ projectExports: Record<string, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
42
+ providerExport: string;
43
+ schemaExport: string;
44
+ }>;
45
+ //# sourceMappingURL=ts-import-provider-config.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-import-provider-config.schema.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/ts-import-provider-config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,4BAA4B;IACvC;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;;;;;;;;;;;EAEH,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Schema for ts-imports provider configuration in providers.json
4
+ *
5
+ * @example
6
+ * {
7
+ * "authServiceImportsProvider": {
8
+ * "type": "ts-imports",
9
+ * "providerExport": "authServiceImportsProvider",
10
+ * "schemaExport": "authServiceImportsSchema",
11
+ * "projectExports": {
12
+ * "authServiceImports": {}
13
+ * }
14
+ * }
15
+ * }
16
+ */
17
+ export const tsImportProviderConfigSchema = z.object({
18
+ /**
19
+ * The type of the provider, must be "ts-imports"
20
+ */
21
+ type: z.literal('ts-imports'),
22
+ /**
23
+ * The type of the provider exported by the file
24
+ */
25
+ providerExport: z.string(),
26
+ /**
27
+ * The schema of the import map
28
+ */
29
+ schemaExport: z.string(),
30
+ /**
31
+ * Project exports of the provider, e.g. the import map following same schema as the export
32
+ */
33
+ projectExports: z.record(z.string(), z.object({}).passthrough()),
34
+ });
35
+ //# sourceMappingURL=ts-import-provider-config.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-import-provider-config.schema.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/ts-import-provider-config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B;;OAEG;IACH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B;;OAEG;IACH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB;;OAEG;IACH,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;CACjE,CAAC,CAAC"}