@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
@@ -1 +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":"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"}
1
+ {"version":3,"file":"render-ts-template-group-action.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-template-group-action.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAU7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AA2DjF;;;;GAIG;AACH,MAAM,UAAU,4CAA4C,CAE1D,EACA,KAAK,EACL,KAAK,EACL,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACuB;IACpC,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,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,yBAAyB,GAAG,aAAa,CAAC,kBAAkB;YAChE,CAAC,CAAC,SAAS,CACP,aAAa,CAAC,kBAAkB,EAChC,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,yBAAyB,CAAC,WAAW,CAAC,CACvC,CAAC;QACF,gBAAgB,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,aAAa;YACvB,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,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;gBACnE,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,16 @@
1
+ import type { TemplateExtractorConfigLookup } from '@baseplate-dev/sync';
2
+ import type { TsTemplateFileProjectExport } from '../templates/types.js';
3
+ export interface ExternalImportProviderEntry {
4
+ packagePathSpecifier: string;
5
+ providerExportName: string;
6
+ importProviderSchemaName: string;
7
+ projectExports: Record<string, TsTemplateFileProjectExport>;
8
+ }
9
+ /**
10
+ * Builds a map of import provider names to their configurations and package path specifiers
11
+ *
12
+ * @param configLookup - The template extractor config lookup service
13
+ * @returns Map of providerName (package:providerExport) => resolved config
14
+ */
15
+ export declare function buildExternalImportProvidersMap(configLookup: TemplateExtractorConfigLookup): Map<string, ExternalImportProviderEntry>;
16
+ //# sourceMappingURL=build-external-import-providers-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-external-import-providers-map.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/build-external-import-providers-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAIzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAIzE,MAAM,WAAW,2BAA2B;IAC1C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;CAC7D;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,6BAA6B,GAC1C,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAkC1C"}
@@ -0,0 +1,33 @@
1
+ import { enhanceErrorWithContext } from '@baseplate-dev/utils';
2
+ import { tsImportProviderConfigSchema } from './ts-import-provider-config.schema.js';
3
+ /**
4
+ * Builds a map of import provider names to their configurations and package path specifiers
5
+ *
6
+ * @param configLookup - The template extractor config lookup service
7
+ * @returns Map of providerName (package:providerExport) => resolved config
8
+ */
9
+ export function buildExternalImportProvidersMap(configLookup) {
10
+ const resolvedProviders = new Map();
11
+ // Get the provider configs for ts-imports type
12
+ const tsImportProviders = configLookup.getProviderConfigsByType('ts-imports', tsImportProviderConfigSchema);
13
+ for (const importProvider of tsImportProviders) {
14
+ try {
15
+ // Create the resolved provider key using package:providerExport format
16
+ const resolvedProviderKey = `${importProvider.packageName}:${importProvider.config.providerExport}`;
17
+ if (resolvedProviders.has(resolvedProviderKey)) {
18
+ throw new Error(`Import provider ${resolvedProviderKey} already exists. Please make sure there is only one import provider of that name per package.`);
19
+ }
20
+ resolvedProviders.set(resolvedProviderKey, {
21
+ packagePathSpecifier: importProvider.packagePathSpecifier,
22
+ providerExportName: importProvider.config.providerExport,
23
+ importProviderSchemaName: importProvider.config.schemaExport,
24
+ projectExports: importProvider.config.projectExports,
25
+ });
26
+ }
27
+ catch (error) {
28
+ throw enhanceErrorWithContext(error, `Error constructing import provider map for ${importProvider.providerName} in ${importProvider.packagePathSpecifier}`);
29
+ }
30
+ }
31
+ return resolvedProviders;
32
+ }
33
+ //# sourceMappingURL=build-external-import-providers-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-external-import-providers-map.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/build-external-import-providers-map.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAI/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AASrF;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,YAA2C;IAE3C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuC,CAAC;IACzE,+CAA+C;IAC/C,MAAM,iBAAiB,GAAG,YAAY,CAAC,wBAAwB,CAC7D,YAAY,EACZ,4BAA4B,CAC7B,CAAC;IAEF,KAAK,MAAM,cAAc,IAAI,iBAAiB,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,uEAAuE;YACvE,MAAM,mBAAmB,GAAG,GAAG,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAEpG,IAAI,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CACb,mBAAmB,mBAAmB,+FAA+F,CACtI,CAAC;YACJ,CAAC;YAED,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,EAAE;gBACzC,oBAAoB,EAAE,cAAc,CAAC,oBAAoB;gBACzD,kBAAkB,EAAE,cAAc,CAAC,MAAM,CAAC,cAAc;gBACxD,wBAAwB,EAAE,cAAc,CAAC,MAAM,CAAC,YAAY;gBAC5D,cAAc,EAAE,cAAc,CAAC,MAAM,CAAC,cAAc;aACrD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,uBAAuB,CAC3B,KAAK,EACL,8CAA8C,cAAc,CAAC,YAAY,OAAO,cAAc,CAAC,oBAAoB,EAAE,CACtH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { TemplateExtractorContext } from '@baseplate-dev/sync';
2
+ import type { ExternalImportProviderEntry } from './build-external-import-providers-map.js';
3
+ /**
4
+ * A project export that represents a single export from a generator.
5
+ */
6
+ export interface TsProjectExport {
7
+ /**
8
+ * The name of the export used in the import provider.
9
+ */
10
+ name: string;
11
+ /**
12
+ * The exported name of the export within the file, e.g. 'default' for default exports.
13
+ *
14
+ * If not provided, the name will be the same as the export name.
15
+ */
16
+ exportedName?: string;
17
+ /**
18
+ * The output relative path of the file that contains the export.
19
+ */
20
+ outputRelativePath: string;
21
+ /**
22
+ * Whether the export is a type only export.
23
+ */
24
+ isTypeOnly?: boolean;
25
+ /**
26
+ * The placeholder module specifier to import from the import provider, e.g. %configServiceImports
27
+ */
28
+ placeholderModuleSpecifier: string;
29
+ /**
30
+ * The package path specifier of the import provider, e.g. `@baseplate-dev/core-generators:src/renderers/plugins/typed-templates-file.ts`
31
+ */
32
+ providerPackagePathSpecifier: string;
33
+ /**
34
+ * The name of the import provider, e.g. configServiceImportsProvider
35
+ */
36
+ providerImportName: string;
37
+ }
38
+ /**
39
+ * A map of output relative paths to a map of export names to project exports.
40
+ */
41
+ export type TsProjectExportMap = Map<string, Map<string, TsProjectExport>>;
42
+ /**
43
+ * Builds a map of output relative paths to a map of export names to project exports.
44
+ *
45
+ * @param context - The template extractor context.
46
+ * @returns A map of output relative paths to a map of export names to project exports.
47
+ */
48
+ export declare function buildTsProjectExportMap(context: TemplateExtractorContext, externalImportProvidersMap: Map<string, ExternalImportProviderEntry>): TsProjectExportMap;
49
+ //# sourceMappingURL=build-ts-project-export-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-ts-project-export-map.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/build-ts-project-export-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAIpE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAW5F;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,4BAA4B,EAAE,MAAM,CAAC;IACrC;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,EACjC,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,GACnE,kBAAkB,CA6GpB"}
@@ -0,0 +1,73 @@
1
+ import path from 'node:path';
2
+ import { TS_TEMPLATE_TYPE, tsTemplateGeneratorTemplateMetadataSchema, } from '../templates/types.js';
3
+ import { getDefaultImportProviderNames } from './default-import-providers.js';
4
+ import { GENERATED_IMPORT_PROVIDERS_FILE_NAME } from './render-ts-import-providers.js';
5
+ import { tsExtractorConfigSchema } from './ts-extractor-config.schema.js';
6
+ import { createPlaceholderModuleSpecifier } from './utils/create-placeholder-module-specifier.js';
7
+ /**
8
+ * Builds a map of output relative paths to a map of export names to project exports.
9
+ *
10
+ * @param context - The template extractor context.
11
+ * @returns A map of output relative paths to a map of export names to project exports.
12
+ */
13
+ export function buildTsProjectExportMap(context, externalImportProvidersMap) {
14
+ const generatorConfigs = context.configLookup.getGeneratorConfigsForExtractorType(TS_TEMPLATE_TYPE, tsTemplateGeneratorTemplateMetadataSchema, tsExtractorConfigSchema);
15
+ const projectExportMap = new Map();
16
+ for (const generatorConfig of generatorConfigs) {
17
+ const { generatorName, generatorDirectory, packageName, templates, packagePath, config, } = generatorConfig;
18
+ const externalImportProviders = config.importProviders?.map((importProvider) => {
19
+ const externalImportProvider = externalImportProvidersMap.get(importProvider);
20
+ if (!externalImportProvider) {
21
+ throw new Error(`Import provider ${importProvider} not found in external import providers map.`);
22
+ }
23
+ return externalImportProvider;
24
+ }) ?? [];
25
+ // Figure out the default import provider
26
+ const importProviderNames = getDefaultImportProviderNames(generatorName);
27
+ const relativeGeneratorDirectory = path.relative(packagePath, generatorDirectory);
28
+ const defaultImportsProviderPackagePathSpecifier = `${packageName}:${relativeGeneratorDirectory}/generated/${GENERATED_IMPORT_PROVIDERS_FILE_NAME}`;
29
+ const getImportProvider = (projectExportName) => {
30
+ const importProvider = externalImportProviders.find((importProvider) => projectExportName in importProvider.projectExports);
31
+ if (importProvider) {
32
+ return {
33
+ packagePathSpecifier: importProvider.packagePathSpecifier,
34
+ providerExportName: importProvider.providerExportName,
35
+ placeholderModuleSpecifier: createPlaceholderModuleSpecifier(importProvider.providerExportName),
36
+ };
37
+ }
38
+ if (config.skipDefaultImportMap) {
39
+ throw new Error(`Import provider not found for project export ${projectExportName} and default import map is disabled.`);
40
+ }
41
+ return {
42
+ packagePathSpecifier: defaultImportsProviderPackagePathSpecifier,
43
+ providerExportName: importProviderNames.providerExportName,
44
+ placeholderModuleSpecifier: importProviderNames.placeholderModuleSpecifier,
45
+ };
46
+ };
47
+ for (const [, template] of Object.entries(templates)) {
48
+ // skip non-singleton templates
49
+ if (template.fileOptions.kind !== 'singleton')
50
+ continue;
51
+ const outputRelativePath = context.configLookup.getOutputRelativePathForTemplate(generatorName, template.name);
52
+ if (!outputRelativePath) {
53
+ // if the template file was not written, skip it
54
+ continue;
55
+ }
56
+ const templateProjectExportsMap = new Map();
57
+ for (const [name, projectExport] of Object.entries(template.projectExports ?? {})) {
58
+ const importProvider = getImportProvider(name);
59
+ templateProjectExportsMap.set(projectExport.exportedAs ?? name, {
60
+ name,
61
+ exportedName: projectExport.exportedAs,
62
+ outputRelativePath,
63
+ placeholderModuleSpecifier: importProvider.placeholderModuleSpecifier,
64
+ providerPackagePathSpecifier: importProvider.packagePathSpecifier,
65
+ providerImportName: importProvider.providerExportName,
66
+ });
67
+ }
68
+ projectExportMap.set(outputRelativePath, templateProjectExportsMap);
69
+ }
70
+ }
71
+ return projectExportMap;
72
+ }
73
+ //# sourceMappingURL=build-ts-project-export-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-ts-project-export-map.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/build-ts-project-export-map.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EACL,gBAAgB,EAChB,yCAAyC,GAC1C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,oCAAoC,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AA2ClG;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAiC,EACjC,0BAAoE;IAEpE,MAAM,gBAAgB,GACpB,OAAO,CAAC,YAAY,CAAC,mCAAmC,CACtD,gBAAgB,EAChB,yCAAyC,EACzC,uBAAuB,CACxB,CAAC;IAEJ,MAAM,gBAAgB,GAAuB,IAAI,GAAG,EAAE,CAAC;IAEvD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;QAC/C,MAAM,EACJ,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,GACP,GAAG,eAAe,CAAC;QAEpB,MAAM,uBAAuB,GAC3B,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;YAC7C,MAAM,sBAAsB,GAC1B,0BAA0B,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,mBAAmB,cAAc,8CAA8C,CAChF,CAAC;YACJ,CAAC;YACD,OAAO,sBAAsB,CAAC;QAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,yCAAyC;QACzC,MAAM,mBAAmB,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;QAEzE,MAAM,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAC9C,WAAW,EACX,kBAAkB,CACnB,CAAC;QACF,MAAM,0CAA0C,GAAG,GAAG,WAAW,IAAI,0BAA0B,cAAc,oCAAoC,EAAE,CAAC;QAEpJ,MAAM,iBAAiB,GAAG,CACxB,iBAAyB,EAKzB,EAAE;YACF,MAAM,cAAc,GAAG,uBAAuB,CAAC,IAAI,CACjD,CAAC,cAAc,EAAE,EAAE,CAAC,iBAAiB,IAAI,cAAc,CAAC,cAAc,CACvE,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO;oBACL,oBAAoB,EAAE,cAAc,CAAC,oBAAoB;oBACzD,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;oBACrD,0BAA0B,EAAE,gCAAgC,CAC1D,cAAc,CAAC,kBAAkB,CAClC;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,gDAAgD,iBAAiB,sCAAsC,CACxG,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,oBAAoB,EAAE,0CAA0C;gBAChE,kBAAkB,EAAE,mBAAmB,CAAC,kBAAkB;gBAC1D,0BAA0B,EACxB,mBAAmB,CAAC,0BAA0B;aACjD,CAAC;QACJ,CAAC,CAAC;QAEF,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,+BAA+B;YAC/B,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW;gBAAE,SAAS;YAExD,MAAM,kBAAkB,GACtB,OAAO,CAAC,YAAY,CAAC,gCAAgC,CACnD,aAAa,EACb,QAAQ,CAAC,IAAI,CACd,CAAC;YACJ,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,gDAAgD;gBAChD,SAAS;YACX,CAAC;YAED,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAA2B,CAAC;YAErE,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAChD,QAAQ,CAAC,cAAc,IAAI,EAAE,CAC9B,EAAE,CAAC;gBACF,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAE/C,yBAAyB,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,EAAE;oBAC9D,IAAI;oBACJ,YAAY,EAAE,aAAa,CAAC,UAAU;oBACtC,kBAAkB;oBAClB,0BAA0B,EAAE,cAAc,CAAC,0BAA0B;oBACrE,4BAA4B,EAAE,cAAc,CAAC,oBAAoB;oBACjE,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;iBACtD,CAAC,CAAC;YACL,CAAC;YAED,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,30 @@
1
+ export interface TsImportProviderNames {
2
+ /**
3
+ * The name of the import provider type e.g. NodeImportsProvider
4
+ */
5
+ providerTypeName: string;
6
+ /**
7
+ * The name of the import provider export, e.g. nodeImportsProvider
8
+ */
9
+ providerExportName: string;
10
+ /**
11
+ * The name of the import provider schema, e.g. `nodeImportsSchema`
12
+ */
13
+ providerSchemaName: string;
14
+ /**
15
+ * The name of the import provider, e.g. `node-imports`
16
+ */
17
+ providerName: string;
18
+ /**
19
+ * The placeholder module specifier for the import provider, e.g. `%node-imports`
20
+ */
21
+ placeholderModuleSpecifier: string;
22
+ }
23
+ /**
24
+ * Gets the names of the default import provider.
25
+ *
26
+ * @param generatorName - The name of the generator.
27
+ * @returns The names of the import provider.
28
+ */
29
+ export declare function getDefaultImportProviderNames(generatorName: string): TsImportProviderNames;
30
+ //# sourceMappingURL=default-import-providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-import-providers.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/default-import-providers.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,MAAM,GACpB,qBAAqB,CAiBvB"}
@@ -0,0 +1,26 @@
1
+ import { parseGeneratorName } from '@baseplate-dev/sync';
2
+ import { camelCase, kebabCase, pascalCase } from 'change-case';
3
+ import { createPlaceholderModuleSpecifier } from './utils/create-placeholder-module-specifier.js';
4
+ /**
5
+ * Gets the names of the default import provider.
6
+ *
7
+ * @param generatorName - The name of the generator.
8
+ * @returns The names of the import provider.
9
+ */
10
+ export function getDefaultImportProviderNames(generatorName) {
11
+ const parsedGeneratorName = parseGeneratorName(generatorName);
12
+ const { generatorBasename } = parsedGeneratorName;
13
+ const providerTypeName = `${pascalCase(generatorBasename)}ImportsProvider`;
14
+ const providerExportName = `${camelCase(generatorBasename)}ImportsProvider`;
15
+ const providerSchemaName = `${camelCase(generatorBasename)}ImportsSchema`;
16
+ const providerName = `${kebabCase(generatorBasename)}-imports`;
17
+ const placeholderModuleSpecifier = createPlaceholderModuleSpecifier(providerExportName);
18
+ return {
19
+ providerTypeName,
20
+ providerExportName,
21
+ providerSchemaName,
22
+ providerName,
23
+ placeholderModuleSpecifier,
24
+ };
25
+ }
26
+ //# sourceMappingURL=default-import-providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-import-providers.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/default-import-providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AAyBlG;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC3C,aAAqB;IAErB,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,EAAE,iBAAiB,EAAE,GAAG,mBAAmB,CAAC;IAClD,MAAM,gBAAgB,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;IAC3E,MAAM,kBAAkB,GAAG,GAAG,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;IAC5E,MAAM,kBAAkB,GAAG,GAAG,SAAS,CAAC,iBAAiB,CAAC,eAAe,CAAC;IAC1E,MAAM,YAAY,GAAG,GAAG,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC;IAC/D,MAAM,0BAA0B,GAC9B,gCAAgC,CAAC,kBAAkB,CAAC,CAAC;IAEvD,OAAO;QACL,gBAAgB;QAChB,kBAAkB;QAClB,kBAAkB;QAClB,YAAY;QACZ,0BAA0B;KAC3B,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { TsTemplateVariable } from '../templates/types.js';
1
+ import type { TsTemplateFileVariable } from '../templates/types.js';
2
2
  interface ExtractedTemplateVariables {
3
3
  content: string;
4
- variables: Record<string, TsTemplateVariable>;
4
+ variables: Record<string, TsTemplateFileVariable>;
5
5
  }
6
6
  /**
7
7
  * Extracts template variables from a Typescript template file and returns both the processed content
@@ -1 +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"}
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,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAepE,UAAU,0BAA0B;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GACd,0BAA0B,CAoD5B"}
@@ -3,6 +3,8 @@ import { preprocessCodeForExtractionHack } from './preprocess-code-for-extractio
3
3
  const VARIABLE_REGEX = /\/\* TPL_([A-Z0-9_]+):START \*\/([\s\S]*?)\/\* TPL_\1:END \*\//g;
4
4
  const TSX_VARIABLE_REGEX = /\{\/\* TPL_([A-Z0-9_]+):START \*\/\}([\s\S]*?)\{\/\* TPL_\1:END \*\/\}/g;
5
5
  const COMMENT_VARIABLE_REGEX = /\/\* TPL_([A-Z0-9_]+):COMMENT:START \*\/([\s\S]*?)\/\* TPL_\1:COMMENT:END \*\//g;
6
+ const BLOCK_VARIABLE_REGEX = /\/\* TPL_([A-Z0-9_]+):BLOCK \*\//g;
7
+ const INLINE_VARIABLE_REGEX = /\/\* TPL_([A-Z0-9_]+):INLINE \*\//g;
6
8
  const HOISTED_REGEX = /\/\* HOISTED:([A-Za-z0-9_-]+):START \*\/([\s\S]*?)\/\* HOISTED:\1:END \*\/\n?/g;
7
9
  /**
8
10
  * Extracts template variables from a Typescript template file and returns both the processed content
@@ -28,6 +30,9 @@ export function extractTsTemplateVariables(content) {
28
30
  processedContent = processedContent.replaceAll(TSX_VARIABLE_REGEX, (match, varName) => processVariableBlock(varName, (name) => `<${name} />`));
29
31
  processedContent = processedContent.replaceAll(VARIABLE_REGEX, (match, varName) => processVariableBlock(varName, (name) => name));
30
32
  processedContent = processedContent.replaceAll(COMMENT_VARIABLE_REGEX, (match, varName) => processVariableBlock(varName, (name) => `/* ${name} */`));
33
+ // Process BLOCK and INLINE variable patterns
34
+ processedContent = processedContent.replaceAll(BLOCK_VARIABLE_REGEX, (match, varName) => processVariableBlock(varName, (name) => name));
35
+ processedContent = processedContent.replaceAll(INLINE_VARIABLE_REGEX, (match, varName) => processVariableBlock(varName, (name) => name));
31
36
  // Remove HOISTED blocks
32
37
  processedContent = processedContent.replaceAll(HOISTED_REGEX, '');
33
38
  return {
@@ -1 +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"}
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,oBAAoB,GAAG,mCAAmC,CAAC;AACjE,MAAM,qBAAqB,GAAG,oCAAoC,CAAC;AACnE,MAAM,aAAa,GACjB,gFAAgF,CAAC;AAOnF;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAe;IAEf,IAAI,gBAAgB,GAAG,OAAO,CAAC;IAC/B,MAAM,mBAAmB,GAA2C,EAAE,CAAC;IAEvE,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,6CAA6C;IAC7C,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAC5C,oBAAoB,EACpB,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,qBAAqB,EACrB,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE,CACjC,oBAAoB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAChD,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,8 @@
1
+ import { ResolverFactory } from 'oxc-resolver';
2
+ /**
3
+ * Get a resolver factory for the given working directory.
4
+ * @param workingDirectory - The working directory to use for the resolver factory.
5
+ * @returns A resolver factory for the given working directory.
6
+ */
7
+ export declare function getResolverFactory(workingDirectory: string): ResolverFactory;
8
+ //# sourceMappingURL=get-resolver-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-resolver-factory.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/get-resolver-factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,eAAe,CAqB5E"}
@@ -0,0 +1,29 @@
1
+ import { existsSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { ResolverFactory } from 'oxc-resolver';
4
+ /**
5
+ * Get a resolver factory for the given working directory.
6
+ * @param workingDirectory - The working directory to use for the resolver factory.
7
+ * @returns A resolver factory for the given working directory.
8
+ */
9
+ export function getResolverFactory(workingDirectory) {
10
+ // Slight hack to support tsconfig.app.json instead of tsconfig.json
11
+ const tsconfigAppExists = existsSync(path.join(workingDirectory, 'tsconfig.app.json'));
12
+ const tsconfigPath = tsconfigAppExists
13
+ ? path.join(workingDirectory, 'tsconfig.app.json')
14
+ : path.join(workingDirectory, 'tsconfig.json');
15
+ return new ResolverFactory({
16
+ tsconfig: {
17
+ configFile: tsconfigPath,
18
+ },
19
+ conditionNames: ['node', 'require', 'types'],
20
+ extensions: ['.ts', '.tsx', '.d.ts', '.js', '.jsx', '.json', '.node'],
21
+ extensionAlias: {
22
+ '.js': ['.ts', '.tsx', '.d.ts', '.js'],
23
+ '.jsx': ['.tsx', '.d.ts', '.jsx'],
24
+ '.cjs': ['.cts', '.d.cts', '.cjs'],
25
+ '.mjs': ['.mts', '.d.mts', '.mjs'],
26
+ },
27
+ });
28
+ }
29
+ //# sourceMappingURL=get-resolver-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-resolver-factory.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/get-resolver-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,gBAAwB;IACzD,oEAAoE;IACpE,MAAM,iBAAiB,GAAG,UAAU,CAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CACjD,CAAC;IACF,MAAM,YAAY,GAAG,iBAAiB;QACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;QAClD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACjD,OAAO,IAAI,eAAe,CAAC;QACzB,QAAQ,EAAE;YACR,UAAU,EAAE,YAAY;SACzB;QACD,cAAc,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;QAC5C,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACrE,cAAc,EAAE;YACd,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;YACtC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;YACjC,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;YAClC,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;SACnC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,10 +1,21 @@
1
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>>;
2
+ import type { TsProjectExport, TsProjectExportMap } from './build-ts-project-export-map.js';
4
3
  export interface TsTemplateImportLookupContext {
5
- projectExportMap: ProjectExportLookupMap;
6
- projectRoot: string;
7
- generatorFiles: string[];
4
+ /**
5
+ * A map of output relative paths to a map of export names to project exports.
6
+ */
7
+ projectExportMap: TsProjectExportMap;
8
+ /**
9
+ * The absolute path of the output directory.
10
+ */
11
+ outputDirectory: string;
12
+ /**
13
+ * The output relative paths of the files that are generated by the generator.
14
+ */
15
+ internalOutputRelativePaths: string[];
16
+ /**
17
+ * The resolver factory to use to resolve imports.
18
+ */
8
19
  resolver: ResolverFactory;
9
20
  }
10
21
  /**
@@ -19,7 +30,7 @@ export interface TsTemplateImportLookupContext {
19
30
  * @param context - The context for the template import lookup
20
31
  * @returns The organized contents of the file
21
32
  */
22
- export declare function organizeTsTemplateImports(filePath: string, contents: string, { projectExportMap, generatorFiles, resolver, projectRoot, }: TsTemplateImportLookupContext): Promise<{
33
+ export declare function organizeTsTemplateImports(filePath: string, contents: string, { projectExportMap, internalOutputRelativePaths, resolver, outputDirectory, }: TsTemplateImportLookupContext): Promise<{
23
34
  contents: string;
24
35
  usedProjectExports: TsProjectExport[];
25
36
  }>;
@@ -1 +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"}
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,EACV,eAAe,EACf,kBAAkB,EACnB,MAAM,kCAAkC,CAAC;AAS1C,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,gBAAgB,EAAE,kBAAkB,CAAC;IACrC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAwCD;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,EACE,gBAAgB,EAChB,2BAA2B,EAC3B,QAAQ,EACR,eAAe,GAChB,EAAE,6BAA6B,GAC/B,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,eAAe,EAAE,CAAC;CACvC,CAAC,CAiMD"}
@@ -21,6 +21,20 @@ function collectUsedIdentifierNames(sourceFile) {
21
21
  });
22
22
  return usedIdentifiers;
23
23
  }
24
+ const PACKAGE_REGEX = /^(?:@([a-z0-9-~][a-z0-9-._~]*)\/)?([a-z0-9-~][a-z0-9-._~]*)$/;
25
+ /**
26
+ * Converts an NPM package name to its corresponding @types package name.
27
+ */
28
+ function toTypesPackageName(pkgName) {
29
+ if (!PACKAGE_REGEX.test(pkgName)) {
30
+ return undefined;
31
+ }
32
+ if (pkgName.startsWith('@')) {
33
+ const [scope, name] = pkgName.slice(1).split('/');
34
+ return `@types/${scope}__${name}`;
35
+ }
36
+ return `@types/${pkgName}`;
37
+ }
24
38
  /**
25
39
  * Organizes the imports in a Typescript template file.
26
40
  * - Removes unused imports
@@ -33,7 +47,7 @@ function collectUsedIdentifierNames(sourceFile) {
33
47
  * @param context - The context for the template import lookup
34
48
  * @returns The organized contents of the file
35
49
  */
36
- export async function organizeTsTemplateImports(filePath, contents, { projectExportMap, generatorFiles, resolver, projectRoot, }) {
50
+ export async function organizeTsTemplateImports(filePath, contents, { projectExportMap, internalOutputRelativePaths, resolver, outputDirectory, }) {
37
51
  const project = new Project({ useInMemoryFileSystem: true });
38
52
  const sourceFile = project.createSourceFile(filePath, contents);
39
53
  // Replace import declarations with new import declarations
@@ -55,7 +69,7 @@ export async function organizeTsTemplateImports(filePath, contents, { projectExp
55
69
  return false;
56
70
  }
57
71
  const name = (Node.isImportSpecifier(node)
58
- ? node.getAliasNode()?.getText()
72
+ ? (node.getAliasNode()?.getText() ?? node.getName())
59
73
  : undefined) ?? node.getText();
60
74
  return usedIdentifierNames.has(name);
61
75
  };
@@ -91,23 +105,26 @@ export async function organizeTsTemplateImports(filePath, contents, { projectExp
91
105
  if (isBuiltin(moduleSpecifier)) {
92
106
  return [importDeclaration];
93
107
  }
94
- // TODO: A bit of a hack but no easy fix in the short term
95
- // Don't modify imports for ws since we install only the types
96
- // but not the implementation
97
- if (moduleSpecifier === 'ws') {
98
- return [importDeclaration];
99
- }
100
108
  const resolutionResult = await resolver.async(path.dirname(filePath), moduleSpecifier);
101
109
  if (!resolutionResult.path) {
110
+ // It's possible that it's a type only import, so we should check for the @types import
111
+ const typesPackageName = toTypesPackageName(moduleSpecifier);
112
+ if (typesPackageName) {
113
+ const typesResolutionResult = await resolver.async(path.dirname(filePath), typesPackageName);
114
+ if (typesResolutionResult.path) {
115
+ return [importDeclaration];
116
+ }
117
+ }
102
118
  throw new Error(`Could not resolve import ${moduleSpecifier} in ${filePath}: ${String(resolutionResult.error)}`);
103
119
  }
104
120
  const resolvedPath = resolutionResult.path;
105
121
  // Don't modify external imports outside the project root
106
- if (!resolvedPath.startsWith(projectRoot)) {
122
+ if (!resolvedPath.startsWith(outputDirectory)) {
107
123
  return [importDeclaration];
108
124
  }
109
125
  // Don't modify imports for files in the generator
110
- if (generatorFiles.includes(resolvedPath)) {
126
+ const relativeOutputPath = path.relative(outputDirectory, resolvedPath);
127
+ if (internalOutputRelativePaths.includes(relativeOutputPath)) {
111
128
  const relativeImportPath = path
112
129
  .relative(path.dirname(filePath), resolvedPath)
113
130
  .replace(/\.(t|j)sx?$/, '.js');
@@ -125,9 +142,9 @@ export async function organizeTsTemplateImports(filePath, contents, { projectExp
125
142
  for template extraction.`);
126
143
  }
127
144
  // look up the corresponding import in the project exports
128
- const pathExports = projectExportMap.get(resolvedPath);
145
+ const pathExports = projectExportMap.get(relativeOutputPath);
129
146
  if (!pathExports) {
130
- throw new Error(`Import ${resolvedPath} in ${filePath} is not found in the project exports.`);
147
+ throw new Error(`Import ${relativeOutputPath} in ${filePath} is not found in the project exports.`);
131
148
  }
132
149
  const importDeclarations = [];
133
150
  const { defaultImport } = importDeclaration;
@@ -142,7 +159,7 @@ export async function organizeTsTemplateImports(filePath, contents, { projectExp
142
159
  usedProjectExports.push(projectExport);
143
160
  importDeclarations.push({
144
161
  namedImports: [{ name: projectExport.name }],
145
- moduleSpecifier: projectExport.importSource,
162
+ moduleSpecifier: projectExport.placeholderModuleSpecifier,
146
163
  isTypeOnly: projectExport.isTypeOnly,
147
164
  });
148
165
  }
@@ -158,7 +175,7 @@ export async function organizeTsTemplateImports(filePath, contents, { projectExp
158
175
  usedProjectExports.push(projectExport);
159
176
  return {
160
177
  namedImports: [namedImport],
161
- moduleSpecifier: projectExport.importSource,
178
+ moduleSpecifier: projectExport.placeholderModuleSpecifier,
162
179
  isTypeOnly,
163
180
  };
164
181
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"organize-ts-template-imports.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/organize-ts-template-imports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organize-ts-template-imports.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/organize-ts-template-imports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { TemplateExtractorTemplateEntry } from '@baseplate-dev/sync';
2
+ import type { TemplateExtractorBarrelExport, TemplateExtractorGeneratedBarrelExport } from '#src/renderers/extractor/index.js';
3
+ import type { TsGeneratorTemplateMetadata } from '../templates/types.js';
4
+ import type { ExternalImportProviderEntry } from './build-external-import-providers-map.js';
5
+ import type { TsExtractorConfig } from './ts-extractor-config.schema.js';
6
+ export declare const GENERATED_IMPORT_PROVIDERS_FILE_NAME = "ts-import-providers.ts";
7
+ interface RenderTsImportProvidersContext {
8
+ generatorPackageName: string;
9
+ pathsRootExportName: string;
10
+ externalImportProvidersMap: Map<string, ExternalImportProviderEntry>;
11
+ }
12
+ /**
13
+ * Renders the generated import map providers.
14
+ *
15
+ * @param generatorName - The name of the generator.
16
+ * @param templates - The template entries for the generator.
17
+ * @param context - The rendering context.
18
+ * @param extractorConfig - The TypeScript extractor configuration.
19
+ * @returns The import map file contents and the project exports.
20
+ */
21
+ export declare function renderTsImportProviders(generatorName: string, templates: TemplateExtractorTemplateEntry<TsGeneratorTemplateMetadata>[], context: RenderTsImportProvidersContext, extractorConfig?: TsExtractorConfig): {
22
+ contents: string;
23
+ barrelExports: TemplateExtractorBarrelExport[];
24
+ generatorBarrelExports: TemplateExtractorGeneratedBarrelExport[];
25
+ } | undefined;
26
+ export {};
27
+ //# sourceMappingURL=render-ts-import-providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ts-import-providers.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/render-ts-import-providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAM1E,OAAO,KAAK,EACV,6BAA6B,EAC7B,sCAAsC,EACvC,MAAM,mCAAmC,CAAC;AAY3C,OAAO,KAAK,EACV,2BAA2B,EAE5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAE5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAOzE,eAAO,MAAM,oCAAoC,2BAA2B,CAAC;AAE7E,UAAU,8BAA8B;IACtC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;CACtE;AAgND;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,8BAA8B,CAAC,2BAA2B,CAAC,EAAE,EACxE,OAAO,EAAE,8BAA8B,EACvC,eAAe,CAAC,EAAE,iBAAiB,GAEjC;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,6BAA6B,EAAE,CAAC;IAC/C,sBAAsB,EAAE,sCAAsC,EAAE,CAAC;CAClE,GACD,SAAS,CA0JZ"}