@powerhousedao/codegen 4.1.0-dev.9 → 4.1.0-dev.91

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 (164) 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 +4 -10
  24. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +39 -28
  25. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +138 -223
  26. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +95 -72
  27. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/config.esm.t +10 -0
  28. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +7 -71
  29. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.esm.t +5 -10
  30. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +12 -0
  31. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +103 -18
  32. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/hooks.esm.t +16 -0
  33. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.esm.t +5 -12
  34. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +28 -15
  35. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +8 -10
  36. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +5 -4
  37. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +5 -9
  38. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +11 -15
  39. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.inject.esm.t +12 -0
  40. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +8 -6
  41. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_call.esm.t +1 -1
  42. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_import.esm.t +1 -1
  43. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +6 -5
  44. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +6 -13
  45. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js +11 -15
  46. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.inject.esm.t +12 -0
  47. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +8 -9
  48. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_call.esm.t +2 -2
  49. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_import.esm.t +1 -1
  50. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/migrations.esm.t +2 -2
  51. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/schema.esm.t +10 -2
  52. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +5 -36
  53. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +9 -11
  54. package/dist/src/codegen/generate.d.ts +33 -0
  55. package/dist/src/codegen/generate.d.ts.map +1 -0
  56. package/dist/src/codegen/generate.js +202 -0
  57. package/dist/src/codegen/generate.js.map +1 -0
  58. package/dist/src/codegen/graphql.d.ts +2 -2
  59. package/dist/src/codegen/graphql.d.ts.map +1 -1
  60. package/dist/src/codegen/graphql.js +1 -1
  61. package/dist/src/codegen/graphql.js.map +1 -1
  62. package/dist/src/codegen/hygen.d.ts +18 -11
  63. package/dist/src/codegen/hygen.d.ts.map +1 -1
  64. package/dist/src/codegen/hygen.js +57 -21
  65. package/dist/src/codegen/hygen.js.map +1 -1
  66. package/dist/src/codegen/index.d.ts +6 -32
  67. package/dist/src/codegen/index.d.ts.map +1 -1
  68. package/dist/src/codegen/index.js +6 -182
  69. package/dist/src/codegen/index.js.map +1 -1
  70. package/dist/src/codegen/types.d.ts +9 -0
  71. package/dist/src/codegen/types.d.ts.map +1 -0
  72. package/dist/src/codegen/types.js +2 -0
  73. package/dist/src/codegen/types.js.map +1 -0
  74. package/dist/src/codegen/utils.d.ts +5 -2
  75. package/dist/src/codegen/utils.d.ts.map +1 -1
  76. package/dist/src/codegen/utils.js +42 -4
  77. package/dist/src/codegen/utils.js.map +1 -1
  78. package/dist/src/create-lib/create-project.d.ts.map +1 -1
  79. package/dist/src/create-lib/create-project.js +17 -2
  80. package/dist/src/create-lib/create-project.js.map +1 -1
  81. package/dist/src/index.d.ts +5 -0
  82. package/dist/src/index.d.ts.map +1 -0
  83. package/dist/src/index.js +5 -0
  84. package/dist/src/index.js.map +1 -0
  85. package/dist/src/ts-morph-generator/core/FileGenerator.d.ts +2 -3
  86. package/dist/src/ts-morph-generator/core/FileGenerator.d.ts.map +1 -1
  87. package/dist/src/ts-morph-generator/core/FileGenerator.js.map +1 -1
  88. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +18 -8
  89. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +1 -1
  90. package/dist/src/ts-morph-generator/core/ReducerGenerator.d.ts +12 -0
  91. package/dist/src/ts-morph-generator/core/ReducerGenerator.d.ts.map +1 -0
  92. package/dist/src/ts-morph-generator/core/ReducerGenerator.js +140 -0
  93. package/dist/src/ts-morph-generator/core/ReducerGenerator.js.map +1 -0
  94. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +4 -3
  95. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +1 -1
  96. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js +11 -10
  97. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js.map +1 -1
  98. package/dist/src/ts-morph-generator/index.d.ts +2 -2
  99. package/dist/src/ts-morph-generator/index.d.ts.map +1 -1
  100. package/dist/src/ts-morph-generator/index.js +2 -2
  101. package/dist/src/ts-morph-generator/index.js.map +1 -1
  102. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts +2 -2
  103. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts.map +1 -1
  104. package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts +1 -1
  105. package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts.map +1 -1
  106. package/dist/src/utils/index.d.ts +0 -1
  107. package/dist/src/utils/index.d.ts.map +1 -1
  108. package/dist/src/utils/index.js +0 -1
  109. package/dist/src/utils/index.js.map +1 -1
  110. package/dist/src/utils/validation.d.ts +6 -6
  111. package/dist/src/utils/validation.d.ts.map +1 -1
  112. package/dist/src/utils/validation.js +2 -2
  113. package/dist/src/utils/validation.js.map +1 -1
  114. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  115. package/package.json +25 -27
  116. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts +0 -25
  117. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts.map +0 -1
  118. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js.map +0 -1
  119. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/object.esm.t +0 -49
  120. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts +0 -23
  121. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map +0 -1
  122. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js.map +0 -1
  123. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/object.esm.t +0 -37
  124. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.d.ts +0 -22
  125. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.d.ts.map +0 -1
  126. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js.map +0 -1
  127. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EditorContainer.esm.t +0 -124
  128. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FileItemsGrid.esm.t +0 -44
  129. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderItemsGrid.esm.t +0 -96
  130. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/hooks/useSelectedFolderChildren.esm.t +0 -35
  131. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/hooks/useTransformedNodes.esm.t +0 -35
  132. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/types/css.d.esm.t +0 -8
  133. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts +0 -20
  134. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts.map +0 -1
  135. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js.map +0 -1
  136. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts +0 -14
  137. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts.map +0 -1
  138. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js.map +0 -1
  139. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts +0 -20
  140. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts.map +0 -1
  141. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js.map +0 -1
  142. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.d.ts +0 -20
  143. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.d.ts.map +0 -1
  144. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js.map +0 -1
  145. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts +0 -16
  146. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts.map +0 -1
  147. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js.map +0 -1
  148. package/dist/src/ts-morph-generator/core/index.d.ts +0 -4
  149. package/dist/src/ts-morph-generator/core/index.d.ts.map +0 -1
  150. package/dist/src/ts-morph-generator/core/index.js +0 -4
  151. package/dist/src/ts-morph-generator/core/index.js.map +0 -1
  152. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts +0 -9
  153. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts.map +0 -1
  154. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js +0 -69
  155. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js.map +0 -1
  156. package/dist/src/ts-morph-generator/file-generators/index.d.ts +0 -2
  157. package/dist/src/ts-morph-generator/file-generators/index.d.ts.map +0 -1
  158. package/dist/src/ts-morph-generator/file-generators/index.js +0 -2
  159. package/dist/src/ts-morph-generator/file-generators/index.js.map +0 -1
  160. package/dist/src/utils/package-manager.d.ts +0 -5
  161. package/dist/src/utils/package-manager.d.ts.map +0 -1
  162. package/dist/src/utils/package-manager.js +0 -17
  163. package/dist/src/utils/package-manager.js.map +0 -1
  164. package/dist/tsconfig.hygen.tsbuildinfo +0 -1
@@ -1,33 +1,7 @@
1
- import { type PowerhouseConfig } from "@powerhousedao/config/powerhouse";
2
- import { type DocumentModelState } from "document-model";
3
- export { generateDBSchema } from "./kysely.js";
4
- export type CodegenOptions = {
5
- verbose?: boolean;
6
- };
7
- export declare function generate(config: PowerhouseConfig): Promise<void>;
8
- export declare function generateFromFile(path: string, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
9
- /**
10
- * Generates code from a DocumentModelDocument object directly.
11
- *
12
- * @remarks
13
- * This function performs the same code generation as generateFromFile but takes
14
- * a DocumentModelDocument object directly instead of loading from a file. This allows for
15
- * programmatic code generation without file I/O.
16
- *
17
- * @param documentModelDocument - The DocumentModelDocument object containing the document model
18
- * @param config - The PowerhouseConfig configuration object
19
- * @param options - Optional configuration for generation behavior (verbose logging, etc.)
20
- * @returns A promise that resolves when code generation is complete
21
- */
22
- export declare function generateFromDocument(documentModelState: DocumentModelState, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
23
- export declare function generateEditor(name: string, documentTypes: string[], config: PowerhouseConfig): Promise<void>;
24
- export declare function generateSubgraphFromDocumentModel(name: string, documentModel: DocumentModelState, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
25
- export declare function generateSubgraph(name: string, file: string | null, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
26
- export declare function generateProcessor(name: string, type: "analytics" | "relationalDb", documentTypes: string[], config: PowerhouseConfig): Promise<void>;
27
- export type DocumentTypesMap = Record<string, {
28
- name: string;
29
- importPath: string;
30
- }>;
31
- export declare function generateDriveEditor(name: string, config: PowerhouseConfig): Promise<void>;
32
- export declare function generateImportScript(name: string, config: PowerhouseConfig): Promise<void>;
1
+ export * from "./generate.js";
2
+ export * from "./graphql.js";
3
+ export * from "./hygen.js";
4
+ export * from "./kysely.js";
5
+ export * from "./types.js";
6
+ export * from "./utils.js";
33
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAexB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAoFF,wBAAsB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,iBAItD;AA6DD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAO7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAI7B;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,gBAAgB,iBAwBzB;AAED,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,kBAAkB,EACjC,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,iBAqBzB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC,MAAM,EACN;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CACrC,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,iBAKzB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,iBAKzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -1,183 +1,7 @@
1
- import { typeDefs } from "@powerhousedao/document-engineering/graphql";
2
- import { paramCase, pascalCase } from "change-case";
3
- import fs from "node:fs";
4
- import { join, resolve } from "path";
5
- import { generateSchema, generateSchemas } from "./graphql.js";
6
- import { generateDriveEditor as _generateDriveEditor, generateEditor as _generateEditor, generateImportScript as _generateImportScript, generateProcessor as _generateProcessor, generateSubgraph as _generateSubgraph, generateAll, generateDocumentModel, } from "./hygen.js";
7
- import { loadDocumentModel } from "./utils.js";
8
- export { generateDBSchema } from "./kysely.js";
9
- function generateGraphqlSchema(documentModel) {
10
- const spec = documentModel.specifications[documentModel.specifications.length - 1];
11
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
12
- if (!spec) {
13
- throw new Error(`No spec found for ${documentModel.id}`);
14
- }
15
- const { modules, state: { global, local }, } = spec;
16
- const schemas = [
17
- global.schema,
18
- local.schema,
19
- ...modules
20
- .map((module) => [
21
- `# ${module.name}`,
22
- ...module.operations.map((op) => op.schema),
23
- ])
24
- .flat()
25
- .filter((schema) => schema && schema.length > 0),
26
- ];
27
- return schemas.join("\n\n");
28
- }
29
- // returns map of document model id to document model name in pascal case and import path
30
- async function getDocumentTypesMap(dir, pathOrigin = "../../") {
31
- const documentTypesMap = {};
32
- // add document types from provided dir
33
- if (fs.existsSync(dir)) {
34
- fs.readdirSync(dir, { withFileTypes: true })
35
- .filter((dirent) => dirent.isDirectory())
36
- .map((dirent) => dirent.name)
37
- .forEach((name) => {
38
- const specPath = resolve(dir, name, `${name}.json`);
39
- if (!fs.existsSync(specPath)) {
40
- return;
41
- }
42
- const specRaw = fs.readFileSync(specPath, "utf-8");
43
- try {
44
- const spec = JSON.parse(specRaw);
45
- if (spec.id) {
46
- documentTypesMap[spec.id] = {
47
- name: pascalCase(name),
48
- importPath: join(pathOrigin, dir, name),
49
- };
50
- }
51
- }
52
- catch {
53
- console.error(`Failed to parse ${specPath}`);
54
- }
55
- });
56
- }
57
- // add documents from document-model-libs if lib is installed
58
- try {
59
- /* eslint-disable */
60
- // @ts-ignore-error TS2307 this import is expected to fail if document-model-libs is not available
61
- const documentModels = await import("document-model-libs/document-models");
62
- Object.keys(documentModels).forEach((name) => {
63
- const documentModel = documentModels[name];
64
- documentTypesMap[documentModel.documentModel.id] = {
65
- name,
66
- importPath: `document-model-libs/${paramCase(name)}`,
67
- };
68
- });
69
- /* eslint-enable */
70
- }
71
- catch {
72
- /* document-model-libs is not available */
73
- }
74
- return documentTypesMap;
75
- }
76
- export async function generate(config) {
77
- const { skipFormat, watch } = config;
78
- await generateSchemas(config.documentModelsDir, { skipFormat, watch });
79
- await generateAll(config.documentModelsDir, { skipFormat, watch });
80
- }
81
- /**
82
- * Generates code from a DocumentModelState.
83
- *
84
- * @remarks
85
- * This is the core generation function that both generateFromFile and generateFromDocument
86
- * use internally. It handles the actual code generation from a DocumentModelState object.
87
- *
88
- * @param documentModel - The DocumentModelState containing the document model specification
89
- * @param config - The PowerhouseConfig configuration object
90
- * @param filePath - Optional file path for generateSubgraph (null if not from file)
91
- * @param options - Optional configuration for generation behavior
92
- * @returns A promise that resolves when code generation is complete
93
- */
94
- async function generateFromDocumentModel(documentModel, config, filePath, options = {}) {
95
- // Derive verbose from config.logLevel if not explicitly provided
96
- // Show hygen logs for verbose, debug, and info levels (default behavior before ts-morph)
97
- const { verbose = config.logLevel === "verbose" ||
98
- config.logLevel === "debug" ||
99
- config.logLevel === "info", } = options;
100
- const name = paramCase(documentModel.name);
101
- // create document model folder and spec as json
102
- fs.mkdirSync(join(config.documentModelsDir, name), { recursive: true });
103
- fs.writeFileSync(join(config.documentModelsDir, name, `${name}.json`), JSON.stringify(documentModel, null, 4));
104
- // bundle graphql schemas together
105
- const schemaStr = [
106
- typeDefs.join("\n"), // inject ph scalars
107
- generateGraphqlSchema(documentModel),
108
- ].join("\n");
109
- if (schemaStr) {
110
- fs.writeFileSync(join(config.documentModelsDir, name, `schema.graphql`), schemaStr);
111
- }
112
- await generateSchema(name, config.documentModelsDir, {
113
- skipFormat: config.skipFormat,
114
- verbose,
115
- });
116
- await generateDocumentModel(documentModel, config.documentModelsDir, {
117
- skipFormat: config.skipFormat,
118
- verbose,
119
- });
120
- await generateSubgraph(name, filePath || null, config, { verbose });
121
- }
122
- export async function generateFromFile(path, config, options = {}) {
123
- // load document model spec from file
124
- const documentModel = await loadDocumentModel(path);
125
- // delegate to shared generation function
126
- await generateFromDocumentModel(documentModel, config, path, options);
127
- }
128
- /**
129
- * Generates code from a DocumentModelDocument object directly.
130
- *
131
- * @remarks
132
- * This function performs the same code generation as generateFromFile but takes
133
- * a DocumentModelDocument object directly instead of loading from a file. This allows for
134
- * programmatic code generation without file I/O.
135
- *
136
- * @param documentModelDocument - The DocumentModelDocument object containing the document model
137
- * @param config - The PowerhouseConfig configuration object
138
- * @param options - Optional configuration for generation behavior (verbose logging, etc.)
139
- * @returns A promise that resolves when code generation is complete
140
- */
141
- export async function generateFromDocument(documentModelState, config, options = {}) {
142
- // delegate to shared generation function
143
- await generateFromDocumentModel(documentModelState, config, null, options);
144
- }
145
- export async function generateEditor(name, documentTypes, config) {
146
- const pathOrigin = "../../";
147
- const { documentModelsDir, skipFormat } = config;
148
- const documentTypesMap = await getDocumentTypesMap(documentModelsDir, pathOrigin);
149
- const invalidType = documentTypes.find((type) => !Object.keys(documentTypesMap).includes(type));
150
- if (invalidType) {
151
- throw new Error(`Document model for ${invalidType} not found`);
152
- }
153
- return _generateEditor(name, documentTypes, documentTypesMap, config.editorsDir, config.documentModelsDir, { skipFormat });
154
- }
155
- export async function generateSubgraphFromDocumentModel(name, documentModel, config, options = {}) {
156
- return _generateSubgraph(name, documentModel, config.subgraphsDir, {
157
- skipFormat: config.skipFormat,
158
- verbose: options.verbose,
159
- });
160
- }
161
- export async function generateSubgraph(name, file, config, options = {}) {
162
- return _generateSubgraph(name, file !== null ? await loadDocumentModel(file) : null, config.subgraphsDir, { skipFormat: config.skipFormat, verbose: options.verbose });
163
- }
164
- export async function generateProcessor(name, type, documentTypes, config) {
165
- const { documentModelsDir, skipFormat } = config;
166
- const documentTypesMap = await getDocumentTypesMap(documentModelsDir);
167
- const invalidType = documentTypes.find((type) => !Object.keys(documentTypesMap).includes(type));
168
- if (invalidType) {
169
- throw new Error(`Document model for ${invalidType} not found`);
170
- }
171
- return _generateProcessor(name, documentTypes, documentTypesMap, config.processorsDir, config.documentModelsDir, type, { skipFormat });
172
- }
173
- export async function generateDriveEditor(name, config) {
174
- return _generateDriveEditor(name, config.editorsDir, {
175
- skipFormat: config.skipFormat,
176
- });
177
- }
178
- export async function generateImportScript(name, config) {
179
- return _generateImportScript(name, config.importScriptsDir, {
180
- skipFormat: config.skipFormat,
181
- });
182
- }
1
+ export * from "./generate.js";
2
+ export * from "./graphql.js";
3
+ export * from "./hygen.js";
4
+ export * from "./kysely.js";
5
+ export * from "./types.js";
6
+ export * from "./utils.js";
183
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ export type CodegenOptions = {
2
+ verbose?: boolean;
3
+ force?: boolean;
4
+ };
5
+ export type DocumentTypesMap = Record<string, {
6
+ name: string;
7
+ importPath: string;
8
+ }>;
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/codegen/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC,MAAM,EACN;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CACrC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/codegen/types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,7 @@
1
- import { type DocumentModelState } from "document-model";
2
- export declare function loadDocumentModel(path: string): Promise<DocumentModelState>;
1
+ import type { DocumentTypesMap } from "@powerhousedao/codegen";
2
+ import type { DocumentModelGlobalState } from "document-model";
3
+ export declare function loadDocumentModel(path: string): Promise<DocumentModelGlobalState>;
3
4
  export declare function formatWithPrettierBeforeWrite(outputFile: string, content: string): Promise<string>;
5
+ /** returns map of document model id to document model name in pascal case and import path */
6
+ export declare function getDocumentTypesMap(dir: string, pathOrigin?: string): DocumentTypesMap;
4
7
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/codegen/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAIxB,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,kBAAkB,CAAC,CA2B7B;AAED,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,mBAMhB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/codegen/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAEV,wBAAwB,EACzB,MAAM,gBAAgB,CAAC;AAOxB,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,wBAAwB,CAAC,CAyBnC;AAED,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,mBAMhB;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,UAAU,SAAW,GACpB,gBAAgB,CAmClB"}
@@ -1,5 +1,8 @@
1
- import { documentModelLoadFromFile, } from "document-model";
1
+ import { pascalCase } from "change-case";
2
+ import { documentModelReducer } from "document-model";
3
+ import { baseLoadFromFile } from "document-model/node";
2
4
  import fs from "node:fs";
5
+ import { join, resolve } from "node:path";
3
6
  import { format } from "prettier";
4
7
  export async function loadDocumentModel(path) {
5
8
  let documentModel;
@@ -7,8 +10,8 @@ export async function loadDocumentModel(path) {
7
10
  if (!path) {
8
11
  throw new Error("Document model file not specified");
9
12
  }
10
- else if (path.endsWith(".zip")) {
11
- const file = await documentModelLoadFromFile(path);
13
+ else if (path.endsWith(".zip") || path.endsWith(".phd")) {
14
+ const file = await baseLoadFromFile(path, documentModelReducer);
12
15
  documentModel = file.state.global;
13
16
  }
14
17
  else if (path.endsWith(".json")) {
@@ -22,7 +25,7 @@ export async function loadDocumentModel(path) {
22
25
  }
23
26
  }
24
27
  else {
25
- throw new Error("File type not supported. Must be zip or json.");
28
+ throw new Error("File type not supported. Must be zip, phd, or json.");
26
29
  }
27
30
  return documentModel;
28
31
  }
@@ -38,4 +41,39 @@ export async function formatWithPrettierBeforeWrite(outputFile, content) {
38
41
  });
39
42
  return modifiedContent;
40
43
  }
44
+ /** returns map of document model id to document model name in pascal case and import path */
45
+ export function getDocumentTypesMap(dir, pathOrigin = "../../") {
46
+ const documentTypesMap = {
47
+ "powerhouse/document-model": {
48
+ name: "DocumentModel",
49
+ importPath: `document-model`,
50
+ },
51
+ };
52
+ // add document types from provided dir
53
+ if (fs.existsSync(dir)) {
54
+ fs.readdirSync(dir, { withFileTypes: true })
55
+ .filter((dirent) => dirent.isDirectory())
56
+ .map((dirent) => dirent.name)
57
+ .forEach((name) => {
58
+ const specPath = resolve(dir, name, `${name}.json`);
59
+ if (!fs.existsSync(specPath)) {
60
+ return;
61
+ }
62
+ const specRaw = fs.readFileSync(specPath, "utf-8");
63
+ try {
64
+ const spec = JSON.parse(specRaw);
65
+ if (spec.id) {
66
+ documentTypesMap[spec.id] = {
67
+ name: pascalCase(name),
68
+ importPath: join(pathOrigin, dir, name, "index.js"),
69
+ };
70
+ }
71
+ }
72
+ catch {
73
+ console.error(`Failed to parse ${specPath}`);
74
+ }
75
+ });
76
+ }
77
+ return documentTypesMap;
78
+ }
41
79
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/codegen/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,GAG1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAY;IAEZ,IAAI,aAAiC,CAAC;IACtC,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACnD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAEZ,CAAC;YACvB,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;gBAC1B,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,UAAU,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAO,KAA2B,CAAC,IAAI,KAAK,kBAAkB;YAC5D,CAAC,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC;YACxC,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,UAAkB,EAClB,OAAe;IAEf,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE;QAC5C,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/codegen/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAY;IAEZ,IAAI,aAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YAChE,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0B,CAAC;YAC7D,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;gBAC1B,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,UAAU,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAO,KAA2B,CAAC,IAAI,KAAK,kBAAkB;YAC5D,CAAC,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC;YACxC,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,UAAkB,EAClB,OAAe;IAEf,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE;QAC5C,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,mBAAmB,CACjC,GAAW,EACX,UAAU,GAAG,QAAQ;IAErB,MAAM,gBAAgB,GAAqB;QACzC,2BAA2B,EAAE;YAC3B,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,gBAAgB;SAC7B;KACF,CAAC;IAEF,uCAAuC;IACvC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;aACxC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;aAC5B,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA6B,CAAC;gBAC7D,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oBACZ,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;wBAC1B,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;wBACtB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;qBACpD,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-project.d.ts","sourceRoot":"","sources":["../../../src/create-lib/create-project.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,iBAAiB;;;;;;;;;;CAUpB,CAAC;AAEX,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqED,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,UAWA;AAUD,wBAAgB,OAAO,kBAQtB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,qBAAqB,iBAmDjE"}
1
+ {"version":3,"file":"create-project.d.ts","sourceRoot":"","sources":["../../../src/create-lib/create-project.ts"],"names":[],"mappings":"AAsCA,eAAO,MAAM,iBAAiB;;;;;;;;;;CAUpB,CAAC;AAEX,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqED,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,UAWA;AAUD,wBAAgB,OAAO,kBAQtB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,qBAAqB,iBAmDjE"}
@@ -1,10 +1,25 @@
1
- import { parseArgs, promptDirectories } from "#utils/cli";
2
- import { getPackageManager } from "#utils/package-manager";
1
+ import { parseArgs, promptDirectories } from "@powerhousedao/codegen";
3
2
  import { execSync } from "child_process";
4
3
  import enquirer from "enquirer";
5
4
  import fs from "node:fs";
6
5
  import path from "path";
7
6
  const BOILERPLATE_REPO = "https://github.com/powerhouse-inc/document-model-boilerplate.git";
7
+ const packageManagers = ["npm", "yarn", "pnpm", "bun"];
8
+ const defaultPackageManager = "npm";
9
+ function getPackageManager(userAgent) {
10
+ if (!userAgent) {
11
+ return defaultPackageManager;
12
+ }
13
+ const pkgSpec = userAgent.split(" ")[0];
14
+ const pkgSpecArr = pkgSpec.split("/");
15
+ const name = pkgSpecArr[0];
16
+ if (packageManagers.includes(name)) {
17
+ return name;
18
+ }
19
+ else {
20
+ return defaultPackageManager;
21
+ }
22
+ }
8
23
  const envPackageManager = getPackageManager(process.env.npm_config_user_agent);
9
24
  const defaultDirectories = {
10
25
  documentModelsDir: "./document-models",
@@ -1 +1 @@
1
- {"version":3,"file":"create-project.js","sourceRoot":"","sources":["../../../src/create-lib/create-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-project.js","sourceRoot":"","sources":["../../../src/create-lib/create-project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./codegen/index.js";
2
+ export * from "./create-lib/index.js";
3
+ export * from "./ts-morph-generator/index.js";
4
+ export * from "./utils/index.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./codegen/index.js";
2
+ export * from "./create-lib/index.js";
3
+ export * from "./ts-morph-generator/index.js";
4
+ export * from "./utils/index.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC"}
@@ -1,6 +1,5 @@
1
- import { type DirectoryManager } from "../utilities/DirectoryManager.js";
2
- import { type ImportManager } from "../utilities/ImportManager.js";
3
- import { type GenerationContext } from "./GenerationContext.js";
1
+ import type { DirectoryManager, ImportManager } from "@powerhousedao/codegen";
2
+ import type { GenerationContext } from "./GenerationContext.js";
4
3
  export declare abstract class FileGenerator {
5
4
  protected importManager: ImportManager;
6
5
  protected directoryManager: DirectoryManager;
@@ -1 +1 @@
1
- {"version":3,"file":"FileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/FileGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,8BAAsB,aAAa;IAE/B,SAAS,CAAC,aAAa,EAAE,aAAa;IACtC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB;gBADlC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB;IAG9C,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAC7D"}
1
+ {"version":3,"file":"FileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/FileGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,8BAAsB,aAAa;IAE/B,SAAS,CAAC,aAAa,EAAE,aAAa;IACtC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB;gBADlC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB;IAG9C,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAC7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileGenerator.js","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/FileGenerator.ts"],"names":[],"mappings":"AAIA,MAAM,OAAgB,aAAa;IAErB;IACA;IAFZ,YACY,aAA4B,EAC5B,gBAAkC;QADlC,kBAAa,GAAb,aAAa,CAAe;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAkB;IAC3C,CAAC;CAGL"}
1
+ {"version":3,"file":"FileGenerator.js","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/FileGenerator.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,aAAa;IAErB;IACA;IAFZ,YACY,aAA4B,EAC5B,gBAAkC;QADlC,kBAAa,GAAb,aAAa,CAAe;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAkB;IAC3C,CAAC;CAGL"}
@@ -1,20 +1,29 @@
1
- import { type DocumentModelState } from "document-model";
2
- import { type Project } from "ts-morph";
3
- export type Actions = {
1
+ import type { DocumentModelGlobalState, ModuleSpecification, OperationErrorSpecification } from "document-model";
2
+ import type { Project } from "ts-morph";
3
+ export type CodegenOperation = {
4
+ id: string;
4
5
  name: string | null;
6
+ description: string | null;
7
+ examples: {
8
+ id: string;
9
+ value: string;
10
+ }[];
11
+ reducer: string | null;
12
+ schema: string | null;
13
+ template: string | null;
5
14
  hasInput: boolean;
6
15
  hasAttachment: boolean | undefined;
7
16
  scope: string;
8
17
  state: string;
9
- errors?: unknown;
18
+ errors?: OperationErrorSpecification[];
10
19
  };
11
- export type ModuleSpec = DocumentModelState["specifications"][0]["modules"][0];
12
20
  export interface GenerationContext {
13
21
  rootDir: string;
14
- docModel: DocumentModelState;
15
- module: ModuleSpec;
22
+ docModel: DocumentModelGlobalState;
23
+ module: ModuleSpecification;
16
24
  project: Project;
17
- actions: Actions[];
25
+ operations: CodegenOperation[];
26
+ forceUpdate: boolean;
18
27
  }
19
28
  export type PHProjectDirectories = {
20
29
  documentModelDir?: string;
@@ -24,5 +33,6 @@ export type PHProjectDirectories = {
24
33
  };
25
34
  export type CodeGeneratorOptions = {
26
35
  directories?: PHProjectDirectories;
36
+ forceUpdate?: boolean;
27
37
  };
28
38
  //# sourceMappingURL=GenerationContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GenerationContext.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/GenerationContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"GenerationContext.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/GenerationContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,wBAAwB,CAAC;IACnC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { FileGenerator } from "./FileGenerator.js";
2
+ import type { GenerationContext } from "./GenerationContext.js";
3
+ export declare class ReducerGenerator extends FileGenerator {
4
+ generate(context: GenerationContext): Promise<void>;
5
+ private static getDefaultReducerCode;
6
+ private addErrorImports;
7
+ private getOutputPath;
8
+ private createReducerObject;
9
+ private addReducerMethod;
10
+ private setReducerMethodCode;
11
+ }
12
+ //# sourceMappingURL=ReducerGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReducerGenerator.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/ReducerGenerator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,gBAAiB,SAAQ,aAAa;IAC3C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCzD,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAOpC,OAAO,CAAC,eAAe;IAyEvB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,oBAAoB;CAK7B"}