@powerhousedao/codegen 5.0.0-staging.9 → 5.0.1-staging.3

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 (157) 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 +8 -10
  7. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/resolvers.esm.t +1 -1
  8. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/schema.esm.t +1 -1
  9. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModel.esm.t +2 -2
  10. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +0 -2
  11. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js +69 -54
  12. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +14 -17
  13. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +3 -2
  14. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +5 -4
  15. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +16 -6
  16. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +37 -51
  17. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +1 -1
  18. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +52 -39
  19. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js +21 -20
  20. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t +2 -2
  21. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +1 -7
  22. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +20 -23
  23. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +53 -201
  24. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +92 -87
  25. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/config.esm.t +10 -0
  26. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +7 -35
  27. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.esm.t +5 -9
  28. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +11 -11
  29. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +103 -18
  30. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/hooks.esm.t +16 -0
  31. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.esm.t +3 -7
  32. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +28 -16
  33. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +8 -10
  34. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +1 -1
  35. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +3 -2
  36. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +11 -15
  37. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.inject.esm.t +12 -0
  38. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +2 -2
  39. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +2 -2
  40. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +3 -4
  41. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js +11 -15
  42. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.inject.esm.t +12 -0
  43. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +1 -1
  44. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/migrations.esm.t +1 -1
  45. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +3 -3
  46. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +9 -11
  47. package/dist/src/codegen/generate.d.ts +33 -0
  48. package/dist/src/codegen/generate.d.ts.map +1 -0
  49. package/dist/src/codegen/generate.js +202 -0
  50. package/dist/src/codegen/generate.js.map +1 -0
  51. package/dist/src/codegen/graphql.d.ts +2 -2
  52. package/dist/src/codegen/graphql.d.ts.map +1 -1
  53. package/dist/src/codegen/graphql.js +1 -1
  54. package/dist/src/codegen/graphql.js.map +1 -1
  55. package/dist/src/codegen/hygen.d.ts +15 -10
  56. package/dist/src/codegen/hygen.d.ts.map +1 -1
  57. package/dist/src/codegen/hygen.js +28 -19
  58. package/dist/src/codegen/hygen.js.map +1 -1
  59. package/dist/src/codegen/index.d.ts +6 -34
  60. package/dist/src/codegen/index.d.ts.map +1 -1
  61. package/dist/src/codegen/index.js +6 -249
  62. package/dist/src/codegen/index.js.map +1 -1
  63. package/dist/src/codegen/types.d.ts +9 -0
  64. package/dist/src/codegen/types.d.ts.map +1 -0
  65. package/dist/src/codegen/types.js +2 -0
  66. package/dist/src/codegen/types.js.map +1 -0
  67. package/dist/src/codegen/utils.d.ts +5 -2
  68. package/dist/src/codegen/utils.d.ts.map +1 -1
  69. package/dist/src/codegen/utils.js +42 -4
  70. package/dist/src/codegen/utils.js.map +1 -1
  71. package/dist/src/create-lib/create-project.d.ts.map +1 -1
  72. package/dist/src/create-lib/create-project.js +17 -2
  73. package/dist/src/create-lib/create-project.js.map +1 -1
  74. package/dist/src/index.d.ts +5 -0
  75. package/dist/src/index.d.ts.map +1 -0
  76. package/dist/src/index.js +5 -0
  77. package/dist/src/index.js.map +1 -0
  78. package/dist/src/ts-morph-generator/core/FileGenerator.d.ts +2 -3
  79. package/dist/src/ts-morph-generator/core/FileGenerator.d.ts.map +1 -1
  80. package/dist/src/ts-morph-generator/core/FileGenerator.js.map +1 -1
  81. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +17 -9
  82. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +1 -1
  83. package/dist/src/ts-morph-generator/{file-generators → core}/ReducerGenerator.d.ts +2 -2
  84. package/dist/src/ts-morph-generator/core/ReducerGenerator.d.ts.map +1 -0
  85. package/dist/src/ts-morph-generator/{file-generators → core}/ReducerGenerator.js +3 -3
  86. package/dist/src/ts-morph-generator/core/ReducerGenerator.js.map +1 -0
  87. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +3 -3
  88. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +1 -1
  89. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js +2 -3
  90. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js.map +1 -1
  91. package/dist/src/ts-morph-generator/index.d.ts +2 -2
  92. package/dist/src/ts-morph-generator/index.d.ts.map +1 -1
  93. package/dist/src/ts-morph-generator/index.js +2 -2
  94. package/dist/src/ts-morph-generator/index.js.map +1 -1
  95. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts +2 -2
  96. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts.map +1 -1
  97. package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts +1 -1
  98. package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts.map +1 -1
  99. package/dist/src/utils/index.d.ts +0 -1
  100. package/dist/src/utils/index.d.ts.map +1 -1
  101. package/dist/src/utils/index.js +0 -1
  102. package/dist/src/utils/index.js.map +1 -1
  103. package/dist/src/utils/validation.d.ts +6 -6
  104. package/dist/src/utils/validation.d.ts.map +1 -1
  105. package/dist/src/utils/validation.js +2 -2
  106. package/dist/src/utils/validation.js.map +1 -1
  107. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  108. package/package.json +24 -33
  109. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.d.ts +0 -14
  110. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.d.ts.map +0 -1
  111. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js.map +0 -1
  112. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts +0 -25
  113. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts.map +0 -1
  114. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js.map +0 -1
  115. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/object.esm.t +0 -49
  116. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts +0 -27
  117. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map +0 -1
  118. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js.map +0 -1
  119. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/object.esm.t +0 -32
  120. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.d.ts +0 -22
  121. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.d.ts.map +0 -1
  122. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js.map +0 -1
  123. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EditorContainer.esm.t +0 -103
  124. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.d.ts +0 -16
  125. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.d.ts.map +0 -1
  126. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js.map +0 -1
  127. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/types/css.d.esm.t +0 -8
  128. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts +0 -22
  129. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts.map +0 -1
  130. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js.map +0 -1
  131. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts +0 -14
  132. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts.map +0 -1
  133. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js.map +0 -1
  134. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts +0 -20
  135. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts.map +0 -1
  136. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js.map +0 -1
  137. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.d.ts +0 -20
  138. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.d.ts.map +0 -1
  139. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js.map +0 -1
  140. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts +0 -16
  141. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts.map +0 -1
  142. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js.map +0 -1
  143. package/dist/src/ts-morph-generator/core/index.d.ts +0 -4
  144. package/dist/src/ts-morph-generator/core/index.d.ts.map +0 -1
  145. package/dist/src/ts-morph-generator/core/index.js +0 -4
  146. package/dist/src/ts-morph-generator/core/index.js.map +0 -1
  147. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts.map +0 -1
  148. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js.map +0 -1
  149. package/dist/src/ts-morph-generator/file-generators/index.d.ts +0 -2
  150. package/dist/src/ts-morph-generator/file-generators/index.d.ts.map +0 -1
  151. package/dist/src/ts-morph-generator/file-generators/index.js +0 -2
  152. package/dist/src/ts-morph-generator/file-generators/index.js.map +0 -1
  153. package/dist/src/utils/package-manager.d.ts +0 -5
  154. package/dist/src/utils/package-manager.d.ts.map +0 -1
  155. package/dist/src/utils/package-manager.js +0 -17
  156. package/dist/src/utils/package-manager.js.map +0 -1
  157. package/dist/tsconfig.hygen.tsbuildinfo +0 -1
@@ -2,42 +2,14 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/editor.tsx"
3
3
  unless_exists: true
4
4
  ---
5
- import { WagmiContext } from "@powerhousedao/design-system";
6
- import {
7
- AnalyticsProvider,
8
- DriveContextProvider,
9
- useAppConfig,
10
- type DriveEditorProps,
11
- } from "@powerhousedao/reactor-browser";
5
+ import { useSetPHDriveEditorConfig } from "@powerhousedao/reactor-browser";
6
+ import type { EditorProps } from "document-model";
12
7
  import { DriveExplorer } from "./components/DriveExplorer.js";
8
+ import { editorConfig } from "./config.js";
13
9
 
14
- /**
15
- * Base editor component that renders the drive explorer interface.
16
- * Customize document opening behavior and drive-level actions here.
17
- */
18
- export function BaseEditor(props: DriveEditorProps) {
19
- const { context, document } = props;
10
+ export function Editor(props: EditorProps) {
11
+ useSetPHDriveEditorConfig(editorConfig);
20
12
  return (
21
- <div className="new-drive-explorer" style={{ height: "100%" }}>
22
- <DriveExplorer document={document} context={context} />
23
- </div>
13
+ <DriveExplorer {...props} />
24
14
  );
25
- }
26
-
27
- /**
28
- * Main editor entry point with required providers.
29
- */
30
- export default function Editor(props: DriveEditorProps) {
31
- const appConfig = useAppConfig();
32
- const analyticsDatabaseName = appConfig?.analyticsDatabaseName;
33
- return (
34
- // Required context providers for drive functionality
35
- <DriveContextProvider value={props.context}>
36
- <WagmiContext>
37
- <AnalyticsProvider databaseName={analyticsDatabaseName}>
38
- <BaseEditor {...props} />
39
- </AnalyticsProvider>
40
- </WagmiContext>
41
- </DriveContextProvider>
42
- );
43
- }
15
+ }
@@ -2,18 +2,14 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
3
  force: true
4
4
  ---
5
- import { type DriveEditorModule } from "@powerhousedao/reactor-browser";
6
- import Editor from "./editor.js";
5
+ import { type EditorModule } from "document-model";
6
+ import { Editor } from "./editor.js";
7
7
 
8
- export const module: DriveEditorModule = {
8
+ export const module: EditorModule = {
9
9
  Component: Editor,
10
10
  documentTypes: ["powerhouse/document-drive"],
11
11
  config: {
12
- id: "<%= appId || 'drive-editor-id' %>",
13
- disableExternalControls: true,
14
- documentToolbarEnabled: true,
15
- showSwitchboardLink: true,
12
+ id: "<%= appId %>",
13
+ name: "<%= name %>",
16
14
  },
17
15
  };
18
-
19
- export default module;
@@ -1,12 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- params: ({ args }) => {
5
- return {
6
- rootDir: args.rootDir,
7
- name: args.name,
8
- appId: args.appId,
9
- };
10
- },
1
+ // @ts-check
2
+ module.exports = {
3
+ params: ({ args }) => {
4
+ return {
5
+ rootDir: args.rootDir,
6
+ name: args.name,
7
+ appId: args.appId,
8
+ isDragAndDropEnabled: args.isDragAndDropEnabled,
9
+ allowedDocumentTypes: args.allowedDocumentTypes,
10
+ };
11
+ },
11
12
  };
12
- //# sourceMappingURL=index.js.map
@@ -2,25 +2,110 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/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 { DocumentToolbar } from "@powerhousedao/design-system";
6
+ import {
7
+ Button,
8
+ Form,
9
+ FormLabel,
10
+ StringField,
11
+ } from "@powerhousedao/document-engineering";
12
+ import {
13
+ setSelectedNode,
14
+ useParentFolderForSelectedNode,
15
+ } from "@powerhousedao/reactor-browser";
16
+ <% if(!documentType){ %>import { useSelectedDocument } from "@powerhousedao/reactor-browser";<% } else { %>import { useSelected<%= documentType.name %>Document %>} from "../hooks/use<%= documentType.name %>Document%>.js";<% } %>
17
+ import { setName } from "document-model";<% if(documentType) { %>
18
+ import { actions } from "<%= documentType.importPath %>";<% } %>
10
19
 
11
- export type IProps = EditorProps;
20
+ export function Editor() {
21
+ const [document, dispatch] = <% if(documentType) { %>useSelected<%= documentType.name %>Document()<% } else { %>useSelectedDocument()<% } %>;
22
+
23
+ // Get the parent folder node for the currently selected node
24
+ const parentFolder = useParentFolderForSelectedNode();
12
25
 
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>
26
+ <% if(!documentType){ %>
27
+ if (!document) {
28
+ return null;
29
+ }
30
+ <% } %>
31
+ function handleSetName(values: { name: string }) {
32
+ if (values.name) {
33
+ dispatch(setName(values.name));
34
+ }
35
+ }
36
+
37
+ // Set the selected node to the parent folder node (close the editor)
38
+ function handleClose() {
39
+ setSelectedNode(parentFolder?.id);
40
+ }
41
+
42
+ return (
43
+ <div>
44
+ <DocumentToolbar document={document} onClose={handleClose} />
45
+ <div className="ph-default-styles py-10 text-center">
46
+ <div className="inline-flex flex-col gap-10 text-start">
47
+ {/* Edit document name form */}
48
+ <section className="flex justify-between">
49
+ <h1 className="text-start">{document.header.name}</h1>
50
+ <div className="flex flex-col space-y-2">
51
+ <Form
52
+ onSubmit={handleSetName}
53
+ defaultValues={{ name: document.header.name }}
54
+ className="flex flex-col gap-3 pt-2"
55
+ >
56
+ <div className="flex items-end gap-3">
57
+ <div>
58
+ <FormLabel htmlFor="name">
59
+ <b className="mb-1">Change document name</b>
60
+ </FormLabel>
61
+ <StringField
62
+ name="name"
63
+ placeholder="Enter document name"
64
+ className="mt-1"
65
+ />
66
+ </div>
67
+ <Button type="submit">Edit</Button>
68
+ </div>
69
+ </Form>
23
70
  </div>
71
+ </section>
72
+
73
+ {/* Document metadata */}
74
+ <section>
75
+ <ul className="grid grid-cols-2 gap-x-4 gap-y-1 text-gray-700">
76
+ <li>
77
+ <b className="mr-1">Id:</b>
78
+ {document.header.id}
79
+ </li>
80
+ <li>
81
+ <b className="mr-1">Created:</b>
82
+ {new Date(document.header.createdAtUtcIso).toLocaleString()}
83
+ </li>
84
+ <li>
85
+ <b className="mr-1">Type:</b>
86
+ {document.header.documentType}
87
+ </li>
88
+ <li>
89
+ <b className="mr-1">Last Modified:</b>
90
+ {new Date(
91
+ document.header.lastModifiedAtUtcIso,
92
+ ).toLocaleString()}
93
+ </li>
94
+ </ul>
95
+ </section>
96
+
97
+ {/* Document state */}
98
+ <section className="inline-block">
99
+ <h2 className="mb-4">Document state</h2>
100
+ <textarea
101
+ rows={10}
102
+ readOnly
103
+ value={JSON.stringify(document.state, null, 2)}
104
+ className="font-mono"
105
+ ></textarea>
106
+ </section>
24
107
  </div>
25
- );
26
- };
108
+ </div>
109
+ </div>
110
+ );
111
+ }
@@ -0,0 +1,16 @@
1
+ ---
2
+ to: "<%= documentType ? `${rootDir}/hooks/use${h.changeCase.pascal(documentType.name)}Document.ts` : null %>"
3
+ unless_exists: true
4
+ ---
5
+ <% if (documentType) { %>
6
+ import { useDocumentOfType, useSelectedDocumentOfType } from "@powerhousedao/reactor-browser";
7
+ import type { <%= documentType.name %>Action, <%= documentType.name %>Document } from "<%= documentType.importPath %>";
8
+
9
+ export function use<%= documentType.name %>Document(documentId: string | null | undefined) {
10
+ return useDocumentOfType<<%= documentType.name %>Document, <%= documentType.name %>Action>(documentId, "<%= documentType.type %>");
11
+ }
12
+
13
+ export function useSelected<%= documentType.name %>Document() {
14
+ return useSelectedDocumentOfType<<%= documentType.name %>Document, <%= documentType.name %>Action>("<%= documentType.type %>");
15
+ }
16
+ <% } %>
@@ -3,17 +3,13 @@ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
3
  force: true
4
4
  ---
5
5
  import type { EditorModule } from 'document-model';
6
- import Editor from './editor.js';
6
+ import { Editor } from './editor.js';
7
7
 
8
8
  export const module: EditorModule = {
9
9
  Component: Editor,
10
10
  documentTypes: [<% if(!documentTypes.length){ %>'*'<% } else { %><% documentTypes.forEach(type => { _%>"<%= type %>", %><% }); _%> <% } %>],
11
11
  config: {
12
12
  id: '<%= editorId || 'editor-id' %>',
13
- disableExternalControls: true,
14
- documentToolbarEnabled: true,
15
- showSwitchboardLink: true,
13
+ name: '<%= name || 'editor-name' %>',
16
14
  },
17
- };
18
-
19
- export default module;
15
+ };
@@ -1,17 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- params: ({ args }) => {
5
- return {
6
- rootDir: args.rootDir,
7
- documentModelsDir: args.documentModelsDir,
8
- name: args.name,
9
- documentTypes: args.documentTypes
10
- .split(",")
11
- .filter((type) => type !== ""),
12
- documentTypesMap: JSON.parse(args.documentTypesMap),
13
- editorId: args.editorId,
14
- };
15
- },
1
+ // @ts-check
2
+ module.exports = {
3
+ params: ({ args }) => {
4
+ const documentTypes = args.documentTypes
5
+ .split(",")
6
+ .map((type) => type.trim())
7
+ .filter((type) => type !== "");
8
+ const documentTypesMap = JSON.parse(args.documentTypesMap);
9
+
10
+ // if this editor is for a single document type, then the boilerplate will be customized to it
11
+ const singleDocumentType =
12
+ documentTypes.length === 1 ? documentTypes[0] : undefined;
13
+ const documentType = singleDocumentType
14
+ ? { ...documentTypesMap[singleDocumentType], type: singleDocumentType }
15
+ : undefined;
16
+
17
+ return {
18
+ rootDir: args.rootDir,
19
+ documentModelsDir: args.documentModelsDir,
20
+ name: args.name,
21
+ documentTypes: args.documentTypes
22
+ .split(",")
23
+ .filter((type) => type !== ""),
24
+ documentTypesMap,
25
+ editorId: args.editorId,
26
+ documentType,
27
+ };
28
+ },
16
29
  };
17
- //# sourceMappingURL=index.js.map
@@ -1,11 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- params: ({ args }) => {
5
- return {
6
- rootDir: args.rootDir,
7
- name: args.name,
8
- };
9
- },
1
+ // @ts-check
2
+ module.exports = {
3
+ params: ({ args }) => {
4
+ return {
5
+ rootDir: args.rootDir,
6
+ name: args.name,
7
+ };
8
+ },
10
9
  };
11
- //# sourceMappingURL=index.js.map
@@ -3,7 +3,7 @@ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/factory.ts"
3
3
  unless_exists: true
4
4
  ---
5
5
  import { type ProcessorRecord } from "document-drive";
6
- import { type IProcessorHostModule } from "document-drive/processors/types";
6
+ import { type IProcessorHostModule } from "document-drive";
7
7
  import { type PHDocumentHeader } from "document-model";
8
8
  import { <%= pascalName %>Processor } from "./index.js";
9
9
 
@@ -2,8 +2,9 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
3
  unless_exists: true
4
4
  ---
5
- import { AnalyticsPath, AnalyticsSeriesInput, IAnalyticsStore } from "@powerhousedao/reactor-api";
6
- import { type InternalTransmitterUpdate, type IProcessor } from "document-drive";
5
+ import type { AnalyticsSeriesInput, IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
6
+ import { AnalyticsPath } from "@powerhousedao/analytics-engine-core";
7
+ import type { InternalTransmitterUpdate, IProcessor } from "document-drive";
7
8
 
8
9
  export class <%= pascalName %>Processor implements IProcessor {
9
10
  private readonly NAMESPACE = "<%= pascalName %>";
@@ -1,16 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- params: ({ args }) => {
5
- return {
6
- rootDir: args.rootDir,
7
- documentModelsDir: args.documentModelsDir,
8
- name: args.name,
9
- documentTypes: args.documentTypes
10
- .split(",")
11
- .filter((type) => type !== ""),
12
- documentTypesMap: JSON.parse(args.documentTypesMap),
13
- };
14
- },
1
+ // @ts-check
2
+ module.exports = {
3
+ params: ({ args }) => {
4
+ return {
5
+ rootDir: args.rootDir,
6
+ name: args.name,
7
+ documentTypes: args.documentTypes
8
+ .split(",")
9
+ .filter((type) => type !== ""),
10
+ };
11
+ },
15
12
  };
16
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,12 @@
1
+ ---
2
+ to: "<%= rootDir %>/index.ts"
3
+ prepend: true
4
+ skip_if: 'export { processorFactory } from "./factory.js"'
5
+ inject: true
6
+ ---
7
+ /**
8
+ * Processor exports
9
+ * This file is auto-generated and updated by codegen
10
+ */
11
+
12
+ export { processorFactory } from "./factory.js";
@@ -7,8 +7,8 @@ unless_exists: true
7
7
  * Auto-generated by codegen - DO NOT EDIT MANUALLY
8
8
  */
9
9
 
10
- import { type ProcessorRecord, type ProcessorFactory } from "document-drive/processors/types";
11
- import { type IProcessorHostModule } from "document-drive/processors/types";
10
+ import { type ProcessorRecord, type ProcessorFactory } from "document-drive";
11
+ import { type IProcessorHostModule } from "document-drive";
12
12
  import { type PHDocumentHeader } from "document-model";
13
13
 
14
14
  // Import processor factories here as they are generated
@@ -5,10 +5,10 @@ unless_exists: true
5
5
  import {
6
6
  type ProcessorRecord,
7
7
  type IProcessorHostModule
8
- } from "document-drive/processors/types";
8
+ } from "document-drive";
9
9
  import {
10
10
  type RelationalDbProcessorFilter,
11
- } from "document-drive/processors/relational";
11
+ } from "document-drive";
12
12
  import { type PHDocumentHeader } from "document-model";
13
13
  import { <%= pascalName %>Processor } from "./index.js";
14
14
 
@@ -2,11 +2,10 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
3
  unless_exists: true
4
4
  ---
5
- import { type IRelationalDb } from "document-drive/processors/types";
6
- import { RelationalDbProcessor } from "document-drive/processors/relational";
7
- import { type InternalTransmitterUpdate } from "document-drive/server/listener/transmitter/internal";
5
+ import { RelationalDbProcessor } from "document-drive";
6
+ import type { InternalTransmitterUpdate } from "document-drive";
8
7
  import { up } from "./migrations.js";
9
- import { type DB } from "./schema.js";
8
+ import type { DB } from "./schema.js";
10
9
 
11
10
  export class <%= pascalName %>Processor extends RelationalDbProcessor<DB> {
12
11
  static override getNamespace(driveId: string): string {
@@ -1,16 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- params: ({ args }) => {
5
- return {
6
- rootDir: args.rootDir,
7
- documentModelsDir: args.documentModelsDir,
8
- name: args.name,
9
- documentTypes: args.documentTypes
10
- .split(",")
11
- .filter((type) => type !== ""),
12
- documentTypesMap: JSON.parse(args.documentTypesMap),
13
- };
14
- },
1
+ // @ts-check
2
+ module.exports = {
3
+ params: ({ args }) => {
4
+ return {
5
+ rootDir: args.rootDir,
6
+ name: args.name,
7
+ documentTypes: args.documentTypes
8
+ .split(",")
9
+ .filter((type) => type !== ""),
10
+ };
11
+ },
15
12
  };
16
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,12 @@
1
+ ---
2
+ to: "<%= rootDir %>/index.ts"
3
+ prepend: true
4
+ skip_if: 'export { processorFactory } from "./factory.js"'
5
+ inject: true
6
+ ---
7
+ /**
8
+ * Processor exports
9
+ * This file is auto-generated and updated by codegen
10
+ */
11
+
12
+ export { processorFactory } from "./factory.js";
@@ -7,7 +7,7 @@ unless_exists: true
7
7
  * Auto-generated by codegen - DO NOT EDIT MANUALLY
8
8
  */
9
9
 
10
- import { type ProcessorRecord, type IProcessorHostModule, type ProcessorFactory } from "document-drive/processors/types";
10
+ import { type ProcessorRecord, type IProcessorHostModule, type ProcessorFactory } from "document-drive";
11
11
  import { type PHDocumentHeader } from "document-model";
12
12
 
13
13
  // Import processor factories here as they are generated
@@ -2,7 +2,7 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/migrations.ts"
3
3
  unless_exists: true
4
4
  ---
5
- import { type IRelationalDb } from "document-drive/processors/types"
5
+ import { type IRelationalDb } from "document-drive"
6
6
 
7
7
  export async function up(db: IRelationalDb<any>): Promise<void> {
8
8
  // Create table
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
- force: true
3
+ unless_exists: true
4
4
  ---
5
- import { Subgraph } from "@powerhousedao/reactor-api";
5
+ import { BaseSubgraph } from "@powerhousedao/reactor-api";
6
6
  import type { DocumentNode } from "graphql";
7
7
  import { schema } from "./schema.js";
8
8
  import { getResolvers } from "./resolvers.js";
9
9
 
10
- export class <%= pascalName %>Subgraph extends Subgraph {
10
+ export class <%= pascalName %>Subgraph extends BaseSubgraph {
11
11
  name = "<%= h.changeCase.param(name) %>";
12
12
  typeDefs: DocumentNode = schema;
13
13
  resolvers = getResolvers(this);
@@ -1,12 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- params: ({ args }) => {
5
- return {
6
- rootDir: args.rootDir,
7
- name: args.name,
8
- loadFromFile: args.loadFromFile,
9
- };
10
- },
1
+ // @ts-check
2
+ module.exports = {
3
+ params: ({ args }) => {
4
+ return {
5
+ rootDir: args.rootDir,
6
+ name: args.name,
7
+ loadFromFile: args.loadFromFile,
8
+ };
9
+ },
11
10
  };
12
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,33 @@
1
+ import type { CodegenOptions } from "@powerhousedao/codegen";
2
+ import type { PartialPowerhouseManifest, PowerhouseConfig } from "@powerhousedao/config";
3
+ import type { DocumentModelGlobalState } from "document-model";
4
+ export declare function generate(config: PowerhouseConfig): Promise<void>;
5
+ export declare function generateFromFile(path: string, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
6
+ /**
7
+ * Generates code from a DocumentModelGlobalState object directly.
8
+ *
9
+ * @remarks
10
+ * This function performs the same code generation as generateFromFile but takes
11
+ * a DocumentModelGlobalState object directly instead of loading from a file. This allows for
12
+ * programmatic code generation without file I/O.
13
+ *
14
+ * @param documentModelDocument - The DocumentModelGlobalState object containing the document model
15
+ * @param config - The PowerhouseConfig configuration object
16
+ * @param options - Optional configuration for generation behavior (verbose logging, etc.)
17
+ * @returns A promise that resolves when code generation is complete
18
+ */
19
+ export declare function generateFromDocument(documentModelState: DocumentModelGlobalState, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
20
+ export declare function generateEditor(name: string, documentTypes: string[], config: PowerhouseConfig, editorId?: string): Promise<void>;
21
+ export declare function generateSubgraphFromDocumentModel(name: string, documentModel: DocumentModelGlobalState, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
22
+ export declare function generateSubgraph(name: string, file: string | null, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
23
+ export declare function generateProcessor(name: string, type: "analytics" | "relationalDb", documentTypes: string[], config: PowerhouseConfig): Promise<void>;
24
+ export declare function generateDriveEditor(options: {
25
+ name: string;
26
+ config: PowerhouseConfig;
27
+ appId?: string;
28
+ allowedDocumentTypes?: string;
29
+ isDragAndDropEnabled?: boolean;
30
+ }): Promise<void>;
31
+ export declare function generateImportScript(name: string, config: PowerhouseConfig): Promise<void>;
32
+ export declare function generateManifest(manifestData: PartialPowerhouseManifest, projectRoot?: string): string;
33
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/codegen/generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAc7D,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAI/D,wBAAsB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,iBAItD;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAO7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,kBAAkB,EAAE,wBAAwB,EAC5C,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAI7B;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,MAAM,iBAwBlB;AAED,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,wBAAwB,EACvC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAM7B;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAQ7B;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,GAAG,cAAc,EAClC,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,gBAAgB,iBAWzB;AACD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,iBAcA;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,iBAKzB;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,yBAAyB,EACvC,WAAW,CAAC,EAAE,MAAM,UAoFrB"}