@powerhousedao/codegen 5.1.0-dev.2 → 5.1.0-dev.21

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 (259) hide show
  1. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +3 -3
  2. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +1 -3
  3. package/dist/src/codegen/__tests__/config.d.ts +1 -0
  4. package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
  5. package/dist/src/codegen/__tests__/config.js +1 -0
  6. package/dist/src/codegen/__tests__/config.js.map +1 -1
  7. package/dist/src/codegen/__tests__/generate-doc-model.test.js +113 -88
  8. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
  9. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +6 -3
  10. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
  11. package/dist/src/codegen/__tests__/generate-editor.test.js +8 -7
  12. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  13. package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
  14. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts +2 -0
  15. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts.map +1 -0
  16. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +142 -0
  17. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -0
  18. package/dist/src/codegen/generate.d.ts +42 -6
  19. package/dist/src/codegen/generate.d.ts.map +1 -1
  20. package/dist/src/codegen/generate.js +212 -93
  21. package/dist/src/codegen/generate.js.map +1 -1
  22. package/dist/src/codegen/graphql.d.ts +20 -17
  23. package/dist/src/codegen/graphql.d.ts.map +1 -1
  24. package/dist/src/codegen/graphql.js +105 -78
  25. package/dist/src/codegen/graphql.js.map +1 -1
  26. package/dist/src/codegen/hygen.d.ts +1 -8
  27. package/dist/src/codegen/hygen.d.ts.map +1 -1
  28. package/dist/src/codegen/hygen.js +11 -68
  29. package/dist/src/codegen/hygen.js.map +1 -1
  30. package/dist/src/index.d.ts +0 -1
  31. package/dist/src/index.d.ts.map +1 -1
  32. package/dist/src/index.js +0 -1
  33. package/dist/src/index.js.map +1 -1
  34. package/dist/src/ts-morph-utils/constants.d.ts +18 -0
  35. package/dist/src/ts-morph-utils/constants.d.ts.map +1 -0
  36. package/dist/src/ts-morph-utils/constants.js +18 -0
  37. package/dist/src/ts-morph-utils/constants.js.map +1 -0
  38. package/dist/src/ts-morph-utils/file-builders/document-editor.d.ts +28 -0
  39. package/dist/src/ts-morph-utils/file-builders/document-editor.d.ts.map +1 -0
  40. package/dist/src/ts-morph-utils/file-builders/document-editor.js +305 -0
  41. package/dist/src/ts-morph-utils/file-builders/document-editor.js.map +1 -0
  42. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts +3 -0
  43. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts.map +1 -0
  44. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js +216 -0
  45. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js.map +1 -0
  46. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.d.ts +3 -0
  47. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.d.ts.map +1 -0
  48. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js +55 -0
  49. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js.map +1 -0
  50. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts +3 -0
  51. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts.map +1 -0
  52. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js +252 -0
  53. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js.map +1 -0
  54. package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts +32 -0
  55. package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts.map +1 -0
  56. package/dist/src/ts-morph-utils/file-builders/document-model/types.js +2 -0
  57. package/dist/src/ts-morph-utils/file-builders/document-model/types.js.map +1 -0
  58. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts +31 -0
  59. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts.map +1 -0
  60. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js +136 -0
  61. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js.map +1 -0
  62. package/dist/src/ts-morph-utils/file-builders/document-model.d.ts +8 -0
  63. package/dist/src/ts-morph-utils/file-builders/document-model.d.ts.map +1 -0
  64. package/dist/src/ts-morph-utils/file-builders/document-model.js +250 -0
  65. package/dist/src/ts-morph-utils/file-builders/document-model.js.map +1 -0
  66. package/dist/src/ts-morph-utils/file-builders/drive-editor.d.ts +56 -0
  67. package/dist/src/ts-morph-utils/file-builders/drive-editor.d.ts.map +1 -0
  68. package/dist/src/ts-morph-utils/file-builders/drive-editor.js +341 -0
  69. package/dist/src/ts-morph-utils/file-builders/drive-editor.js.map +1 -0
  70. package/dist/src/ts-morph-utils/file-builders/editor-common.d.ts +3 -0
  71. package/dist/src/ts-morph-utils/file-builders/editor-common.d.ts.map +1 -0
  72. package/dist/src/ts-morph-utils/file-builders/editor-common.js +15 -0
  73. package/dist/src/ts-morph-utils/file-builders/editor-common.js.map +1 -0
  74. package/dist/src/ts-morph-utils/file-builders/index-files.d.ts +18 -0
  75. package/dist/src/ts-morph-utils/file-builders/index-files.d.ts.map +1 -0
  76. package/dist/src/ts-morph-utils/file-builders/index-files.js +25 -0
  77. package/dist/src/ts-morph-utils/file-builders/index-files.js.map +1 -0
  78. package/dist/src/ts-morph-utils/file-builders/module-files.d.ts +25 -0
  79. package/dist/src/ts-morph-utils/file-builders/module-files.d.ts.map +1 -0
  80. package/dist/src/ts-morph-utils/file-builders/module-files.js +104 -0
  81. package/dist/src/ts-morph-utils/file-builders/module-files.js.map +1 -0
  82. package/dist/src/ts-morph-utils/file-builders/subgraphs.d.ts +6 -0
  83. package/dist/src/ts-morph-utils/file-builders/subgraphs.d.ts.map +1 -0
  84. package/dist/src/ts-morph-utils/file-builders/subgraphs.js +53 -0
  85. package/dist/src/ts-morph-utils/file-builders/subgraphs.js.map +1 -0
  86. package/dist/src/ts-morph-utils/file-builders/types.d.ts +13 -0
  87. package/dist/src/ts-morph-utils/file-builders/types.d.ts.map +1 -0
  88. package/dist/src/ts-morph-utils/file-builders/types.js +2 -0
  89. package/dist/src/ts-morph-utils/file-builders/types.js.map +1 -0
  90. package/dist/src/ts-morph-utils/file-utils.d.ts +28 -0
  91. package/dist/src/ts-morph-utils/file-utils.d.ts.map +1 -0
  92. package/dist/src/ts-morph-utils/file-utils.js +102 -0
  93. package/dist/src/ts-morph-utils/file-utils.js.map +1 -0
  94. package/dist/src/ts-morph-utils/name-builders/common-files.d.ts +5 -0
  95. package/dist/src/ts-morph-utils/name-builders/common-files.d.ts.map +1 -0
  96. package/dist/src/ts-morph-utils/name-builders/common-files.js +15 -0
  97. package/dist/src/ts-morph-utils/name-builders/common-files.js.map +1 -0
  98. package/dist/src/ts-morph-utils/name-builders/document-model-files.d.ts +4 -0
  99. package/dist/src/ts-morph-utils/name-builders/document-model-files.d.ts.map +1 -0
  100. package/dist/src/ts-morph-utils/name-builders/document-model-files.js +12 -0
  101. package/dist/src/ts-morph-utils/name-builders/document-model-files.js.map +1 -0
  102. package/dist/src/ts-morph-utils/name-builders/editor-files.d.ts +10 -0
  103. package/dist/src/ts-morph-utils/name-builders/editor-files.d.ts.map +1 -0
  104. package/dist/src/ts-morph-utils/name-builders/editor-files.js +37 -0
  105. package/dist/src/ts-morph-utils/name-builders/editor-files.js.map +1 -0
  106. package/dist/src/ts-morph-utils/name-builders/get-file-paths.d.ts +4 -0
  107. package/dist/src/ts-morph-utils/name-builders/get-file-paths.d.ts.map +1 -0
  108. package/dist/src/ts-morph-utils/name-builders/get-file-paths.js +21 -0
  109. package/dist/src/ts-morph-utils/name-builders/get-file-paths.js.map +1 -0
  110. package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts +37 -0
  111. package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts.map +1 -0
  112. package/dist/src/ts-morph-utils/name-builders/get-variable-names.js +145 -0
  113. package/dist/src/ts-morph-utils/name-builders/get-variable-names.js.map +1 -0
  114. package/dist/src/ts-morph-utils/name-builders/types.d.ts +18 -0
  115. package/dist/src/ts-morph-utils/name-builders/types.d.ts.map +1 -0
  116. package/dist/src/ts-morph-utils/name-builders/types.js +2 -0
  117. package/dist/src/ts-morph-utils/name-builders/types.js.map +1 -0
  118. package/dist/src/ts-morph-utils/name-builders/variables.d.ts +12 -0
  119. package/dist/src/ts-morph-utils/name-builders/variables.d.ts.map +1 -0
  120. package/dist/src/ts-morph-utils/name-builders/variables.js +35 -0
  121. package/dist/src/ts-morph-utils/name-builders/variables.js.map +1 -0
  122. package/dist/src/ts-morph-utils/syntax-builders.d.ts +72 -0
  123. package/dist/src/ts-morph-utils/syntax-builders.d.ts.map +1 -0
  124. package/dist/src/ts-morph-utils/syntax-builders.js +201 -0
  125. package/dist/src/ts-morph-utils/syntax-builders.js.map +1 -0
  126. package/dist/src/ts-morph-utils/syntax-getters.d.ts +11 -0
  127. package/dist/src/ts-morph-utils/syntax-getters.d.ts.map +1 -0
  128. package/dist/src/ts-morph-utils/syntax-getters.js +45 -0
  129. package/dist/src/ts-morph-utils/syntax-getters.js.map +1 -0
  130. package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts +3 -0
  131. package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts.map +1 -0
  132. package/dist/src/ts-morph-utils/templates/document-model/actions.js +28 -0
  133. package/dist/src/ts-morph-utils/templates/document-model/actions.js.map +1 -0
  134. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts +3 -0
  135. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts.map +1 -0
  136. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js +40 -0
  137. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js.map +1 -0
  138. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts +3 -0
  139. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts.map +1 -0
  140. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js +16 -0
  141. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js.map +1 -0
  142. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts +3 -0
  143. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts.map +1 -0
  144. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js +56 -0
  145. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js.map +1 -0
  146. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts +3 -0
  147. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts.map +1 -0
  148. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js +5 -0
  149. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js.map +1 -0
  150. package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts +3 -0
  151. package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts.map +1 -0
  152. package/dist/src/ts-morph-utils/templates/document-model/gen/index.js +29 -0
  153. package/dist/src/ts-morph-utils/templates/document-model/gen/index.js.map +1 -0
  154. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.d.ts +8 -0
  155. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.d.ts.map +1 -0
  156. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.js +39 -0
  157. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.js.map +1 -0
  158. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts +3 -0
  159. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts.map +1 -0
  160. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js +94 -0
  161. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js.map +1 -0
  162. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts +3 -0
  163. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts.map +1 -0
  164. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js +73 -0
  165. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js.map +1 -0
  166. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts +3 -0
  167. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts.map +1 -0
  168. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js +61 -0
  169. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js.map +1 -0
  170. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts +3 -0
  171. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts.map +1 -0
  172. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js +93 -0
  173. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js.map +1 -0
  174. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts +3 -0
  175. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts.map +1 -0
  176. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js +106 -0
  177. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js.map +1 -0
  178. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.d.ts +2 -0
  179. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.d.ts.map +1 -0
  180. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.js +6 -0
  181. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.js.map +1 -0
  182. package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts +3 -0
  183. package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts.map +1 -0
  184. package/dist/src/ts-morph-utils/templates/document-model/gen/types.js +38 -0
  185. package/dist/src/ts-morph-utils/templates/document-model/gen/types.js.map +1 -0
  186. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts +3 -0
  187. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts.map +1 -0
  188. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js +77 -0
  189. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js.map +1 -0
  190. package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts +3 -0
  191. package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts.map +1 -0
  192. package/dist/src/ts-morph-utils/templates/document-model/hooks.js +49 -0
  193. package/dist/src/ts-morph-utils/templates/document-model/hooks.js.map +1 -0
  194. package/dist/src/ts-morph-utils/templates/document-model/index.d.ts +2 -0
  195. package/dist/src/ts-morph-utils/templates/document-model/index.d.ts.map +1 -0
  196. package/dist/src/ts-morph-utils/templates/document-model/index.js +9 -0
  197. package/dist/src/ts-morph-utils/templates/document-model/index.js.map +1 -0
  198. package/dist/src/ts-morph-utils/templates/document-model/module.d.ts +8 -0
  199. package/dist/src/ts-morph-utils/templates/document-model/module.d.ts.map +1 -0
  200. package/dist/src/ts-morph-utils/templates/document-model/module.js +25 -0
  201. package/dist/src/ts-morph-utils/templates/document-model/module.js.map +1 -0
  202. package/dist/src/ts-morph-utils/templates/document-model/src/index.d.ts +2 -0
  203. package/dist/src/ts-morph-utils/templates/document-model/src/index.d.ts.map +1 -0
  204. package/dist/src/ts-morph-utils/templates/document-model/src/index.js +5 -0
  205. package/dist/src/ts-morph-utils/templates/document-model/src/index.js.map +1 -0
  206. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts +3 -0
  207. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts.map +1 -0
  208. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js +121 -0
  209. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js.map +1 -0
  210. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts +6 -0
  211. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts.map +1 -0
  212. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js +87 -0
  213. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js.map +1 -0
  214. package/dist/src/ts-morph-utils/templates/document-model/src/utils.d.ts +2 -0
  215. package/dist/src/ts-morph-utils/templates/document-model/src/utils.d.ts.map +1 -0
  216. package/dist/src/ts-morph-utils/templates/document-model/src/utils.js +5 -0
  217. package/dist/src/ts-morph-utils/templates/document-model/src/utils.js.map +1 -0
  218. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts +7 -0
  219. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts.map +1 -0
  220. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js +22 -0
  221. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js.map +1 -0
  222. package/dist/src/ts-morph-utils/templates/document-model/utils.d.ts +3 -0
  223. package/dist/src/ts-morph-utils/templates/document-model/utils.d.ts.map +1 -0
  224. package/dist/src/ts-morph-utils/templates/document-model/utils.js +11 -0
  225. package/dist/src/ts-morph-utils/templates/document-model/utils.js.map +1 -0
  226. package/dist/src/ts-morph-utils/templates/drive-editor.d.ts +5 -0
  227. package/dist/src/ts-morph-utils/templates/drive-editor.d.ts.map +1 -0
  228. package/dist/src/ts-morph-utils/templates/drive-editor.js +211 -0
  229. package/dist/src/ts-morph-utils/templates/drive-editor.js.map +1 -0
  230. package/dist/src/ts-morph-utils/templates/unsafe-utils.d.ts +8 -0
  231. package/dist/src/ts-morph-utils/templates/unsafe-utils.d.ts.map +1 -0
  232. package/dist/src/ts-morph-utils/templates/unsafe-utils.js +23 -0
  233. package/dist/src/ts-morph-utils/templates/unsafe-utils.js.map +1 -0
  234. package/dist/src/ts-morph-utils/templates/utils.d.ts +6 -0
  235. package/dist/src/ts-morph-utils/templates/utils.d.ts.map +1 -0
  236. package/dist/src/ts-morph-utils/templates/utils.js +16 -0
  237. package/dist/src/ts-morph-utils/templates/utils.js.map +1 -0
  238. package/dist/src/ts-morph-utils/ts-morph-project.d.ts +3 -0
  239. package/dist/src/ts-morph-utils/ts-morph-project.d.ts.map +1 -0
  240. package/dist/src/ts-morph-utils/ts-morph-project.js +9 -0
  241. package/dist/src/ts-morph-utils/ts-morph-project.js.map +1 -0
  242. package/dist/src/ts-morph-utils/types.d.ts +34 -0
  243. package/dist/src/ts-morph-utils/types.d.ts.map +1 -0
  244. package/dist/src/ts-morph-utils/types.js +2 -0
  245. package/dist/src/ts-morph-utils/types.js.map +1 -0
  246. package/dist/src/utils/mock.d.ts +2 -3
  247. package/dist/src/utils/mock.d.ts.map +1 -1
  248. package/dist/src/utils/mock.js +4 -4
  249. package/dist/src/utils/mock.js.map +1 -1
  250. package/dist/tsconfig.tsbuildinfo +1 -1
  251. package/package.json +20 -14
  252. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts +0 -2
  253. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts.map +0 -1
  254. package/dist/src/codegen/__tests__/generate-schemas.test.js +0 -143
  255. package/dist/src/codegen/__tests__/generate-schemas.test.js.map +0 -1
  256. package/dist/src/ts-morph-utils.d.ts +0 -48
  257. package/dist/src/ts-morph-utils.d.ts.map +0 -1
  258. package/dist/src/ts-morph-utils.js +0 -207
  259. package/dist/src/ts-morph-utils.js.map +0 -1
@@ -0,0 +1,252 @@
1
+ import { ts } from "@tmpl/core";
2
+ import { camelCase, paramCase, pascalCase } from "change-case";
3
+ import path from "path";
4
+ import { SyntaxKind, VariableDeclarationKind } from "ts-morph";
5
+ import { formatSourceFileWithPrettier, getOrCreateSourceFile, } from "../../file-utils.js";
6
+ import { getDocumentModelOperationsModuleVariableNames } from "../../name-builders/get-variable-names.js";
7
+ import { getObjectLiteral } from "../../syntax-getters.js";
8
+ import { documentModelSrcIndexFileTemplate } from "../../templates/document-model/src/index.js";
9
+ import { documentModelTestFileTemplate } from "../../templates/document-model/src/tests/document-model.test.js";
10
+ import { makeActionImportNames, makeTestCaseForAction, } from "../../templates/document-model/src/tests/module.test.js";
11
+ import { documentModelSrcUtilsTemplate } from "../../templates/document-model/src/utils.js";
12
+ export function makeSrcDirFiles(fileMakerArgs) {
13
+ makeDocumentModelSrcIndexFile(fileMakerArgs);
14
+ makeDocumentModelSrcUtilsFile(fileMakerArgs);
15
+ makeReducerOperationHandlersForModules(fileMakerArgs);
16
+ makeSrcDirTestFiles(fileMakerArgs);
17
+ }
18
+ function makeSrcDirTestFiles(fileMakerArgs) {
19
+ makeDocumentModelTestFile(fileMakerArgs);
20
+ const modules = fileMakerArgs.modules;
21
+ for (const module of modules) {
22
+ makeOperationModuleTestFile({ ...fileMakerArgs, module });
23
+ }
24
+ }
25
+ function makeReducerOperationHandlersForModules(fileMakerArgs) {
26
+ const { modules } = fileMakerArgs;
27
+ for (const module of modules) {
28
+ makeReducerOperationHandlerForModule({
29
+ ...fileMakerArgs,
30
+ module,
31
+ });
32
+ }
33
+ }
34
+ function getPreviousVersionSourceFile(args) {
35
+ const { project, version, filePath } = args;
36
+ const previousVersion = version - 1;
37
+ if (previousVersion < 1)
38
+ return;
39
+ const previousVersionFilePath = filePath.replace(`/v${version}/`, `/v${previousVersion}/`);
40
+ const previousVersionFile = project.getSourceFile(previousVersionFilePath);
41
+ return previousVersionFile;
42
+ }
43
+ function makeReducerOperationHandlerForModule({ project, module, version, reducersDirPath, pascalCaseDocumentType, camelCaseDocumentType, versionedDocumentModelPackageImportPath, }) {
44
+ const paramCaseModuleName = paramCase(module.name);
45
+ const pascalCaseModuleName = pascalCase(module.name);
46
+ const filePath = path.join(reducersDirPath, `${paramCaseModuleName}.ts`);
47
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(project, filePath);
48
+ if (!alreadyExists) {
49
+ const previousVersionFile = getPreviousVersionSourceFile({
50
+ project,
51
+ version,
52
+ filePath,
53
+ });
54
+ if (previousVersionFile) {
55
+ sourceFile.replaceWithText(previousVersionFile.getText());
56
+ }
57
+ }
58
+ const operationsInterfaceTypeName = `${pascalCaseDocumentType}${pascalCaseModuleName}Operations`;
59
+ const operationsInterfaceVariableName = `${camelCaseDocumentType}${pascalCaseModuleName}Operations`;
60
+ const existingOperationsInterfaceTypeImport = sourceFile.getImportDeclaration((importDeclaration) => !!importDeclaration
61
+ .getNamedImports()
62
+ .find((importSpecifier) => importSpecifier.getName() === operationsInterfaceTypeName));
63
+ if (existingOperationsInterfaceTypeImport) {
64
+ existingOperationsInterfaceTypeImport.remove();
65
+ }
66
+ const operationsInterfaceTypeImport = sourceFile.addImportDeclaration({
67
+ namedImports: [operationsInterfaceTypeName],
68
+ moduleSpecifier: versionedDocumentModelPackageImportPath,
69
+ isTypeOnly: true,
70
+ });
71
+ const operationsInterfaceTypeProperties = operationsInterfaceTypeImport
72
+ .getNamedImports()
73
+ .find((value) => value.getName() === operationsInterfaceTypeName)
74
+ ?.getNameNode()
75
+ .getType()
76
+ .getProperties()
77
+ .map((symbol) => symbol.getName());
78
+ if (!operationsInterfaceTypeProperties) {
79
+ throw new Error("Failed to create operation handler object");
80
+ }
81
+ let operationsInterfaceVariableStatement = sourceFile.getVariableStatement(operationsInterfaceVariableName);
82
+ if (!operationsInterfaceVariableStatement) {
83
+ operationsInterfaceVariableStatement = sourceFile.addVariableStatement({
84
+ declarationKind: VariableDeclarationKind.Const,
85
+ isExported: true,
86
+ declarations: [
87
+ {
88
+ name: operationsInterfaceVariableName,
89
+ type: operationsInterfaceTypeName,
90
+ initializer: "{}",
91
+ },
92
+ ],
93
+ });
94
+ }
95
+ const operationsInterfaceObject = getObjectLiteral(operationsInterfaceVariableStatement);
96
+ if (!operationsInterfaceObject) {
97
+ throw new Error("Failed to build reducer object");
98
+ }
99
+ for (const name of operationsInterfaceTypeProperties) {
100
+ if (operationsInterfaceObject.getProperty(name))
101
+ continue;
102
+ operationsInterfaceObject.addMethod({
103
+ name,
104
+ parameters: [{ name: "state" }, { name: "action" }],
105
+ statements: [
106
+ `// TODO: implement ${name} reducer`,
107
+ ts `throw new Error("Reducer for '${name}' not implemented.")`.raw,
108
+ ],
109
+ });
110
+ }
111
+ formatSourceFileWithPrettier(sourceFile);
112
+ }
113
+ function makeOperationModuleTestFile(args) {
114
+ const { project, module, version, testsDirPath, documentModelPackageImportPath, versionedDocumentModelPackageImportPath, isPhDocumentOfTypeFunctionName, } = args;
115
+ const moduleVariableNames = getDocumentModelOperationsModuleVariableNames(module);
116
+ const { actions } = moduleVariableNames;
117
+ const paramCaseModuleName = paramCase(module.name);
118
+ const pascalCaseModuleName = pascalCase(module.name);
119
+ const moduleOperationsTypeName = `${pascalCaseModuleName}Operations`;
120
+ const filePath = path.join(testsDirPath, `${paramCaseModuleName}.test.ts`);
121
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(project, filePath);
122
+ if (!alreadyExists) {
123
+ const previousVersionSourceFile = getPreviousVersionSourceFile({
124
+ project,
125
+ version,
126
+ filePath,
127
+ });
128
+ if (previousVersionSourceFile) {
129
+ sourceFile.replaceWithText(previousVersionSourceFile.getText());
130
+ }
131
+ else {
132
+ sourceFile.replaceWithText(ts `
133
+ import { generateMock } from "@powerhousedao/codegen";
134
+ import { describe, expect, it } from "vitest";
135
+
136
+ describe("${moduleOperationsTypeName}", () => {
137
+
138
+ });
139
+ `.raw);
140
+ }
141
+ }
142
+ const importNames = makeActionImportNames({
143
+ ...args,
144
+ ...moduleVariableNames,
145
+ });
146
+ const namedImports = importNames.map((name) => ({ name }));
147
+ let actionsImportDeclaration = sourceFile
148
+ .getImportDeclarations()
149
+ .filter((i) => !i.isTypeOnly())
150
+ .find((importDeclaration) => importDeclaration
151
+ .getModuleSpecifier()
152
+ .getText()
153
+ .includes(documentModelPackageImportPath));
154
+ if (!actionsImportDeclaration) {
155
+ actionsImportDeclaration = sourceFile.addImportDeclaration({
156
+ namedImports,
157
+ moduleSpecifier: versionedDocumentModelPackageImportPath,
158
+ });
159
+ }
160
+ else {
161
+ actionsImportDeclaration.setModuleSpecifier(versionedDocumentModelPackageImportPath);
162
+ const existingNamedImports = actionsImportDeclaration
163
+ .getNamedImports()
164
+ .map((value) => value.getName());
165
+ for (const name of importNames) {
166
+ if (!existingNamedImports.includes(name)) {
167
+ actionsImportDeclaration.addNamedImport(name);
168
+ }
169
+ }
170
+ }
171
+ const describeCall = sourceFile
172
+ .getDescendantsOfKind(SyntaxKind.CallExpression)
173
+ .find((call) => {
174
+ const expressionText = call.getExpression().getText();
175
+ const args = call.getArguments();
176
+ const firstArg = args[0];
177
+ return (expressionText === "describe" &&
178
+ pascalCase(firstArg.getText()).includes(moduleOperationsTypeName));
179
+ });
180
+ if (!describeCall) {
181
+ console.error(`Test file at path ${filePath} has no describe block for ${moduleOperationsTypeName}`);
182
+ return;
183
+ }
184
+ const describeCallBody = describeCall
185
+ .getArguments()[1]
186
+ .asKindOrThrow(SyntaxKind.ArrowFunction);
187
+ const testCaseNames = describeCall
188
+ .getDescendantsOfKind(SyntaxKind.CallExpression)
189
+ .filter((call) => {
190
+ const expressionText = call.getExpression().getText();
191
+ return expressionText === "it" || expressionText === "test";
192
+ })
193
+ .map((c) => c.getArguments()[0].getText());
194
+ const actionsWithoutExistingTestCases = actions.filter((action) => {
195
+ const camelCaseActionName = camelCase(action.name);
196
+ return !testCaseNames.some((c) => c.includes(camelCaseActionName));
197
+ });
198
+ const testCasesToAdd = actionsWithoutExistingTestCases.map((action) => makeTestCaseForAction(action, isPhDocumentOfTypeFunctionName));
199
+ describeCallBody.addStatements(testCasesToAdd);
200
+ const GENERATE_MOCK_NAME = "generateMock";
201
+ const GENERATE_MOCK_MODULE_SPECIFIER = "@powerhousedao/codegen";
202
+ const generateMockImport = sourceFile.getImportDeclaration((i) => i.getNamedImports().some((v) => v.getText().includes(GENERATE_MOCK_NAME)));
203
+ const hasGenerateMockInSourceFile = sourceFile
204
+ .getText()
205
+ .includes(GENERATE_MOCK_NAME);
206
+ if (hasGenerateMockInSourceFile && !generateMockImport) {
207
+ sourceFile.addImportDeclaration({
208
+ namedImports: [GENERATE_MOCK_NAME],
209
+ moduleSpecifier: GENERATE_MOCK_MODULE_SPECIFIER,
210
+ });
211
+ }
212
+ sourceFile.fixUnusedIdentifiers();
213
+ formatSourceFileWithPrettier(sourceFile);
214
+ }
215
+ function makeDocumentModelSrcIndexFile({ project, ...variableNames }) {
216
+ const template = documentModelSrcIndexFileTemplate;
217
+ const { srcDirPath } = variableNames;
218
+ const filePath = path.join(srcDirPath, "index.ts");
219
+ const { sourceFile } = getOrCreateSourceFile(project, filePath);
220
+ sourceFile.replaceWithText(template);
221
+ formatSourceFileWithPrettier(sourceFile);
222
+ }
223
+ function makeDocumentModelSrcUtilsFile({ project, srcDirPath, version, }) {
224
+ const template = documentModelSrcUtilsTemplate;
225
+ const filePath = path.join(srcDirPath, "utils.ts");
226
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(project, filePath);
227
+ if (!alreadyExists) {
228
+ const previousVersionSourceFile = getPreviousVersionSourceFile({
229
+ project,
230
+ version,
231
+ filePath,
232
+ });
233
+ if (previousVersionSourceFile) {
234
+ sourceFile.replaceWithText(previousVersionSourceFile.getText());
235
+ }
236
+ else {
237
+ sourceFile.replaceWithText(template);
238
+ }
239
+ }
240
+ formatSourceFileWithPrettier(sourceFile);
241
+ }
242
+ function makeDocumentModelTestFile(args) {
243
+ const { project, testsDirPath } = args;
244
+ const template = documentModelTestFileTemplate(args);
245
+ const filePath = path.join(testsDirPath, "document-model.test.ts");
246
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(project, filePath);
247
+ if (alreadyExists)
248
+ return;
249
+ sourceFile.replaceWithText(template);
250
+ formatSourceFileWithPrettier(sourceFile);
251
+ }
252
+ //# sourceMappingURL=src-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"src-dir.js","sourceRoot":"","sources":["../../../../../src/ts-morph-utils/file-builders/document-model/src-dir.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { DocumentModelGlobalState, ModuleSpecification } from "document-model";
2
+ import type { Project } from "ts-morph";
3
+ import type { DocumentModelVariableNames } from "../../name-builders/types.js";
4
+ export type GenerateDocumentModelArgs = {
5
+ projectDir: string;
6
+ packageName: string;
7
+ documentModelState: DocumentModelGlobalState;
8
+ useVersioning: boolean;
9
+ };
10
+ export type DocumentModelFileMakerArgs = DocumentModelVariableNames & GenerateDocumentModelArgs & {
11
+ project: Project;
12
+ version: number;
13
+ documentTypeId: string;
14
+ modules: ModuleSpecification[];
15
+ initialGlobalState: string;
16
+ initialLocalState: string;
17
+ hasLocalSchema: boolean;
18
+ documentModelsDirPath: string;
19
+ documentModelDirName: string;
20
+ documentModelDirPath: string;
21
+ documentModelVersionDirName: string;
22
+ documentModelVersionDirPath: string;
23
+ documentModelPackageImportPath: string;
24
+ versionedDocumentModelPackageImportPath: string;
25
+ srcDirPath: string;
26
+ genDirPath: string;
27
+ testsDirPath: string;
28
+ schemaDirPath: string;
29
+ reducersDirPath: string;
30
+ fileExtension: string;
31
+ };
32
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/ts-morph-utils/file-builders/document-model/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,wBAAwB,CAAC;IAC7C,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,0BAA0B,GACjE,yBAAyB,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2BAA2B,EAAE,MAAM,CAAC;IACpC,2BAA2B,EAAE,MAAM,CAAC;IACpC,8BAA8B,EAAE,MAAM,CAAC;IACvC,uCAAuC,EAAE,MAAM,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/ts-morph-utils/file-builders/document-model/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import { type Project } from "ts-morph";
2
+ type MakeUpgradeFileArgs = {
3
+ project: Project;
4
+ version: number;
5
+ upgradesDirPath: string;
6
+ documentModelPackageImportPath: string;
7
+ phStateName: string;
8
+ };
9
+ export declare function makeUpgradeFile(args: MakeUpgradeFileArgs): void;
10
+ export declare function createOrUpdateUpgradeManifestFile(args: {
11
+ project: Project;
12
+ specVersions: number[];
13
+ latestVersion: number;
14
+ upgradesDirPath: string;
15
+ documentModelId: string;
16
+ }): void;
17
+ type MakeVersionConstantsFileArgs = {
18
+ project: Project;
19
+ upgradesDirPath: string;
20
+ specVersions: number[];
21
+ latestVersion: number;
22
+ };
23
+ export declare function createOrUpdateVersionConstantsFile({ specVersions, latestVersion, project, upgradesDirPath, }: MakeVersionConstantsFileArgs): void;
24
+ type MakeUpgradesIndexFileArgs = {
25
+ project: Project;
26
+ upgradesDirPath: string;
27
+ specVersions: number[];
28
+ };
29
+ export declare function makeUpgradesIndexFile({ project, upgradesDirPath, specVersions, }: MakeUpgradesIndexFileArgs): void;
30
+ export {};
31
+ //# sourceMappingURL=upgrades-dir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrades-dir.d.ts","sourceRoot":"","sources":["../../../../../src/ts-morph-utils/file-builders/document-model/upgrades-dir.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAQjE,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,8BAA8B,EAAE,MAAM,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,QA4BxD;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB,QA+BA;AAgCD,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,wBAAgB,kCAAkC,CAAC,EACjD,YAAY,EACZ,aAAa,EACb,OAAO,EACP,eAAe,GAChB,EAAE,4BAA4B,QAkC9B;AAED,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AACF,wBAAgB,qBAAqB,CAAC,EACpC,OAAO,EACP,eAAe,EACf,YAAY,GACb,EAAE,yBAAyB,QAmB3B"}
@@ -0,0 +1,136 @@
1
+ import { ts } from "@tmpl/core";
2
+ import path from "path";
3
+ import { VariableDeclarationKind } from "ts-morph";
4
+ import { formatSourceFileWithPrettier, getOrCreateSourceFile, } from "../../file-utils.js";
5
+ import { getObjectLiteral } from "../../syntax-getters.js";
6
+ import { upgradeTransitionTemplate } from "../../templates/document-model/upgrades/upgrade-transition.js";
7
+ export function makeUpgradeFile(args) {
8
+ const { project, version, upgradesDirPath, documentModelPackageImportPath, phStateName, } = args;
9
+ if (version < 2)
10
+ return;
11
+ const filePath = path.join(upgradesDirPath, `v${version}.ts`);
12
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(project, filePath);
13
+ if (alreadyExists)
14
+ return;
15
+ const previousVersion = version - 1;
16
+ const template = upgradeTransitionTemplate({
17
+ version,
18
+ previousVersion,
19
+ documentModelPackageImportPath,
20
+ phStateName,
21
+ });
22
+ sourceFile.replaceWithText(template);
23
+ formatSourceFileWithPrettier(sourceFile);
24
+ }
25
+ export function createOrUpdateUpgradeManifestFile(args) {
26
+ const { project, specVersions, upgradesDirPath, documentModelId } = args;
27
+ const filePath = path.join(upgradesDirPath, "upgrade-manifest.ts");
28
+ const { sourceFile } = getOrCreateSourceFile(project, filePath);
29
+ const template = ts `
30
+ import type { UpgradeManifest } from "document-model";
31
+ import { latestVersion, supportedVersions } from "./versions.js";
32
+
33
+ export const upgradeManifest: UpgradeManifest<typeof supportedVersions> = {
34
+ documentType: "${documentModelId}",
35
+ latestVersion,
36
+ supportedVersions,
37
+ upgrades: {},
38
+ };
39
+ `.raw;
40
+ sourceFile.replaceWithText(template);
41
+ const upgradeTransitionImports = buildUpgradeTransitionImports(specVersions);
42
+ sourceFile.addImportDeclarations(upgradeTransitionImports);
43
+ const upgradeManifestStatement = sourceFile.getVariableStatementOrThrow("upgradeManifest");
44
+ const objectLiteral = getObjectLiteral(upgradeManifestStatement);
45
+ const upgradesProperty = objectLiteral.getPropertyOrThrow("upgrades");
46
+ const upgrades = buildUpgrades(specVersions);
47
+ upgradesProperty.replaceWithText(upgrades);
48
+ formatSourceFileWithPrettier(sourceFile);
49
+ }
50
+ function buildUpgrades(specVersions) {
51
+ const upgradeStrings = [];
52
+ for (const version of specVersions) {
53
+ if (version < 2)
54
+ continue;
55
+ upgradeStrings.push(`v${version}`);
56
+ }
57
+ return `upgrades: { ${upgradeStrings.join(",\n")} }`;
58
+ }
59
+ function buildUpgradeTransitionImports(specVersions) {
60
+ const imports = [];
61
+ for (const version of specVersions) {
62
+ if (version < 2)
63
+ continue;
64
+ const namedImports = [`v${version}`];
65
+ const moduleSpecifier = `./v${version}.js`;
66
+ imports.push({
67
+ namedImports,
68
+ moduleSpecifier,
69
+ });
70
+ }
71
+ return imports;
72
+ }
73
+ export function createOrUpdateVersionConstantsFile({ specVersions, latestVersion, project, upgradesDirPath, }) {
74
+ const SUPPORTED_VERSIONS = "supportedVersions";
75
+ const LATEST_VERSION = "latestVersion";
76
+ const filePath = path.join(upgradesDirPath, "versions.ts");
77
+ const { sourceFile } = getOrCreateSourceFile(project, filePath);
78
+ sourceFile.replaceWithText("");
79
+ const latestVersionIndex = specVersions.indexOf(latestVersion);
80
+ const versionInitializer = `[${specVersions.join(", ")}] as const;`;
81
+ const latestInitializer = `${SUPPORTED_VERSIONS}[${latestVersionIndex}];`;
82
+ sourceFile.addVariableStatement({
83
+ declarationKind: VariableDeclarationKind.Const,
84
+ isExported: true,
85
+ declarations: [
86
+ {
87
+ name: SUPPORTED_VERSIONS,
88
+ initializer: versionInitializer,
89
+ },
90
+ ],
91
+ });
92
+ sourceFile.addVariableStatement({
93
+ declarationKind: VariableDeclarationKind.Const,
94
+ isExported: true,
95
+ declarations: [
96
+ {
97
+ name: LATEST_VERSION,
98
+ initializer: latestInitializer,
99
+ },
100
+ ],
101
+ });
102
+ formatSourceFileWithPrettier(sourceFile);
103
+ }
104
+ export function makeUpgradesIndexFile({ project, upgradesDirPath, specVersions, }) {
105
+ const filePath = path.join(upgradesDirPath, "index.ts");
106
+ const { sourceFile } = getOrCreateSourceFile(project, filePath);
107
+ sourceFile.replaceWithText("");
108
+ const upgradeReducerExports = makeUpgradeReducerExports(specVersions);
109
+ sourceFile.addExportDeclarations([
110
+ {
111
+ namedExports: ["upgradeManifest"],
112
+ moduleSpecifier: "./upgrade-manifest.js",
113
+ },
114
+ {
115
+ namedExports: ["supportedVersions", "latestVersion"],
116
+ moduleSpecifier: "./versions.js",
117
+ },
118
+ ...upgradeReducerExports,
119
+ ]);
120
+ formatSourceFileWithPrettier(sourceFile);
121
+ }
122
+ function makeUpgradeReducerExports(specVersions) {
123
+ const exports = [];
124
+ for (const version of specVersions) {
125
+ if (version < 2)
126
+ continue;
127
+ const namedExports = [`v${version}`];
128
+ const moduleSpecifier = `./v${version}.js`;
129
+ exports.push({
130
+ namedExports,
131
+ moduleSpecifier,
132
+ });
133
+ }
134
+ return exports;
135
+ }
136
+ //# sourceMappingURL=upgrades-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrades-dir.js","sourceRoot":"","sources":["../../../../../src/ts-morph-utils/file-builders/document-model/upgrades-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAgB,MAAM,UAAU,CAAC;AACjE,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAS1G,MAAM,UAAU,eAAe,CAAC,IAAyB;IACvD,MAAM,EACJ,OAAO,EACP,OAAO,EACP,eAAe,EACf,8BAA8B,EAC9B,WAAW,GACZ,GAAG,IAAI,CAAC;IACT,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO;IAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,OAAO,KAAK,CAAC,CAAC;IAC9D,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,qBAAqB,CACzD,OAAO,EACP,QAAQ,CACT,CAAC;IAEF,IAAI,aAAa;QAAE,OAAO;IAE1B,MAAM,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QACzC,OAAO;QACP,eAAe;QACf,8BAA8B;QAC9B,WAAW;KACZ,CAAC,CAAC;IAEH,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAMjD;IACC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;IAEnE,MAAM,EAAE,UAAU,EAAE,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,EAAE,CAAA;;;;;qBAKA,eAAe;;;;;GAKjC,CAAC,GAAG,CAAC;IAEN,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,wBAAwB,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;IAE7E,UAAU,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC;IAE3D,MAAM,wBAAwB,GAC5B,UAAU,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,gBAAgB,CAAC,wBAAwB,CAAE,CAAC;IAClE,MAAM,gBAAgB,GAAG,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC7C,gBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC3C,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,aAAa,CAAC,YAAsB;IAC3C,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,OAAO,GAAG,CAAC;YAAE,SAAS;QAC1B,cAAc,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,eAAe,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,6BAA6B,CAAC,YAAsB;IAC3D,MAAM,OAAO,GAGP,EAAE,CAAC;IAET,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,OAAO,GAAG,CAAC;YAAE,SAAS;QAC1B,MAAM,YAAY,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;QACrC,MAAM,eAAe,GAAG,MAAM,OAAO,KAAK,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC;YACX,YAAY;YACZ,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD,MAAM,UAAU,kCAAkC,CAAC,EACjD,YAAY,EACZ,aAAa,EACb,OAAO,EACP,eAAe,GACc;IAC7B,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;IAC/C,MAAM,cAAc,GAAG,eAAe,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,EAAE,UAAU,EAAE,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChE,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAE/B,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IACpE,MAAM,iBAAiB,GAAG,GAAG,kBAAkB,IAAI,kBAAkB,IAAI,CAAC;IAE1E,UAAU,CAAC,oBAAoB,CAAC;QAC9B,eAAe,EAAE,uBAAuB,CAAC,KAAK;QAC9C,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE;YACZ;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,kBAAkB;aAChC;SACF;KACF,CAAC,CAAC;IAEH,UAAU,CAAC,oBAAoB,CAAC;QAC9B,eAAe,EAAE,uBAAuB,CAAC,KAAK;QAC9C,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE;YACZ;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,iBAAiB;aAC/B;SACF;KACF,CAAC,CAAC;IAEH,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AAOD,MAAM,UAAU,qBAAqB,CAAC,EACpC,OAAO,EACP,eAAe,EACf,YAAY,GACc;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,EAAE,UAAU,EAAE,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChE,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAE/B,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAEtE,UAAU,CAAC,qBAAqB,CAAC;QAC/B;YACE,YAAY,EAAE,CAAC,iBAAiB,CAAC;YACjC,eAAe,EAAE,uBAAuB;SACzC;QACD;YACE,YAAY,EAAE,CAAC,mBAAmB,EAAE,eAAe,CAAC;YACpD,eAAe,EAAE,eAAe;SACjC;QACD,GAAG,qBAAqB;KACzB,CAAC,CAAC;IACH,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,yBAAyB,CAAC,YAAsB;IACvD,MAAM,OAAO,GAGP,EAAE,CAAC;IAET,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,OAAO,GAAG,CAAC;YAAE,SAAS;QAC1B,MAAM,YAAY,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;QACrC,MAAM,eAAe,GAAG,MAAM,OAAO,KAAK,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC;YACX,YAAY;YACZ,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type Project } from "ts-morph";
2
+ import type { GenerateDocumentModelArgs } from "./document-model/types.js";
3
+ export declare function tsMorphGenerateDocumentModel({ projectDir, packageName, documentModelState, useVersioning, }: GenerateDocumentModelArgs): Promise<void>;
4
+ export declare function makeDocumentModelModulesFile({ project, projectDir, }: {
5
+ project: Project;
6
+ projectDir: string;
7
+ }): void;
8
+ //# sourceMappingURL=document-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-model.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/document-model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAuBxC,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AA2LnC,wBAAsB,4BAA4B,CAAC,EACjD,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,aAAa,GACd,EAAE,yBAAyB,iBA+H3B;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,OAAO,EACP,UAAU,GACX,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,QAYA"}