@powerhousedao/codegen 4.1.0-dev.8 → 4.1.0-dev.80

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 (161) 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/documentModel.esm.t +2 -2
  10. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +8 -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 +93 -0
  13. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +9 -4
  14. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +6 -7
  15. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +20 -8
  16. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +19 -26
  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/customTest.esm.t +2 -2
  19. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +6 -10
  20. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +52 -27
  21. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js +21 -20
  22. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t +64 -51
  23. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +3 -3
  24. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +48 -26
  25. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +213 -218
  26. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +96 -67
  27. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +2 -73
  28. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.esm.t +8 -7
  29. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +12 -0
  30. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +87 -20
  31. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/hooks.esm.t +16 -0
  32. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.esm.t +4 -9
  33. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +28 -15
  34. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +8 -10
  35. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +5 -4
  36. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +5 -9
  37. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +13 -15
  38. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +8 -6
  39. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_call.esm.t +1 -1
  40. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_import.esm.t +1 -1
  41. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +6 -5
  42. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +7 -9
  43. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js +13 -15
  44. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +8 -9
  45. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_call.esm.t +2 -2
  46. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_import.esm.t +1 -1
  47. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/migrations.esm.t +2 -2
  48. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/schema.esm.t +10 -2
  49. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +5 -36
  50. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +9 -11
  51. package/dist/src/codegen/generate.d.ts +30 -0
  52. package/dist/src/codegen/generate.d.ts.map +1 -0
  53. package/dist/src/codegen/generate.js +199 -0
  54. package/dist/src/codegen/generate.js.map +1 -0
  55. package/dist/src/codegen/graphql.d.ts +2 -2
  56. package/dist/src/codegen/graphql.d.ts.map +1 -1
  57. package/dist/src/codegen/graphql.js +1 -1
  58. package/dist/src/codegen/graphql.js.map +1 -1
  59. package/dist/src/codegen/hygen.d.ts +15 -10
  60. package/dist/src/codegen/hygen.d.ts.map +1 -1
  61. package/dist/src/codegen/hygen.js +47 -17
  62. package/dist/src/codegen/hygen.js.map +1 -1
  63. package/dist/src/codegen/index.d.ts +6 -32
  64. package/dist/src/codegen/index.d.ts.map +1 -1
  65. package/dist/src/codegen/index.js +6 -182
  66. package/dist/src/codegen/index.js.map +1 -1
  67. package/dist/src/codegen/types.d.ts +9 -0
  68. package/dist/src/codegen/types.d.ts.map +1 -0
  69. package/dist/src/codegen/types.js +2 -0
  70. package/dist/src/codegen/types.js.map +1 -0
  71. package/dist/src/codegen/utils.d.ts +5 -2
  72. package/dist/src/codegen/utils.d.ts.map +1 -1
  73. package/dist/src/codegen/utils.js +42 -4
  74. package/dist/src/codegen/utils.js.map +1 -1
  75. package/dist/src/create-lib/create-project.d.ts.map +1 -1
  76. package/dist/src/create-lib/create-project.js +17 -2
  77. package/dist/src/create-lib/create-project.js.map +1 -1
  78. package/dist/src/index.d.ts +5 -0
  79. package/dist/src/index.d.ts.map +1 -0
  80. package/dist/src/index.js +5 -0
  81. package/dist/src/index.js.map +1 -0
  82. package/dist/src/ts-morph-generator/core/FileGenerator.d.ts +2 -3
  83. package/dist/src/ts-morph-generator/core/FileGenerator.d.ts.map +1 -1
  84. package/dist/src/ts-morph-generator/core/FileGenerator.js.map +1 -1
  85. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +18 -8
  86. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +1 -1
  87. package/dist/src/ts-morph-generator/core/ReducerGenerator.d.ts +12 -0
  88. package/dist/src/ts-morph-generator/core/ReducerGenerator.d.ts.map +1 -0
  89. package/dist/src/ts-morph-generator/core/ReducerGenerator.js +140 -0
  90. package/dist/src/ts-morph-generator/core/ReducerGenerator.js.map +1 -0
  91. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +4 -3
  92. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +1 -1
  93. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js +11 -10
  94. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js.map +1 -1
  95. package/dist/src/ts-morph-generator/index.d.ts +2 -2
  96. package/dist/src/ts-morph-generator/index.d.ts.map +1 -1
  97. package/dist/src/ts-morph-generator/index.js +2 -2
  98. package/dist/src/ts-morph-generator/index.js.map +1 -1
  99. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts +2 -2
  100. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts.map +1 -1
  101. package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts +1 -1
  102. package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts.map +1 -1
  103. package/dist/src/utils/index.d.ts +0 -1
  104. package/dist/src/utils/index.d.ts.map +1 -1
  105. package/dist/src/utils/index.js +0 -1
  106. package/dist/src/utils/index.js.map +1 -1
  107. package/dist/src/utils/validation.d.ts +6 -6
  108. package/dist/src/utils/validation.d.ts.map +1 -1
  109. package/dist/src/utils/validation.js +2 -2
  110. package/dist/src/utils/validation.js.map +1 -1
  111. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  112. package/package.json +25 -27
  113. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts +0 -25
  114. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts.map +0 -1
  115. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js.map +0 -1
  116. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/object.esm.t +0 -49
  117. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts +0 -23
  118. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map +0 -1
  119. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js.map +0 -1
  120. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/object.esm.t +0 -37
  121. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.d.ts +0 -22
  122. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.d.ts.map +0 -1
  123. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js.map +0 -1
  124. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EditorContainer.esm.t +0 -124
  125. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FileItemsGrid.esm.t +0 -44
  126. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderItemsGrid.esm.t +0 -96
  127. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/hooks/useSelectedFolderChildren.esm.t +0 -35
  128. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/hooks/useTransformedNodes.esm.t +0 -35
  129. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/types/css.d.esm.t +0 -8
  130. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts +0 -20
  131. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts.map +0 -1
  132. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js.map +0 -1
  133. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts +0 -14
  134. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts.map +0 -1
  135. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js.map +0 -1
  136. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts +0 -20
  137. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts.map +0 -1
  138. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js.map +0 -1
  139. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.d.ts +0 -20
  140. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.d.ts.map +0 -1
  141. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js.map +0 -1
  142. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts +0 -16
  143. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts.map +0 -1
  144. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js.map +0 -1
  145. package/dist/src/ts-morph-generator/core/index.d.ts +0 -4
  146. package/dist/src/ts-morph-generator/core/index.d.ts.map +0 -1
  147. package/dist/src/ts-morph-generator/core/index.js +0 -4
  148. package/dist/src/ts-morph-generator/core/index.js.map +0 -1
  149. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts +0 -9
  150. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts.map +0 -1
  151. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js +0 -69
  152. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js.map +0 -1
  153. package/dist/src/ts-morph-generator/file-generators/index.d.ts +0 -2
  154. package/dist/src/ts-morph-generator/file-generators/index.d.ts.map +0 -1
  155. package/dist/src/ts-morph-generator/file-generators/index.js +0 -2
  156. package/dist/src/ts-morph-generator/file-generators/index.js.map +0 -1
  157. package/dist/src/utils/package-manager.d.ts +0 -5
  158. package/dist/src/utils/package-manager.d.ts.map +0 -1
  159. package/dist/src/utils/package-manager.js +0 -17
  160. package/dist/src/utils/package-manager.js.map +0 -1
  161. package/dist/tsconfig.hygen.tsbuildinfo +0 -1
@@ -1,5 +1,13 @@
1
1
  ---
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/schema.ts"
3
- force: true
3
+ unless_exists: true
4
4
  ---
5
- export interface DB {}
5
+ export interface Todo {
6
+ status: boolean | null;
7
+ task: string;
8
+ }
9
+
10
+ export interface DB {
11
+ todo: Todo;
12
+ }
13
+
@@ -1,48 +1,17 @@
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";
6
- <% if (loadFromFile) { %>
5
+ import { BaseSubgraph } from "@powerhousedao/reactor-api";
6
+ import type { DocumentNode } from "graphql";
7
7
  import { schema } from "./schema.js";
8
8
  import { getResolvers } from "./resolvers.js";
9
- <% } else { %>
10
- import { gql } from "graphql-tag";
11
- <% } %>
12
9
 
13
- export class <%= pascalName %>Subgraph extends Subgraph {
10
+ export class <%= pascalName %>Subgraph extends BaseSubgraph {
14
11
  name = "<%= h.changeCase.param(name) %>";
15
- <% if (loadFromFile) { %>
16
- typeDefs = schema;
12
+ typeDefs: DocumentNode = schema;
17
13
  resolvers = getResolvers(this);
18
14
  additionalContextFields = {};
19
15
  async onSetup() {}
20
16
  async onDisconnect() {}
21
-
22
- <% } else { %>
23
-
24
- resolvers = {
25
- Query: {
26
- example: {
27
- resolve: async (parent, args, context, info) => {
28
- return "example";
29
- }
30
- }
31
- }
32
- }
33
-
34
- typeDefs = gql`
35
- type Query {
36
- example(id: ID!): String
37
- }
38
- `;
39
-
40
- additionalContextFields = {
41
- example: "test"
42
- }
43
-
44
- async onSetup() {}
45
-
46
- async onDisconnect() {}
47
- <% } %>
48
17
  }
@@ -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,30 @@
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(name: string, config: PowerhouseConfig, appId?: string, editorOptions?: {
25
+ enabled: boolean;
26
+ documentTypes: string[];
27
+ }): Promise<void>;
28
+ export declare function generateImportScript(name: string, config: PowerhouseConfig): Promise<void>;
29
+ export declare function generateManifest(manifestData: PartialPowerhouseManifest, projectRoot?: string): string;
30
+ //# 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,iBAuBzB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,aAAa,CAAC,EAAE;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,iBAWF;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"}
@@ -0,0 +1,199 @@
1
+ import { generateAll, generateSchema, generateSchemas, getDocumentTypesMap, hygenGenerateDocumentModel, hygenGenerateDriveEditor, hygenGenerateEditor, hygenGenerateImportScript, hygenGenerateProcessor, hygenGenerateSubgraph, loadDocumentModel, } from "@powerhousedao/codegen";
2
+ import { typeDefs } from "@powerhousedao/document-engineering/graphql";
3
+ import { paramCase } from "change-case";
4
+ import fs from "node:fs";
5
+ import { join } from "node:path";
6
+ export async function generate(config) {
7
+ const { skipFormat, watch } = config;
8
+ await generateSchemas(config.documentModelsDir, { skipFormat, watch });
9
+ await generateAll(config.documentModelsDir, { skipFormat, watch });
10
+ }
11
+ export async function generateFromFile(path, config, options = {}) {
12
+ // load document model spec from file
13
+ const documentModel = await loadDocumentModel(path);
14
+ // delegate to shared generation function
15
+ await generateFromDocumentModel(documentModel, config, path, options);
16
+ }
17
+ /**
18
+ * Generates code from a DocumentModelGlobalState object directly.
19
+ *
20
+ * @remarks
21
+ * This function performs the same code generation as generateFromFile but takes
22
+ * a DocumentModelGlobalState object directly instead of loading from a file. This allows for
23
+ * programmatic code generation without file I/O.
24
+ *
25
+ * @param documentModelDocument - The DocumentModelGlobalState object containing the document model
26
+ * @param config - The PowerhouseConfig configuration object
27
+ * @param options - Optional configuration for generation behavior (verbose logging, etc.)
28
+ * @returns A promise that resolves when code generation is complete
29
+ */
30
+ export async function generateFromDocument(documentModelState, config, options = {}) {
31
+ // delegate to shared generation function
32
+ await generateFromDocumentModel(documentModelState, config, null, options);
33
+ }
34
+ export async function generateEditor(name, documentTypes, config, editorId) {
35
+ const pathOrigin = "../../";
36
+ const { documentModelsDir, skipFormat } = config;
37
+ const documentTypesMap = getDocumentTypesMap(documentModelsDir, pathOrigin);
38
+ const invalidType = documentTypes.find((type) => !Object.keys(documentTypesMap).includes(type));
39
+ if (invalidType) {
40
+ throw new Error(`Document model for ${invalidType} not found. Make sure the document model is available in the document-models directory (${documentModelsDir}) and has been properly generated.`);
41
+ }
42
+ return hygenGenerateEditor(name, documentTypes, documentTypesMap, config.editorsDir, config.documentModelsDir, { skipFormat }, editorId);
43
+ }
44
+ export async function generateSubgraphFromDocumentModel(name, documentModel, config, options = {}) {
45
+ return hygenGenerateSubgraph(name, documentModel, config.subgraphsDir, {
46
+ skipFormat: config.skipFormat,
47
+ verbose: options.verbose,
48
+ });
49
+ }
50
+ export async function generateSubgraph(name, file, config, options = {}) {
51
+ return hygenGenerateSubgraph(name, file !== null ? await loadDocumentModel(file) : null, config.subgraphsDir, { skipFormat: config.skipFormat, verbose: options.verbose });
52
+ }
53
+ export async function generateProcessor(name, type, documentTypes, config) {
54
+ const { documentModelsDir, skipFormat } = config;
55
+ const documentTypesMap = getDocumentTypesMap(documentModelsDir);
56
+ const invalidType = documentTypes.find((type) => !Object.keys(documentTypesMap).includes(type));
57
+ if (invalidType) {
58
+ throw new Error(`Document model for ${invalidType} not found. Make sure the document model is available in the document-models directory (${documentModelsDir}) and has been properly generated.`);
59
+ }
60
+ return hygenGenerateProcessor(name, documentTypes, documentTypesMap, config.processorsDir, config.documentModelsDir, type, { skipFormat });
61
+ }
62
+ export async function generateDriveEditor(name, config, appId, editorOptions) {
63
+ return hygenGenerateDriveEditor(name, config.editorsDir, {
64
+ skipFormat: config.skipFormat,
65
+ }, appId, editorOptions);
66
+ }
67
+ export async function generateImportScript(name, config) {
68
+ return hygenGenerateImportScript(name, config.importScriptsDir, {
69
+ skipFormat: config.skipFormat,
70
+ });
71
+ }
72
+ export function generateManifest(manifestData, projectRoot) {
73
+ const rootDir = projectRoot || process.cwd();
74
+ const manifestPath = join(rootDir, "powerhouse.manifest.json");
75
+ // Create default manifest structure
76
+ const defaultManifest = {
77
+ name: "",
78
+ description: "",
79
+ category: "",
80
+ publisher: {
81
+ name: "",
82
+ url: "",
83
+ },
84
+ documentModels: [],
85
+ editors: [],
86
+ apps: [],
87
+ subgraphs: [],
88
+ importScripts: [],
89
+ };
90
+ // Read existing manifest if it exists
91
+ let existingManifest = defaultManifest;
92
+ if (fs.existsSync(manifestPath)) {
93
+ try {
94
+ const existingData = fs.readFileSync(manifestPath, "utf-8");
95
+ existingManifest = JSON.parse(existingData);
96
+ }
97
+ catch (error) {
98
+ console.warn(`Failed to parse existing manifest: ${String(error)}`);
99
+ existingManifest = defaultManifest;
100
+ }
101
+ }
102
+ // Helper function to merge arrays by ID
103
+ const mergeArrayById = (existingArray, newArray) => {
104
+ if (!newArray)
105
+ return existingArray;
106
+ const result = [...existingArray];
107
+ newArray.forEach((newItem) => {
108
+ const existingIndex = result.findIndex((item) => item.id === newItem.id);
109
+ if (existingIndex !== -1) {
110
+ // Replace existing item
111
+ result[existingIndex] = newItem;
112
+ }
113
+ else {
114
+ // Add new item
115
+ result.push(newItem);
116
+ }
117
+ });
118
+ return result;
119
+ };
120
+ // Merge partial data with existing manifest
121
+ const updatedManifest = {
122
+ ...existingManifest,
123
+ ...manifestData,
124
+ publisher: {
125
+ ...existingManifest.publisher,
126
+ ...(manifestData.publisher || {}),
127
+ },
128
+ documentModels: mergeArrayById(existingManifest.documentModels, manifestData.documentModels),
129
+ editors: mergeArrayById(existingManifest.editors, manifestData.editors),
130
+ apps: mergeArrayById(existingManifest.apps, manifestData.apps),
131
+ subgraphs: mergeArrayById(existingManifest.subgraphs, manifestData.subgraphs),
132
+ importScripts: mergeArrayById(existingManifest.importScripts, manifestData.importScripts),
133
+ };
134
+ // Write updated manifest to file
135
+ fs.writeFileSync(manifestPath, JSON.stringify(updatedManifest, null, 4));
136
+ return manifestPath;
137
+ }
138
+ function generateGraphqlSchema(documentModel) {
139
+ const spec = documentModel.specifications[documentModel.specifications.length - 1];
140
+ if (!spec) {
141
+ throw new Error(`No spec found for ${documentModel.id}`);
142
+ }
143
+ const { modules, state: { global, local }, } = spec;
144
+ const schemas = [
145
+ global.schema,
146
+ local.schema,
147
+ ...modules
148
+ .map((module) => [
149
+ `# ${module.name}`,
150
+ ...module.operations.map((op) => op.schema),
151
+ ])
152
+ .flat()
153
+ .filter((schema) => schema && schema.length > 0),
154
+ ];
155
+ return schemas.join("\n\n");
156
+ }
157
+ /**
158
+ * Generates code from a DocumentModelGlobalState.
159
+ *
160
+ * @remarks
161
+ * This is the core generation function that both generateFromFile and generateFromDocument
162
+ * use internally. It handles the actual code generation from a DocumentModelGlobalState object.
163
+ *
164
+ * @param documentModel - The DocumentModelGlobalState containing the document model specification
165
+ * @param config - The PowerhouseConfig configuration object
166
+ * @param filePath - Optional file path for generateSubgraph (null if not from file)
167
+ * @param options - Optional configuration for generation behavior
168
+ * @returns A promise that resolves when code generation is complete
169
+ */
170
+ async function generateFromDocumentModel(documentModel, config, filePath, options = {}) {
171
+ // Derive verbose from config.logLevel if not explicitly provided
172
+ // Show hygen logs for verbose, debug, and info levels (default behavior before ts-morph)
173
+ const { verbose = config.logLevel === "verbose" ||
174
+ config.logLevel === "debug" ||
175
+ config.logLevel === "info", force = false, } = options;
176
+ const name = paramCase(documentModel.name);
177
+ // create document model folder and spec as json
178
+ fs.mkdirSync(join(config.documentModelsDir, name), { recursive: true });
179
+ fs.writeFileSync(join(config.documentModelsDir, name, `${name}.json`), JSON.stringify(documentModel, null, 4));
180
+ // bundle graphql schemas together
181
+ const schemaStr = [
182
+ typeDefs.join("\n"), // inject ph scalars
183
+ generateGraphqlSchema(documentModel),
184
+ ].join("\n");
185
+ if (schemaStr) {
186
+ fs.writeFileSync(join(config.documentModelsDir, name, `schema.graphql`), schemaStr);
187
+ }
188
+ await generateSchema(name, config.documentModelsDir, {
189
+ skipFormat: config.skipFormat,
190
+ verbose,
191
+ });
192
+ await hygenGenerateDocumentModel(documentModel, config.documentModelsDir, {
193
+ skipFormat: config.skipFormat,
194
+ verbose,
195
+ force,
196
+ });
197
+ await generateSubgraph(name, filePath || null, config, { verbose });
198
+ }
199
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/codegen/generate.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAwB;IACrD,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACrC,MAAM,eAAe,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,MAAM,WAAW,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,MAAwB,EACxB,UAA0B,EAAE;IAE5B,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEpD,yCAAyC;IACzC,MAAM,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,kBAA4C,EAC5C,MAAwB,EACxB,UAA0B,EAAE;IAE5B,yCAAyC;IACzC,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,aAAuB,EACvB,MAAwB,EACxB,QAAiB;IAEjB,MAAM,UAAU,GAAG,QAAQ,CAAC;IAE5B,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACjD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAE5E,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxD,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,sBAAsB,WAAW,2FAA2F,iBAAiB,oCAAoC,CAClL,CAAC;IACJ,CAAC;IACD,OAAO,mBAAmB,CACxB,IAAI,EACJ,aAAa,EACb,gBAAgB,EAChB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,iBAAiB,EACxB,EAAE,UAAU,EAAE,EACd,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,IAAY,EACZ,aAAuC,EACvC,MAAwB,EACxB,UAA0B,EAAE;IAE5B,OAAO,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE;QACrE,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,IAAmB,EACnB,MAAwB,EACxB,UAA0B,EAAE;IAE5B,OAAO,qBAAqB,CAC1B,IAAI,EACJ,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACpD,MAAM,CAAC,YAAY,EACnB,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAC5D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,IAAkC,EAClC,aAAuB,EACvB,MAAwB;IAExB,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACjD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAEhE,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxD,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,sBAAsB,WAAW,2FAA2F,iBAAiB,oCAAoC,CAClL,CAAC;IACJ,CAAC;IAED,OAAO,sBAAsB,CAC3B,IAAI,EACJ,aAAa,EACb,gBAAgB,EAChB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,iBAAiB,EACxB,IAAI,EACJ,EAAE,UAAU,EAAE,CACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,MAAwB,EACxB,KAAc,EACd,aAGC;IAED,OAAO,wBAAwB,CAC7B,IAAI,EACJ,MAAM,CAAC,UAAU,EACjB;QACE,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,EACD,KAAK,EACL,aAAa,CACd,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,MAAwB;IAExB,OAAO,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAAE;QAC9D,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,YAAuC,EACvC,WAAoB;IAEpB,MAAM,OAAO,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;IAE/D,oCAAoC;IACpC,MAAM,eAAe,GAAuB;QAC1C,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE;YACT,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE;SACR;QACD,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;KAClB,CAAC;IAEF,sCAAsC;IACtC,IAAI,gBAAgB,GAAuB,eAAe,CAAC;IAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC5D,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAuB,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,sCAAsC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpE,gBAAgB,GAAG,eAAe,CAAC;QACrC,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAG,CACrB,aAAkB,EAClB,QAAc,EACT,EAAE;QACP,IAAI,CAAC,QAAQ;YAAE,OAAO,aAAa,CAAC;QAEpC,MAAM,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;QAElC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,wBAAwB;gBACxB,MAAM,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,eAAe;gBACf,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,4CAA4C;IAC5C,MAAM,eAAe,GAAuB;QAC1C,GAAG,gBAAgB;QACnB,GAAG,YAAY;QACf,SAAS,EAAE;YACT,GAAG,gBAAgB,CAAC,SAAS;YAC7B,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;SAClC;QACD,cAAc,EAAE,cAAc,CAC5B,gBAAgB,CAAC,cAAc,EAC/B,YAAY,CAAC,cAAc,CAC5B;QACD,OAAO,EAAE,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;QACvE,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;QAC9D,SAAS,EAAE,cAAc,CACvB,gBAAgB,CAAC,SAAS,EAC1B,YAAY,CAAC,SAAS,CACvB;QACD,aAAa,EAAE,cAAc,CAC3B,gBAAgB,CAAC,aAAa,EAC9B,YAAY,CAAC,aAAa,CAC3B;KACF,CAAC;IAEF,iCAAiC;IACjC,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzE,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,qBAAqB,CAAC,aAAuC;IACpE,MAAM,IAAI,GACR,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAExE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,EACJ,OAAO,EACP,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GACzB,GAAG,IAAI,CAAC;IACT,MAAM,OAAO,GAAG;QACd,MAAM,CAAC,MAAM;QACb,KAAK,CAAC,MAAM;QACZ,GAAG,OAAO;aACP,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACf,KAAK,MAAM,CAAC,IAAI,EAAE;YAClB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC;SAC5C,CAAC;aACD,IAAI,EAAE;aACN,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;KACnD,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,yBAAyB,CACtC,aAAuC,EACvC,MAAwB,EACxB,QAAwB,EACxB,UAA0B,EAAE;IAE5B,iEAAiE;IACjE,yFAAyF;IACzF,MAAM,EACJ,OAAO,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS;QACrC,MAAM,CAAC,QAAQ,KAAK,OAAO;QAC3B,MAAM,CAAC,QAAQ,KAAK,MAAM,EAC5B,KAAK,GAAG,KAAK,GACd,GAAG,OAAO,CAAC;IACZ,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE3C,gDAAgD;IAChD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,EACpD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CACvC,CAAC;IAEF,kCAAkC;IAClC,MAAM,SAAS,GAAG;QAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,oBAAoB;QACzC,qBAAqB,CAAC,aAAa,CAAC;KACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAI,SAAS,EAAE,CAAC;QACd,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,CAAC,EACtD,SAAS,CACV,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,iBAAiB,EAAE;QACnD,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO;KACR,CAAC,CAAC;IACH,MAAM,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAAC,iBAAiB,EAAE;QACxE,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO;QACP,KAAK;KACN,CAAC,CAAC;IACH,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACtE,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type CodegenConfig } from "@graphql-codegen/cli";
2
- import { type TypeScriptPluginConfig } from "@graphql-codegen/typescript";
1
+ import type { CodegenConfig } from "@graphql-codegen/cli";
2
+ import type { TypeScriptPluginConfig } from "@graphql-codegen/typescript";
3
3
  export declare const scalars: {
4
4
  Unknown: string;
5
5
  DateTime: string;
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAa1E,eAAO,MAAM,OAAO;;;;;CAMnB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;CAO7B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,sBAWtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAYpC,CAAC;AAEX,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,aAAa,CAAC,WAAW,CAAC,CAmB5B;AAED,eAAO,MAAM,cAAc,GACzB,OAAO,MAAM,EACb,OAAO,MAAM,EACb;;;;;CAA0E;cAgB9D,MAAM;aACP,MAAM;WACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA8BjC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,EACb;;;;CAA0D,iBAqB3D,CAAC"}
1
+ {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAa1E,eAAO,MAAM,OAAO;;;;;CAMnB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;CAO7B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,sBAWtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAYpC,CAAC;AAEX,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,aAAa,CAAC,WAAW,CAAC,CAmB5B;AAED,eAAO,MAAM,cAAc,GACzB,OAAO,MAAM,EACb,OAAO,MAAM,EACb;;;;;CAA0E;cAgB9D,MAAM;aACP,MAAM;WACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA8BjC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,EACb;;;;CAA0D,iBAqB3D,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { generate } from "@graphql-codegen/cli";
2
+ import { formatWithPrettierBeforeWrite } from "@powerhousedao/codegen";
2
3
  import { generatorTypeDefs, validationSchema, } from "@powerhousedao/document-engineering/graphql";
3
4
  import { readdirSync } from "node:fs";
4
- import { formatWithPrettierBeforeWrite } from "./utils.js";
5
5
  const getDirectories = (source) => readdirSync(source, { withFileTypes: true })
6
6
  .filter((dirent) => dirent.isDirectory())
7
7
  .map((dirent) => dirent.name);
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,43 @@
1
- import { type DocumentModelState } from "document-model";
2
- import { type DocumentTypesMap } from "./index.js";
1
+ import type { DocumentTypesMap } from "@powerhousedao/codegen";
2
+ import type { DocumentModelGlobalState } from "document-model";
3
3
  export declare function run(args: string[], { watch, skipFormat, verbose }?: {
4
4
  watch?: boolean | undefined;
5
5
  skipFormat?: boolean | undefined;
6
6
  verbose?: boolean | undefined;
7
7
  }): Promise<import("hygen/dist/types.js").RunnerResult>;
8
- export declare function generateAll(dir: string, { watch, skipFormat, verbose }?: {
8
+ export declare function generateAll(dir: string, { watch, skipFormat, verbose, force }?: {
9
9
  watch?: boolean | undefined;
10
10
  skipFormat?: boolean | undefined;
11
11
  verbose?: boolean | undefined;
12
+ force?: boolean | undefined;
12
13
  }): Promise<void>;
13
- export declare function generateDocumentModel(documentModelState: DocumentModelState, dir: string, { watch, skipFormat, verbose, generateReducers, }?: {
14
+ export declare function hygenGenerateDocumentModel(documentModelState: DocumentModelGlobalState, dir: string, { watch, skipFormat, verbose, generateReducers, force, }?: {
14
15
  watch?: boolean | undefined;
15
16
  skipFormat?: boolean | undefined;
16
17
  verbose?: boolean | undefined;
17
18
  generateReducers?: boolean | undefined;
19
+ force?: boolean | undefined;
18
20
  }): Promise<void>;
19
- export declare function generateEditor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, dir: string, documentModelsDir: string, { skipFormat, verbose }?: {
21
+ export declare function hygenGenerateEditor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, dir: string, documentModelsDir: string, { skipFormat, verbose }?: {
20
22
  skipFormat?: boolean | undefined;
21
23
  verbose?: boolean | undefined;
22
- }): Promise<void>;
23
- export declare function generateProcessor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, outDir: string, documentModelsDir: string, type: "analytics" | "relationalDb", { skipFormat, verbose }?: {
24
+ }, editorId?: string): Promise<void>;
25
+ export declare function hygenGenerateProcessor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, outDir: string, documentModelsDir: string, type: "analytics" | "relationalDb", { skipFormat, verbose }?: {
24
26
  skipFormat?: boolean | undefined;
25
27
  verbose?: boolean | undefined;
26
28
  }): Promise<void>;
27
- export declare function generateSubgraph(name: string, documentModel: DocumentModelState | null, dir: string, { skipFormat, verbose }?: {
29
+ export declare function hygenGenerateSubgraph(name: string, documentModel: DocumentModelGlobalState | null, dir: string, { skipFormat, verbose }?: {
28
30
  skipFormat?: boolean | undefined;
29
31
  verbose?: boolean | undefined;
30
32
  }): Promise<void>;
31
- export declare function generateImportScript(name: string, dir: string, { skipFormat, verbose }?: {
33
+ export declare function hygenGenerateImportScript(name: string, dir: string, { skipFormat, verbose }?: {
32
34
  skipFormat?: boolean | undefined;
33
35
  verbose?: boolean | undefined;
34
36
  }): Promise<void>;
35
- export declare function generateDriveEditor(name: string, dir: string, { skipFormat }?: {
37
+ export declare function hygenGenerateDriveEditor(name: string, dir: string, { skipFormat }?: {
36
38
  skipFormat?: boolean | undefined;
39
+ }, appId?: string, editorOptions?: {
40
+ enabled: boolean;
41
+ documentTypes: string[];
37
42
  }): Promise<void>;
38
43
  //# sourceMappingURL=hygen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hygen.d.ts","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOzD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AASnD,wBAAsB,GAAG,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE;;;;CAAK,uDAuC3D;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE;;;;CAAK,iBAuC3D;AAED,wBAAsB,qBAAqB,CACzC,kBAAkB,EAAE,kBAAkB,EACtC,GAAG,EAAE,MAAM,EACX,EACE,KAAa,EACb,UAAkB,EAClB,OAAc,EACd,gBAAuB,GACxB;;;;;CAAK,iBAiDP;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,MAAM,EACzB,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAoB5C;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,WAAW,GAAG,cAAc,EAClC,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAuB5C;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,kBAAkB,GAAG,IAAI,EACxC,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAoC5C;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAgB5C;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE;;CAAK,iBAO5B"}
1
+ {"version":3,"file":"hygen.d.ts","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAa/D,wBAAsB,GAAG,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE;;;;CAAK,uDAqC3D;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE,KAAY,EAAE;;;;;CAAK,iBAyCzE;AAED,wBAAsB,0BAA0B,CAC9C,kBAAkB,EAAE,wBAAwB,EAC5C,GAAG,EAAE,MAAM,EACX,EACE,KAAa,EACb,UAAkB,EAClB,OAAc,EACd,gBAAuB,EACvB,KAAY,GACb;;;;;;CAAK,iBAiDP;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,MAAM,EACzB,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,EAC3C,QAAQ,CAAC,EAAE,MAAM,iBAuBlB;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,WAAW,GAAG,cAAc,EAClC,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAuB5C;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,wBAAwB,GAAG,IAAI,EAC9C,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAgD5C;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAgB5C;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE;;CAAK,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,aAAa,CAAC,EAAE;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,iBA2BF"}
@@ -1,11 +1,10 @@
1
+ import { loadDocumentModel, TSMorphCodeGenerator, } from "@powerhousedao/codegen";
1
2
  import { pascalCase } from "change-case";
2
3
  import { Logger, runner } from "hygen";
3
4
  import fs from "node:fs";
4
5
  import { createRequire } from "node:module";
5
6
  import path from "node:path";
6
7
  import { fileURLToPath } from "node:url";
7
- import { TSMorphCodeGenerator } from "../ts-morph-generator/core/TSMorphCodeGenerator.js";
8
- import { loadDocumentModel } from "./utils.js";
9
8
  const require = createRequire(import.meta.url);
10
9
  const __dirname = import.meta.dirname || path.dirname(fileURLToPath(import.meta.url));
11
10
  const defaultTemplates = path.join(__dirname, ".hygen", "templates");
@@ -18,12 +17,10 @@ export async function run(args, { watch = false, skipFormat = false, verbose = t
18
17
  cwd: process.cwd(),
19
18
  logger,
20
19
  createPrompter: () => {
21
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
22
20
  return require("enquirer");
23
21
  },
24
22
  exec: (action, body) => {
25
23
  const opts = body && body.length > 0 ? { input: body } : {};
26
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
27
24
  return require("execa").shell(action, opts);
28
25
  },
29
26
  debug: !!process.env.DEBUG,
@@ -34,7 +31,7 @@ export async function run(args, { watch = false, skipFormat = false, verbose = t
34
31
  actions
35
32
  .filter((action) => ["added", "inject"].includes(action.status))
36
33
  .forEach((action) => {
37
- execa.$ `prettier --ignore-path --write ${action.subject.replace(".", process.cwd())}`.catch((err) => {
34
+ execa.$ `npx prettier --ignore-path --write ${action.subject.replace(".", process.cwd())}`.catch((err) => {
38
35
  if (verbose) {
39
36
  console.log(err);
40
37
  }
@@ -43,7 +40,7 @@ export async function run(args, { watch = false, skipFormat = false, verbose = t
43
40
  }
44
41
  return result;
45
42
  }
46
- export async function generateAll(dir, { watch = false, skipFormat = false, verbose = true } = {}) {
43
+ export async function generateAll(dir, { watch = false, skipFormat = false, verbose = true, force = true } = {}) {
47
44
  const files = fs.readdirSync(dir, { withFileTypes: true });
48
45
  const documentModelStates = [];
49
46
  for (const directory of files.filter((f) => f.isDirectory())) {
@@ -54,11 +51,12 @@ export async function generateAll(dir, { watch = false, skipFormat = false, verb
54
51
  try {
55
52
  const documentModel = await loadDocumentModel(documentModelPath);
56
53
  documentModelStates.push(documentModel);
57
- await generateDocumentModel(documentModel, dir, {
54
+ await hygenGenerateDocumentModel(documentModel, dir, {
58
55
  watch,
59
56
  skipFormat,
60
57
  verbose,
61
58
  generateReducers: false,
59
+ force,
62
60
  });
63
61
  }
64
62
  catch (error) {
@@ -71,10 +69,11 @@ export async function generateAll(dir, { watch = false, skipFormat = false, verb
71
69
  const documentModelDir = path.basename(dir);
72
70
  const generator = new TSMorphCodeGenerator(projectDir, documentModelStates, {
73
71
  directories: { documentModelDir },
72
+ forceUpdate: force,
74
73
  });
75
74
  await generator.generateReducers();
76
75
  }
77
- export async function generateDocumentModel(documentModelState, dir, { watch = false, skipFormat = false, verbose = true, generateReducers = true, } = {}) {
76
+ export async function hygenGenerateDocumentModel(documentModelState, dir, { watch = false, skipFormat = false, verbose = true, generateReducers = true, force = true, } = {}) {
78
77
  const projectDir = path.dirname(dir);
79
78
  const documentModelDir = path.basename(dir);
80
79
  // Generate the singular files for the document model logic
@@ -101,13 +100,13 @@ export async function generateDocumentModel(documentModelState, dir, { watch = f
101
100
  ], { watch, skipFormat, verbose });
102
101
  }
103
102
  if (generateReducers) {
104
- const generator = new TSMorphCodeGenerator(projectDir, [documentModelState], { directories: { documentModelDir } });
103
+ const generator = new TSMorphCodeGenerator(projectDir, [documentModelState], { directories: { documentModelDir }, forceUpdate: force });
105
104
  await generator.generateReducers();
106
105
  }
107
106
  }
108
- export async function generateEditor(name, documentTypes, documentTypesMap, dir, documentModelsDir, { skipFormat = false, verbose = true } = {}) {
107
+ export async function hygenGenerateEditor(name, documentTypes, documentTypesMap, dir, documentModelsDir, { skipFormat = false, verbose = true } = {}, editorId) {
109
108
  // Generate the singular files for the document model logic
110
- await run([
109
+ const args = [
111
110
  "powerhouse",
112
111
  "generate-editor",
113
112
  "--name",
@@ -120,9 +119,13 @@ export async function generateEditor(name, documentTypes, documentTypesMap, dir,
120
119
  JSON.stringify(documentTypesMap),
121
120
  "--document-models-dir",
122
121
  documentModelsDir,
123
- ], { skipFormat, verbose });
122
+ ];
123
+ if (editorId) {
124
+ args.push("--editor-id", editorId);
125
+ }
126
+ await run(args, { skipFormat, verbose });
124
127
  }
125
- export async function generateProcessor(name, documentTypes, documentTypesMap, outDir, documentModelsDir, type, { skipFormat = false, verbose = true } = {}) {
128
+ export async function hygenGenerateProcessor(name, documentTypes, documentTypesMap, outDir, documentModelsDir, type, { skipFormat = false, verbose = true } = {}) {
126
129
  // Generate the singular files for the document model logic
127
130
  const processorType = type === "relationalDb" ? "relationalDb" : "analytics";
128
131
  await run([
@@ -142,7 +145,7 @@ export async function generateProcessor(name, documentTypes, documentTypesMap, o
142
145
  documentModelsDir,
143
146
  ], { skipFormat, verbose });
144
147
  }
145
- export async function generateSubgraph(name, documentModel, dir, { skipFormat = false, verbose = true } = {}) {
148
+ export async function hygenGenerateSubgraph(name, documentModel, dir, { skipFormat = false, verbose = true } = {}) {
146
149
  const params = [
147
150
  "powerhouse",
148
151
  `generate-subgraph`,
@@ -171,8 +174,18 @@ export async function generateSubgraph(name, documentModel, dir, { skipFormat =
171
174
  dir,
172
175
  ], { skipFormat, verbose });
173
176
  }
177
+ else {
178
+ await run([
179
+ "powerhouse",
180
+ "generate-custom-subgraph",
181
+ "--subgraph",
182
+ name,
183
+ "--root-dir",
184
+ dir,
185
+ ], { skipFormat, verbose });
186
+ }
174
187
  }
175
- export async function generateImportScript(name, dir, { skipFormat = false, verbose = true } = {}) {
188
+ export async function hygenGenerateImportScript(name, dir, { skipFormat = false, verbose = true } = {}) {
176
189
  // Generate the singular files for the document model logic
177
190
  await run([
178
191
  "powerhouse",
@@ -185,8 +198,25 @@ export async function generateImportScript(name, dir, { skipFormat = false, verb
185
198
  dir,
186
199
  ], { skipFormat, verbose });
187
200
  }
188
- export async function generateDriveEditor(name, dir, { skipFormat = false } = {}) {
201
+ export async function hygenGenerateDriveEditor(name, dir, { skipFormat = false } = {}, appId, editorOptions) {
189
202
  // Generate the drive editor files
190
- await run(["powerhouse", "generate-drive-editor", "--name", name, "--root-dir", dir], { skipFormat });
203
+ const args = [
204
+ "powerhouse",
205
+ "generate-drive-editor",
206
+ "--name",
207
+ name,
208
+ "--root-dir",
209
+ dir,
210
+ ];
211
+ if (appId) {
212
+ args.push("--app-id", appId);
213
+ }
214
+ if (editorOptions?.enabled) {
215
+ args.push("--drag-and-drop-enabled", "true");
216
+ if (editorOptions.documentTypes.length > 0) {
217
+ args.push("--drag-and-drop-document-types", JSON.stringify(editorOptions.documentTypes));
218
+ }
219
+ }
220
+ await run(args, { skipFormat });
191
221
  }
192
222
  //# sourceMappingURL=hygen.js.map