@powerhousedao/codegen 5.1.0 → 5.2.0-staging.2

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 (260) 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/.hygen/templates/powerhouse/generate-subgraph/lib.esm.t +9 -0
  4. package/dist/src/codegen/__tests__/config.d.ts +1 -0
  5. package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
  6. package/dist/src/codegen/__tests__/config.js +1 -0
  7. package/dist/src/codegen/__tests__/config.js.map +1 -1
  8. package/dist/src/codegen/__tests__/generate-doc-model.test.js +113 -88
  9. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
  10. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +6 -3
  11. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
  12. package/dist/src/codegen/__tests__/generate-editor.test.js +8 -7
  13. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  14. package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
  15. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts +2 -0
  16. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts.map +1 -0
  17. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +142 -0
  18. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -0
  19. package/dist/src/codegen/generate.d.ts +42 -6
  20. package/dist/src/codegen/generate.d.ts.map +1 -1
  21. package/dist/src/codegen/generate.js +212 -95
  22. package/dist/src/codegen/generate.js.map +1 -1
  23. package/dist/src/codegen/graphql.d.ts +20 -17
  24. package/dist/src/codegen/graphql.d.ts.map +1 -1
  25. package/dist/src/codegen/graphql.js +105 -78
  26. package/dist/src/codegen/graphql.js.map +1 -1
  27. package/dist/src/codegen/hygen.d.ts +1 -8
  28. package/dist/src/codegen/hygen.d.ts.map +1 -1
  29. package/dist/src/codegen/hygen.js +11 -68
  30. package/dist/src/codegen/hygen.js.map +1 -1
  31. package/dist/src/index.d.ts +0 -1
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +0 -1
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/ts-morph-utils/constants.d.ts +18 -0
  36. package/dist/src/ts-morph-utils/constants.d.ts.map +1 -0
  37. package/dist/src/ts-morph-utils/constants.js +18 -0
  38. package/dist/src/ts-morph-utils/constants.js.map +1 -0
  39. package/dist/src/ts-morph-utils/file-builders/document-editor.d.ts +28 -0
  40. package/dist/src/ts-morph-utils/file-builders/document-editor.d.ts.map +1 -0
  41. package/dist/src/ts-morph-utils/file-builders/document-editor.js +305 -0
  42. package/dist/src/ts-morph-utils/file-builders/document-editor.js.map +1 -0
  43. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts +3 -0
  44. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts.map +1 -0
  45. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js +216 -0
  46. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js.map +1 -0
  47. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.d.ts +3 -0
  48. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.d.ts.map +1 -0
  49. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js +55 -0
  50. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js.map +1 -0
  51. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts +3 -0
  52. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts.map +1 -0
  53. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js +252 -0
  54. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js.map +1 -0
  55. package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts +32 -0
  56. package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts.map +1 -0
  57. package/dist/src/ts-morph-utils/file-builders/document-model/types.js +2 -0
  58. package/dist/src/ts-morph-utils/file-builders/document-model/types.js.map +1 -0
  59. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts +31 -0
  60. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts.map +1 -0
  61. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js +136 -0
  62. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js.map +1 -0
  63. package/dist/src/ts-morph-utils/file-builders/document-model.d.ts +8 -0
  64. package/dist/src/ts-morph-utils/file-builders/document-model.d.ts.map +1 -0
  65. package/dist/src/ts-morph-utils/file-builders/document-model.js +250 -0
  66. package/dist/src/ts-morph-utils/file-builders/document-model.js.map +1 -0
  67. package/dist/src/ts-morph-utils/file-builders/drive-editor.d.ts +56 -0
  68. package/dist/src/ts-morph-utils/file-builders/drive-editor.d.ts.map +1 -0
  69. package/dist/src/ts-morph-utils/file-builders/drive-editor.js +341 -0
  70. package/dist/src/ts-morph-utils/file-builders/drive-editor.js.map +1 -0
  71. package/dist/src/ts-morph-utils/file-builders/editor-common.d.ts +3 -0
  72. package/dist/src/ts-morph-utils/file-builders/editor-common.d.ts.map +1 -0
  73. package/dist/src/ts-morph-utils/file-builders/editor-common.js +15 -0
  74. package/dist/src/ts-morph-utils/file-builders/editor-common.js.map +1 -0
  75. package/dist/src/ts-morph-utils/file-builders/index-files.d.ts +18 -0
  76. package/dist/src/ts-morph-utils/file-builders/index-files.d.ts.map +1 -0
  77. package/dist/src/ts-morph-utils/file-builders/index-files.js +25 -0
  78. package/dist/src/ts-morph-utils/file-builders/index-files.js.map +1 -0
  79. package/dist/src/ts-morph-utils/file-builders/module-files.d.ts +25 -0
  80. package/dist/src/ts-morph-utils/file-builders/module-files.d.ts.map +1 -0
  81. package/dist/src/ts-morph-utils/file-builders/module-files.js +104 -0
  82. package/dist/src/ts-morph-utils/file-builders/module-files.js.map +1 -0
  83. package/dist/src/ts-morph-utils/file-builders/subgraphs.d.ts +6 -0
  84. package/dist/src/ts-morph-utils/file-builders/subgraphs.d.ts.map +1 -0
  85. package/dist/src/ts-morph-utils/file-builders/subgraphs.js +53 -0
  86. package/dist/src/ts-morph-utils/file-builders/subgraphs.js.map +1 -0
  87. package/dist/src/ts-morph-utils/file-builders/types.d.ts +13 -0
  88. package/dist/src/ts-morph-utils/file-builders/types.d.ts.map +1 -0
  89. package/dist/src/ts-morph-utils/file-builders/types.js +2 -0
  90. package/dist/src/ts-morph-utils/file-builders/types.js.map +1 -0
  91. package/dist/src/ts-morph-utils/file-utils.d.ts +28 -0
  92. package/dist/src/ts-morph-utils/file-utils.d.ts.map +1 -0
  93. package/dist/src/ts-morph-utils/file-utils.js +102 -0
  94. package/dist/src/ts-morph-utils/file-utils.js.map +1 -0
  95. package/dist/src/ts-morph-utils/name-builders/common-files.d.ts +5 -0
  96. package/dist/src/ts-morph-utils/name-builders/common-files.d.ts.map +1 -0
  97. package/dist/src/ts-morph-utils/name-builders/common-files.js +15 -0
  98. package/dist/src/ts-morph-utils/name-builders/common-files.js.map +1 -0
  99. package/dist/src/ts-morph-utils/name-builders/document-model-files.d.ts +4 -0
  100. package/dist/src/ts-morph-utils/name-builders/document-model-files.d.ts.map +1 -0
  101. package/dist/src/ts-morph-utils/name-builders/document-model-files.js +12 -0
  102. package/dist/src/ts-morph-utils/name-builders/document-model-files.js.map +1 -0
  103. package/dist/src/ts-morph-utils/name-builders/editor-files.d.ts +10 -0
  104. package/dist/src/ts-morph-utils/name-builders/editor-files.d.ts.map +1 -0
  105. package/dist/src/ts-morph-utils/name-builders/editor-files.js +37 -0
  106. package/dist/src/ts-morph-utils/name-builders/editor-files.js.map +1 -0
  107. package/dist/src/ts-morph-utils/name-builders/get-file-paths.d.ts +4 -0
  108. package/dist/src/ts-morph-utils/name-builders/get-file-paths.d.ts.map +1 -0
  109. package/dist/src/ts-morph-utils/name-builders/get-file-paths.js +21 -0
  110. package/dist/src/ts-morph-utils/name-builders/get-file-paths.js.map +1 -0
  111. package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts +37 -0
  112. package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts.map +1 -0
  113. package/dist/src/ts-morph-utils/name-builders/get-variable-names.js +145 -0
  114. package/dist/src/ts-morph-utils/name-builders/get-variable-names.js.map +1 -0
  115. package/dist/src/ts-morph-utils/name-builders/types.d.ts +18 -0
  116. package/dist/src/ts-morph-utils/name-builders/types.d.ts.map +1 -0
  117. package/dist/src/ts-morph-utils/name-builders/types.js +2 -0
  118. package/dist/src/ts-morph-utils/name-builders/types.js.map +1 -0
  119. package/dist/src/ts-morph-utils/name-builders/variables.d.ts +12 -0
  120. package/dist/src/ts-morph-utils/name-builders/variables.d.ts.map +1 -0
  121. package/dist/src/ts-morph-utils/name-builders/variables.js +35 -0
  122. package/dist/src/ts-morph-utils/name-builders/variables.js.map +1 -0
  123. package/dist/src/ts-morph-utils/syntax-builders.d.ts +72 -0
  124. package/dist/src/ts-morph-utils/syntax-builders.d.ts.map +1 -0
  125. package/dist/src/ts-morph-utils/syntax-builders.js +201 -0
  126. package/dist/src/ts-morph-utils/syntax-builders.js.map +1 -0
  127. package/dist/src/ts-morph-utils/syntax-getters.d.ts +11 -0
  128. package/dist/src/ts-morph-utils/syntax-getters.d.ts.map +1 -0
  129. package/dist/src/ts-morph-utils/syntax-getters.js +45 -0
  130. package/dist/src/ts-morph-utils/syntax-getters.js.map +1 -0
  131. package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts +3 -0
  132. package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts.map +1 -0
  133. package/dist/src/ts-morph-utils/templates/document-model/actions.js +28 -0
  134. package/dist/src/ts-morph-utils/templates/document-model/actions.js.map +1 -0
  135. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts +3 -0
  136. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts.map +1 -0
  137. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js +40 -0
  138. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js.map +1 -0
  139. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts +3 -0
  140. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts.map +1 -0
  141. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js +16 -0
  142. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js.map +1 -0
  143. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts +3 -0
  144. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts.map +1 -0
  145. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js +56 -0
  146. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js.map +1 -0
  147. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts +3 -0
  148. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts.map +1 -0
  149. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js +5 -0
  150. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js.map +1 -0
  151. package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts +3 -0
  152. package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts.map +1 -0
  153. package/dist/src/ts-morph-utils/templates/document-model/gen/index.js +29 -0
  154. package/dist/src/ts-morph-utils/templates/document-model/gen/index.js.map +1 -0
  155. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.d.ts +8 -0
  156. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.d.ts.map +1 -0
  157. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.js +39 -0
  158. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.js.map +1 -0
  159. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts +3 -0
  160. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts.map +1 -0
  161. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js +94 -0
  162. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js.map +1 -0
  163. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts +3 -0
  164. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts.map +1 -0
  165. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js +73 -0
  166. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js.map +1 -0
  167. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts +3 -0
  168. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts.map +1 -0
  169. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js +61 -0
  170. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js.map +1 -0
  171. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts +3 -0
  172. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts.map +1 -0
  173. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js +93 -0
  174. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js.map +1 -0
  175. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts +3 -0
  176. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts.map +1 -0
  177. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js +106 -0
  178. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js.map +1 -0
  179. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.d.ts +2 -0
  180. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.d.ts.map +1 -0
  181. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.js +6 -0
  182. package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.js.map +1 -0
  183. package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts +3 -0
  184. package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts.map +1 -0
  185. package/dist/src/ts-morph-utils/templates/document-model/gen/types.js +38 -0
  186. package/dist/src/ts-morph-utils/templates/document-model/gen/types.js.map +1 -0
  187. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts +3 -0
  188. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts.map +1 -0
  189. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js +77 -0
  190. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js.map +1 -0
  191. package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts +3 -0
  192. package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts.map +1 -0
  193. package/dist/src/ts-morph-utils/templates/document-model/hooks.js +49 -0
  194. package/dist/src/ts-morph-utils/templates/document-model/hooks.js.map +1 -0
  195. package/dist/src/ts-morph-utils/templates/document-model/index.d.ts +2 -0
  196. package/dist/src/ts-morph-utils/templates/document-model/index.d.ts.map +1 -0
  197. package/dist/src/ts-morph-utils/templates/document-model/index.js +9 -0
  198. package/dist/src/ts-morph-utils/templates/document-model/index.js.map +1 -0
  199. package/dist/src/ts-morph-utils/templates/document-model/module.d.ts +8 -0
  200. package/dist/src/ts-morph-utils/templates/document-model/module.d.ts.map +1 -0
  201. package/dist/src/ts-morph-utils/templates/document-model/module.js +25 -0
  202. package/dist/src/ts-morph-utils/templates/document-model/module.js.map +1 -0
  203. package/dist/src/ts-morph-utils/templates/document-model/src/index.d.ts +2 -0
  204. package/dist/src/ts-morph-utils/templates/document-model/src/index.d.ts.map +1 -0
  205. package/dist/src/ts-morph-utils/templates/document-model/src/index.js +5 -0
  206. package/dist/src/ts-morph-utils/templates/document-model/src/index.js.map +1 -0
  207. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts +3 -0
  208. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts.map +1 -0
  209. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js +121 -0
  210. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js.map +1 -0
  211. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts +6 -0
  212. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts.map +1 -0
  213. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js +87 -0
  214. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js.map +1 -0
  215. package/dist/src/ts-morph-utils/templates/document-model/src/utils.d.ts +2 -0
  216. package/dist/src/ts-morph-utils/templates/document-model/src/utils.d.ts.map +1 -0
  217. package/dist/src/ts-morph-utils/templates/document-model/src/utils.js +5 -0
  218. package/dist/src/ts-morph-utils/templates/document-model/src/utils.js.map +1 -0
  219. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts +7 -0
  220. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts.map +1 -0
  221. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js +22 -0
  222. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js.map +1 -0
  223. package/dist/src/ts-morph-utils/templates/document-model/utils.d.ts +3 -0
  224. package/dist/src/ts-morph-utils/templates/document-model/utils.d.ts.map +1 -0
  225. package/dist/src/ts-morph-utils/templates/document-model/utils.js +11 -0
  226. package/dist/src/ts-morph-utils/templates/document-model/utils.js.map +1 -0
  227. package/dist/src/ts-morph-utils/templates/drive-editor.d.ts +5 -0
  228. package/dist/src/ts-morph-utils/templates/drive-editor.d.ts.map +1 -0
  229. package/dist/src/ts-morph-utils/templates/drive-editor.js +211 -0
  230. package/dist/src/ts-morph-utils/templates/drive-editor.js.map +1 -0
  231. package/dist/src/ts-morph-utils/templates/unsafe-utils.d.ts +8 -0
  232. package/dist/src/ts-morph-utils/templates/unsafe-utils.d.ts.map +1 -0
  233. package/dist/src/ts-morph-utils/templates/unsafe-utils.js +23 -0
  234. package/dist/src/ts-morph-utils/templates/unsafe-utils.js.map +1 -0
  235. package/dist/src/ts-morph-utils/templates/utils.d.ts +6 -0
  236. package/dist/src/ts-morph-utils/templates/utils.d.ts.map +1 -0
  237. package/dist/src/ts-morph-utils/templates/utils.js +16 -0
  238. package/dist/src/ts-morph-utils/templates/utils.js.map +1 -0
  239. package/dist/src/ts-morph-utils/ts-morph-project.d.ts +3 -0
  240. package/dist/src/ts-morph-utils/ts-morph-project.d.ts.map +1 -0
  241. package/dist/src/ts-morph-utils/ts-morph-project.js +9 -0
  242. package/dist/src/ts-morph-utils/ts-morph-project.js.map +1 -0
  243. package/dist/src/ts-morph-utils/types.d.ts +34 -0
  244. package/dist/src/ts-morph-utils/types.d.ts.map +1 -0
  245. package/dist/src/ts-morph-utils/types.js +2 -0
  246. package/dist/src/ts-morph-utils/types.js.map +1 -0
  247. package/dist/src/utils/mock.d.ts +2 -3
  248. package/dist/src/utils/mock.d.ts.map +1 -1
  249. package/dist/src/utils/mock.js +4 -4
  250. package/dist/src/utils/mock.js.map +1 -1
  251. package/dist/tsconfig.tsbuildinfo +1 -1
  252. package/package.json +20 -14
  253. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts +0 -2
  254. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts.map +0 -1
  255. package/dist/src/codegen/__tests__/generate-schemas.test.js +0 -143
  256. package/dist/src/codegen/__tests__/generate-schemas.test.js.map +0 -1
  257. package/dist/src/ts-morph-utils.d.ts +0 -48
  258. package/dist/src/ts-morph-utils.d.ts.map +0 -1
  259. package/dist/src/ts-morph-utils.js +0 -207
  260. package/dist/src/ts-morph-utils.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/codegen",
3
- "version": "5.1.0",
3
+ "version": "5.2.0-staging.2",
4
4
  "license": "AGPL-3.0-only",
5
5
  "private": false,
6
6
  "type": "module",
@@ -14,32 +14,35 @@
14
14
  "exports": "./dist/index.js",
15
15
  "types": "./dist/index.d.ts",
16
16
  "dependencies": {
17
- "@acaldas/graphql-codegen-typescript-validation-schema": "^0.12.4",
18
17
  "@anatine/zod-mock": "^3.13.3",
19
18
  "@faker-js/faker": "^8.3.1",
20
- "@graphql-codegen/cli": "^5.0.0",
21
- "@graphql-codegen/typescript": "^4.0.1",
19
+ "@graphql-codegen/cli": "^6.1.0",
20
+ "@graphql-codegen/core": "^5.0.0",
21
+ "@graphql-codegen/typescript": "^5.0.6",
22
22
  "@powerhousedao/document-engineering": "^1.30.0",
23
+ "@tmpl/core": "npm:@jsr/tmpl__core@^0.6.3",
23
24
  "@types/node": "^24.6.1",
24
25
  "arg": "^5.0.2",
25
26
  "change-case": "^4.1.2",
26
27
  "enquirer": "^2.4.1",
27
28
  "execa": "^8.0.1",
28
29
  "graphql": "^16.11.0",
30
+ "graphql-codegen-typescript-validation-schema": "^0.18.1",
29
31
  "hygen": "^6.2.11",
30
32
  "kysely": "^0.28.2",
31
33
  "kysely-pglite": "^0.6.1",
32
34
  "prettier": "^3.6.2",
33
35
  "read-pkg": "^9.0.1",
36
+ "semver": "^7.7.3",
34
37
  "ts-morph": "^26.0.0",
35
- "@powerhousedao/common": "5.1.0",
36
- "@powerhousedao/config": "5.1.0",
37
- "@powerhousedao/design-system": "5.1.0",
38
- "@powerhousedao/reactor-browser": "5.1.0",
39
- "document-model": "5.1.0"
38
+ "zocker": "^3.0.0",
39
+ "@powerhousedao/common": "5.2.0-staging.2",
40
+ "@powerhousedao/config": "5.2.0-staging.2",
41
+ "@powerhousedao/design-system": "5.2.0-staging.2",
42
+ "@powerhousedao/reactor-browser": "5.2.0-staging.2",
43
+ "document-model": "5.2.0-staging.2"
40
44
  },
41
45
  "devDependencies": {
42
- "@graphql-codegen/core": "^4.0.2",
43
46
  "@powerhousedao/analytics-engine-core": "^0.5.0",
44
47
  "@types/react": "^19.2.0",
45
48
  "@types/react-dom": "^19.2.0",
@@ -49,8 +52,8 @@
49
52
  "react": "^19.2.0",
50
53
  "react-dom": "^19.2.0",
51
54
  "vitest": "^3.2.4",
52
- "zod": "^3.24.3",
53
- "document-drive": "5.1.0"
55
+ "zod": "^4.1.13",
56
+ "document-drive": "5.2.0-staging.2"
54
57
  },
55
58
  "scripts": {
56
59
  "tsc": "tsc",
@@ -60,7 +63,10 @@
60
63
  "build:create-lib": "tsc --project src/create-lib/tsconfig.json",
61
64
  "publish:create-lib": "npm publish --cwd ./src/create-lib/",
62
65
  "start": "tsx src/cli.ts",
63
- "test": "npm run copy-hygen && vitest run",
64
- "test:keep": "KEEP_TEST_OUTPUT=true npm run test"
66
+ "pretest": "npm run build",
67
+ "test": "vitest run",
68
+ "test:keep": "KEEP_TEST_OUTPUT=true npm run test",
69
+ "test:hygen": "USE_TS_MORPH=false npm run test",
70
+ "test:keep:hygen": "USE_TS_MORPH=false KEEP_TEST_OUTPUT=true npm run test"
65
71
  }
66
72
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=generate-schemas.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-schemas.test.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-schemas.test.ts"],"names":[],"mappings":""}
@@ -1,143 +0,0 @@
1
- import * as validationPlugin from "@acaldas/graphql-codegen-typescript-validation-schema";
2
- import { codegen } from "@graphql-codegen/core";
3
- import * as typescriptPlugin from "@graphql-codegen/typescript";
4
- import { parse } from "graphql";
5
- import { mkdirSync, readFileSync, rmSync } from "node:fs";
6
- import path from "node:path";
7
- import { afterAll, beforeAll, describe, expect, it, } from "vitest";
8
- import { scalars, tsConfig, zodConfig } from "../graphql.js";
9
- import { PURGE_AFTER_TEST } from "./config.js";
10
- import { GENERATE_SCHEMAS_TEST_OUTPUT_DIR, SCHEMAS_TEST_PROJECT, } from "./constants.js";
11
- import { copyAllFiles, getTestDataDir, getTestOutDirPath, getTestOutputDir, } from "./utils.js";
12
- describe("graphql codegen", () => {
13
- const testDir = import.meta.dirname;
14
- const outDirName = getTestOutputDir(testDir, GENERATE_SCHEMAS_TEST_OUTPUT_DIR);
15
- const testDataDir = getTestDataDir(testDir, SCHEMAS_TEST_PROJECT);
16
- let testOutDirPath = getTestOutDirPath("initial", outDirName);
17
- const documentDriveSchema = readFileSync(path.join(testDataDir, "schema.graphql"), "utf-8");
18
- async function setupTest(context, testDataDir) {
19
- testOutDirPath = getTestOutDirPath(context.task.name, outDirName);
20
- await copyAllFiles(testDataDir, testOutDirPath);
21
- }
22
- beforeAll(() => {
23
- try {
24
- rmSync(outDirName, { recursive: true, force: true });
25
- mkdirSync(outDirName, { recursive: true });
26
- }
27
- catch (error) {
28
- // Ignore error if folder doesn't exist
29
- }
30
- });
31
- afterAll(() => {
32
- if (PURGE_AFTER_TEST) {
33
- rmSync(outDirName, { recursive: true, force: true });
34
- }
35
- });
36
- it("should generate correct typescript code for schema", async (context) => {
37
- await setupTest(context, testDataDir);
38
- const schema = `
39
- ${Object.keys(scalars)
40
- .map((scalar) => `scalar ${scalar}`)
41
- .join("\n")}
42
- type User {
43
- id: ID!
44
- name: String!
45
- email: String
46
- address: Address
47
- createdAt: DateTime!
48
- }
49
-
50
- type Query {
51
- user(id: ID!): User
52
- users: [User!]!
53
- }
54
- `;
55
- const result = await codegen({
56
- filename: "",
57
- plugins: [
58
- {
59
- typescript: tsConfig,
60
- },
61
- ],
62
- schema: parse(schema),
63
- documents: [],
64
- config: {},
65
- pluginMap: {
66
- typescript: typescriptPlugin,
67
- },
68
- });
69
- expect(result).toMatchSnapshot();
70
- });
71
- it("should generate correct zod code for schema", async (context) => {
72
- await setupTest(context, testDataDir);
73
- const schema = `
74
- ${Object.keys(scalars)
75
- .map((scalar) => `scalar ${scalar}`)
76
- .join("\n")}
77
- type User {
78
- id: ID!
79
- name: String!
80
- email: String
81
- address: Address
82
- createdAt: DateTime!
83
- }
84
-
85
- type Query {
86
- user(id: ID!): User
87
- users: [User!]!
88
- }
89
- `;
90
- const result = await codegen({
91
- filename: "",
92
- plugins: [
93
- {
94
- "graphql-codegen-typescript-validation-schema": zodConfig,
95
- },
96
- ],
97
- schema: parse(schema),
98
- documents: [],
99
- config: {},
100
- pluginMap: {
101
- "graphql-codegen-typescript-validation-schema": validationPlugin,
102
- },
103
- });
104
- expect(result).toMatchSnapshot();
105
- });
106
- it("should generate correct typescript code for drive schema", async (context) => {
107
- await setupTest(context, testDataDir);
108
- const result = await codegen({
109
- filename: "",
110
- plugins: [
111
- {
112
- typescript: tsConfig,
113
- },
114
- ],
115
- schema: parse(documentDriveSchema),
116
- documents: [],
117
- config: {},
118
- pluginMap: {
119
- typescript: typescriptPlugin,
120
- },
121
- });
122
- expect(result).toMatchSnapshot();
123
- });
124
- it("should generate correct zod code for drive schema", async (context) => {
125
- await setupTest(context, testDataDir);
126
- const result = await codegen({
127
- filename: "",
128
- plugins: [
129
- {
130
- "@acaldas/graphql-codegen-typescript-validation-schema": zodConfig,
131
- },
132
- ],
133
- schema: parse(documentDriveSchema),
134
- documents: [],
135
- config: {},
136
- pluginMap: {
137
- "@acaldas/graphql-codegen-typescript-validation-schema": validationPlugin,
138
- },
139
- });
140
- expect(result).toMatchSnapshot();
141
- });
142
- });
143
- //# sourceMappingURL=generate-schemas.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-schemas.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-schemas.test.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import type { ArrayLiteralExpression, ObjectLiteralExpression, SourceFile, StringLiteral } from "ts-morph";
2
- import { Project, SyntaxKind } from "ts-morph";
3
- type MakeSubgraphsIndexFileArgs = {
4
- projectDir: string;
5
- };
6
- export declare function makeSubgraphsIndexFile({ projectDir, }: MakeSubgraphsIndexFileArgs): void;
7
- type MakeModuleFileArgs = {
8
- /** The root directory of the project */
9
- projectDir: string;
10
- /** The directory containing the module.ts files to generate from */
11
- modulesDir: string;
12
- /** The name of the output file which exports the modules, e.g. 'document-models.ts' or 'editors.ts' */
13
- outputFileName: string;
14
- /** The type name of the modules exported by the module.ts files, e.g. 'DocumentModelModule' or 'EditorModule' */
15
- typeName: string;
16
- /** The name of the variable that exports the modules, e.g. 'documentModels' or 'editors' */
17
- variableName: string;
18
- /** The type of the variable that exports the modules, e.g. 'DocumentModelModule<any>[]' or 'EditorModule[]' */
19
- variableType: string;
20
- /** Whether to make a legacy index.ts file for the modules, to be removed in the future */
21
- shouldMakeLegacyIndexFile?: boolean;
22
- };
23
- /**
24
- * Makes a file which exports the modules from the module.ts files in the given directory as a variable declaration.
25
- */
26
- export declare function makeModulesFile({ projectDir, modulesDir, outputFileName, typeName, variableName, variableType, shouldMakeLegacyIndexFile, }: MakeModuleFileArgs): void;
27
- type MakeLegacyIndexFileArgs = {
28
- /** The project to make the legacy index file for */
29
- project: Project;
30
- /** The root directory of the project */
31
- projectDir: string;
32
- /** The directory containing the module.ts files to generate from */
33
- modulesDir: string;
34
- /** The source file for the modules file which exports the modules, we can use this instead of starting from scratch */
35
- moduleExportsSourceFile: SourceFile;
36
- /** The names of the module declarations to export from the index.ts file */
37
- moduleDeclarationNames: string[];
38
- };
39
- /**
40
- * Makes a legacy index.ts file for the modules file which exports the modules as individual exports instead of an array of named exports.
41
- */
42
- export declare function makeLegacyIndexFile({ project, projectDir, modulesDir, moduleExportsSourceFile, moduleDeclarationNames, }: MakeLegacyIndexFileArgs): void;
43
- export declare function getVariableDeclarationByTypeName(sourceFile: SourceFile, typeName: string): import("ts-morph").VariableDeclaration | undefined;
44
- export declare function getStringLiteralValue(stringLiteral: StringLiteral | undefined): string | undefined;
45
- export declare function getObjectProperty<T extends SyntaxKind>(object: ObjectLiteralExpression | undefined, propertyName: string, propertyType: T): import("ts-morph").KindToNodeMappings[T] | undefined;
46
- export declare function getArrayLiteralExpressionElementsText(arrayLiteralExpression: ArrayLiteralExpression | undefined): string[] | undefined;
47
- export {};
48
- //# sourceMappingURL=ts-morph-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ts-morph-utils.d.ts","sourceRoot":"","sources":["../../src/ts-morph-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,EACV,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAEL,OAAO,EACP,UAAU,EAEX,MAAM,UAAU,CAAC;AAElB,KAAK,0BAA0B,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AACzD,wBAAgB,sBAAsB,CAAC,EACrC,UAAU,GACX,EAAE,0BAA0B,QA8D5B;AAED,KAAK,kBAAkB,GAAG;IACxB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,uGAAuG;IACvG,cAAc,EAAE,MAAM,CAAC;IACvB,iHAAiH;IACjH,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,YAAY,EAAE,MAAM,CAAC;IACrB,+GAA+G;IAC/G,YAAY,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,yBAAgC,GACjC,EAAE,kBAAkB,QAmGpB;AAED,KAAK,uBAAuB,GAAG;IAC7B,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,uHAAuH;IACvH,uBAAuB,EAAE,UAAU,CAAC;IACpC,4EAA4E;IAC5E,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,sBAAsB,GACvB,EAAE,uBAAuB,QA+DzB;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,sDAMjB;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,aAAa,GAAG,SAAS,sBAGzC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EACpD,MAAM,EAAE,uBAAuB,GAAG,SAAS,EAC3C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,CAAC,wDAQhB;AAED,wBAAgB,qCAAqC,CACnD,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,wBAM3D"}
@@ -1,207 +0,0 @@
1
- import path from "node:path";
2
- import { IndentationText, Project, SyntaxKind, VariableDeclarationKind, } from "ts-morph";
3
- export function makeSubgraphsIndexFile({ projectDir, }) {
4
- // use the local tsconfig.json file for a given project
5
- const tsConfigFilePath = path.join(projectDir, "tsconfig.json");
6
- const project = new Project({
7
- tsConfigFilePath,
8
- // don't add files from the tsconfig.json file, only use the ones we need
9
- skipAddingFilesFromTsConfig: true,
10
- // don't load library files, we only need the files we're adding
11
- skipLoadingLibFiles: true,
12
- // use formatting rules which match prettier
13
- manipulationSettings: {
14
- useTrailingCommas: true,
15
- indentationText: IndentationText.TwoSpaces,
16
- },
17
- });
18
- project.addSourceFilesAtPaths(`${projectDir}/subgraphs/**/*`);
19
- const subgraphsDir = project.getDirectory(path.join(projectDir, "subgraphs"));
20
- const subgraphsSubdirs = subgraphsDir?.getDirectories() ?? [];
21
- let subgraphsIndexSourceFile = project.getSourceFile(path.join(projectDir, "subgraphs/index.ts"));
22
- if (!subgraphsIndexSourceFile) {
23
- subgraphsIndexSourceFile = project.createSourceFile(path.join(projectDir, "subgraphs/index.js"), "");
24
- }
25
- for (const subgraphSubdir of subgraphsSubdirs) {
26
- const subgraphIndexSourceFilePath = `${subgraphSubdir.getPath()}/index.ts`;
27
- const subgraphIndexSourceFile = project.getSourceFile(subgraphIndexSourceFilePath);
28
- if (!subgraphIndexSourceFile) {
29
- continue;
30
- }
31
- const subgraphClassExport = subgraphIndexSourceFile
32
- .getClasses()
33
- .find((c) => c.getBaseClass()?.getText().includes("BaseSubgraph"));
34
- const subgraphClassName = subgraphClassExport?.getName();
35
- if (!subgraphClassName) {
36
- continue;
37
- }
38
- const indexFileExports = subgraphsIndexSourceFile
39
- .getExportDeclarations()
40
- .map((e) => e.getNamespaceExport()?.getText())
41
- .filter((e) => e !== undefined)
42
- .join();
43
- if (indexFileExports.includes(subgraphClassName)) {
44
- continue;
45
- }
46
- subgraphsIndexSourceFile.addExportDeclaration({
47
- namespaceExport: subgraphClassName,
48
- moduleSpecifier: `./${subgraphSubdir.getBaseName()}/index.js`,
49
- });
50
- }
51
- project.saveSync();
52
- }
53
- /**
54
- * Makes a file which exports the modules from the module.ts files in the given directory as a variable declaration.
55
- */
56
- export function makeModulesFile({ projectDir, modulesDir, outputFileName, typeName, variableName, variableType, shouldMakeLegacyIndexFile = true, }) {
57
- // use the local tsconfig.json file for a given project
58
- const tsConfigFilePath = path.join(projectDir, "tsconfig.json");
59
- const project = new Project({
60
- tsConfigFilePath,
61
- // don't add files from the tsconfig.json file, only use the ones we need
62
- skipAddingFilesFromTsConfig: true,
63
- // don't load library files, we only need the files we're adding
64
- skipLoadingLibFiles: true,
65
- // use formatting rules which match prettier
66
- manipulationSettings: {
67
- useTrailingCommas: true,
68
- indentationText: IndentationText.TwoSpaces,
69
- },
70
- });
71
- // we only need the files in the directory we're creating the modules file from
72
- project.addSourceFilesAtPaths(`${projectDir}/${modulesDir}/**/*`);
73
- // get all the module.ts files in the directory we're creating the modules file from
74
- const moduleFiles = project
75
- .getSourceFiles()
76
- .filter((file) => file.getFilePath().includes(`module.ts`));
77
- // get the variable declaration for the module object exported by each module.ts file by the given type name
78
- const moduleDeclarations = moduleFiles.map((file) => getVariableDeclarationByTypeName(file, typeName));
79
- // get the variable names for each of the module objects, this is all we need for the codegen
80
- const moduleDeclarationNames = moduleDeclarations
81
- .map((declaration) => declaration?.getName())
82
- .filter((name) => name !== undefined);
83
- const moduleExportsFilePath = `${projectDir}/${modulesDir}/${outputFileName}`;
84
- // get the source file for the modules file if it exists
85
- let moduleExportsSourceFile = project.getSourceFile(moduleExportsFilePath);
86
- // if the modules file doesn't exist, create it
87
- if (!moduleExportsSourceFile) {
88
- moduleExportsSourceFile = project.createSourceFile(moduleExportsFilePath, "");
89
- }
90
- // create the variable statement for the modules file
91
- // start as an empty array
92
- const moduleExportsVariableStatementInput = {
93
- isExported: true,
94
- declarationKind: VariableDeclarationKind.Const,
95
- declarations: [
96
- {
97
- name: variableName,
98
- type: variableType,
99
- initializer: `[]`,
100
- },
101
- ],
102
- };
103
- // get the variable statement for the modules file if it exists
104
- let moduleExportsVariableStatement = moduleExportsSourceFile.getVariableStatement(variableName);
105
- // if the variable statement doesn't exist, create it
106
- if (!moduleExportsVariableStatement) {
107
- moduleExportsVariableStatement =
108
- moduleExportsSourceFile.addVariableStatement(moduleExportsVariableStatementInput);
109
- }
110
- else {
111
- // if the variable statement exists, set it to the new variable statement
112
- moduleExportsVariableStatement.set(moduleExportsVariableStatementInput);
113
- }
114
- // get the array literal expression for the variable statement
115
- const arrayLiteral = moduleExportsVariableStatement
116
- .getDeclarations()
117
- .at(0)
118
- ?.getInitializerIfKind(SyntaxKind.ArrayLiteralExpression);
119
- // add the module declaration names to the array literal expression
120
- arrayLiteral?.addElements(moduleDeclarationNames, { useNewLines: true });
121
- // we don't need to handle the import statements for the file manually, since typescript already knows how to add them
122
- moduleExportsSourceFile.fixMissingImports(undefined, {
123
- importModuleSpecifierEnding: "js",
124
- });
125
- // we also need to export each module from the index.ts file for backwards compatibility
126
- if (shouldMakeLegacyIndexFile) {
127
- makeLegacyIndexFile({
128
- project,
129
- projectDir,
130
- modulesDir,
131
- moduleExportsSourceFile,
132
- moduleDeclarationNames,
133
- });
134
- }
135
- project.saveSync();
136
- }
137
- /**
138
- * Makes a legacy index.ts file for the modules file which exports the modules as individual exports instead of an array of named exports.
139
- */
140
- export function makeLegacyIndexFile({ project, projectDir, modulesDir, moduleExportsSourceFile, moduleDeclarationNames, }) {
141
- // we know that for every module that is imported by the modules file, we also need to export it from the index.ts file
142
- // instead of just using the module declaration names, we can get the import statements so that we can get the module specifier
143
- // this lets us be resilient to the case where the directory name of the modules file changes
144
- const importStatements = moduleExportsSourceFile
145
- .getImportDeclarations()
146
- .filter((importStatement) => moduleDeclarationNames.some((name) => importStatement.getText().includes(name)));
147
- const indexSourceFilePath = `${projectDir}/${modulesDir}/index.ts`;
148
- // get the source file for the index.ts file if it exists
149
- let indexSourceFile = project.getSourceFile(indexSourceFilePath);
150
- // if the index.ts file doesn't exist, create it
151
- if (!indexSourceFile) {
152
- indexSourceFile = project.createSourceFile(indexSourceFilePath, "");
153
- }
154
- importStatements.forEach((importStatement) => {
155
- // get the module specifier for the import statement
156
- // e.g. "./document-models/test-doc/module.ts"
157
- const moduleSpecifier = importStatement.getModuleSpecifierValue();
158
- // get the named imports for the import statement
159
- // there should only be one named import, the variable name of the module object
160
- // e.g. "TestDoc"
161
- const namesToExport = importStatement
162
- .getNamedImports()
163
- .map((namedImport) => namedImport.getName());
164
- // get the existing export declarations for the module specifier
165
- // e.g. "export { TestDoc } from './document-models/test-doc/module.ts';"
166
- // we can use this to check if the module has already been exported
167
- // and avoid adding it again
168
- const existingExportDeclarations = indexSourceFile
169
- .getExportDeclarations()
170
- .filter((exportDeclaration) => exportDeclaration.getModuleSpecifierValue() === moduleSpecifier);
171
- // get the names of the modules that have already been exported
172
- // e.g. ["TestDoc"]
173
- const alreadyExported = new Set(existingExportDeclarations.flatMap((exportDeclaration) => exportDeclaration
174
- .getNamedExports()
175
- .map((exportSpecifier) => exportSpecifier.getName())));
176
- const newNames = namesToExport.filter((name) => !alreadyExported.has(name));
177
- if (newNames.length === 0)
178
- return;
179
- // add the new export declarations to the index.ts file
180
- indexSourceFile.addExportDeclaration({
181
- namedExports: newNames,
182
- moduleSpecifier,
183
- });
184
- });
185
- }
186
- export function getVariableDeclarationByTypeName(sourceFile, typeName) {
187
- const variableDeclarations = sourceFile.getVariableDeclarations();
188
- return variableDeclarations.find((declaration) => declaration.getType().getText().includes(typeName));
189
- }
190
- export function getStringLiteralValue(stringLiteral) {
191
- return stringLiteral?.getText().replace(/["']/g, "");
192
- }
193
- export function getObjectProperty(object, propertyName, propertyType) {
194
- return object
195
- ?.getProperty(propertyName)
196
- ?.asKind(SyntaxKind.PropertyAssignment)
197
- ?.getChildren()
198
- .find((child) => child.getKind() === propertyType)
199
- ?.asKind(propertyType);
200
- }
201
- export function getArrayLiteralExpressionElementsText(arrayLiteralExpression) {
202
- return arrayLiteralExpression
203
- ?.getElements()
204
- .map((element) => element.getText())
205
- .map((text) => text.replace(/["']/g, ""));
206
- }
207
- //# sourceMappingURL=ts-morph-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ts-morph-utils.js","sourceRoot":"","sources":["../../src/ts-morph-utils.ts"],"names":[],"mappings":"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"}