@powerhousedao/codegen 5.1.0 → 5.2.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/dist/index.d.ts +4 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +1 -1
  6. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +3 -3
  7. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +3 -0
  8. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +70 -4
  9. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +1 -3
  10. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.esm.t +9 -0
  11. package/dist/src/codegen/__tests__/config.d.ts +1 -0
  12. package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
  13. package/dist/src/codegen/__tests__/config.js +1 -0
  14. package/dist/src/codegen/__tests__/config.js.map +1 -1
  15. package/dist/src/codegen/__tests__/generate-doc-model.test.js +115 -88
  16. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
  17. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +6 -3
  18. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
  19. package/dist/src/codegen/__tests__/generate-editor.test.js +10 -7
  20. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  21. package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
  22. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts +2 -0
  23. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts.map +1 -0
  24. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +159 -0
  25. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -0
  26. package/dist/src/codegen/__tests__/ts-morph-generator.test.js +2 -1
  27. package/dist/src/codegen/__tests__/ts-morph-generator.test.js.map +1 -1
  28. package/dist/src/codegen/generate.d.ts +42 -6
  29. package/dist/src/codegen/generate.d.ts.map +1 -1
  30. package/dist/src/codegen/generate.js +212 -95
  31. package/dist/src/codegen/generate.js.map +1 -1
  32. package/dist/src/codegen/graphql.d.ts +20 -17
  33. package/dist/src/codegen/graphql.d.ts.map +1 -1
  34. package/dist/src/codegen/graphql.js +105 -78
  35. package/dist/src/codegen/graphql.js.map +1 -1
  36. package/dist/src/codegen/hygen.d.ts +1 -8
  37. package/dist/src/codegen/hygen.d.ts.map +1 -1
  38. package/dist/src/codegen/hygen.js +9 -69
  39. package/dist/src/codegen/hygen.js.map +1 -1
  40. package/dist/src/create-lib/create-project.d.ts +8 -27
  41. package/dist/src/create-lib/create-project.d.ts.map +1 -1
  42. package/dist/src/create-lib/create-project.js +79 -151
  43. package/dist/src/create-lib/create-project.js.map +1 -1
  44. package/dist/src/create-lib/utils.d.ts +1 -0
  45. package/dist/src/create-lib/utils.d.ts.map +1 -1
  46. package/dist/src/create-lib/utils.js +6 -0
  47. package/dist/src/create-lib/utils.js.map +1 -1
  48. package/dist/src/file-builders/boilerplate/build-package-json.test.d.ts +2 -0
  49. package/dist/src/file-builders/boilerplate/build-package-json.test.d.ts.map +1 -0
  50. package/dist/src/file-builders/boilerplate/build-package-json.test.js +28 -0
  51. package/dist/src/file-builders/boilerplate/build-package-json.test.js.map +1 -0
  52. package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts +2 -0
  53. package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts.map +1 -0
  54. package/dist/src/file-builders/boilerplate/package-json-versions.test.js +34 -0
  55. package/dist/src/file-builders/boilerplate/package-json-versions.test.js.map +1 -0
  56. package/dist/src/file-builders/boilerplate/package.json.d.ts +6 -0
  57. package/dist/src/file-builders/boilerplate/package.json.d.ts.map +1 -0
  58. package/dist/src/file-builders/boilerplate/package.json.js +18 -0
  59. package/dist/src/file-builders/boilerplate/package.json.js.map +1 -0
  60. package/dist/src/file-builders/document-editor.d.ts +8 -0
  61. package/dist/src/file-builders/document-editor.d.ts.map +1 -0
  62. package/dist/src/file-builders/document-editor.js +57 -0
  63. package/dist/src/file-builders/document-editor.js.map +1 -0
  64. package/dist/src/file-builders/document-model/document-model.d.ts +8 -0
  65. package/dist/src/file-builders/document-model/document-model.d.ts.map +1 -0
  66. package/dist/src/file-builders/document-model/document-model.js +234 -0
  67. package/dist/src/file-builders/document-model/document-model.js.map +1 -0
  68. package/dist/src/file-builders/document-model/gen-dir.d.ts +3 -0
  69. package/dist/src/file-builders/document-model/gen-dir.d.ts.map +1 -0
  70. package/dist/src/file-builders/document-model/gen-dir.js +201 -0
  71. package/dist/src/file-builders/document-model/gen-dir.js.map +1 -0
  72. package/dist/src/file-builders/document-model/root-dir.d.ts +3 -0
  73. package/dist/src/file-builders/document-model/root-dir.d.ts.map +1 -0
  74. package/dist/src/file-builders/document-model/root-dir.js +51 -0
  75. package/dist/src/file-builders/document-model/root-dir.js.map +1 -0
  76. package/dist/src/file-builders/document-model/src-dir.d.ts +3 -0
  77. package/dist/src/file-builders/document-model/src-dir.d.ts.map +1 -0
  78. package/dist/src/file-builders/document-model/src-dir.js +118 -0
  79. package/dist/src/file-builders/document-model/src-dir.js.map +1 -0
  80. package/dist/src/file-builders/document-model/tests-dir.d.ts +3 -0
  81. package/dist/src/file-builders/document-model/tests-dir.d.ts.map +1 -0
  82. package/dist/src/file-builders/document-model/tests-dir.js +127 -0
  83. package/dist/src/file-builders/document-model/tests-dir.js.map +1 -0
  84. package/dist/src/file-builders/document-model/upgrades-dir.d.ts +31 -0
  85. package/dist/src/file-builders/document-model/upgrades-dir.d.ts.map +1 -0
  86. package/dist/src/file-builders/document-model/upgrades-dir.js +135 -0
  87. package/dist/src/file-builders/document-model/upgrades-dir.js.map +1 -0
  88. package/dist/src/file-builders/drive-editor.d.ts +9 -0
  89. package/dist/src/file-builders/drive-editor.d.ts.map +1 -0
  90. package/dist/src/file-builders/drive-editor.js +164 -0
  91. package/dist/src/file-builders/drive-editor.js.map +1 -0
  92. package/dist/src/file-builders/editor-common.d.ts +13 -0
  93. package/dist/src/file-builders/editor-common.d.ts.map +1 -0
  94. package/dist/src/file-builders/editor-common.js +26 -0
  95. package/dist/src/file-builders/editor-common.js.map +1 -0
  96. package/dist/src/file-builders/index-files.d.ts +18 -0
  97. package/dist/src/file-builders/index-files.d.ts.map +1 -0
  98. package/dist/src/file-builders/index-files.js +25 -0
  99. package/dist/src/file-builders/index-files.js.map +1 -0
  100. package/dist/src/file-builders/index.d.ts +10 -0
  101. package/dist/src/file-builders/index.d.ts.map +1 -0
  102. package/dist/src/file-builders/index.js +9 -0
  103. package/dist/src/file-builders/index.js.map +1 -0
  104. package/dist/src/file-builders/module-files.d.ts +32 -0
  105. package/dist/src/file-builders/module-files.d.ts.map +1 -0
  106. package/dist/src/file-builders/module-files.js +132 -0
  107. package/dist/src/file-builders/module-files.js.map +1 -0
  108. package/dist/src/file-builders/subgraphs.d.ts +6 -0
  109. package/dist/src/file-builders/subgraphs.d.ts.map +1 -0
  110. package/dist/src/file-builders/subgraphs.js +53 -0
  111. package/dist/src/file-builders/subgraphs.js.map +1 -0
  112. package/dist/src/file-builders/types.d.ts +66 -0
  113. package/dist/src/file-builders/types.d.ts.map +1 -0
  114. package/dist/src/file-builders/types.js +2 -0
  115. package/dist/src/file-builders/types.js.map +1 -0
  116. package/dist/src/index.d.ts +0 -1
  117. package/dist/src/index.d.ts.map +1 -1
  118. package/dist/src/index.js +0 -1
  119. package/dist/src/index.js.map +1 -1
  120. package/dist/src/name-builders/get-action-names.d.ts +6 -0
  121. package/dist/src/name-builders/get-action-names.d.ts.map +1 -0
  122. package/dist/src/name-builders/get-action-names.js +16 -0
  123. package/dist/src/name-builders/get-action-names.js.map +1 -0
  124. package/dist/src/name-builders/get-variable-names.d.ts +48 -0
  125. package/dist/src/name-builders/get-variable-names.d.ts.map +1 -0
  126. package/dist/src/name-builders/get-variable-names.js +147 -0
  127. package/dist/src/name-builders/get-variable-names.js.map +1 -0
  128. package/dist/src/name-builders/index.d.ts +3 -0
  129. package/dist/src/name-builders/index.d.ts.map +1 -0
  130. package/dist/src/name-builders/index.js +3 -0
  131. package/dist/src/name-builders/index.js.map +1 -0
  132. package/dist/src/templates/boilerplate/AGENTS.md.d.ts +2 -0
  133. package/dist/src/templates/boilerplate/AGENTS.md.d.ts.map +1 -0
  134. package/dist/src/templates/boilerplate/AGENTS.md.js +408 -0
  135. package/dist/src/templates/boilerplate/AGENTS.md.js.map +1 -0
  136. package/dist/src/templates/boilerplate/CLAUDE.md.d.ts +2 -0
  137. package/dist/src/templates/boilerplate/CLAUDE.md.d.ts.map +1 -0
  138. package/dist/src/templates/boilerplate/CLAUDE.md.js +408 -0
  139. package/dist/src/templates/boilerplate/CLAUDE.md.js.map +1 -0
  140. package/dist/src/templates/boilerplate/LICENSE.d.ts +2 -0
  141. package/dist/src/templates/boilerplate/LICENSE.d.ts.map +1 -0
  142. package/{LICENSE → dist/src/templates/boilerplate/LICENSE.js} +4 -1
  143. package/dist/src/templates/boilerplate/LICENSE.js.map +1 -0
  144. package/dist/src/templates/boilerplate/README.md.d.ts +2 -0
  145. package/dist/src/templates/boilerplate/README.md.d.ts.map +1 -0
  146. package/dist/src/templates/boilerplate/README.md.js +194 -0
  147. package/dist/src/templates/boilerplate/README.md.js.map +1 -0
  148. package/dist/src/templates/boilerplate/claude/settings.local.json.d.ts +2 -0
  149. package/dist/src/templates/boilerplate/claude/settings.local.json.d.ts.map +1 -0
  150. package/dist/src/templates/boilerplate/claude/settings.local.json.js +18 -0
  151. package/dist/src/templates/boilerplate/claude/settings.local.json.js.map +1 -0
  152. package/dist/src/templates/boilerplate/cursor/mcp.json.d.ts +2 -0
  153. package/dist/src/templates/boilerplate/cursor/mcp.json.d.ts.map +1 -0
  154. package/dist/src/templates/boilerplate/cursor/mcp.json.js +12 -0
  155. package/dist/src/templates/boilerplate/cursor/mcp.json.js.map +1 -0
  156. package/dist/src/templates/boilerplate/document-models/document-models.d.ts +2 -0
  157. package/dist/src/templates/boilerplate/document-models/document-models.d.ts.map +1 -0
  158. package/dist/src/templates/boilerplate/document-models/document-models.js +7 -0
  159. package/dist/src/templates/boilerplate/document-models/document-models.js.map +1 -0
  160. package/dist/src/templates/boilerplate/document-models/index.d.ts +2 -0
  161. package/dist/src/templates/boilerplate/document-models/index.d.ts.map +1 -0
  162. package/dist/src/templates/boilerplate/document-models/index.js +2 -0
  163. package/dist/src/templates/boilerplate/document-models/index.js.map +1 -0
  164. package/dist/src/templates/boilerplate/editors/editors.d.ts +2 -0
  165. package/dist/src/templates/boilerplate/editors/editors.d.ts.map +1 -0
  166. package/dist/src/templates/boilerplate/editors/editors.js +7 -0
  167. package/dist/src/templates/boilerplate/editors/editors.js.map +1 -0
  168. package/dist/src/templates/boilerplate/editors/index.d.ts +2 -0
  169. package/dist/src/templates/boilerplate/editors/index.d.ts.map +1 -0
  170. package/dist/src/templates/boilerplate/editors/index.js +2 -0
  171. package/dist/src/templates/boilerplate/editors/index.js.map +1 -0
  172. package/dist/src/templates/boilerplate/eslint.config.js.d.ts +2 -0
  173. package/dist/src/templates/boilerplate/eslint.config.js.d.ts.map +1 -0
  174. package/dist/src/templates/boilerplate/eslint.config.js.js +140 -0
  175. package/dist/src/templates/boilerplate/eslint.config.js.js.map +1 -0
  176. package/dist/src/templates/boilerplate/gemini/settings.json.d.ts +2 -0
  177. package/dist/src/templates/boilerplate/gemini/settings.json.d.ts.map +1 -0
  178. package/dist/src/templates/boilerplate/gemini/settings.json.js +12 -0
  179. package/dist/src/templates/boilerplate/gemini/settings.json.js.map +1 -0
  180. package/dist/src/templates/boilerplate/gitignore.d.ts +2 -0
  181. package/dist/src/templates/boilerplate/gitignore.d.ts.map +1 -0
  182. package/dist/src/templates/boilerplate/gitignore.js +11 -0
  183. package/dist/src/templates/boilerplate/gitignore.js.map +1 -0
  184. package/dist/src/templates/boilerplate/index.d.ts +2 -0
  185. package/dist/src/templates/boilerplate/index.d.ts.map +1 -0
  186. package/dist/src/templates/boilerplate/index.html.d.ts +2 -0
  187. package/dist/src/templates/boilerplate/index.html.d.ts.map +1 -0
  188. package/dist/src/templates/boilerplate/index.html.js +33 -0
  189. package/dist/src/templates/boilerplate/index.html.js.map +1 -0
  190. package/dist/src/templates/boilerplate/index.html.legacy.d.ts +2 -0
  191. package/dist/src/templates/boilerplate/index.html.legacy.d.ts.map +1 -0
  192. package/dist/src/templates/boilerplate/index.html.legacy.js +36 -0
  193. package/dist/src/templates/boilerplate/index.html.legacy.js.map +1 -0
  194. package/dist/src/templates/boilerplate/index.js +9 -0
  195. package/dist/src/templates/boilerplate/index.js.map +1 -0
  196. package/dist/src/templates/boilerplate/mcp.json.d.ts +2 -0
  197. package/dist/src/templates/boilerplate/mcp.json.d.ts.map +1 -0
  198. package/dist/src/templates/boilerplate/mcp.json.js +12 -0
  199. package/dist/src/templates/boilerplate/mcp.json.js.map +1 -0
  200. package/dist/src/templates/boilerplate/npmrc.d.ts +2 -0
  201. package/dist/src/templates/boilerplate/npmrc.d.ts.map +1 -0
  202. package/dist/src/templates/boilerplate/npmrc.js +2 -0
  203. package/dist/src/templates/boilerplate/npmrc.js.map +1 -0
  204. package/dist/src/templates/boilerplate/package.json.d.ts +2 -0
  205. package/dist/src/templates/boilerplate/package.json.d.ts.map +1 -0
  206. package/dist/src/templates/boilerplate/package.json.js +115 -0
  207. package/dist/src/templates/boilerplate/package.json.js.map +1 -0
  208. package/dist/src/templates/boilerplate/package.json.legacy.d.ts +55 -0
  209. package/dist/src/templates/boilerplate/package.json.legacy.d.ts.map +1 -0
  210. package/dist/src/templates/boilerplate/package.json.legacy.js +55 -0
  211. package/dist/src/templates/boilerplate/package.json.legacy.js.map +1 -0
  212. package/dist/src/templates/boilerplate/powerhouse.config.json.d.ts +6 -0
  213. package/dist/src/templates/boilerplate/powerhouse.config.json.d.ts.map +1 -0
  214. package/dist/src/templates/boilerplate/powerhouse.config.json.js +46 -0
  215. package/dist/src/templates/boilerplate/powerhouse.config.json.js.map +1 -0
  216. package/dist/src/templates/boilerplate/powerhouse.manifest.json.d.ts +2 -0
  217. package/dist/src/templates/boilerplate/powerhouse.manifest.json.d.ts.map +1 -0
  218. package/dist/src/templates/boilerplate/powerhouse.manifest.json.js +19 -0
  219. package/dist/src/templates/boilerplate/powerhouse.manifest.json.js.map +1 -0
  220. package/dist/src/templates/boilerplate/processors/index.d.ts +2 -0
  221. package/dist/src/templates/boilerplate/processors/index.d.ts.map +1 -0
  222. package/dist/src/templates/boilerplate/processors/index.js +2 -0
  223. package/dist/src/templates/boilerplate/processors/index.js.map +1 -0
  224. package/dist/src/templates/boilerplate/style.css.d.ts +2 -0
  225. package/dist/src/templates/boilerplate/style.css.d.ts.map +1 -0
  226. package/dist/src/templates/boilerplate/style.css.js +17 -0
  227. package/dist/src/templates/boilerplate/style.css.js.map +1 -0
  228. package/dist/src/templates/boilerplate/subgraphs/index.d.ts +2 -0
  229. package/dist/src/templates/boilerplate/subgraphs/index.d.ts.map +1 -0
  230. package/dist/src/templates/boilerplate/subgraphs/index.js +2 -0
  231. package/dist/src/templates/boilerplate/subgraphs/index.js.map +1 -0
  232. package/dist/src/templates/boilerplate/tsconfig.json.d.ts +2 -0
  233. package/dist/src/templates/boilerplate/tsconfig.json.d.ts.map +1 -0
  234. package/dist/src/templates/boilerplate/tsconfig.json.js +46 -0
  235. package/dist/src/templates/boilerplate/tsconfig.json.js.map +1 -0
  236. package/dist/src/templates/boilerplate/vite.config.ts.d.ts +2 -0
  237. package/dist/src/templates/boilerplate/vite.config.ts.d.ts.map +1 -0
  238. package/dist/src/templates/boilerplate/vite.config.ts.js +21 -0
  239. package/dist/src/templates/boilerplate/vite.config.ts.js.map +1 -0
  240. package/dist/src/templates/boilerplate/vitest.config.ts.d.ts +2 -0
  241. package/dist/src/templates/boilerplate/vitest.config.ts.d.ts.map +1 -0
  242. package/dist/src/templates/boilerplate/vitest.config.ts.js +21 -0
  243. package/dist/src/templates/boilerplate/vitest.config.ts.js.map +1 -0
  244. package/dist/src/templates/document-editor/editor.d.ts +5 -0
  245. package/dist/src/templates/document-editor/editor.d.ts.map +1 -0
  246. package/dist/src/templates/document-editor/editor.js +78 -0
  247. package/dist/src/templates/document-editor/editor.js.map +1 -0
  248. package/dist/src/templates/document-editor/module.d.ts +7 -0
  249. package/dist/src/templates/document-editor/module.d.ts.map +1 -0
  250. package/dist/src/templates/document-editor/module.js +16 -0
  251. package/dist/src/templates/document-editor/module.js.map +1 -0
  252. package/dist/src/templates/document-model/actions.d.ts +3 -0
  253. package/dist/src/templates/document-model/actions.d.ts.map +1 -0
  254. package/dist/src/templates/document-model/actions.js +28 -0
  255. package/dist/src/templates/document-model/actions.js.map +1 -0
  256. package/dist/src/templates/document-model/gen/actions.d.ts +3 -0
  257. package/dist/src/templates/document-model/gen/actions.d.ts.map +1 -0
  258. package/dist/src/templates/document-model/gen/actions.js +40 -0
  259. package/dist/src/templates/document-model/gen/actions.js.map +1 -0
  260. package/dist/src/templates/document-model/gen/creators.d.ts +3 -0
  261. package/dist/src/templates/document-model/gen/creators.d.ts.map +1 -0
  262. package/dist/src/templates/document-model/gen/creators.js +16 -0
  263. package/dist/src/templates/document-model/gen/creators.js.map +1 -0
  264. package/dist/src/templates/document-model/gen/document-schema.d.ts +3 -0
  265. package/dist/src/templates/document-model/gen/document-schema.d.ts.map +1 -0
  266. package/dist/src/templates/document-model/gen/document-schema.js +56 -0
  267. package/dist/src/templates/document-model/gen/document-schema.js.map +1 -0
  268. package/dist/src/templates/document-model/gen/document-type.d.ts +3 -0
  269. package/dist/src/templates/document-model/gen/document-type.d.ts.map +1 -0
  270. package/dist/src/templates/document-model/gen/document-type.js +5 -0
  271. package/dist/src/templates/document-model/gen/document-type.js.map +1 -0
  272. package/dist/src/templates/document-model/gen/index.d.ts +3 -0
  273. package/dist/src/templates/document-model/gen/index.d.ts.map +1 -0
  274. package/dist/src/templates/document-model/gen/index.js +29 -0
  275. package/dist/src/templates/document-model/gen/index.js.map +1 -0
  276. package/dist/src/templates/document-model/gen/modules/actions.d.ts +8 -0
  277. package/dist/src/templates/document-model/gen/modules/actions.d.ts.map +1 -0
  278. package/dist/src/templates/document-model/gen/modules/actions.js +39 -0
  279. package/dist/src/templates/document-model/gen/modules/actions.js.map +1 -0
  280. package/dist/src/templates/document-model/gen/modules/creators.d.ts +3 -0
  281. package/dist/src/templates/document-model/gen/modules/creators.d.ts.map +1 -0
  282. package/dist/src/templates/document-model/gen/modules/creators.js +97 -0
  283. package/dist/src/templates/document-model/gen/modules/creators.js.map +1 -0
  284. package/dist/src/templates/document-model/gen/modules/error.d.ts +3 -0
  285. package/dist/src/templates/document-model/gen/modules/error.d.ts.map +1 -0
  286. package/dist/src/templates/document-model/gen/modules/error.js +73 -0
  287. package/dist/src/templates/document-model/gen/modules/error.js.map +1 -0
  288. package/dist/src/templates/document-model/gen/modules/operations.d.ts +3 -0
  289. package/dist/src/templates/document-model/gen/modules/operations.d.ts.map +1 -0
  290. package/dist/src/templates/document-model/gen/modules/operations.js +61 -0
  291. package/dist/src/templates/document-model/gen/modules/operations.js.map +1 -0
  292. package/dist/src/templates/document-model/gen/ph-factories.d.ts +3 -0
  293. package/dist/src/templates/document-model/gen/ph-factories.d.ts.map +1 -0
  294. package/dist/src/templates/document-model/gen/ph-factories.js +93 -0
  295. package/dist/src/templates/document-model/gen/ph-factories.js.map +1 -0
  296. package/dist/src/templates/document-model/gen/reducer.d.ts +3 -0
  297. package/dist/src/templates/document-model/gen/reducer.d.ts.map +1 -0
  298. package/dist/src/templates/document-model/gen/reducer.js +106 -0
  299. package/dist/src/templates/document-model/gen/reducer.js.map +1 -0
  300. package/dist/src/templates/document-model/gen/schema/index.d.ts +2 -0
  301. package/dist/src/templates/document-model/gen/schema/index.d.ts.map +1 -0
  302. package/dist/src/templates/document-model/gen/schema/index.js +6 -0
  303. package/dist/src/templates/document-model/gen/schema/index.js.map +1 -0
  304. package/dist/src/templates/document-model/gen/types.d.ts +3 -0
  305. package/dist/src/templates/document-model/gen/types.d.ts.map +1 -0
  306. package/dist/src/templates/document-model/gen/types.js +38 -0
  307. package/dist/src/templates/document-model/gen/types.js.map +1 -0
  308. package/dist/src/templates/document-model/gen/utils.d.ts +3 -0
  309. package/dist/src/templates/document-model/gen/utils.d.ts.map +1 -0
  310. package/dist/src/templates/document-model/gen/utils.js +77 -0
  311. package/dist/src/templates/document-model/gen/utils.js.map +1 -0
  312. package/dist/src/templates/document-model/hooks.d.ts +3 -0
  313. package/dist/src/templates/document-model/hooks.d.ts.map +1 -0
  314. package/dist/src/templates/document-model/hooks.js +52 -0
  315. package/dist/src/templates/document-model/hooks.js.map +1 -0
  316. package/dist/src/templates/document-model/index.d.ts +2 -0
  317. package/dist/src/templates/document-model/index.d.ts.map +1 -0
  318. package/dist/src/templates/document-model/index.js +9 -0
  319. package/dist/src/templates/document-model/index.js.map +1 -0
  320. package/dist/src/templates/document-model/module.d.ts +9 -0
  321. package/dist/src/templates/document-model/module.d.ts.map +1 -0
  322. package/dist/src/templates/document-model/module.js +26 -0
  323. package/dist/src/templates/document-model/module.js.map +1 -0
  324. package/dist/src/templates/document-model/src/index.d.ts +2 -0
  325. package/dist/src/templates/document-model/src/index.d.ts.map +1 -0
  326. package/dist/src/templates/document-model/src/index.js +5 -0
  327. package/dist/src/templates/document-model/src/index.js.map +1 -0
  328. package/dist/src/templates/document-model/src/tests/document-model.test.d.ts +3 -0
  329. package/dist/src/templates/document-model/src/tests/document-model.test.d.ts.map +1 -0
  330. package/dist/src/templates/document-model/src/tests/document-model.test.js +121 -0
  331. package/dist/src/templates/document-model/src/tests/document-model.test.js.map +1 -0
  332. package/dist/src/templates/document-model/src/tests/module.test.d.ts +6 -0
  333. package/dist/src/templates/document-model/src/tests/module.test.d.ts.map +1 -0
  334. package/dist/src/templates/document-model/src/tests/module.test.js +87 -0
  335. package/dist/src/templates/document-model/src/tests/module.test.js.map +1 -0
  336. package/dist/src/templates/document-model/src/utils.d.ts +2 -0
  337. package/dist/src/templates/document-model/src/utils.d.ts.map +1 -0
  338. package/dist/src/templates/document-model/src/utils.js +5 -0
  339. package/dist/src/templates/document-model/src/utils.js.map +1 -0
  340. package/dist/src/templates/document-model/upgrades/upgrade-transition.d.ts +7 -0
  341. package/dist/src/templates/document-model/upgrades/upgrade-transition.d.ts.map +1 -0
  342. package/dist/src/templates/document-model/upgrades/upgrade-transition.js +22 -0
  343. package/dist/src/templates/document-model/upgrades/upgrade-transition.js.map +1 -0
  344. package/dist/src/templates/document-model/utils.d.ts +3 -0
  345. package/dist/src/templates/document-model/utils.d.ts.map +1 -0
  346. package/dist/src/templates/document-model/utils.js +11 -0
  347. package/dist/src/templates/document-model/utils.js.map +1 -0
  348. package/dist/src/templates/drive-editor/components/CreateDocument.d.ts +2 -0
  349. package/dist/src/templates/drive-editor/components/CreateDocument.d.ts.map +1 -0
  350. package/dist/src/templates/drive-editor/components/CreateDocument.js +58 -0
  351. package/dist/src/templates/drive-editor/components/CreateDocument.js.map +1 -0
  352. package/dist/src/templates/drive-editor/components/DriveContents.d.ts +2 -0
  353. package/dist/src/templates/drive-editor/components/DriveContents.d.ts.map +1 -0
  354. package/dist/src/templates/drive-editor/components/DriveContents.js +24 -0
  355. package/dist/src/templates/drive-editor/components/DriveContents.js.map +1 -0
  356. package/dist/src/templates/drive-editor/components/DriveExplorer.d.ts +2 -0
  357. package/dist/src/templates/drive-editor/components/DriveExplorer.d.ts.map +1 -0
  358. package/dist/src/templates/drive-editor/components/DriveExplorer.js +32 -0
  359. package/dist/src/templates/drive-editor/components/DriveExplorer.js.map +1 -0
  360. package/dist/src/templates/drive-editor/components/EmptyState.d.ts +2 -0
  361. package/dist/src/templates/drive-editor/components/EmptyState.d.ts.map +1 -0
  362. package/dist/src/templates/drive-editor/components/EmptyState.js +19 -0
  363. package/dist/src/templates/drive-editor/components/EmptyState.js.map +1 -0
  364. package/dist/src/templates/drive-editor/components/Files.d.ts +2 -0
  365. package/dist/src/templates/drive-editor/components/Files.d.ts.map +1 -0
  366. package/dist/src/templates/drive-editor/components/Files.js +30 -0
  367. package/dist/src/templates/drive-editor/components/Files.js.map +1 -0
  368. package/dist/src/templates/drive-editor/components/FolderTree.d.ts +2 -0
  369. package/dist/src/templates/drive-editor/components/FolderTree.d.ts.map +1 -0
  370. package/dist/src/templates/drive-editor/components/FolderTree.js +108 -0
  371. package/dist/src/templates/drive-editor/components/FolderTree.js.map +1 -0
  372. package/dist/src/templates/drive-editor/components/Folders.d.ts +2 -0
  373. package/dist/src/templates/drive-editor/components/Folders.d.ts.map +1 -0
  374. package/dist/src/templates/drive-editor/components/Folders.js +28 -0
  375. package/dist/src/templates/drive-editor/components/Folders.js.map +1 -0
  376. package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.d.ts +2 -0
  377. package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.d.ts.map +1 -0
  378. package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.js +14 -0
  379. package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.js.map +1 -0
  380. package/dist/src/templates/drive-editor/config.d.ts +5 -0
  381. package/dist/src/templates/drive-editor/config.d.ts.map +1 -0
  382. package/dist/src/templates/drive-editor/config.js +11 -0
  383. package/dist/src/templates/drive-editor/config.js.map +1 -0
  384. package/dist/src/templates/drive-editor/editor.d.ts +2 -0
  385. package/dist/src/templates/drive-editor/editor.d.ts.map +1 -0
  386. package/dist/src/templates/drive-editor/editor.js +18 -0
  387. package/dist/src/templates/drive-editor/editor.js.map +1 -0
  388. package/dist/src/templates/index.d.ts +65 -0
  389. package/dist/src/templates/index.d.ts.map +1 -0
  390. package/dist/src/templates/index.js +65 -0
  391. package/dist/src/templates/index.js.map +1 -0
  392. package/dist/src/utils/constants.d.ts +13 -0
  393. package/dist/src/utils/constants.d.ts.map +1 -0
  394. package/dist/src/utils/constants.js +29 -0
  395. package/dist/src/utils/constants.js.map +1 -0
  396. package/dist/src/utils/dependencies.d.ts +12 -0
  397. package/dist/src/utils/dependencies.d.ts.map +1 -0
  398. package/dist/src/utils/dependencies.js +34 -0
  399. package/dist/src/utils/dependencies.js.map +1 -0
  400. package/dist/src/utils/document-type-metadata.d.ts +15 -0
  401. package/dist/src/utils/document-type-metadata.d.ts.map +1 -0
  402. package/dist/src/utils/document-type-metadata.js +67 -0
  403. package/dist/src/utils/document-type-metadata.js.map +1 -0
  404. package/dist/src/utils/format-with-prettier.d.ts +5 -0
  405. package/dist/src/utils/format-with-prettier.d.ts.map +1 -0
  406. package/dist/src/utils/format-with-prettier.js +20 -0
  407. package/dist/src/utils/format-with-prettier.js.map +1 -0
  408. package/dist/src/utils/index.d.ts +10 -0
  409. package/dist/src/utils/index.d.ts.map +1 -1
  410. package/dist/src/utils/index.js +10 -0
  411. package/dist/src/utils/index.js.map +1 -1
  412. package/dist/src/utils/mock.d.ts +2 -3
  413. package/dist/src/utils/mock.d.ts.map +1 -1
  414. package/dist/src/utils/mock.js +4 -4
  415. package/dist/src/utils/mock.js.map +1 -1
  416. package/dist/src/utils/source-files.d.ts +18 -0
  417. package/dist/src/utils/source-files.d.ts.map +1 -0
  418. package/dist/src/utils/source-files.js +39 -0
  419. package/dist/src/utils/source-files.js.map +1 -0
  420. package/dist/src/utils/spawn-async.d.ts +5 -0
  421. package/dist/src/utils/spawn-async.d.ts.map +1 -0
  422. package/dist/src/utils/spawn-async.js +29 -0
  423. package/dist/src/utils/spawn-async.js.map +1 -0
  424. package/dist/src/utils/syntax-builders.d.ts +8 -0
  425. package/dist/src/utils/syntax-builders.d.ts.map +1 -0
  426. package/dist/src/utils/syntax-builders.js +72 -0
  427. package/dist/src/utils/syntax-builders.js.map +1 -0
  428. package/dist/src/utils/syntax-getters.d.ts +9 -0
  429. package/dist/src/utils/syntax-getters.d.ts.map +1 -0
  430. package/dist/src/utils/syntax-getters.js +20 -0
  431. package/dist/src/utils/syntax-getters.js.map +1 -0
  432. package/dist/src/utils/ts-morph-project.d.ts +15 -0
  433. package/dist/src/utils/ts-morph-project.d.ts.map +1 -0
  434. package/dist/src/utils/ts-morph-project.js +28 -0
  435. package/dist/src/utils/ts-morph-project.js.map +1 -0
  436. package/dist/src/utils/unsafe-utils.d.ts +8 -0
  437. package/dist/src/utils/unsafe-utils.d.ts.map +1 -0
  438. package/dist/src/utils/unsafe-utils.js +23 -0
  439. package/dist/src/utils/unsafe-utils.js.map +1 -0
  440. package/dist/tsconfig.tsbuildinfo +1 -1
  441. package/dist/vitest.config.d.ts.map +1 -1
  442. package/dist/vitest.config.js +4 -1
  443. package/dist/vitest.config.js.map +1 -1
  444. package/package.json +44 -16
  445. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/edit-name.esm.t +0 -78
  446. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts +0 -2
  447. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts.map +0 -1
  448. package/dist/src/codegen/__tests__/generate-schemas.test.js +0 -143
  449. package/dist/src/codegen/__tests__/generate-schemas.test.js.map +0 -1
  450. package/dist/src/ts-morph-utils.d.ts +0 -48
  451. package/dist/src/ts-morph-utils.d.ts.map +0 -1
  452. package/dist/src/ts-morph-utils.js +0 -207
  453. package/dist/src/ts-morph-utils.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  export * from "./src/codegen/index.js";
2
2
  export * from "./src/create-lib/index.js";
3
+ export type * from "./src/file-builders/types.js";
3
4
  export * from "./src/ts-morph-generator/index.js";
4
- export * from "./src/utils/index.js";
5
+ export * from "./src/utils/cli.js";
6
+ export * from "./src/utils/mock.js";
7
+ export * from "./src/utils/validation.js";
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,mBAAmB,8BAA8B,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from "./src/codegen/index.js";
2
2
  export * from "./src/create-lib/index.js";
3
3
  export * from "./src/ts-morph-generator/index.js";
4
- export * from "./src/utils/index.js";
4
+ export * from "./src/utils/cli.js";
5
+ export * from "./src/utils/mock.js";
6
+ export * from "./src/utils/validation.js";
5
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
@@ -20,7 +20,7 @@ import type {
20
20
  } from './actions.js';
21
21
 
22
22
  <% actions.filter(a => a.hasInput).forEach(action => { _%>
23
- export const <%= h.changeCase.camel(action.name) %> = (input: <%= h.changeCase.pascal(action.name) %>Input<%if(action.hasAttachment){ %>, attachments: AttachmentInput[] <% } %>) =>
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
24
  createAction<<%= h.changeCase.pascal(action.name) %>Action>(
25
25
  '<%= h.changeCase.constantCase(action.name) %>',
26
26
  {...input},
@@ -5,7 +5,7 @@ force: true
5
5
  <% if (errors.length > 0) { _%>
6
6
  export type ErrorCode =
7
7
  <% errors.forEach((error, errorIndex) => { _%>
8
- | '<%= h.changeCase.pascal(error.name) %>'<% if (errorIndex === errors.length - 1) { %>;<% } %>
8
+ | "<%= h.changeCase.pascal(error.name) %>"<% if (errorIndex === errors.length - 1) { %>;<% } %>
9
9
  <% }); _%>
10
10
 
11
11
  export interface ReducerError {
@@ -14,8 +14,8 @@ export interface ReducerError {
14
14
 
15
15
  <% errors.forEach(error => { _%>
16
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) %>') {
17
+ errorCode = "<%= h.changeCase.pascal(error.name) %>" as ErrorCode;
18
+ constructor(message = "<%= h.changeCase.pascal(error.name) %>") {
19
19
  super(message);
20
20
  }
21
21
  }
@@ -15,6 +15,9 @@ module.exports = {
15
15
  ? filteredModules[0].operations.map((a) => ({
16
16
  name: a.name,
17
17
  hasInput: a.schema !== null,
18
+ isEmptyInput:
19
+ a.schema?.includes("_empty") &&
20
+ !a.schema.replace(/_empty:\s*Boolean/, "").match(/\w+:\s*\w+/),
18
21
  hasAttachment: a.schema?.includes(": Attachment"),
19
22
  scope: a.scope || "global",
20
23
  state: a.scope === "global" ? "" : a.scope, // the state this action affects
@@ -2,13 +2,79 @@
2
2
  to: "<%= editorDir %>/editor.tsx"
3
3
  unless_exists: true
4
4
  ---
5
- import { <%= editNameComponentName %> } from "./components/EditName.js";
5
+ import { DocumentToolbar } from "@powerhousedao/design-system/connect";
6
+ import { setName } from "document-model";
7
+ import { type FormEvent, useState } from "react";
8
+ <% if(!documentType){ %>import { useSelectedDocument } from "@powerhousedao/reactor-browser";<% } else { %>import { <%= useSelectedHookName %> } from "<%= documentModelDir %>";<% } %>
6
9
 
7
- /** Implement your editor behavior here */
8
10
  export default function Editor() {
11
+ const [document, dispatch] = <%= useSelectedHookName %>();
12
+ const [isEditing, setIsEditing] = useState(false);
13
+
14
+ if (!document) return null;
15
+
16
+ const handleSubmit = (event: FormEvent<HTMLFormElement>) => {
17
+ event.preventDefault();
18
+ const form = event.currentTarget;
19
+ const nameInput = form.elements.namedItem("name") as HTMLInputElement;
20
+ const name = nameInput.value.trim();
21
+ if (!name) return;
22
+ dispatch(setName(name));
23
+ setIsEditing(false);
24
+ };
25
+
9
26
  return (
10
- <div className="py-4 px-8">
11
- <<%= editNameComponentName %> />
27
+ <div className="min-h-screen bg-gray-50">
28
+ <DocumentToolbar />
29
+ <div className="ph-default-styles">
30
+ <div className="flex justify-center px-4 py-8">
31
+ <div className="w-full max-w-md rounded-xl bg-white p-6 shadow-sm">
32
+ <div className="mb-4 text-xs font-medium uppercase tracking-wide text-gray-400">
33
+ <%= pascalCaseDocumentType %>
34
+ </div>
35
+
36
+ {isEditing ? (
37
+ <form onSubmit={handleSubmit} className="space-y-4">
38
+ <input
39
+ type="text"
40
+ name="name"
41
+ defaultValue={document.header.name}
42
+ autoFocus
43
+ className="w-full rounded-lg border border-gray-200 px-4 py-3 text-lg font-semibold text-gray-900 outline-none transition-colors focus:border-blue-500 focus:ring-2 focus:ring-blue-100"
44
+ placeholder="Enter name..."
45
+ />
46
+ <div className="flex gap-2">
47
+ <button
48
+ type="submit"
49
+ className="flex-1 rounded-lg bg-blue-600 px-4 py-2.5 text-sm font-medium text-white transition-colors hover:bg-blue-700"
50
+ >
51
+ Save
52
+ </button>
53
+ <button
54
+ type="button"
55
+ onClick={() => setIsEditing(false)}
56
+ className="flex-1 rounded-lg border border-gray-200 px-4 py-2.5 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-50"
57
+ >
58
+ Cancel
59
+ </button>
60
+ </div>
61
+ </form>
62
+ ) : (
63
+ <div className="flex items-center justify-between gap-4">
64
+ <h2 className="truncate text-xl font-semibold text-gray-900">
65
+ {document.header.name || "Untitled"}
66
+ </h2>
67
+ <button
68
+ onClick={() => setIsEditing(true)}
69
+ className="shrink-0 rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200"
70
+ >
71
+ Edit
72
+ </button>
73
+ </div>
74
+ )}
75
+ </div>
76
+ </div>
77
+ </div>
12
78
  </div>
13
79
  );
14
80
  }
@@ -54,9 +54,7 @@ module.exports = {
54
54
  const useInSelectedFolderHookName = documentType
55
55
  ? `use${phDocumentTypeName}sInSelectedFolder`
56
56
  : "useDocumentsInSelectedFolder";
57
- const editNameComponentName = documentType
58
- ? `Edit${pascalCaseDocumentType}Name`
59
- : "EditDocumentName";
57
+ const editNameComponentName = "EditName"
60
58
 
61
59
  return {
62
60
  rootDir,
@@ -0,0 +1,9 @@
1
+ ---
2
+ to: "<%= rootDir %>/index.ts"
3
+ unless_exists: 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
+
@@ -1,2 +1,3 @@
1
1
  export declare const PURGE_AFTER_TEST: boolean;
2
+ export declare const USE_TS_MORPH: boolean;
2
3
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,SAA0C,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,SAA0C,CAAC;AACxE,eAAO,MAAM,YAAY,SAAuC,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export const PURGE_AFTER_TEST = process.env.KEEP_TEST_OUTPUT !== "true";
2
+ export const USE_TS_MORPH = process.env.USE_TS_MORPH !== "false";
2
3
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM,CAAC;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,OAAO,CAAC"}
@@ -1,7 +1,10 @@
1
- import { generateSchemas, hygenGenerateDocumentModel, hygenGenerateProcessor, loadDocumentModel, } from "@powerhousedao/codegen";
2
1
  import { readFileSync, rmSync } from "node:fs";
3
2
  import path from "node:path";
4
3
  import { afterAll, beforeAll, beforeEach, describe, expect, it, } from "vitest";
4
+ import { generateDocumentModel } from "../generate.js";
5
+ import { hygenGenerateProcessor } from "../hygen.js";
6
+ import { loadDocumentModel } from "../utils.js";
7
+ import { USE_TS_MORPH } from "./config.js";
5
8
  import { DOCUMENT_MODELS_TEST_PROJECT, GENERATE_DOC_MODEL_TEST_OUTPUT_DIR, TEST_PACKAGE_NAME, } from "./constants.js";
6
9
  import { runGeneratedTests } from "./fixtures/run-generated-tests.js";
7
10
  import { compile } from "./fixtures/typecheck.js";
@@ -14,9 +17,9 @@ describe("document model", () => {
14
17
  const documentModelsSrcPath = path.join(testDir, "data", "document-models");
15
18
  let documentModelsDirName = path.join(testOutDirPath, "document-models");
16
19
  let processorsDirName = path.join(testOutDirPath, "processors");
17
- async function setupTest(context) {
20
+ async function setupTest(context, dataDir = testDataDir) {
18
21
  testOutDirPath = getTestOutDirPath(context.task.name, outDirName);
19
- await copyAllFiles(testDataDir, testOutDirPath);
22
+ await copyAllFiles(dataDir, testOutDirPath);
20
23
  documentModelsDirName = path.join(testOutDirPath, "document-models");
21
24
  processorsDirName = path.join(testOutDirPath, "processors");
22
25
  }
@@ -30,73 +33,46 @@ describe("document model", () => {
30
33
  purgeDirAfterTest(outDirName);
31
34
  });
32
35
  const generate = async () => {
33
- await generateSchemas(documentModelsSrcPath, {
36
+ const billingStatementDocumentModel = await loadDocumentModel(path.join(documentModelsSrcPath, "billing-statement", "billing-statement.json"));
37
+ await generateDocumentModel({
38
+ dir: documentModelsDirName,
39
+ specifiedPackageName: TEST_PACKAGE_NAME,
40
+ documentModelState: billingStatementDocumentModel,
41
+ useTsMorph: USE_TS_MORPH,
42
+ useVersioning: false,
34
43
  skipFormat: true,
35
- outDir: documentModelsDirName,
36
44
  });
37
- const billingStatementDocumentModel = await loadDocumentModel(path.join(documentModelsSrcPath, "billing-statement", "billing-statement.json"));
38
- await hygenGenerateDocumentModel(billingStatementDocumentModel, documentModelsDirName, TEST_PACKAGE_NAME, { skipFormat: true });
39
45
  const testDocDocumentModel = await loadDocumentModel(path.join(documentModelsSrcPath, "test-doc", "test-doc.json"));
40
- await hygenGenerateDocumentModel(testDocDocumentModel, documentModelsDirName, TEST_PACKAGE_NAME, { skipFormat: true });
46
+ await generateDocumentModel({
47
+ useTsMorph: USE_TS_MORPH,
48
+ useVersioning: false,
49
+ dir: documentModelsDirName,
50
+ specifiedPackageName: TEST_PACKAGE_NAME,
51
+ documentModelState: testDocDocumentModel,
52
+ skipFormat: true,
53
+ });
41
54
  };
42
55
  it("should generate a document model", {
43
56
  timeout: 100000,
44
- }, async () => {
57
+ }, async (context) => {
58
+ await setupTest(context);
45
59
  await generate();
46
60
  await compile(testOutDirPath);
47
61
  await runGeneratedTests(testOutDirPath);
48
62
  });
49
- it("should generate an analytics processor and factory", {
63
+ it("should generate a document model when previous document models exist", {
50
64
  timeout: 100000,
51
- }, async () => {
65
+ }, async (context) => {
66
+ const dataDirOverride = getTestDataDir(testDir, "document-models-test-project-with-existing-document-models");
67
+ await setupTest(context, dataDirOverride);
52
68
  await generate();
53
- await hygenGenerateProcessor("test-analytics-processor", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
54
- skipFormat: true,
55
- });
56
- await compile(testOutDirPath);
57
- });
58
- it("should generate multiple analytics processors with composable factories", {
59
- timeout: 100000,
60
- }, async () => {
61
- await generate();
62
- await hygenGenerateProcessor("test1", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
63
- skipFormat: true,
64
- });
65
- await hygenGenerateProcessor("test2", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
66
- skipFormat: true,
67
- });
68
- await hygenGenerateProcessor("test3", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
69
- skipFormat: true,
70
- });
71
- await compile(testOutDirPath);
72
- });
73
- it("should generate a relational db processor and factory", {
74
- timeout: 100000,
75
- }, async () => {
76
- await generate();
77
- await hygenGenerateProcessor("test-relational-processor", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
78
- skipFormat: true,
79
- });
80
- await compile(testOutDirPath);
81
- });
82
- it("should generate multiple relational db processors with composable factories", {
83
- timeout: 100000,
84
- }, async () => {
85
- await generate();
86
- await hygenGenerateProcessor("test1", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
87
- skipFormat: true,
88
- });
89
- await hygenGenerateProcessor("test2", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
90
- skipFormat: true,
91
- });
92
- await hygenGenerateProcessor("test3", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
93
- skipFormat: true,
94
- });
95
69
  await compile(testOutDirPath);
70
+ await runGeneratedTests(testOutDirPath);
96
71
  });
97
72
  it("should create the document-models.ts file if it does not exist", {
98
73
  timeout: 100000,
99
- }, async () => {
74
+ }, async (context) => {
75
+ await setupTest(context);
100
76
  const documentModelsFilePath = path.join(documentModelsDirName, "document-models.ts");
101
77
  rmSync(documentModelsFilePath, { force: true });
102
78
  await generate();
@@ -112,7 +88,8 @@ describe("document model", () => {
112
88
  });
113
89
  it("should generate multiple document models and export both in document-models.ts", {
114
90
  timeout: 100000,
115
- }, async () => {
91
+ }, async (context) => {
92
+ await setupTest(context);
116
93
  await generate();
117
94
  await compile(testOutDirPath);
118
95
  const documentModelsFilePath = path.join(documentModelsDirName, "document-models.ts");
@@ -125,14 +102,22 @@ describe("document model", () => {
125
102
  expect(documentModelsContent).toContain("TestDoc");
126
103
  expect(documentModelsContent).toContain("]");
127
104
  });
128
- it("should generate an updated version of test-doc", { timeout: 100000 }, async () => {
105
+ it("should generate an updated version of test-doc", { timeout: 100000 }, async (context) => {
106
+ await setupTest(context);
129
107
  await generate();
130
108
  await compile(testOutDirPath);
131
109
  const testDocDocumentModelV2 = await loadDocumentModel(path.join(documentModelsSrcPath, "..", "test-doc-versions", "test-doc-v2", "test-doc.json"));
132
110
  // TODO: this is a hack to get the test to pass, we should be able to update the reducer file once is generated
133
111
  // remove .out/document-model/test-doc/src/reducers/base-operations.ts file
134
112
  rmSync(path.join(documentModelsDirName, "test-doc", "src", "reducers", "base-operations.ts"), { force: true });
135
- await hygenGenerateDocumentModel(testDocDocumentModelV2, documentModelsDirName, TEST_PACKAGE_NAME, { skipFormat: true });
113
+ await generateDocumentModel({
114
+ useTsMorph: USE_TS_MORPH,
115
+ useVersioning: false,
116
+ dir: documentModelsDirName,
117
+ specifiedPackageName: TEST_PACKAGE_NAME,
118
+ documentModelState: testDocDocumentModelV2,
119
+ skipFormat: true,
120
+ });
136
121
  // expect .out/document-model/test-doc/src/reducers/base-operations.ts to contain setTestIdOperation, setTestNameOperation, setTestDescriptionOperation and setTestValueOperation
137
122
  const baseOperationsPath = path.join(documentModelsDirName, "test-doc", "src", "reducers", "base-operations.ts");
138
123
  const baseOperationsContent = readFileSync(baseOperationsPath, "utf-8");
@@ -141,7 +126,60 @@ describe("document model", () => {
141
126
  expect(baseOperationsContent).toContain("setTestDescriptionOperation");
142
127
  expect(baseOperationsContent).toContain("setTestValueOperation");
143
128
  });
144
- it("should generate error classes and types from billing statement errors", { timeout: 100000 }, async () => {
129
+ it("should generate an analytics processor and factory", {
130
+ timeout: 100000,
131
+ }, async (context) => {
132
+ await setupTest(context);
133
+ await generate();
134
+ await hygenGenerateProcessor("test-analytics-processor", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
135
+ skipFormat: true,
136
+ });
137
+ await compile(testOutDirPath);
138
+ });
139
+ it("should generate multiple analytics processors with composable factories", {
140
+ timeout: 100000,
141
+ }, async (context) => {
142
+ await setupTest(context);
143
+ await generate();
144
+ await hygenGenerateProcessor("test1", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
145
+ skipFormat: true,
146
+ });
147
+ await hygenGenerateProcessor("test2", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
148
+ skipFormat: true,
149
+ });
150
+ await hygenGenerateProcessor("test3", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
151
+ skipFormat: true,
152
+ });
153
+ await compile(testOutDirPath);
154
+ });
155
+ it("should generate a relational db processor and factory", {
156
+ timeout: 100000,
157
+ }, async (context) => {
158
+ await setupTest(context);
159
+ await generate();
160
+ await hygenGenerateProcessor("test-relational-processor", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
161
+ skipFormat: true,
162
+ });
163
+ await compile(testOutDirPath);
164
+ });
165
+ it("should generate multiple relational db processors with composable factories", {
166
+ timeout: 100000,
167
+ }, async (context) => {
168
+ await setupTest(context);
169
+ await generate();
170
+ await hygenGenerateProcessor("test1", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
171
+ skipFormat: true,
172
+ });
173
+ await hygenGenerateProcessor("test2", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
174
+ skipFormat: true,
175
+ });
176
+ await hygenGenerateProcessor("test3", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
177
+ skipFormat: true,
178
+ });
179
+ await compile(testOutDirPath);
180
+ });
181
+ it("should generate error classes and types from billing statement errors", { timeout: 100000 }, async (context) => {
182
+ await setupTest(context);
145
183
  await generate();
146
184
  await compile(testOutDirPath);
147
185
  // Check general module errors
@@ -149,58 +187,47 @@ describe("document model", () => {
149
187
  const generalErrorContent = readFileSync(generalErrorPath, "utf-8");
150
188
  // Check that InvalidStatusTransition error is generated
151
189
  expect(generalErrorContent).toContain("export type ErrorCode =");
152
- expect(generalErrorContent).toContain("'InvalidStatusTransition'");
190
+ expect(generalErrorContent).toContain(`"InvalidStatusTransition"`);
153
191
  expect(generalErrorContent).toContain("export class InvalidStatusTransition extends Error implements ReducerError");
154
- expect(generalErrorContent).toContain("errorCode = 'InvalidStatusTransition' as ErrorCode");
192
+ expect(generalErrorContent).toContain(`errorCode = "InvalidStatusTransition" as ErrorCode`);
155
193
  // Check line_items module errors
156
194
  const lineItemsErrorPath = path.join(documentModelsDirName, "billing-statement", "gen", "line-items", "error.ts");
157
195
  const lineItemsErrorContent = readFileSync(lineItemsErrorPath, "utf-8");
158
196
  // Check that both DuplicateLineItem and InvalidStatusTransition errors are generated (but deduplicated)
159
197
  expect(lineItemsErrorContent).toContain("export type ErrorCode =");
160
- expect(lineItemsErrorContent).toContain("'DuplicateLineItem'");
161
- expect(lineItemsErrorContent).toContain("'InvalidStatusTransition'");
198
+ expect(lineItemsErrorContent).toContain(`"DuplicateLineItem"`);
199
+ expect(lineItemsErrorContent).toContain(`"InvalidStatusTransition"`);
162
200
  expect(lineItemsErrorContent).toContain("export class DuplicateLineItem extends Error implements ReducerError");
163
201
  expect(lineItemsErrorContent).toContain("export class InvalidStatusTransition extends Error implements ReducerError");
164
202
  // Verify that InvalidStatusTransition only appears once in the ErrorCode type (deduplication test)
165
- const errorCodeMatches = lineItemsErrorContent.match(/'InvalidStatusTransition'/g);
203
+ const errorCodeMatches = lineItemsErrorContent.match(/"InvalidStatusTransition"/g);
166
204
  expect(errorCodeMatches?.length).toBe(3); // Once in type definition, once in each class
167
205
  });
168
- it("should automatically import error classes in reducer files when used", { timeout: 100000 }, async () => {
169
- await generate();
170
- await compile(testOutDirPath);
171
- // Check that the general module reducer imports InvalidStatusTransition
172
- const generalReducerPath = path.join(documentModelsDirName, "billing-statement", "src", "reducers", "general.ts");
173
- const generalReducerContent = readFileSync(generalReducerPath, "utf-8");
174
- // Should have import for both InvalidStatusTransition and StatusAlreadySet errors in single import
175
- expect(generalReducerContent).toContain('import { InvalidStatusTransition, StatusAlreadySet } from "../../gen/general/error.js";');
176
- // Should contain the reducer code with both error usages
177
- expect(generalReducerContent).toContain("throw new InvalidStatusTransition");
178
- expect(generalReducerContent).toContain("throw new StatusAlreadySet");
179
- // Check that the line-items module reducer imports DuplicateLineItem
180
- const lineItemsReducerPath = path.join(documentModelsDirName, "billing-statement", "src", "reducers", "line-items.ts");
181
- const lineItemsReducerContent = readFileSync(lineItemsReducerPath, "utf-8");
182
- // Should have import for DuplicateLineItem error
183
- expect(lineItemsReducerContent).toContain('import { DuplicateLineItem } from "../../gen/line-items/error.js";');
184
- // Should contain the reducer code with error usage
185
- expect(lineItemsReducerContent).toContain("throw new DuplicateLineItem");
186
- });
187
- it("should generate error codes for legacy documents with empty error codes", { timeout: 100000 }, async () => {
206
+ it("should generate error codes for legacy documents with empty error codes", { timeout: 100000 }, async (context) => {
207
+ await setupTest(context);
188
208
  await generate();
189
209
  const testEmptyCodesDocumentModel = await loadDocumentModel(path.join(documentModelsSrcPath, "test-empty-error-codes", "test-empty-error-codes.json"));
190
- await hygenGenerateDocumentModel(testEmptyCodesDocumentModel, documentModelsDirName, TEST_PACKAGE_NAME, { skipFormat: true });
210
+ await generateDocumentModel({
211
+ useTsMorph: USE_TS_MORPH,
212
+ useVersioning: false,
213
+ dir: documentModelsDirName,
214
+ specifiedPackageName: TEST_PACKAGE_NAME,
215
+ documentModelState: testEmptyCodesDocumentModel,
216
+ skipFormat: true,
217
+ });
191
218
  // Check that error codes are generated from error names
192
219
  const testOperationsErrorPath = path.join(documentModelsDirName, "test-empty-codes", "gen", "test-operations", "error.ts");
193
220
  const testOperationsErrorContent = readFileSync(testOperationsErrorPath, "utf-8");
194
221
  // Check that error codes are generated from names in PascalCase when empty
195
222
  expect(testOperationsErrorContent).toContain("export type ErrorCode =");
196
- expect(testOperationsErrorContent).toContain("'InvalidValue'");
197
- expect(testOperationsErrorContent).toContain("'EmptyValue'");
223
+ expect(testOperationsErrorContent).toContain(`"InvalidValue"`);
224
+ expect(testOperationsErrorContent).toContain(`"EmptyValue"`);
198
225
  // Check that error classes are generated
199
226
  expect(testOperationsErrorContent).toContain("export class InvalidValue extends Error implements ReducerError");
200
227
  expect(testOperationsErrorContent).toContain("export class EmptyValue extends Error implements ReducerError");
201
228
  // Verify error code constants are set properly in PascalCase
202
- expect(testOperationsErrorContent).toContain("errorCode = 'InvalidValue' as ErrorCode");
203
- expect(testOperationsErrorContent).toContain("errorCode = 'EmptyValue' as ErrorCode");
229
+ expect(testOperationsErrorContent).toContain(`errorCode = "InvalidValue" as ErrorCode`);
230
+ expect(testOperationsErrorContent).toContain(`errorCode = "EmptyValue" as ErrorCode`);
204
231
  });
205
232
  });
206
233
  //# sourceMappingURL=generate-doc-model.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-doc-model.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-doc-model.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-doc-model.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-doc-model.test.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { generateDriveEditor } from "@powerhousedao/codegen";
2
2
  import fs, { existsSync, rmSync } from "node:fs";
3
3
  import path from "node:path";
4
4
  import { afterAll, beforeAll, describe, expect, it, } from "vitest";
5
+ import { USE_TS_MORPH } from "./config.js";
5
6
  import { EDITORS_TEST_PROJECT, EDITORS_TEST_PROJECT_WITH_EXISTING_EDITOR, GENERATE_DRIVE_EDITOR_TEST_OUTPUT_DIR, } from "./constants.js";
6
7
  import { compile } from "./fixtures/typecheck.js";
7
8
  import { copyAllFiles, getTestDataDir, getTestOutDirPath, getTestOutputDir, purgeDirAfterTest, resetDirForTest, } from "./utils.js";
@@ -41,6 +42,7 @@ describe("generateDriveEditor", () => {
41
42
  config,
42
43
  appId: "AtlasDriveExplorer",
43
44
  allowedDocumentTypes: "powerhouse/test-doc",
45
+ useTsMorph: USE_TS_MORPH,
44
46
  });
45
47
  const editorsDir = path.join(testOutDirPath, "editors");
46
48
  expect(existsSync(editorsDir)).toBe(true);
@@ -67,7 +69,7 @@ describe("generateDriveEditor", () => {
67
69
  expect(existsSync(editorFilePath)).toBe(true);
68
70
  const editorContent = fs.readFileSync(editorFilePath, "utf-8");
69
71
  expect(editorContent).toContain(`export default function Editor(props: EditorProps)`);
70
- expect(editorContent).toContain(`<DriveExplorer {...props} />`);
72
+ expect(editorContent).toContain(`<DriveExplorer {...props}`);
71
73
  expect(editorContent).toContain(`useSetPHDriveEditorConfig(editorConfig)`);
72
74
  const componentsDir = path.join(editorDir, "components");
73
75
  expect(existsSync(componentsDir)).toBe(true);
@@ -109,7 +111,7 @@ describe("generateDriveEditor", () => {
109
111
  }, async (context) => {
110
112
  await setupTest(context, getTestDataDir(testDir, EDITORS_TEST_PROJECT_WITH_EXISTING_EDITOR));
111
113
  const name = "TestApp";
112
- await generateDriveEditor({ name, config }); // No appId provided
114
+ await generateDriveEditor({ name, config, useTsMorph: USE_TS_MORPH }); // No appId provided
113
115
  const editorsDir = path.join(testOutDirPath, "editors");
114
116
  const editorDir = path.join(editorsDir, "test-app");
115
117
  const moduleFilePath = path.join(editorDir, "module.ts");
@@ -127,6 +129,7 @@ describe("generateDriveEditor", () => {
127
129
  config,
128
130
  appId: "AtlasDriveExplorer",
129
131
  allowedDocumentTypes: "powerhouse/test-doc",
132
+ useTsMorph: USE_TS_MORPH,
130
133
  });
131
134
  const editorsDir = path.join(testOutDirPath, "editors");
132
135
  const editorsFilePath = path.join(editorsDir, "editors.ts");
@@ -143,7 +146,7 @@ describe("generateDriveEditor", () => {
143
146
  const editorsDir = path.join(testOutDirPath, "editors");
144
147
  const editorsFilePath = path.join(editorsDir, "editors.ts");
145
148
  rmSync(editorsFilePath, { force: true });
146
- await generateDriveEditor({ name, config });
149
+ await generateDriveEditor({ name, config, useTsMorph: USE_TS_MORPH });
147
150
  await compile(testOutDirPath);
148
151
  const editorsContent = fs.readFileSync(editorsFilePath, "utf-8");
149
152
  expect(editorsContent).toContain(`export const editors: EditorModule[]`);