@powerhousedao/codegen 6.0.0-dev.11 → 6.0.0-dev.110

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 (470) hide show
  1. package/dist/src/codegen/__tests__/config.d.ts +0 -1
  2. package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
  3. package/dist/src/codegen/__tests__/config.js +0 -1
  4. package/dist/src/codegen/__tests__/config.js.map +1 -1
  5. package/dist/src/codegen/__tests__/fixtures/typecheck.js +1 -1
  6. package/dist/src/codegen/__tests__/fixtures/typecheck.js.map +1 -1
  7. package/dist/src/codegen/__tests__/generate-doc-model.test.js +162 -212
  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 +70 -49
  10. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
  11. package/dist/src/codegen/__tests__/generate-editor.test.js +27 -27
  12. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  13. package/dist/src/codegen/__tests__/generate-manifest.test.js +17 -16
  14. package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
  15. package/dist/src/codegen/__tests__/generate-processor.test.d.ts +2 -0
  16. package/dist/src/codegen/__tests__/generate-processor.test.d.ts.map +1 -0
  17. package/dist/src/codegen/__tests__/generate-processor.test.js +295 -0
  18. package/dist/src/codegen/__tests__/generate-processor.test.js.map +1 -0
  19. package/dist/src/codegen/__tests__/generate-subgraph.test.d.ts +2 -0
  20. package/dist/src/codegen/__tests__/generate-subgraph.test.d.ts.map +1 -0
  21. package/dist/src/codegen/__tests__/generate-subgraph.test.js +197 -0
  22. package/dist/src/codegen/__tests__/generate-subgraph.test.js.map +1 -0
  23. package/dist/src/codegen/__tests__/global-setup.d.ts +1 -1
  24. package/dist/src/codegen/__tests__/global-setup.d.ts.map +1 -1
  25. package/dist/src/codegen/__tests__/global-setup.js +3 -15
  26. package/dist/src/codegen/__tests__/global-setup.js.map +1 -1
  27. package/dist/src/codegen/__tests__/ts-morph-generator.test.js +4 -4
  28. package/dist/src/codegen/__tests__/ts-morph-generator.test.js.map +1 -1
  29. package/dist/src/codegen/__tests__/utils.d.ts +2 -2
  30. package/dist/src/codegen/__tests__/utils.d.ts.map +1 -1
  31. package/dist/src/codegen/__tests__/utils.js +11 -12
  32. package/dist/src/codegen/__tests__/utils.js.map +1 -1
  33. package/dist/src/codegen/generate.d.ts +25 -19
  34. package/dist/src/codegen/generate.d.ts.map +1 -1
  35. package/dist/src/codegen/generate.js +68 -113
  36. package/dist/src/codegen/generate.js.map +1 -1
  37. package/dist/src/codegen/graphql.d.ts +1 -1
  38. package/dist/src/codegen/graphql.d.ts.map +1 -1
  39. package/dist/src/codegen/graphql.js +15 -9
  40. package/dist/src/codegen/graphql.js.map +1 -1
  41. package/dist/src/codegen/index.d.ts +0 -1
  42. package/dist/src/codegen/index.d.ts.map +1 -1
  43. package/dist/src/codegen/index.js +0 -1
  44. package/dist/src/codegen/index.js.map +1 -1
  45. package/dist/src/codegen/utils.d.ts +2 -2
  46. package/dist/src/codegen/utils.d.ts.map +1 -1
  47. package/dist/src/codegen/utils.js +3 -2
  48. package/dist/src/codegen/utils.js.map +1 -1
  49. package/dist/src/create-lib/create-project.d.ts.map +1 -1
  50. package/dist/src/create-lib/create-project.js +15 -2
  51. package/dist/src/create-lib/create-project.js.map +1 -1
  52. package/dist/src/file-builders/boilerplate/build-package-json.test.js +4 -1
  53. package/dist/src/file-builders/boilerplate/build-package-json.test.js.map +1 -1
  54. package/dist/src/file-builders/boilerplate/ci-templates.test.d.ts +2 -0
  55. package/dist/src/file-builders/boilerplate/ci-templates.test.d.ts.map +1 -0
  56. package/dist/src/file-builders/boilerplate/ci-templates.test.js +114 -0
  57. package/dist/src/file-builders/boilerplate/ci-templates.test.js.map +1 -0
  58. package/dist/src/file-builders/boilerplate/package.json.js +1 -1
  59. package/dist/src/file-builders/boilerplate/package.json.js.map +1 -1
  60. package/dist/src/file-builders/clis/generate-cli-docs.d.ts +17 -0
  61. package/dist/src/file-builders/clis/generate-cli-docs.d.ts.map +1 -0
  62. package/dist/src/file-builders/clis/generate-cli-docs.js +36 -0
  63. package/dist/src/file-builders/clis/generate-cli-docs.js.map +1 -0
  64. package/dist/src/file-builders/document-editor.d.ts +1 -1
  65. package/dist/src/file-builders/document-editor.d.ts.map +1 -1
  66. package/dist/src/file-builders/document-editor.js +9 -7
  67. package/dist/src/file-builders/document-editor.js.map +1 -1
  68. package/dist/src/file-builders/document-model/document-model.d.ts +1 -1
  69. package/dist/src/file-builders/document-model/document-model.d.ts.map +1 -1
  70. package/dist/src/file-builders/document-model/document-model.js +67 -65
  71. package/dist/src/file-builders/document-model/document-model.js.map +1 -1
  72. package/dist/src/file-builders/document-model/gen-dir.d.ts +1 -1
  73. package/dist/src/file-builders/document-model/gen-dir.d.ts.map +1 -1
  74. package/dist/src/file-builders/document-model/gen-dir.js +67 -58
  75. package/dist/src/file-builders/document-model/gen-dir.js.map +1 -1
  76. package/dist/src/file-builders/document-model/migrate-legacy.d.ts +19 -0
  77. package/dist/src/file-builders/document-model/migrate-legacy.d.ts.map +1 -0
  78. package/dist/src/file-builders/document-model/migrate-legacy.js +104 -0
  79. package/dist/src/file-builders/document-model/migrate-legacy.js.map +1 -0
  80. package/dist/src/file-builders/document-model/root-dir.d.ts +1 -1
  81. package/dist/src/file-builders/document-model/root-dir.d.ts.map +1 -1
  82. package/dist/src/file-builders/document-model/root-dir.js +17 -17
  83. package/dist/src/file-builders/document-model/root-dir.js.map +1 -1
  84. package/dist/src/file-builders/document-model/src-dir.d.ts +1 -1
  85. package/dist/src/file-builders/document-model/src-dir.d.ts.map +1 -1
  86. package/dist/src/file-builders/document-model/src-dir.js +78 -19
  87. package/dist/src/file-builders/document-model/src-dir.js.map +1 -1
  88. package/dist/src/file-builders/document-model/tests-dir.d.ts +1 -1
  89. package/dist/src/file-builders/document-model/tests-dir.d.ts.map +1 -1
  90. package/dist/src/file-builders/document-model/tests-dir.js +11 -11
  91. package/dist/src/file-builders/document-model/tests-dir.js.map +1 -1
  92. package/dist/src/file-builders/document-model/upgrades-dir.d.ts +6 -4
  93. package/dist/src/file-builders/document-model/upgrades-dir.d.ts.map +1 -1
  94. package/dist/src/file-builders/document-model/upgrades-dir.js +19 -27
  95. package/dist/src/file-builders/document-model/upgrades-dir.js.map +1 -1
  96. package/dist/src/file-builders/drive-editor.d.ts +1 -1
  97. package/dist/src/file-builders/drive-editor.d.ts.map +1 -1
  98. package/dist/src/file-builders/drive-editor.js +37 -35
  99. package/dist/src/file-builders/drive-editor.js.map +1 -1
  100. package/dist/src/file-builders/editor-common.d.ts.map +1 -1
  101. package/dist/src/file-builders/editor-common.js +0 -1
  102. package/dist/src/file-builders/editor-common.js.map +1 -1
  103. package/dist/src/file-builders/index.d.ts +2 -0
  104. package/dist/src/file-builders/index.d.ts.map +1 -1
  105. package/dist/src/file-builders/index.js +2 -0
  106. package/dist/src/file-builders/index.js.map +1 -1
  107. package/dist/src/file-builders/module-files.d.ts +11 -5
  108. package/dist/src/file-builders/module-files.d.ts.map +1 -1
  109. package/dist/src/file-builders/module-files.js +37 -28
  110. package/dist/src/file-builders/module-files.js.map +1 -1
  111. package/dist/src/file-builders/processors/analytics.d.ts +3 -0
  112. package/dist/src/file-builders/processors/analytics.d.ts.map +1 -0
  113. package/dist/src/file-builders/processors/analytics.js +35 -0
  114. package/dist/src/file-builders/processors/analytics.js.map +1 -0
  115. package/dist/src/file-builders/processors/processor.d.ts +9 -0
  116. package/dist/src/file-builders/processors/processor.d.ts.map +1 -0
  117. package/dist/src/file-builders/processors/processor.js +142 -0
  118. package/dist/src/file-builders/processors/processor.js.map +1 -0
  119. package/dist/src/file-builders/processors/relational-db.d.ts +3 -0
  120. package/dist/src/file-builders/processors/relational-db.d.ts.map +1 -0
  121. package/dist/src/file-builders/processors/relational-db.js +53 -0
  122. package/dist/src/file-builders/processors/relational-db.js.map +1 -0
  123. package/dist/src/file-builders/processors/types.d.ts +13 -0
  124. package/dist/src/file-builders/processors/types.d.ts.map +1 -0
  125. package/dist/src/file-builders/processors/types.js +2 -0
  126. package/dist/src/file-builders/processors/types.js.map +1 -0
  127. package/dist/src/file-builders/subgraph.d.ts +10 -0
  128. package/dist/src/file-builders/subgraph.d.ts.map +1 -0
  129. package/dist/src/file-builders/subgraph.js +121 -0
  130. package/dist/src/file-builders/subgraph.js.map +1 -0
  131. package/dist/src/file-builders/subgraphs.d.ts +1 -1
  132. package/dist/src/file-builders/subgraphs.d.ts.map +1 -1
  133. package/dist/src/file-builders/subgraphs.js +2 -2
  134. package/dist/src/file-builders/subgraphs.js.map +1 -1
  135. package/dist/src/file-builders/types.d.ts +20 -1
  136. package/dist/src/file-builders/types.d.ts.map +1 -1
  137. package/dist/src/name-builders/get-variable-names.d.ts +5 -4
  138. package/dist/src/name-builders/get-variable-names.d.ts.map +1 -1
  139. package/dist/src/name-builders/get-variable-names.js +6 -4
  140. package/dist/src/name-builders/get-variable-names.js.map +1 -1
  141. package/dist/src/templates/boilerplate/AGENTS.md.d.ts.map +1 -1
  142. package/dist/src/templates/boilerplate/AGENTS.md.js +138 -9
  143. package/dist/src/templates/boilerplate/AGENTS.md.js.map +1 -1
  144. package/dist/src/templates/boilerplate/CLAUDE.md.d.ts +1 -1
  145. package/dist/src/templates/boilerplate/CLAUDE.md.d.ts.map +1 -1
  146. package/dist/src/templates/boilerplate/CLAUDE.md.js +1 -407
  147. package/dist/src/templates/boilerplate/CLAUDE.md.js.map +1 -1
  148. package/dist/src/templates/boilerplate/docker/Dockerfile.d.ts +2 -0
  149. package/dist/src/templates/boilerplate/docker/Dockerfile.d.ts.map +1 -0
  150. package/dist/src/templates/boilerplate/docker/Dockerfile.js +144 -0
  151. package/dist/src/templates/boilerplate/docker/Dockerfile.js.map +1 -0
  152. package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.d.ts +2 -0
  153. package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.d.ts.map +1 -0
  154. package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.js +18 -0
  155. package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.js.map +1 -0
  156. package/dist/src/templates/boilerplate/docker/nginx.conf.d.ts +2 -0
  157. package/dist/src/templates/boilerplate/docker/nginx.conf.d.ts.map +1 -0
  158. package/dist/src/templates/boilerplate/docker/nginx.conf.js +79 -0
  159. package/dist/src/templates/boilerplate/docker/nginx.conf.js.map +1 -0
  160. package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.d.ts +2 -0
  161. package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.d.ts.map +1 -0
  162. package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.js +19 -0
  163. package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.js.map +1 -0
  164. package/dist/src/templates/boilerplate/document-models/document-models.js +1 -1
  165. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.d.ts +2 -0
  166. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.d.ts.map +1 -0
  167. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.js +7 -0
  168. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.js.map +1 -0
  169. package/dist/src/templates/boilerplate/editors/editors.js +1 -1
  170. package/dist/src/templates/boilerplate/github/sync-and-publish.yml.d.ts +2 -0
  171. package/dist/src/templates/boilerplate/github/sync-and-publish.yml.d.ts.map +1 -0
  172. package/dist/src/templates/boilerplate/github/sync-and-publish.yml.js +376 -0
  173. package/dist/src/templates/boilerplate/github/sync-and-publish.yml.js.map +1 -0
  174. package/dist/src/templates/boilerplate/index.d.ts.map +1 -1
  175. package/dist/src/templates/boilerplate/index.html.d.ts.map +1 -1
  176. package/dist/src/templates/boilerplate/index.html.js +2 -7
  177. package/dist/src/templates/boilerplate/index.html.js.map +1 -1
  178. package/dist/src/templates/boilerplate/index.js +4 -1
  179. package/dist/src/templates/boilerplate/index.js.map +1 -1
  180. package/dist/src/templates/boilerplate/main.tsx.d.ts +2 -0
  181. package/dist/src/templates/boilerplate/main.tsx.d.ts.map +1 -0
  182. package/dist/src/templates/boilerplate/main.tsx.js +8 -0
  183. package/dist/src/templates/boilerplate/main.tsx.js.map +1 -0
  184. package/dist/src/templates/boilerplate/package.json.d.ts.map +1 -1
  185. package/dist/src/templates/boilerplate/package.json.js +14 -5
  186. package/dist/src/templates/boilerplate/package.json.js.map +1 -1
  187. package/dist/src/templates/boilerplate/powerhouse.config.json.js +2 -2
  188. package/dist/src/templates/boilerplate/powerhouse.config.json.js.map +1 -1
  189. package/dist/src/templates/boilerplate/style.css.d.ts.map +1 -1
  190. package/dist/src/templates/boilerplate/style.css.js +1 -0
  191. package/dist/src/templates/boilerplate/style.css.js.map +1 -1
  192. package/dist/src/templates/boilerplate/tsconfig.json.d.ts.map +1 -1
  193. package/dist/src/templates/boilerplate/tsconfig.json.js +0 -1
  194. package/dist/src/templates/boilerplate/tsconfig.json.js.map +1 -1
  195. package/dist/src/templates/cli-docs/docs-from-cli-help.d.ts +8 -0
  196. package/dist/src/templates/cli-docs/docs-from-cli-help.d.ts.map +1 -0
  197. package/dist/src/templates/cli-docs/docs-from-cli-help.js +86 -0
  198. package/dist/src/templates/cli-docs/docs-from-cli-help.js.map +1 -0
  199. package/dist/src/templates/document-editor/editor.js +1 -1
  200. package/dist/src/templates/document-editor/module.js +1 -1
  201. package/dist/src/templates/document-model/actions.d.ts.map +1 -1
  202. package/dist/src/templates/document-model/actions.js +11 -11
  203. package/dist/src/templates/document-model/actions.js.map +1 -1
  204. package/dist/src/templates/document-model/gen/actions.js +5 -5
  205. package/dist/src/templates/document-model/gen/controller.d.ts +3 -0
  206. package/dist/src/templates/document-model/gen/controller.d.ts.map +1 -0
  207. package/dist/src/templates/document-model/gen/controller.js +12 -0
  208. package/dist/src/templates/document-model/gen/controller.js.map +1 -0
  209. package/dist/src/templates/document-model/gen/creators.d.ts.map +1 -1
  210. package/dist/src/templates/document-model/gen/creators.js +11 -8
  211. package/dist/src/templates/document-model/gen/creators.js.map +1 -1
  212. package/dist/src/templates/document-model/gen/document-schema.js +1 -1
  213. package/dist/src/templates/document-model/gen/index.d.ts.map +1 -1
  214. package/dist/src/templates/document-model/gen/index.js +3 -2
  215. package/dist/src/templates/document-model/gen/index.js.map +1 -1
  216. package/dist/src/templates/document-model/gen/modules/creators.js +1 -1
  217. package/dist/src/templates/document-model/gen/modules/error.d.ts.map +1 -1
  218. package/dist/src/templates/document-model/gen/modules/error.js +8 -2
  219. package/dist/src/templates/document-model/gen/modules/error.js.map +1 -1
  220. package/dist/src/templates/document-model/gen/ph-factories.js +5 -5
  221. package/dist/src/templates/document-model/gen/ph-factories.js.map +1 -1
  222. package/dist/src/templates/document-model/gen/reducer.d.ts.map +1 -1
  223. package/dist/src/templates/document-model/gen/reducer.js +6 -7
  224. package/dist/src/templates/document-model/gen/reducer.js.map +1 -1
  225. package/dist/src/templates/document-model/gen/utils.d.ts.map +1 -1
  226. package/dist/src/templates/document-model/gen/utils.js +4 -17
  227. package/dist/src/templates/document-model/gen/utils.js.map +1 -1
  228. package/dist/src/templates/document-model/module.d.ts +1 -2
  229. package/dist/src/templates/document-model/module.d.ts.map +1 -1
  230. package/dist/src/templates/document-model/module.js +9 -12
  231. package/dist/src/templates/document-model/module.js.map +1 -1
  232. package/dist/src/templates/document-model/tests/document-model.test.d.ts.map +1 -0
  233. package/dist/src/templates/document-model/tests/document-model.test.js.map +1 -0
  234. package/dist/src/templates/document-model/tests/module.test.d.ts.map +1 -0
  235. package/dist/src/templates/document-model/{src/tests → tests}/module.test.js +1 -1
  236. package/dist/src/templates/document-model/tests/module.test.js.map +1 -0
  237. package/dist/src/templates/document-model/upgrades/upgrade-manifest.d.ts +5 -0
  238. package/dist/src/templates/document-model/upgrades/upgrade-manifest.d.ts.map +1 -0
  239. package/dist/src/templates/document-model/upgrades/upgrade-manifest.js +13 -0
  240. package/dist/src/templates/document-model/upgrades/upgrade-manifest.js.map +1 -0
  241. package/dist/src/templates/document-model/upgrades/upgrade-transition.js +1 -1
  242. package/dist/src/templates/document-model/utils.js +2 -2
  243. package/dist/src/templates/document-model/utils.js.map +1 -1
  244. package/dist/src/templates/drive-editor/components/DriveExplorer.js +1 -1
  245. package/dist/src/templates/drive-editor/components/FolderTree.js +1 -1
  246. package/dist/src/templates/drive-editor/editor.d.ts.map +1 -1
  247. package/dist/src/templates/drive-editor/editor.js +4 -2
  248. package/dist/src/templates/drive-editor/editor.js.map +1 -1
  249. package/dist/src/templates/index.d.ts +20 -3
  250. package/dist/src/templates/index.d.ts.map +1 -1
  251. package/dist/src/templates/index.js +20 -3
  252. package/dist/src/templates/index.js.map +1 -1
  253. package/dist/src/templates/processors/analytics/factory.d.ts +6 -0
  254. package/dist/src/templates/processors/analytics/factory.d.ts.map +1 -0
  255. package/dist/src/templates/processors/analytics/factory.js +26 -0
  256. package/dist/src/templates/processors/analytics/factory.js.map +1 -0
  257. package/dist/src/templates/processors/analytics/index.d.ts +4 -0
  258. package/dist/src/templates/processors/analytics/index.d.ts.map +1 -0
  259. package/dist/src/templates/processors/analytics/index.js +34 -0
  260. package/dist/src/templates/processors/analytics/index.js.map +1 -0
  261. package/dist/src/templates/processors/factory.d.ts +2 -0
  262. package/dist/src/templates/processors/factory.d.ts.map +1 -0
  263. package/dist/src/templates/processors/factory.js +60 -0
  264. package/dist/src/templates/processors/factory.js.map +1 -0
  265. package/dist/src/templates/processors/index.d.ts +2 -0
  266. package/dist/src/templates/processors/index.d.ts.map +1 -0
  267. package/dist/src/templates/processors/index.js +10 -0
  268. package/dist/src/templates/processors/index.js.map +1 -0
  269. package/dist/src/templates/processors/relational-db/factory.d.ts +6 -0
  270. package/dist/src/templates/processors/relational-db/factory.d.ts.map +1 -0
  271. package/dist/src/templates/processors/relational-db/factory.js +40 -0
  272. package/dist/src/templates/processors/relational-db/factory.js.map +1 -0
  273. package/dist/src/templates/processors/relational-db/index.d.ts +4 -0
  274. package/dist/src/templates/processors/relational-db/index.d.ts.map +1 -0
  275. package/dist/src/templates/processors/relational-db/index.js +28 -0
  276. package/dist/src/templates/processors/relational-db/index.js.map +1 -0
  277. package/dist/src/templates/processors/relational-db/migrations.d.ts +2 -0
  278. package/dist/src/templates/processors/relational-db/migrations.d.ts.map +1 -0
  279. package/dist/src/{codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/migrations.esm.t → templates/processors/relational-db/migrations.js} +5 -5
  280. package/dist/src/templates/processors/relational-db/migrations.js.map +1 -0
  281. package/dist/src/templates/processors/relational-db/schema.d.ts +2 -0
  282. package/dist/src/templates/processors/relational-db/schema.d.ts.map +1 -0
  283. package/dist/src/templates/processors/relational-db/schema.js +12 -0
  284. package/dist/src/templates/processors/relational-db/schema.js.map +1 -0
  285. package/dist/src/templates/processors/utils.d.ts +2 -0
  286. package/dist/src/templates/processors/utils.d.ts.map +1 -0
  287. package/dist/src/templates/processors/utils.js +6 -0
  288. package/dist/src/templates/processors/utils.js.map +1 -0
  289. package/dist/src/templates/subgraphs/custom-resolvers.d.ts +5 -0
  290. package/dist/src/templates/subgraphs/custom-resolvers.d.ts.map +1 -0
  291. package/dist/src/templates/subgraphs/custom-resolvers.js +20 -0
  292. package/dist/src/templates/subgraphs/custom-resolvers.js.map +1 -0
  293. package/dist/src/templates/subgraphs/custom-schema.d.ts +5 -0
  294. package/dist/src/templates/subgraphs/custom-schema.d.ts.map +1 -0
  295. package/dist/src/templates/subgraphs/custom-schema.js +20 -0
  296. package/dist/src/templates/subgraphs/custom-schema.js.map +1 -0
  297. package/dist/src/templates/subgraphs/document-model-resolvers.d.ts +15 -0
  298. package/dist/src/templates/subgraphs/document-model-resolvers.d.ts.map +1 -0
  299. package/dist/src/{codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t → templates/subgraphs/document-model-resolvers.js} +55 -47
  300. package/dist/src/templates/subgraphs/document-model-resolvers.js.map +1 -0
  301. package/dist/src/templates/subgraphs/document-model-schema.d.ts +12 -0
  302. package/dist/src/templates/subgraphs/document-model-schema.d.ts.map +1 -0
  303. package/dist/src/templates/subgraphs/document-model-schema.js +54 -0
  304. package/dist/src/templates/subgraphs/document-model-schema.js.map +1 -0
  305. package/dist/src/templates/subgraphs/index-file.d.ts +5 -0
  306. package/dist/src/templates/subgraphs/index-file.d.ts.map +1 -0
  307. package/dist/src/{codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t → templates/subgraphs/index-file.js} +7 -7
  308. package/dist/src/templates/subgraphs/index-file.js.map +1 -0
  309. package/dist/src/templates/subgraphs/index.d.ts +7 -0
  310. package/dist/src/templates/subgraphs/index.d.ts.map +1 -0
  311. package/dist/src/templates/subgraphs/index.js +7 -0
  312. package/dist/src/templates/subgraphs/index.js.map +1 -0
  313. package/dist/src/templates/subgraphs/lib-file.d.ts +2 -0
  314. package/dist/src/templates/subgraphs/lib-file.d.ts.map +1 -0
  315. package/dist/src/templates/subgraphs/lib-file.js +8 -0
  316. package/dist/src/templates/subgraphs/lib-file.js.map +1 -0
  317. package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.js +4 -4
  318. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +1 -1
  319. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +1 -1
  320. package/dist/src/ts-morph-generator/core/ReducerGenerator.js +3 -3
  321. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +1 -1
  322. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +1 -1
  323. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts +1 -1
  324. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts.map +1 -1
  325. package/dist/src/ts-morph-generator/utilities/DirectoryManager.js +5 -5
  326. package/dist/src/ts-morph-generator/utilities/DirectoryManager.js.map +1 -1
  327. package/dist/src/utils/cli.d.ts +0 -6
  328. package/dist/src/utils/cli.d.ts.map +1 -1
  329. package/dist/src/utils/cli.js +0 -18
  330. package/dist/src/utils/cli.js.map +1 -1
  331. package/dist/src/utils/constants.d.ts +0 -2
  332. package/dist/src/utils/constants.d.ts.map +1 -1
  333. package/dist/src/utils/constants.js +0 -18
  334. package/dist/src/utils/constants.js.map +1 -1
  335. package/dist/src/utils/document-type-metadata.d.ts.map +1 -1
  336. package/dist/src/utils/document-type-metadata.js +5 -2
  337. package/dist/src/utils/document-type-metadata.js.map +1 -1
  338. package/dist/src/utils/format-with-prettier.d.ts +1 -1
  339. package/dist/src/utils/format-with-prettier.d.ts.map +1 -1
  340. package/dist/src/utils/format-with-prettier.js +5 -11
  341. package/dist/src/utils/format-with-prettier.js.map +1 -1
  342. package/dist/src/utils/graphql-type-prefixes.d.ts +10 -0
  343. package/dist/src/utils/graphql-type-prefixes.d.ts.map +1 -0
  344. package/dist/src/utils/graphql-type-prefixes.js +51 -0
  345. package/dist/src/utils/graphql-type-prefixes.js.map +1 -0
  346. package/dist/src/utils/index.d.ts +2 -3
  347. package/dist/src/utils/index.d.ts.map +1 -1
  348. package/dist/src/utils/index.js +2 -3
  349. package/dist/src/utils/index.js.map +1 -1
  350. package/dist/src/utils/source-files.d.ts +8 -1
  351. package/dist/src/utils/source-files.d.ts.map +1 -1
  352. package/dist/src/utils/source-files.js +19 -2
  353. package/dist/src/utils/source-files.js.map +1 -1
  354. package/dist/src/utils/syntax-getters.d.ts +2 -1
  355. package/dist/src/utils/syntax-getters.d.ts.map +1 -1
  356. package/dist/src/utils/syntax-getters.js +12 -0
  357. package/dist/src/utils/syntax-getters.js.map +1 -1
  358. package/dist/src/utils/ts-morph-project.d.ts +14 -5
  359. package/dist/src/utils/ts-morph-project.d.ts.map +1 -1
  360. package/dist/src/utils/ts-morph-project.js +12 -12
  361. package/dist/src/utils/ts-morph-project.js.map +1 -1
  362. package/dist/src/utils/validation.d.ts +1 -1
  363. package/dist/src/utils/validation.d.ts.map +1 -1
  364. package/dist/tsconfig.tsbuildinfo +1 -1
  365. package/dist/vitest.config.d.ts.map +1 -1
  366. package/dist/vitest.config.js +4 -0
  367. package/dist/vitest.config.js.map +1 -1
  368. package/package.json +32 -43
  369. package/dist/src/codegen/.hygen/package.json +0 -6
  370. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js +0 -10
  371. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/resolvers.esm.t +0 -17
  372. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/schema.esm.t +0 -16
  373. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/actions.esm.t +0 -16
  374. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/creators.esm.t +0 -9
  375. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/customUtils.esm.t +0 -5
  376. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-schema.esm.t +0 -56
  377. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-type.esm.t +0 -6
  378. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModel.esm.t +0 -7
  379. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModelTest.esm.t +0 -121
  380. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/hooks.esm.t +0 -49
  381. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +0 -23
  382. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js +0 -127
  383. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/module.esm.t +0 -22
  384. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +0 -93
  385. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +0 -46
  386. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/root-utils.esm.t +0 -11
  387. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootActions.esm.t +0 -13
  388. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +0 -14
  389. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/schema.esm.t +0 -6
  390. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/src-index.esm.t +0 -5
  391. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +0 -31
  392. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +0 -77
  393. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/actions.esm.t +0 -22
  394. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +0 -37
  395. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +0 -44
  396. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +0 -36
  397. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +0 -71
  398. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/operations.esm.t +0 -17
  399. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js +0 -118
  400. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +0 -44
  401. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +0 -58
  402. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveContents.esm.t +0 -23
  403. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +0 -32
  404. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EmptyState.esm.t +0 -19
  405. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Files.esm.t +0 -29
  406. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +0 -108
  407. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Folders.esm.t +0 -28
  408. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/NavigationBreadcrumbs.esm.t +0 -14
  409. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/config.esm.t +0 -11
  410. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +0 -18
  411. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +0 -25
  412. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/module.esm.t +0 -15
  413. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +0 -80
  414. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +0 -90
  415. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/module.esm.t +0 -16
  416. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.esm.t +0 -59
  417. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +0 -9
  418. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/utils.esm.t +0 -100
  419. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +0 -22
  420. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +0 -62
  421. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +0 -12
  422. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.esm.t +0 -10
  423. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.inject.esm.t +0 -12
  424. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +0 -34
  425. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_call.esm.t +0 -7
  426. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_export.esm.t +0 -7
  427. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_import.esm.t +0 -7
  428. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +0 -40
  429. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +0 -47
  430. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js +0 -12
  431. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.esm.t +0 -10
  432. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.inject.esm.t +0 -12
  433. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +0 -34
  434. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_call.esm.t +0 -7
  435. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_export.esm.t +0 -9
  436. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_import.esm.t +0 -7
  437. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/schema.esm.t +0 -13
  438. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +0 -10
  439. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.esm.t +0 -9
  440. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts +0 -2
  441. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts.map +0 -1
  442. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +0 -159
  443. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +0 -1
  444. package/dist/src/codegen/hygen.d.ts +0 -47
  445. package/dist/src/codegen/hygen.d.ts.map +0 -1
  446. package/dist/src/codegen/hygen.js +0 -230
  447. package/dist/src/codegen/hygen.js.map +0 -1
  448. package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts +0 -2
  449. package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts.map +0 -1
  450. package/dist/src/file-builders/boilerplate/package-json-versions.test.js +0 -34
  451. package/dist/src/file-builders/boilerplate/package-json-versions.test.js.map +0 -1
  452. package/dist/src/templates/boilerplate/processors/index.d.ts +0 -2
  453. package/dist/src/templates/boilerplate/processors/index.d.ts.map +0 -1
  454. package/dist/src/templates/boilerplate/processors/index.js +0 -2
  455. package/dist/src/templates/boilerplate/processors/index.js.map +0 -1
  456. package/dist/src/templates/document-model/src/tests/document-model.test.d.ts.map +0 -1
  457. package/dist/src/templates/document-model/src/tests/document-model.test.js.map +0 -1
  458. package/dist/src/templates/document-model/src/tests/module.test.d.ts.map +0 -1
  459. package/dist/src/templates/document-model/src/tests/module.test.js.map +0 -1
  460. package/dist/src/utils/dependencies.d.ts +0 -12
  461. package/dist/src/utils/dependencies.d.ts.map +0 -1
  462. package/dist/src/utils/dependencies.js +0 -34
  463. package/dist/src/utils/dependencies.js.map +0 -1
  464. package/dist/src/utils/spawn-async.d.ts +0 -5
  465. package/dist/src/utils/spawn-async.d.ts.map +0 -1
  466. package/dist/src/utils/spawn-async.js +0 -29
  467. package/dist/src/utils/spawn-async.js.map +0 -1
  468. /package/dist/src/templates/document-model/{src/tests → tests}/document-model.test.d.ts +0 -0
  469. /package/dist/src/templates/document-model/{src/tests → tests}/document-model.test.js +0 -0
  470. /package/dist/src/templates/document-model/{src/tests → tests}/module.test.d.ts +0 -0
@@ -1,93 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= paramCaseDocumentType %>/gen/ph-factories.ts"
3
- force: true
4
- ---
5
- /**
6
- * Factory methods for creating <%= phDocumentTypeName %> instances
7
- */
8
- import type {
9
- PHAuthState,
10
- PHDocumentState,
11
- PHBaseState,
12
- } from "document-model";
13
- import {
14
- createBaseState,
15
- defaultBaseState,
16
- } from "document-model/core";
17
- import type {
18
- <%= phDocumentTypeName %>,
19
- <%= localStateName %>,
20
- <%= globalStateName %>,
21
- <%= phStateName %>,
22
- } from "./types.js";
23
- import { createDocument } from "./utils.js";
24
-
25
- export function defaultGlobalState(): <%= globalStateName %> {
26
- return <%- initialGlobalState %>;
27
- }
28
-
29
- export function defaultLocalState(): <%= localStateName %> {
30
- return <%- initialLocalState %>;
31
- }
32
-
33
- export function defaultPHState(): <%= phStateName %> {
34
- return {
35
- ...defaultBaseState(),
36
- global: defaultGlobalState(),
37
- local: defaultLocalState(),
38
- };
39
- }
40
-
41
- export function createGlobalState(
42
- state?: Partial<<%= globalStateName %>>,
43
- ): <%= globalStateName %> {
44
- return {
45
- ...defaultGlobalState(),
46
- ...(state || {}),
47
- } as <%= globalStateName %>;
48
- }
49
-
50
- export function createLocalState(
51
- state?: Partial<<%= localStateName %>>,
52
- ): <%= localStateName %> {
53
- return {
54
- ...defaultLocalState(),
55
- ...(state || {}),
56
- } as <%= localStateName %>;
57
- }
58
-
59
- export function createState(
60
- baseState?: Partial<PHBaseState>,
61
- globalState?: Partial<<%= globalStateName %>>,
62
- localState?: Partial<<%= localStateName %>>,
63
- ): <%= phStateName %> {
64
- return {
65
- ...createBaseState(baseState?.auth, baseState?.document),
66
- global: createGlobalState(globalState),
67
- local: createLocalState(localState),
68
- };
69
- }
70
-
71
- /**
72
- * Creates a <%= phDocumentTypeName %> with custom global and local state
73
- * This properly handles the PHBaseState requirements while allowing
74
- * document-specific state to be set.
75
- */
76
- export function create<%= phDocumentTypeName %>(
77
- state?: Partial<{
78
- auth?: Partial<PHAuthState>;
79
- document?: Partial<PHDocumentState>;
80
- global?: Partial<<%= globalStateName %>>;
81
- local?: Partial<<%= localStateName %>>;
82
- }>,
83
- ): <%= phDocumentTypeName %> {
84
- const document = createDocument(
85
- state ? createState(
86
- createBaseState(state.auth, state.document),
87
- state.global,
88
- state.local,
89
- ) : undefined
90
- );
91
-
92
- return document;
93
- }
@@ -1,46 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= paramCaseDocumentType %>/gen/reducer.ts"
3
- force: true
4
- ---
5
- // TODO: remove eslint-disable rules once refactor is done
6
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
7
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
8
- import type { StateReducer } from "document-model";
9
- import { isDocumentAction, createReducer } from "document-model/core";
10
- import type { <%= phStateName %> } from "<%= documentModelDir %>";
11
-
12
- <% modules.forEach(module => { _%>
13
- import { <%= camelCaseDocumentType %><%= h.changeCase.pascal(module.name) %>Operations } from "../src/reducers/<%= h.changeCase.param(module.name) %>.js";
14
- <%_ }); %>
15
-
16
- <% const schemas = modules.flatMap(m =>
17
- m.operations.map(o => `${h.changeCase.pascalCase(o.name)}InputSchema`)
18
- );
19
- %>
20
- import {
21
- <%= schemas.join(',\n ') %>
22
- } from "./schema/zod.js";
23
-
24
- const stateReducer: StateReducer<<%= phStateName %>> =
25
- (state, action, dispatch) => {
26
- if (isDocumentAction(action)) {
27
- return state;
28
- }
29
-
30
- switch (action.type) {
31
- <%-
32
- modules.map(m => m.operations.map(o =>
33
- ' case "' + h.changeCase.constant(o.name) + '":\n' +
34
- ' ' + (o.schema !== null ?
35
- h.changeCase.pascalCase(o.name) + 'InputSchema().parse(action.input);\n' :
36
- 'if (Object.keys(action.input).length > 0) throw new Error("Expected empty input for action ' + h.changeCase.constant(o.name) + '");\n') +
37
- ' ' + camelCaseDocumentType + h.changeCase.pascal(m.name) + 'Operations.' + h.changeCase.camel(o.name) + 'Operation((state as any)[action.scope], action as any, dispatch);\n' +
38
- ' break;\n'
39
- ).join('\n')).join('\n')
40
- %>
41
- default:
42
- return state;
43
- }
44
- }
45
-
46
- export const reducer = createReducer<<%= phStateName %>>(stateReducer);
@@ -1,11 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= paramCaseDocumentType %>/utils.ts"
3
- force: true
4
- ---
5
- import type { DocumentModelUtils } from "document-model";
6
- import type { <%= phStateName %> } from "./gen/types.js";
7
- import { utils as genUtils } from "./gen/utils.js";
8
- import * as customUtils from "./src/utils.js";
9
-
10
- /** Utils for the <%= pascalCaseDocumentType %> document model */
11
- export const utils = { ...genUtils, ...customUtils } satisfies DocumentModelUtils<<%= phStateName %>>;
@@ -1,13 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= paramCaseDocumentType %>/actions.ts"
3
- force: true
4
- ---
5
- import { baseActions } from "document-model";
6
- import { <% modules.forEach(module => { _%>
7
- <%= h.changeCase.camel(module.name) %>Actions,
8
- <% }); _%> } from "./gen/creators.js";
9
-
10
- /** Actions for the <%= pascalCaseDocumentType %> document model */
11
- export const actions = { ...baseActions, <% modules.forEach(module => { _%>
12
- ...<%= h.changeCase.camel(module.name) %>Actions,
13
- <% }); _%> };
@@ -1,14 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= paramCaseDocumentType %>/index.ts"
3
- force: true
4
- ---
5
- /**
6
- * This is a scaffold file meant for customization.
7
- * Delete the file and run the code generator again to have it reset
8
- */
9
-
10
- export * from "./gen/index.js";
11
- export * from "./src/index.js";
12
- export * from "./hooks.js";
13
- export { actions } from "./actions.js";
14
- export { utils } from "./utils.js";
@@ -1,6 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= paramCaseDocumentType %>/gen/schema/index.ts"
3
- force: true
4
- ---
5
- export * from "./types.js";
6
- export * from "./zod.js";
@@ -1,5 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= paramCaseDocumentType %>/src/index.ts"
3
- force: true
4
- ---
5
- export * from "./utils.js";
@@ -1,31 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= paramCaseDocumentType %>/gen/types.ts"
3
- force: true
4
- ---
5
- import type { PHDocument, PHBaseState } from 'document-model';
6
- import type { <%= actionTypeName %> } from './actions.js';
7
- import type {
8
- <%= stateName %> as <%= globalStateName %>,
9
- <% if(hasLocalSchema) { -%>
10
- <%= localStateName %>,
11
- <%} -%>
12
- } from './schema/types.js';
13
-
14
- <% if(!hasLocalSchema) { -%>
15
- <%= 'type ' + localStateName %> = Record<PropertyKey, never>;
16
- <%} -%>
17
- type <%= phStateName %> = PHBaseState & {
18
- global: <%= globalStateName %>;
19
- local: <%= localStateName %>;
20
- };
21
- type <%= phDocumentTypeName %> = PHDocument<<%= phStateName %>>;
22
-
23
- export * from './schema/types.js';
24
-
25
- export type {
26
- <%= globalStateName %>,
27
- <%= localStateName %>,
28
- <%= phStateName %>,
29
- <%= actionTypeName %>,
30
- <%= phDocumentTypeName %>,
31
- };
@@ -1,77 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= paramCaseDocumentType %>/gen/utils.ts"
3
- force: true
4
- ---
5
- import type {
6
- DocumentModelUtils,
7
- } from "document-model";
8
- import {
9
- baseCreateDocument,
10
- baseSaveToFileHandle,
11
- baseLoadFromInput,
12
- defaultBaseState,
13
- generateId,
14
- } from 'document-model/core';
15
- import type {
16
- <%= globalStateName %>,
17
- <%= localStateName %>
18
- } from './types.js';
19
- import type { <%= phStateName %> } from './types.js';
20
- import { reducer } from './reducer.js';
21
- import { <%= documentTypeVariableName %> } from "./document-type.js";
22
- import {
23
- <%= isPhDocumentOfTypeFunctionName %>,
24
- <%= assertIsPhDocumentOfTypeFunctionName %>,
25
- <%= isPhStateOfTypeFunctionName %>,
26
- <%= assertIsPhStateOfTypeFunctionName %>,
27
- } from "./document-schema.js";
28
-
29
- export const initialGlobalState: <%= globalStateName %> = <%- initialGlobalState %>;
30
- export const initialLocalState: <%= localStateName %> = <%- initialLocalState %>;
31
-
32
- export const utils: DocumentModelUtils<<%= phStateName %>> = {
33
- fileExtension: '<%- fileExtension %>',
34
- createState(state) {
35
- return { ...defaultBaseState(), global: { ...initialGlobalState, ...state?.global }, local: { ...initialLocalState, ...state?.local } };
36
- },
37
- createDocument(state) {
38
- const document = baseCreateDocument(
39
- utils.createState,
40
- state
41
- );
42
-
43
- document.header.documentType = <%= documentTypeVariableName %>;
44
-
45
- // for backwards compatibility, but this is NOT a valid signed document id
46
- document.header.id = generateId();
47
-
48
- return document;
49
- },
50
- saveToFileHandle(document, input) {
51
- return baseSaveToFileHandle(document, input);
52
- },
53
- loadFromInput(input) {
54
- return baseLoadFromInput(input, reducer);
55
- },
56
- isStateOfType(state) {
57
- return <%= isPhStateOfTypeFunctionName %>(state);
58
- },
59
- assertIsStateOfType(state) {
60
- return <%= assertIsPhStateOfTypeFunctionName %>(state);
61
- },
62
- isDocumentOfType(document) {
63
- return <%= isPhDocumentOfTypeFunctionName %>(document);
64
- },
65
- assertIsDocumentOfType(document) {
66
- return <%= assertIsPhDocumentOfTypeFunctionName %>(document);
67
- },
68
- };
69
-
70
- export const createDocument = utils.createDocument;
71
- export const createState = utils.createState;
72
- export const saveToFileHandle = utils.saveToFileHandle;
73
- export const loadFromInput = utils.loadFromInput;
74
- export const isStateOfType = utils.isStateOfType;
75
- export const assertIsStateOfType = utils.assertIsStateOfType;
76
- export const isDocumentOfType = utils.isDocumentOfType;
77
- export const assertIsDocumentOfType = utils.assertIsDocumentOfType;
@@ -1,22 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/<%= module %>/actions.ts"
3
- force: true
4
- ---
5
- import { type Action<% if (actions.find(a => a.hasAttachment)) {%>, ActionWithAttachment<%}%> } from 'document-model';
6
- import type {
7
- <% actions.filter(a => a.hasInput).forEach(action => { _%>
8
- <%= h.changeCase.pascal(action.name) %>Input,
9
- <% }); _%>
10
- } from '../types.js';
11
-
12
- <% actions.filter(a => a.hasInput).forEach(actionType => { _%>
13
- export <%= 'type ' + h.changeCase.pascal(actionType.name) %>Action = <%if(actionType.hasAttachment){ %>ActionWithAttachment<% } else { %>Action<% } %> & { type: '<%= h.changeCase.constantCase(actionType.name) %>'; input: <%= h.changeCase.pascal(actionType.name) %>Input };
14
- <% }); _%>
15
- <% actions.filter(a => !a.hasInput).forEach(actionType => { _%>
16
- export <%= 'type ' + h.changeCase.pascal(actionType.name) %>Action = Action & { type: '<%= h.changeCase.constantCase(actionType.name) %>'; input: {} };
17
- <% }); _%>
18
-
19
- export <%= 'type ' + h.changeCase.pascal(documentType) %><%= h.changeCase.pascal(module) %>Action =
20
- <% actions.forEach(actionType => { _%>
21
- | <%= h.changeCase.pascal(actionType.name) %>Action
22
- <% }); _%>;
@@ -1,37 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/<%= module %>/creators.ts"
3
- force: true
4
- ---
5
- import { createAction<% if (actions.find(a => a.hasAttachment)) {%>, AttachmentInput<%}%> } from 'document-model/core';
6
- import {
7
- <% actions.filter(a => a.hasInput).forEach(action => { _%>
8
- <%= h.changeCase.pascal(action.name) %>InputSchema,
9
- <% }); _%>
10
- } from '../schema/zod.js';
11
- import type {
12
- <% actions.filter(a => a.hasInput).forEach(action => { _%>
13
- <%= h.changeCase.pascal(action.name) %>Input,
14
- <% }); _%>
15
- } from '../types.js';
16
- import type {
17
- <% actions.forEach(action => { _%>
18
- <%= h.changeCase.pascal(action.name) %>Action,
19
- <% }); _%>
20
- } from './actions.js';
21
-
22
- <% actions.filter(a => a.hasInput).forEach(action => { _%>
23
- export const <%= h.changeCase.camel(action.name) %> = (input<% if(action.isEmptyInput) { %>: <%= h.changeCase.pascal(action.name) %>Input = {}<% } else { %>: <%= h.changeCase.pascal(action.name) %>Input<% } %><%if(action.hasAttachment){ %>, attachments: AttachmentInput[] <% } %>) =>
24
- createAction<<%= h.changeCase.pascal(action.name) %>Action>(
25
- '<%= h.changeCase.constantCase(action.name) %>',
26
- {...input},
27
- <%if(action.hasAttachment){ %>attachments<% } else { %>undefined<% } %>,
28
- <%= h.changeCase.pascalCase(action.name) %>InputSchema,
29
- '<%= action.scope %>'
30
- );
31
-
32
- <% }); _%>
33
-
34
- <% actions.filter(a => !a.hasInput).forEach(action => { _%>
35
- export const <%= h.changeCase.camel(action.name) %> = () =>
36
- createAction<<%= h.changeCase.pascal(action.name) %>Action>('<%= h.changeCase.constantCase(action.name) %>');
37
- <% }); _%>
@@ -1,44 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/src/tests/<%= module %>.test.ts"
3
- unless_exists: true
4
- ---
5
- /**
6
- * This is a scaffold file meant for customization:
7
- * - change it by adding new tests or modifying the existing ones
8
- */
9
-
10
- import { describe, it, expect } from 'vitest';
11
- import { generateMock } from '@powerhousedao/codegen';
12
- import {
13
- reducer,
14
- utils,
15
- <%= isPhDocumentOfTypeFunctionName %>,
16
- <% actions.forEach(action => { _%>
17
- <%= h.changeCase.camel(action.name) %>,
18
- <%= h.changeCase.pascal(action.name) %>InputSchema,
19
- <% }); _%>
20
- } from "<%= documentModelDir %>";
21
-
22
- describe('<%= h.changeCase.pascal(module) %> Operations', () => {
23
- <% actions.forEach(action => { _%>
24
- it('should handle <%= h.changeCase.camel(action.name) %> operation', () => {
25
- const document = utils.createDocument();
26
- const input = generateMock(
27
- <%= h.changeCase.pascal(action.name) %>InputSchema(),
28
- );
29
-
30
- const updatedDocument = reducer(
31
- document,
32
- <%= h.changeCase.camel(action.name) %>(input),
33
- );
34
-
35
- expect(<%= isPhDocumentOfTypeFunctionName %>(updatedDocument)).toBe(true);
36
- expect(updatedDocument.operations.<%= action.scope %>).toHaveLength(1);
37
- expect(updatedDocument.operations.<%= action.scope %>[0].action.type).toBe(
38
- '<%= h.changeCase.constant(action.name) %>',
39
- );
40
- expect(updatedDocument.operations.<%= action.scope %>[0].action.input).toStrictEqual(input);
41
- expect(updatedDocument.operations.<%= action.scope %>[0].index).toEqual(0);
42
- });
43
- <% }); _%>
44
- });
@@ -1,36 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/<%= module %>/error.ts"
3
- force: true
4
- ---
5
- <% if (errors.length > 0) { _%>
6
- export type ErrorCode =
7
- <% errors.forEach((error, errorIndex) => { _%>
8
- | "<%= h.changeCase.pascal(error.name) %>"<% if (errorIndex === errors.length - 1) { %>;<% } %>
9
- <% }); _%>
10
-
11
- export interface ReducerError {
12
- errorCode: ErrorCode;
13
- }
14
-
15
- <% errors.forEach(error => { _%>
16
- export class <%= h.changeCase.pascal(error.name) %> extends Error implements ReducerError {
17
- errorCode = "<%= h.changeCase.pascal(error.name) %>" as ErrorCode;
18
- constructor(message = "<%= h.changeCase.pascal(error.name) %>") {
19
- super(message);
20
- }
21
- }
22
-
23
- <% }); _%>
24
-
25
- <% } _%>
26
- export const errors = {
27
- <% actions.forEach(action => { _%>
28
- <% if(action.errors?.length > 0){ -%>
29
- <%= h.changeCase.pascal(action.name) %>: {
30
- <% action.errors.forEach(error => { _%>
31
- <%= h.changeCase.pascal(error.name) %>,
32
- <% }); _%>
33
- },
34
- <% } -%>
35
- <% }); _%>
36
- };
@@ -1,71 +0,0 @@
1
- // @ts-check
2
- const { paramCase, pascalCase } = require("change-case");
3
-
4
- module.exports = {
5
- params: ({ args }) => {
6
- const documentModel = JSON.parse(args.documentModel);
7
- const latestSpec =
8
- documentModel.specifications[documentModel.specifications.length - 1];
9
- const filteredModules = latestSpec.modules.filter(
10
- (m) => m.name === args.module,
11
- );
12
-
13
- const actions =
14
- filteredModules.length > 0
15
- ? filteredModules[0].operations.map((a) => ({
16
- name: a.name,
17
- hasInput: a.schema !== null,
18
- isEmptyInput:
19
- a.schema?.includes("_empty") &&
20
- !a.schema.replace(/_empty:\s*Boolean/, "").match(/\w+:\s*\w+/),
21
- hasAttachment: a.schema?.includes(": Attachment"),
22
- scope: a.scope || "global",
23
- state: a.scope === "global" ? "" : a.scope, // the state this action affects
24
- errors: a.errors,
25
- }))
26
- : [];
27
-
28
- const errors = actions.reduce((acc, action) => {
29
- action.errors.forEach((error) => {
30
- // Fallback: If error code is empty, generate it from the error name in PascalCase
31
- const errorCode = error.code || pascalCase(error.name || "");
32
- const normalizedError = { ...error, code: errorCode };
33
-
34
- const existingError = acc.find((e) => e.code === errorCode);
35
- if (!existingError) {
36
- acc.push(normalizedError);
37
- } else if (
38
- JSON.stringify(existingError) !== JSON.stringify(normalizedError)
39
- ) {
40
- console.warn(
41
- `Warning: Duplicate error code "${errorCode}" with different fields found`,
42
- );
43
- }
44
- });
45
- return acc;
46
- }, []);
47
-
48
- const documentType = documentModel.name;
49
- const pascalCaseDocumentType = pascalCase(documentType);
50
- const phDocumentTypeName = `${pascalCaseDocumentType}Document`;
51
- const isPhDocumentOfTypeFunctionName = `is${phDocumentTypeName}`;
52
- const assertIsPhDocumentOfTypeFunctionName = `assertIs${phDocumentTypeName}`;
53
- const paramCaseDocumentType = paramCase(documentType);
54
- const packageName = args.packageName;
55
- const documentModelDir = `${packageName}/document-models/${paramCaseDocumentType}`;
56
- return {
57
- rootDir: args.rootDir,
58
- documentType: documentModel.name,
59
- module: paramCase(args.module),
60
- actions,
61
- errors,
62
- pascalCaseDocumentType,
63
- paramCaseDocumentType,
64
- packageName,
65
- documentModelDir,
66
- phDocumentTypeName,
67
- isPhDocumentOfTypeFunctionName,
68
- assertIsPhDocumentOfTypeFunctionName,
69
- };
70
- },
71
- };
@@ -1,17 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/<%= module %>/operations.ts"
3
- force: true
4
- ---
5
- import { type SignalDispatch } from 'document-model';
6
- import {
7
- <% actions.forEach(action => { _%>
8
- <%= 'type ' + h.changeCase.pascal(action.name) %>Action,
9
- <% }); _%>
10
- } from './actions.js';
11
- import { <%= actions.map(action => 'type ' + h.changeCase.pascal(h.changeCase.pascal(documentType + '_' + action.state + '_State'))).filter((value, index, self) => self.indexOf(value) === index).join(', ') %> } from '../types.js';
12
-
13
- export interface <%= h.changeCase.pascal(documentType) %><%= h.changeCase.pascal(module) %>Operations {
14
- <% actions.forEach(action => { _%>
15
- <%= h.changeCase.camel(action.name) %>Operation: (state: <%= h.changeCase.pascal(documentType + '_' + action.state + '_State') %>, action: <%= h.changeCase.pascal(action.name) %>Action, dispatch?: SignalDispatch) => void,
16
- <% }); _%>
17
- }
@@ -1,118 +0,0 @@
1
- // @ts-check
2
- const { paramCase, pascalCase, camelCase } = require("change-case");
3
-
4
- /**
5
- * Extract type names from a GraphQL schema.
6
- * @param {string} schema - GraphQL schema string
7
- * @returns {string[]} Array of type names
8
- */
9
- function extractTypeNames(schema) {
10
- const found = schema.match(/(type|enum|union|interface|input)\s+(\w+)\s/g);
11
- if (!found) return [];
12
- return found.map((f) =>
13
- f
14
- .replaceAll("type ", "")
15
- .replaceAll("enum ", "")
16
- .replaceAll("union ", "")
17
- .replaceAll("interface ", "")
18
- .replaceAll("input ", "")
19
- .trim()
20
- );
21
- }
22
-
23
- /**
24
- * Apply type prefixes to GraphQL schema to namespace types and avoid collisions.
25
- * Inlined from @powerhousedao/common/utils to avoid ES module import issues.
26
- * @param {string} schema - GraphQL schema string
27
- * @param {string} prefix - Prefix to apply to type names
28
- * @param {string[]} externalTypeNames - Type names from other schemas to also prefix
29
- * @returns {string} Schema with prefixed types
30
- */
31
- function applyGraphQLTypePrefixes(schema, prefix, externalTypeNames = []) {
32
- if (!schema || !schema.trim()) {
33
- return schema;
34
- }
35
-
36
- let processedSchema = schema;
37
-
38
- // Find types defined in this schema
39
- const localTypeNames = extractTypeNames(schema);
40
-
41
- // Combine with external type names (remove duplicates)
42
- const allTypeNames = [...new Set([...localTypeNames, ...externalTypeNames])];
43
-
44
- if (allTypeNames.length === 0) {
45
- return schema;
46
- }
47
-
48
- allTypeNames.forEach((typeName) => {
49
- const typeRegex = new RegExp(
50
- // Match type references in various GraphQL contexts
51
- `(?<![_A-Za-z0-9])(${typeName})(?![_A-Za-z0-9])|` +
52
- `\\[(${typeName})\\]|` +
53
- `\\[(${typeName})!\\]|` +
54
- `\\[(${typeName})\\]!|` +
55
- `\\[(${typeName})!\\]!`,
56
- "g",
57
- );
58
-
59
- processedSchema = processedSchema.replace(
60
- typeRegex,
61
- (match, p1, p2, p3, p4, p5) => {
62
- if (match.startsWith("[")) {
63
- return match.replace(
64
- p2 || p3 || p4 || p5,
65
- `${prefix}_${p2 || p3 || p4 || p5}`,
66
- );
67
- }
68
- // Basic type reference
69
- return `${prefix}_${p1}`;
70
- },
71
- );
72
- });
73
-
74
- return processedSchema;
75
- }
76
-
77
- module.exports = {
78
- params: ({ args }) => {
79
- const documentModel = JSON.parse(args.documentModel);
80
- const latestSpec =
81
- documentModel.specifications[documentModel.specifications.length - 1];
82
- const documentType = documentModel.name;
83
- const pascalCaseDocumentType = pascalCase(documentType);
84
- const camelCaseDocumentType = camelCase(documentType);
85
- const phDocumentTypeName = `${pascalCaseDocumentType}Document`;
86
- const documentTypeVariableName = `${camelCaseDocumentType}DocumentType`;
87
- const packageName = args.packageName;
88
- const paramCaseDocumentType = paramCase(documentType);
89
- const documentModelDir = `${packageName}/document-models/${paramCaseDocumentType}`;
90
-
91
- const stateSchema = latestSpec.state.global.schema;
92
- const stateTypeNames = extractTypeNames(stateSchema);
93
-
94
- return {
95
- phDocumentTypeName,
96
- documentTypeVariableName,
97
- pascalCaseDocumentType,
98
- camelCaseDocumentType,
99
- documentModelDir,
100
- rootDir: args.rootDir,
101
- subgraph: args.subgraph,
102
- documentTypeId: documentModel.id,
103
- documentType: documentModel.name,
104
- schema: applyGraphQLTypePrefixes(
105
- stateSchema,
106
- pascalCaseDocumentType
107
- ),
108
- modules: latestSpec.modules.map((m) => ({
109
- ...m,
110
- name: paramCase(m.name),
111
- operations: m.operations.map((op) => ({
112
- ...op,
113
- schema: applyGraphQLTypePrefixes(op.schema, pascalCaseDocumentType, stateTypeNames),
114
- })),
115
- })),
116
- };
117
- },
118
- };