@powerhousedao/codegen 4.1.0-dev.12 → 4.1.0-dev.121

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 (283) hide show
  1. package/README.md +0 -1
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js +10 -0
  7. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/resolvers.esm.t +17 -0
  8. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/schema.esm.t +16 -0
  9. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/actions.esm.t +3 -3
  10. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/creators.esm.t +3 -2
  11. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/customUtils.esm.t +1 -1
  12. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-models.esm.t +14 -0
  13. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-schema.esm.t +56 -0
  14. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-type.esm.t +6 -0
  15. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModel.esm.t +3 -3
  16. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModelTest.esm.t +110 -15
  17. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/hooks.esm.t +49 -0
  18. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +17 -3
  19. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js +128 -54
  20. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/lib.esm.t +4 -2
  21. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/module.esm.t +22 -0
  22. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +93 -0
  23. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +21 -9
  24. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/root-utils.esm.t +11 -0
  25. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootActions.esm.t +13 -0
  26. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +6 -27
  27. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/schema.esm.t +2 -2
  28. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/src-index.esm.t +5 -0
  29. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +23 -11
  30. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +44 -30
  31. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +11 -6
  32. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +15 -20
  33. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +6 -10
  34. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +67 -27
  35. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js +117 -21
  36. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t +27 -12
  37. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +5 -10
  38. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +43 -35
  39. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveContents.esm.t +23 -0
  40. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +19 -225
  41. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EmptyState.esm.t +19 -0
  42. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Files.esm.t +29 -0
  43. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +96 -73
  44. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Folders.esm.t +28 -0
  45. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/NavigationBreadcrumbs.esm.t +14 -0
  46. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/config.esm.t +11 -0
  47. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +11 -72
  48. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editors.esm.t +14 -0
  49. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +35 -0
  50. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/lib.esm.t +4 -2
  51. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/module.esm.t +15 -0
  52. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/edit-name.esm.t +78 -0
  53. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +10 -22
  54. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editors.esm.t +14 -0
  55. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +101 -15
  56. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/lib.esm.t +4 -2
  57. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/module.esm.t +16 -0
  58. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +8 -10
  59. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +5 -4
  60. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +5 -9
  61. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +11 -15
  62. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.inject.esm.t +12 -0
  63. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +8 -6
  64. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_call.esm.t +1 -1
  65. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_import.esm.t +1 -1
  66. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +6 -5
  67. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +6 -13
  68. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js +11 -15
  69. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.inject.esm.t +12 -0
  70. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +8 -9
  71. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_call.esm.t +2 -2
  72. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_import.esm.t +1 -1
  73. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/migrations.esm.t +2 -2
  74. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/schema.esm.t +10 -2
  75. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +5 -36
  76. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +9 -11
  77. package/dist/src/codegen/.hygen/templates/powerhouse/utils.js +46 -0
  78. package/dist/src/codegen/__tests__/config.d.ts +2 -0
  79. package/dist/src/codegen/__tests__/config.d.ts.map +1 -0
  80. package/dist/src/codegen/__tests__/config.js +2 -0
  81. package/dist/src/codegen/__tests__/config.js.map +1 -0
  82. package/dist/src/codegen/__tests__/constants.d.ts +16 -0
  83. package/dist/src/codegen/__tests__/constants.d.ts.map +1 -0
  84. package/dist/src/codegen/__tests__/constants.js +16 -0
  85. package/dist/src/codegen/__tests__/constants.js.map +1 -0
  86. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.d.ts +2 -0
  87. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.d.ts.map +1 -0
  88. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.js +9 -0
  89. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.js.map +1 -0
  90. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.d.ts +3 -0
  91. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.d.ts.map +1 -0
  92. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.js +33 -0
  93. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.js.map +1 -0
  94. package/dist/src/codegen/__tests__/fixtures/run-generated-tests.d.ts +2 -0
  95. package/dist/src/codegen/__tests__/fixtures/run-generated-tests.d.ts.map +1 -0
  96. package/dist/src/codegen/__tests__/fixtures/run-generated-tests.js +23 -0
  97. package/dist/src/codegen/__tests__/fixtures/run-generated-tests.js.map +1 -0
  98. package/dist/src/codegen/__tests__/fixtures/typecheck.d.ts +2 -0
  99. package/dist/src/codegen/__tests__/fixtures/typecheck.d.ts.map +1 -0
  100. package/dist/src/codegen/__tests__/fixtures/typecheck.js +23 -0
  101. package/dist/src/codegen/__tests__/fixtures/typecheck.js.map +1 -0
  102. package/dist/src/codegen/__tests__/generate-doc-model.test.d.ts +2 -0
  103. package/dist/src/codegen/__tests__/generate-doc-model.test.d.ts.map +1 -0
  104. package/dist/src/codegen/__tests__/generate-doc-model.test.js +206 -0
  105. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -0
  106. package/dist/src/codegen/__tests__/generate-drive-editor.test.d.ts +2 -0
  107. package/dist/src/codegen/__tests__/generate-drive-editor.test.d.ts.map +1 -0
  108. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +153 -0
  109. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -0
  110. package/dist/src/codegen/__tests__/generate-editor.test.d.ts +2 -0
  111. package/dist/src/codegen/__tests__/generate-editor.test.d.ts.map +1 -0
  112. package/dist/src/codegen/__tests__/generate-editor.test.js +112 -0
  113. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -0
  114. package/dist/src/codegen/__tests__/generate-manifest.test.d.ts +2 -0
  115. package/dist/src/codegen/__tests__/generate-manifest.test.d.ts.map +1 -0
  116. package/dist/src/codegen/__tests__/generate-manifest.test.js +192 -0
  117. package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -0
  118. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts +2 -0
  119. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts.map +1 -0
  120. package/dist/src/codegen/__tests__/generate-schemas.test.js +143 -0
  121. package/dist/src/codegen/__tests__/generate-schemas.test.js.map +1 -0
  122. package/dist/src/codegen/__tests__/global-setup.d.ts +2 -0
  123. package/dist/src/codegen/__tests__/global-setup.d.ts.map +1 -0
  124. package/dist/src/codegen/__tests__/global-setup.js +21 -0
  125. package/dist/src/codegen/__tests__/global-setup.js.map +1 -0
  126. package/dist/src/codegen/__tests__/ts-morph-generator.test.d.ts +2 -0
  127. package/dist/src/codegen/__tests__/ts-morph-generator.test.d.ts.map +1 -0
  128. package/dist/src/codegen/__tests__/ts-morph-generator.test.js +72 -0
  129. package/dist/src/codegen/__tests__/ts-morph-generator.test.js.map +1 -0
  130. package/dist/src/codegen/__tests__/utils.d.ts +7 -0
  131. package/dist/src/codegen/__tests__/utils.d.ts.map +1 -0
  132. package/dist/src/codegen/__tests__/utils.js +52 -0
  133. package/dist/src/codegen/__tests__/utils.js.map +1 -0
  134. package/dist/src/codegen/generate.d.ts +43 -0
  135. package/dist/src/codegen/generate.d.ts.map +1 -0
  136. package/dist/src/codegen/generate.js +217 -0
  137. package/dist/src/codegen/generate.js.map +1 -0
  138. package/dist/src/codegen/graphql.d.ts +2 -2
  139. package/dist/src/codegen/graphql.d.ts.map +1 -1
  140. package/dist/src/codegen/graphql.js.map +1 -1
  141. package/dist/src/codegen/hygen.d.ts +32 -16
  142. package/dist/src/codegen/hygen.d.ts.map +1 -1
  143. package/dist/src/codegen/hygen.js +110 -28
  144. package/dist/src/codegen/hygen.js.map +1 -1
  145. package/dist/src/codegen/index.d.ts +6 -33
  146. package/dist/src/codegen/index.d.ts.map +1 -1
  147. package/dist/src/codegen/index.js +6 -230
  148. package/dist/src/codegen/index.js.map +1 -1
  149. package/dist/src/codegen/types.d.ts +9 -0
  150. package/dist/src/codegen/types.d.ts.map +1 -0
  151. package/dist/src/codegen/types.js +2 -0
  152. package/dist/src/codegen/types.js.map +1 -0
  153. package/dist/src/codegen/utils.d.ts +5 -2
  154. package/dist/src/codegen/utils.d.ts.map +1 -1
  155. package/dist/src/codegen/utils.js +42 -4
  156. package/dist/src/codegen/utils.js.map +1 -1
  157. package/dist/src/create-lib/checkout-project.d.ts +13 -0
  158. package/dist/src/create-lib/checkout-project.d.ts.map +1 -0
  159. package/dist/src/create-lib/checkout-project.js +47 -0
  160. package/dist/src/create-lib/checkout-project.js.map +1 -0
  161. package/dist/src/create-lib/create-project.d.ts +9 -5
  162. package/dist/src/create-lib/create-project.d.ts.map +1 -1
  163. package/dist/src/create-lib/create-project.js +37 -30
  164. package/dist/src/create-lib/create-project.js.map +1 -1
  165. package/dist/src/create-lib/feature-flags.d.ts +4 -0
  166. package/dist/src/create-lib/feature-flags.d.ts.map +1 -0
  167. package/dist/src/create-lib/feature-flags.js +4 -0
  168. package/dist/src/create-lib/feature-flags.js.map +1 -0
  169. package/dist/src/create-lib/index.d.ts +1 -0
  170. package/dist/src/create-lib/index.d.ts.map +1 -1
  171. package/dist/src/create-lib/index.js +1 -0
  172. package/dist/src/create-lib/index.js.map +1 -1
  173. package/dist/src/{utils/package-manager.d.ts → create-lib/utils.d.ts} +3 -1
  174. package/dist/src/create-lib/utils.d.ts.map +1 -0
  175. package/dist/src/{utils/package-manager.js → create-lib/utils.js} +12 -1
  176. package/dist/src/create-lib/utils.js.map +1 -0
  177. package/dist/src/index.d.ts +5 -0
  178. package/dist/src/index.d.ts.map +1 -0
  179. package/dist/src/index.js +5 -0
  180. package/dist/src/index.js.map +1 -0
  181. package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.d.ts +2 -0
  182. package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.d.ts.map +1 -0
  183. package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.js +491 -0
  184. package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.js.map +1 -0
  185. package/dist/src/ts-morph-generator/core/FileGenerator.d.ts +5 -4
  186. package/dist/src/ts-morph-generator/core/FileGenerator.d.ts.map +1 -1
  187. package/dist/src/ts-morph-generator/core/FileGenerator.js +3 -1
  188. package/dist/src/ts-morph-generator/core/FileGenerator.js.map +1 -1
  189. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +19 -8
  190. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +1 -1
  191. package/dist/src/ts-morph-generator/core/ReducerGenerator.d.ts +12 -0
  192. package/dist/src/ts-morph-generator/core/ReducerGenerator.d.ts.map +1 -0
  193. package/dist/src/ts-morph-generator/core/ReducerGenerator.js +147 -0
  194. package/dist/src/ts-morph-generator/core/ReducerGenerator.js.map +1 -0
  195. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +5 -3
  196. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +1 -1
  197. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js +17 -9
  198. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js.map +1 -1
  199. package/dist/src/ts-morph-generator/index.d.ts +2 -2
  200. package/dist/src/ts-morph-generator/index.d.ts.map +1 -1
  201. package/dist/src/ts-morph-generator/index.js +2 -2
  202. package/dist/src/ts-morph-generator/index.js.map +1 -1
  203. package/dist/src/ts-morph-generator/utilities/DeclarationManager.d.ts +5 -0
  204. package/dist/src/ts-morph-generator/utilities/DeclarationManager.d.ts.map +1 -0
  205. package/dist/src/ts-morph-generator/utilities/DeclarationManager.js +10 -0
  206. package/dist/src/ts-morph-generator/utilities/DeclarationManager.js.map +1 -0
  207. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts +2 -2
  208. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts.map +1 -1
  209. package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts +2 -1
  210. package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts.map +1 -1
  211. package/dist/src/ts-morph-generator/utilities/ImportManager.js +13 -3
  212. package/dist/src/ts-morph-generator/utilities/ImportManager.js.map +1 -1
  213. package/dist/src/ts-morph-generator/utilities/index.d.ts +1 -0
  214. package/dist/src/ts-morph-generator/utilities/index.d.ts.map +1 -1
  215. package/dist/src/ts-morph-generator/utilities/index.js +1 -0
  216. package/dist/src/ts-morph-generator/utilities/index.js.map +1 -1
  217. package/dist/src/utils/index.d.ts +0 -1
  218. package/dist/src/utils/index.d.ts.map +1 -1
  219. package/dist/src/utils/index.js +0 -1
  220. package/dist/src/utils/index.js.map +1 -1
  221. package/dist/src/utils/validation.d.ts +6 -6
  222. package/dist/src/utils/validation.d.ts.map +1 -1
  223. package/dist/src/utils/validation.js +5 -6
  224. package/dist/src/utils/validation.js.map +1 -1
  225. package/dist/tsconfig.tsbuildinfo +1 -0
  226. package/dist/vitest.config.d.ts +3 -0
  227. package/dist/vitest.config.d.ts.map +1 -0
  228. package/dist/vitest.config.js +16 -0
  229. package/dist/vitest.config.js.map +1 -0
  230. package/package.json +27 -28
  231. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts +0 -25
  232. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts.map +0 -1
  233. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js.map +0 -1
  234. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/lib.inject_export.esm.t +0 -7
  235. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/object.esm.t +0 -49
  236. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts +0 -23
  237. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map +0 -1
  238. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js.map +0 -1
  239. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/object.esm.t +0 -37
  240. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.d.ts +0 -22
  241. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.d.ts.map +0 -1
  242. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js.map +0 -1
  243. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EditorContainer.esm.t +0 -124
  244. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FileItemsGrid.esm.t +0 -44
  245. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderItemsGrid.esm.t +0 -96
  246. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/hooks/useSelectedFolderChildren.esm.t +0 -35
  247. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/hooks/useTransformedNodes.esm.t +0 -35
  248. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.esm.t +0 -20
  249. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/lib.inject_export.esm.t +0 -7
  250. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/types/css.d.esm.t +0 -8
  251. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts +0 -20
  252. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts.map +0 -1
  253. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.esm.t +0 -22
  254. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js.map +0 -1
  255. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/lib.inject_export.esm.t +0 -7
  256. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts +0 -14
  257. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts.map +0 -1
  258. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js.map +0 -1
  259. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts +0 -20
  260. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts.map +0 -1
  261. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js.map +0 -1
  262. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.d.ts +0 -20
  263. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.d.ts.map +0 -1
  264. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js.map +0 -1
  265. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts +0 -16
  266. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts.map +0 -1
  267. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js.map +0 -1
  268. package/dist/src/ts-morph-generator/core/index.d.ts +0 -4
  269. package/dist/src/ts-morph-generator/core/index.d.ts.map +0 -1
  270. package/dist/src/ts-morph-generator/core/index.js +0 -4
  271. package/dist/src/ts-morph-generator/core/index.js.map +0 -1
  272. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts +0 -9
  273. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts.map +0 -1
  274. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js +0 -69
  275. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js.map +0 -1
  276. package/dist/src/ts-morph-generator/file-generators/index.d.ts +0 -2
  277. package/dist/src/ts-morph-generator/file-generators/index.d.ts.map +0 -1
  278. package/dist/src/ts-morph-generator/file-generators/index.js +0 -2
  279. package/dist/src/ts-morph-generator/file-generators/index.js.map +0 -1
  280. package/dist/src/utils/package-manager.d.ts.map +0 -1
  281. package/dist/src/utils/package-manager.js.map +0 -1
  282. package/dist/tsconfig.hygen.tsbuildinfo +0 -1
  283. package/dist/tsconfig.lib.tsbuildinfo +0 -1
@@ -0,0 +1,29 @@
1
+ ---
2
+ to: "<%= driveEditorDir %>/components/Files.tsx"
3
+ unless_exists: true
4
+ ---
5
+ import { FileItem } from "@powerhousedao/design-system/connect";
6
+ import {
7
+ useNodesInSelectedDriveOrFolder,
8
+ isFileNodeKind,
9
+ } from "@powerhousedao/reactor-browser";
10
+
11
+ /** Shows the files in the selected drive or folder */
12
+ export function Files() {
13
+ const nodes = useNodesInSelectedDriveOrFolder();
14
+ const fileNodes = nodes.filter((n) => isFileNodeKind(n));
15
+ const hasFiles = fileNodes.length > 0;
16
+
17
+ if (!hasFiles) return null;
18
+
19
+ return (
20
+ <div>
21
+ <h3 className="mb-2 text-sm font-semibold text-gray-600">Documents</h3>
22
+ <div className="flex flex-wrap gap-4">
23
+ {fileNodes.map((fileNode) => (
24
+ <FileItem key={fileNode.id} fileNode={fileNode} />
25
+ ))}
26
+ </div>
27
+ </div>
28
+ );
29
+ }
@@ -1,85 +1,108 @@
1
1
  ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/components/FolderTree.tsx"
2
+ to: "<%= driveEditorDir %>/components/FolderTree.tsx"
3
3
  unless_exists: true
4
4
  ---
5
- import { useState } from 'react';
6
- import type { UiFolderNode } from "@powerhousedao/design-system";
5
+ import {
6
+ Sidebar,
7
+ SidebarProvider,
8
+ type SidebarNode,
9
+ } from "@powerhousedao/document-engineering";
10
+ import {
11
+ setSelectedNode,
12
+ useNodesInSelectedDrive,
13
+ useSelectedDrive,
14
+ useSelectedNode,
15
+ } from "@powerhousedao/reactor-browser";
16
+ import type { Node } from "document-drive";
17
+ import { useMemo } from "react";
7
18
 
8
- interface FolderTreeProps {
9
- folders: UiFolderNode[];
10
- selectedNodeId?: string;
11
- onSelectNode: (node: UiFolderNode) => void;
12
- }
13
-
14
- export function FolderTree({ folders, selectedNodeId, onSelectNode }: FolderTreeProps) {
15
- const [expandedFolders, setExpandedFolders] = useState<Set<string>>(new Set());
16
-
17
- const toggleFolder = (folderId: string) => {
18
- setExpandedFolders(prev => {
19
- const next = new Set(prev);
20
- if (next.has(folderId)) {
21
- next.delete(folderId);
22
- } else {
23
- next.add(folderId);
19
+ function buildSidebarNodes(
20
+ nodes: Node[],
21
+ parentId: string | null | undefined,
22
+ ): SidebarNode[] {
23
+ return nodes
24
+ .filter((n) => {
25
+ if (parentId == null) {
26
+ return n.parentFolder == null;
24
27
  }
25
- return next;
28
+ return n.parentFolder === parentId;
29
+ })
30
+ .map((node): SidebarNode => {
31
+ if (node.kind === "folder") {
32
+ return {
33
+ id: node.id,
34
+ title: node.name,
35
+ icon: "FolderClose" as const,
36
+ expandedIcon: "FolderOpen" as const,
37
+ children: buildSidebarNodes(nodes, node.id),
38
+ };
39
+ }
40
+ return {
41
+ id: node.id,
42
+ title: node.name,
43
+ icon: "File" as const,
44
+ };
26
45
  });
27
- };
46
+ }
28
47
 
29
- const renderFolder = (folder: UiFolderNode, level: number = 0) => {
30
- const hasChildren = folders.some(f => f.parentFolder === folder.id);
31
- const isExpanded = expandedFolders.has(folder.id);
32
- const isSelected = selectedNodeId === folder.id;
48
+ function transformNodesToSidebarNodes(
49
+ nodes: Node[],
50
+ driveName: string,
51
+ ): SidebarNode[] {
52
+ return [
53
+ {
54
+ id: "root",
55
+ title: driveName,
56
+ icon: "Drive" as const,
57
+ children: buildSidebarNodes(nodes, null),
58
+ },
59
+ ];
60
+ }
61
+
62
+ /**
63
+ * Hierarchical folder tree navigation component using Sidebar from document-engineering.
64
+ * Displays folders and files in a tree structure with expand/collapse functionality, search, and resize support.
65
+ */
66
+ export function FolderTree() {
67
+ const [selectedDrive] = useSelectedDrive();
68
+ const nodes = useNodesInSelectedDrive();
69
+ const selectedNode = useSelectedNode();
70
+ const driveName = selectedDrive.header.name;
71
+ // Transform Node[] to hierarchical SidebarNode structure
72
+ const sidebarNodes = useMemo(
73
+ () => transformNodesToSidebarNodes(nodes || [], driveName),
74
+ [nodes, driveName],
75
+ );
33
76
 
34
- return (
35
- <div key={folder.id}>
36
- <div
37
- className={`flex items-center py-1 px-2 cursor-pointer hover:bg-gray-100 rounded ${
38
- isSelected ? 'bg-gray-100' : ''
39
- }`}
40
- style={{ paddingLeft: `${level * 16 + 8}px` }}
41
- onClick={() => onSelectNode(folder)}
42
- >
43
- {hasChildren && (
44
- <button
45
- className="w-4 h-4 mr-1 flex items-center justify-center"
46
- onClick={(e) => {
47
- e.stopPropagation();
48
- toggleFolder(folder.id);
49
- }}
50
- >
51
- {isExpanded ? '▼' : '▶'}
52
- </button>
53
- )}
54
- <span className="text-sm">{folder.name}</span>
55
- </div>
56
- {isExpanded && hasChildren && (
57
- <div>
58
- {folders
59
- .filter(f => f.parentFolder === folder.id)
60
- .map(child => renderFolder(child, level + 1))}
61
- </div>
62
- )}
63
- </div>
64
- );
77
+ const handleActiveNodeChange = (node: SidebarNode) => {
78
+ // If root node is selected, pass undefined to match existing behavior
79
+ if (node.id === "root") {
80
+ setSelectedNode(undefined);
81
+ } else {
82
+ setSelectedNode(node.id);
83
+ }
65
84
  };
85
+ // Map selectedNodeId to activeNodeId (use "root" when undefined)
86
+ const activeNodeId =
87
+ !selectedNode || selectedNode.id === selectedDrive.header.id
88
+ ? "root"
89
+ : selectedNode.id;
66
90
 
67
91
  return (
68
- <div className="space-y-1">
69
- {/* Root Directory Option */}
70
- <div
71
- className={`flex items-center py-1 px-2 cursor-pointer hover:bg-gray-100 rounded ${
72
- !selectedNodeId ? 'bg-gray-100' : ''
73
- }`}
74
- onClick={() => onSelectNode({ id: '', name: 'Root', kind: 'FOLDER' } as UiFolderNode)}
75
- >
76
- <span className="text-sm font-medium">Root</span>
77
- </div>
78
-
79
- {/* Folder Tree */}
80
- {folders
81
- .filter(folder => !folder.parentFolder)
82
- .map(folder => renderFolder(folder))}
83
- </div>
92
+ <SidebarProvider nodes={sidebarNodes}>
93
+ <Sidebar
94
+ className="pt-1"
95
+ nodes={sidebarNodes}
96
+ activeNodeId={activeNodeId}
97
+ onActiveNodeChange={handleActiveNodeChange}
98
+ sidebarTitle="Drive Explorer"
99
+ showSearchBar={true}
100
+ resizable={true}
101
+ allowPinning={false}
102
+ showStatusFilter={false}
103
+ initialWidth={256}
104
+ defaultLevel={2}
105
+ />
106
+ </SidebarProvider>
84
107
  );
85
- }
108
+ }
@@ -0,0 +1,28 @@
1
+ ---
2
+ to: "<%= driveEditorDir %>/components/Folders.tsx"
3
+ unless_exists: true
4
+ ---
5
+ import { FolderItem } from "@powerhousedao/design-system/connect";
6
+ import {
7
+ useNodesInSelectedDriveOrFolder,
8
+ isFolderNodeKind,
9
+ } from "@powerhousedao/reactor-browser";
10
+
11
+ /** Shows the folders in the selected drive or folder */
12
+ export function Folders() {
13
+ const nodes = useNodesInSelectedDriveOrFolder();
14
+ const folderNodes = nodes.filter((n) => isFolderNodeKind(n));
15
+ const hasFolders = folderNodes.length > 0;
16
+ if (!hasFolders) return null;
17
+
18
+ return (
19
+ <div>
20
+ <h3 className="mb-2 text-sm font-bold text-gray-600">Folders</h3>
21
+ <div className="flex flex-wrap gap-4">
22
+ {folderNodes.map((folderNode) => (
23
+ <FolderItem key={folderNode.id} folderNode={folderNode} />
24
+ ))}
25
+ </div>
26
+ </div>
27
+ );
28
+ }
@@ -0,0 +1,14 @@
1
+ ---
2
+ to: "<%= driveEditorDir %>/components/NavigationBreadcrumbs.tsx"
3
+ unless_exists: true
4
+ ---
5
+ import { Breadcrumbs } from "@powerhousedao/design-system/connect";
6
+
7
+ /** Shows the navigation breadcrumbs for the selected drive or folder */
8
+ export function NavigationBreadcrumbs() {
9
+ return (
10
+ <div className="border-b border-gray-200 pb-3 space-y-3">
11
+ <Breadcrumbs />
12
+ </div>
13
+ );
14
+ }
@@ -0,0 +1,11 @@
1
+ ---
2
+ to: "<%= driveEditorDir %>/config.ts"
3
+ unless_exists: true
4
+ ---
5
+ import type { PHDriveEditorConfig } from "@powerhousedao/reactor-browser";
6
+
7
+ /** Editor config for the <%= pascalCaseDriveEditorName %> */
8
+ export const editorConfig: PHDriveEditorConfig = {
9
+ isDragAndDropEnabled: <%- isDragAndDropEnabled %>,
10
+ allowedDocumentTypes: <%- allowedDocumentTypes %>
11
+ };
@@ -1,79 +1,18 @@
1
1
  ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/editor.tsx"
2
+ to: "<%= driveEditorDir %>/editor.tsx"
3
3
  unless_exists: true
4
4
  ---
5
- import { type DriveEditorProps } from "@powerhousedao/reactor-browser";
6
- import { AnalyticsProvider } from '@powerhousedao/reactor-browser/analytics/context';
7
- import { DriveContextProvider } from "@powerhousedao/reactor-browser/hooks/useDriveContext";
8
- import { type DocumentDriveDocument, addFolder, deleteNode, updateNode, generateNodesCopy, copyNode } from "document-drive";
9
- import { WagmiContext } from "@powerhousedao/design-system";
5
+ import { useSetPHDriveEditorConfig } from "@powerhousedao/reactor-browser";
6
+ import type { EditorProps } from "document-model";
10
7
  import { DriveExplorer } from "./components/DriveExplorer.js";
11
- import { useCallback } from "react";
12
- import { generateId } from "document-model";
8
+ import { editorConfig } from "./config.js";
13
9
 
14
- export type IProps = DriveEditorProps<DocumentDriveDocument>;
15
-
16
- export function BaseEditor(props: IProps) {
17
- const { dispatch, context } = props;
18
-
19
- const onAddFolder = useCallback((name: string, parentFolder?: string) => {
20
- dispatch(addFolder({
21
- id: generateId(),
22
- name,
23
- parentFolder,
24
- }));
25
- }, [dispatch]);
26
-
27
- const onDeleteNode = useCallback((nodeId: string) => {
28
- dispatch(deleteNode({ id: nodeId }));
29
- }, [dispatch]);
30
-
31
- const renameNode = useCallback((nodeId: string, name: string) => {
32
- dispatch(updateNode({ id: nodeId, name }));
33
- }, [dispatch]);
34
-
35
- const onCopyNode = useCallback((nodeId: string, targetName: string, parentId?: string) => {
36
- const copyNodesInput = generateNodesCopy({
37
- srcId: nodeId,
38
- targetParentFolder: parentId,
39
- targetName,
40
- }, () => generateId(), props.document.state.global.nodes);
41
-
42
- const copyNodesAction = copyNodesInput.map(input => {
43
- return copyNode(input);
44
- });
45
-
46
- for (const copyNodeAction of copyNodesAction) {
47
- dispatch(copyNodeAction);
48
- }
49
- }, [dispatch, props.document.state.global.nodes]);
50
-
51
- return (
52
- <div
53
- className="new-drive-explorer"
54
- style={{ height: "100%" }}
55
- >
56
- <DriveExplorer
57
- driveId={props.document.header.id}
58
- nodes={props.document.state.global.nodes}
59
- onAddFolder={onAddFolder}
60
- onDeleteNode={onDeleteNode}
61
- renameNode={renameNode}
62
- onCopyNode={onCopyNode}
63
- context={context}
64
- />
65
- </div>
66
- );
67
- }
68
-
69
- export default function Editor(props: IProps) {
10
+ /** Editor component for the <%= pascalCaseDriveEditorName %> drive editor */
11
+ export default function Editor(props: EditorProps) {
12
+ // set the config for this drive editor
13
+ // you can update these configs in `./config.ts`
14
+ useSetPHDriveEditorConfig(editorConfig);
70
15
  return (
71
- <DriveContextProvider value={props.context}>
72
- <WagmiContext>
73
- <AnalyticsProvider databaseName={props.context.analyticsDatabaseName}>
74
- <BaseEditor {...props} />
75
- </AnalyticsProvider>
76
- </WagmiContext>
77
- </DriveContextProvider>
16
+ <DriveExplorer {...props} />
78
17
  );
79
- }
18
+ }
@@ -0,0 +1,14 @@
1
+ ---
2
+ force: true
3
+ to: "<%= rootDir %>/editors.ts"
4
+ ---
5
+ import type { EditorModule } from "document-model";
6
+ <% moduleExports.forEach(me => { _%>
7
+ import { <%= me.pascalCaseName %> } from "./<%= me.paramCaseName %>/module.js";
8
+ <% }); _%>
9
+
10
+ export const editors: EditorModule[] = [
11
+ <% moduleExports.forEach(me => { _%>
12
+ <%= me.pascalCaseName %>,
13
+ <% }); _%>
14
+ ]
@@ -0,0 +1,35 @@
1
+ const { pascalCase, paramCase } = require("change-case");
2
+ const { getModuleExports } = require("../utils.js");
3
+ const path = require("path");
4
+
5
+ // @ts-check
6
+ module.exports = {
7
+ params: ({ args }) => {
8
+ const name = args.name;
9
+ const rootDir = args.rootDir;
10
+ const driveEditorDirName = args.driveEditorDirName || paramCase(args.name);
11
+ const driveEditorDir = path.join(rootDir, driveEditorDirName);
12
+ const pascalCaseDriveEditorName = pascalCase(name);
13
+ const paramCaseDriveEditorName = paramCase(name);
14
+ const moduleExports = getModuleExports(
15
+ rootDir,
16
+ /export\s+const\s+(\w+)\s*:\s*EditorModule\s*=/,
17
+ {
18
+ paramCaseName: driveEditorDirName,
19
+ pascalCaseName: pascalCaseDriveEditorName,
20
+ },
21
+ );
22
+
23
+ return {
24
+ rootDir,
25
+ driveEditorDir,
26
+ moduleExports,
27
+ name: args.name,
28
+ appId: args.appId,
29
+ isDragAndDropEnabled: args.isDragAndDropEnabled,
30
+ allowedDocumentTypes: args.allowedDocumentTypes,
31
+ pascalCaseDriveEditorName,
32
+ paramCaseDriveEditorName,
33
+ };
34
+ },
35
+ };
@@ -1,9 +1,11 @@
1
1
  ---
2
2
  to: "<%= rootDir %>/index.ts"
3
- unless_exists: true
3
+ force: true
4
4
  ---
5
5
  /**
6
6
  * This is a scaffold file meant for customization.
7
7
  * Delete the file and run the code generator again to have it reset
8
8
  */
9
-
9
+ <% moduleExports.forEach(me => { _%>
10
+ export { <%= me.pascalCaseName %> } from "./<%= me.paramCaseName %>/module.js";
11
+ <% }); _%>
@@ -0,0 +1,15 @@
1
+ ---
2
+ to: "<%= driveEditorDir %>/module.ts"
3
+ force: true
4
+ ---
5
+ import { type EditorModule } from "document-model";
6
+ import { lazy } from "react";
7
+
8
+ export const <%= pascalCaseDriveEditorName %>: EditorModule = {
9
+ Component: lazy(() => import("./editor.js")),
10
+ documentTypes: ["powerhouse/document-drive"],
11
+ config: {
12
+ id: "<%= appId || paramCaseDriveEditorName %>",
13
+ name: "<%= name %>",
14
+ },
15
+ };
@@ -0,0 +1,78 @@
1
+ ---
2
+ to: "<%= editorDir %>/components/EditName.tsx"
3
+ unless_exists: true
4
+ ---
5
+ import { setName } from "document-model";
6
+ import type { FormEventHandler, MouseEventHandler } from "react";
7
+ import { useState } from "react";
8
+ <% if(!documentType){ %>import { useSelectedDocument } from "@powerhousedao/reactor-browser";<% } else { %>import { <%= useSelectedHookName %> %>} from "<%= documentModelDir %>";<% } %>
9
+
10
+ /** Displays the name of the selected <%= pascalCaseDocumentType %> document and allows editing it */
11
+ export function <%= editNameComponentName %>() {
12
+ const [<%= documentVariableName %>, dispatch] = <%= useSelectedHookName %>();
13
+ const [isEditing, setIsEditing] = useState(false);
14
+
15
+ if (!<%= documentVariableName %>) return null;
16
+
17
+ const <%= documentVariableName %>Name = <%= documentVariableName %>.header.name;
18
+
19
+ const onClickEdit<%= pascalCaseDocumentType %>Name: MouseEventHandler<HTMLButtonElement> = () => {
20
+ setIsEditing(true);
21
+ };
22
+
23
+ const onClickCancelEdit<%= pascalCaseDocumentType %>Name: MouseEventHandler<
24
+ HTMLButtonElement
25
+ > = () => {
26
+ setIsEditing(false);
27
+ };
28
+
29
+ const onSubmitSetName: FormEventHandler<HTMLFormElement> = (event) => {
30
+ event.preventDefault();
31
+ const form = event.currentTarget;
32
+ const nameInput = form.elements.namedItem("name") as HTMLInputElement;
33
+ const name = nameInput.value;
34
+ if (!name) return;
35
+
36
+ dispatch(setName(name));
37
+ setIsEditing(false);
38
+ };
39
+
40
+ if (isEditing)
41
+ return (
42
+ <form
43
+ className="flex gap-2 items-center justify-between"
44
+ onSubmit={onSubmitSetName}
45
+ >
46
+ <input
47
+ className="text-lg font-semibold text-gray-900 p-1"
48
+ type="text"
49
+ name="name"
50
+ defaultValue={<%= documentVariableName %>Name}
51
+ autoFocus
52
+ />
53
+ <div className="flex gap-2">
54
+ <button type="submit" className="text-sm text-gray-600">
55
+ Save
56
+ </button>
57
+ <button
58
+ className="text-sm text-red-800"
59
+ onClick={onClickCancelEdit<%= pascalCaseDocumentType %>Name}
60
+ >
61
+ Cancel
62
+ </button>
63
+ </div>
64
+ </form>
65
+ );
66
+
67
+ return (
68
+ <div className="flex justify-between items-center">
69
+ <h2 className="text-lg font-semibold text-gray-900">{<%= documentVariableName %>Name}</h2>
70
+ <button
71
+ className="text-sm text-gray-600"
72
+ onClick={onClickEdit<%= pascalCaseDocumentType %>Name}
73
+ >
74
+ Edit Name
75
+ </button>
76
+ </div>
77
+ );
78
+ }
@@ -1,26 +1,14 @@
1
1
  ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/editor.tsx"
2
+ to: "<%= editorDir %>/editor.tsx"
3
3
  unless_exists: true
4
4
  ---
5
- <% if(!documentTypes.length){ %>import type { EditorProps, PHDocument } from 'document-model';<% } else { %>import type { EditorProps } from 'document-model';<% } %>
6
- <% documentTypes.forEach(type => { _%>
7
- import { type <%= documentTypesMap[type].name %>Document, actions } from "<%= documentTypesMap[type].importPath %>/index.js";
8
- %><% }); _%>
9
- import { Button } from '@powerhousedao/design-system';
5
+ import { <%= editNameComponentName %> } from "./components/EditName.js";
10
6
 
11
- export type IProps = <% if(!documentTypes.length){ %>EditorProps<PHDocument><% } else { %><% documentTypes.forEach((type, index) => { _%>EditorProps<<%= documentTypesMap[type].name %>Document%>%>><% if(index < documentTypes.length - 1){ %> | <% }%><% }); _%> <% } %>;
12
-
13
- export default function Editor(props: IProps) {
14
- return (
15
- <div>
16
- <div className="html-defaults-container">
17
- <h1>This h1 will be styled</h1>
18
- <p>This paragraph will also be styled.</p>
19
- <button>Styled Button</button>
20
- </div>
21
- <div>
22
- <h1>This h1 outside the container will NOT be styled by html-defaults.css</h1>
23
- </div>
24
- </div>
25
- );
26
- };
7
+ /** Implement your editor behavior here */
8
+ export default function Editor() {
9
+ return (
10
+ <div className="py-4 px-8">
11
+ <<%= editNameComponentName %> />
12
+ </div>
13
+ );
14
+ }
@@ -0,0 +1,14 @@
1
+ ---
2
+ force: true
3
+ to: "<%= rootDir %>/editors.ts"
4
+ ---
5
+ import type { EditorModule } from "document-model";
6
+ <% moduleExports.forEach(me => { _%>
7
+ import { <%= me.pascalCaseName %> } from "./<%= me.paramCaseName %>/module.js";
8
+ <% }); _%>
9
+
10
+ export const editors: EditorModule[] = [
11
+ <% moduleExports.forEach(me => { _%>
12
+ <%= me.pascalCaseName %>,
13
+ <% }); _%>
14
+ ]