@powerhousedao/codegen 5.1.0-staging.0 → 5.2.0-staging.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/src/codegen/__tests__/config.d.ts +1 -1
  2. package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
  3. package/dist/src/codegen/__tests__/config.js +1 -1
  4. package/dist/src/codegen/__tests__/config.js.map +1 -1
  5. package/dist/src/codegen/__tests__/generate-doc-model.test.js +81 -81
  6. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
  7. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +5 -5
  8. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
  9. package/dist/src/codegen/__tests__/generate-editor.test.js +4 -4
  10. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  11. package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
  12. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts +2 -0
  13. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts.map +1 -0
  14. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +142 -0
  15. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -0
  16. package/dist/src/codegen/generate.d.ts +23 -7
  17. package/dist/src/codegen/generate.d.ts.map +1 -1
  18. package/dist/src/codegen/generate.js +105 -87
  19. package/dist/src/codegen/generate.js.map +1 -1
  20. package/dist/src/codegen/graphql.d.ts +20 -17
  21. package/dist/src/codegen/graphql.d.ts.map +1 -1
  22. package/dist/src/codegen/graphql.js +105 -78
  23. package/dist/src/codegen/graphql.js.map +1 -1
  24. package/dist/src/codegen/hygen.d.ts.map +1 -1
  25. package/dist/src/codegen/hygen.js +0 -1
  26. package/dist/src/codegen/hygen.js.map +1 -1
  27. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts.map +1 -1
  28. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js +53 -44
  29. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js.map +1 -1
  30. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js +20 -23
  31. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js.map +1 -1
  32. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts.map +1 -1
  33. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js +209 -21
  34. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js.map +1 -1
  35. package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts +21 -1
  36. package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts.map +1 -1
  37. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts +31 -0
  38. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts.map +1 -0
  39. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js +136 -0
  40. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js.map +1 -0
  41. package/dist/src/ts-morph-utils/file-builders/document-model.d.ts +2 -2
  42. package/dist/src/ts-morph-utils/file-builders/document-model.d.ts.map +1 -1
  43. package/dist/src/ts-morph-utils/file-builders/document-model.js +210 -28
  44. package/dist/src/ts-morph-utils/file-builders/document-model.js.map +1 -1
  45. package/dist/src/ts-morph-utils/file-builders/index-files.d.ts +2 -1
  46. package/dist/src/ts-morph-utils/file-builders/index-files.d.ts.map +1 -1
  47. package/dist/src/ts-morph-utils/file-builders/index-files.js +6 -2
  48. package/dist/src/ts-morph-utils/file-builders/index-files.js.map +1 -1
  49. package/dist/src/ts-morph-utils/file-builders/module-files.d.ts.map +1 -1
  50. package/dist/src/ts-morph-utils/file-builders/module-files.js +20 -8
  51. package/dist/src/ts-morph-utils/file-builders/module-files.js.map +1 -1
  52. package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts +5 -23
  53. package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts.map +1 -1
  54. package/dist/src/ts-morph-utils/name-builders/get-variable-names.js +26 -34
  55. package/dist/src/ts-morph-utils/name-builders/get-variable-names.js.map +1 -1
  56. package/dist/src/ts-morph-utils/name-builders/types.d.ts +6 -2
  57. package/dist/src/ts-morph-utils/name-builders/types.d.ts.map +1 -1
  58. package/dist/src/ts-morph-utils/syntax-getters.d.ts +1 -0
  59. package/dist/src/ts-morph-utils/syntax-getters.d.ts.map +1 -1
  60. package/dist/src/ts-morph-utils/syntax-getters.js +6 -0
  61. package/dist/src/ts-morph-utils/syntax-getters.js.map +1 -1
  62. package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts +2 -2
  63. package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts.map +1 -1
  64. package/dist/src/ts-morph-utils/templates/document-model/actions.js.map +1 -1
  65. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts +2 -2
  66. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts.map +1 -1
  67. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js.map +1 -1
  68. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts +2 -2
  69. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts.map +1 -1
  70. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js.map +1 -1
  71. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts +2 -2
  72. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts.map +1 -1
  73. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js.map +1 -1
  74. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts +2 -2
  75. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts.map +1 -1
  76. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js +2 -2
  77. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js.map +1 -1
  78. package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts +2 -2
  79. package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts.map +1 -1
  80. package/dist/src/ts-morph-utils/templates/document-model/gen/index.js.map +1 -1
  81. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts +2 -2
  82. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts.map +1 -1
  83. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js.map +1 -1
  84. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts +2 -2
  85. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts.map +1 -1
  86. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js.map +1 -1
  87. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts +2 -2
  88. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts.map +1 -1
  89. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js.map +1 -1
  90. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts +2 -2
  91. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts.map +1 -1
  92. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js.map +1 -1
  93. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts +2 -2
  94. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts.map +1 -1
  95. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js +1 -1
  96. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js.map +1 -1
  97. package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts +2 -2
  98. package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts.map +1 -1
  99. package/dist/src/ts-morph-utils/templates/document-model/gen/types.js +14 -14
  100. package/dist/src/ts-morph-utils/templates/document-model/gen/types.js.map +1 -1
  101. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts +2 -2
  102. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts.map +1 -1
  103. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js +18 -18
  104. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js.map +1 -1
  105. package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts +2 -2
  106. package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts.map +1 -1
  107. package/dist/src/ts-morph-utils/templates/document-model/hooks.js +1 -1
  108. package/dist/src/ts-morph-utils/templates/document-model/hooks.js.map +1 -1
  109. package/dist/src/ts-morph-utils/templates/document-model/module.d.ts +2 -2
  110. package/dist/src/ts-morph-utils/templates/document-model/module.d.ts.map +1 -1
  111. package/dist/src/ts-morph-utils/templates/document-model/module.js +3 -3
  112. package/dist/src/ts-morph-utils/templates/document-model/module.js.map +1 -1
  113. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts +2 -2
  114. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts.map +1 -1
  115. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js +1 -1
  116. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js.map +1 -1
  117. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts +5 -2
  118. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts.map +1 -1
  119. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js +24 -4
  120. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js.map +1 -1
  121. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts +7 -0
  122. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts.map +1 -0
  123. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js +22 -0
  124. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js.map +1 -0
  125. package/dist/src/utils/mock.d.ts +2 -3
  126. package/dist/src/utils/mock.d.ts.map +1 -1
  127. package/dist/src/utils/mock.js +4 -4
  128. package/dist/src/utils/mock.js.map +1 -1
  129. package/dist/tsconfig.tsbuildinfo +1 -1
  130. package/package.json +18 -15
  131. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts +0 -2
  132. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts.map +0 -1
  133. package/dist/src/codegen/__tests__/generate-schemas.test.js +0 -143
  134. package/dist/src/codegen/__tests__/generate-schemas.test.js.map +0 -1
@@ -0,0 +1,142 @@
1
+ import { paramCase } from "change-case";
2
+ import { readdirSync } from "fs";
3
+ import path from "path";
4
+ import { describe, expect, it } from "vitest";
5
+ import { generateDocumentModel } from "../generate.js";
6
+ import { loadDocumentModel } from "../utils.js";
7
+ import { runGeneratedTests } from "./fixtures/run-generated-tests.js";
8
+ import { compile } from "./fixtures/typecheck.js";
9
+ import { copyAllFiles, purgeDirAfterTest, resetDirForTest } from "./utils.js";
10
+ let testCount = 1;
11
+ const parentOutDirName = "versioned-document-models";
12
+ const testsDir = import.meta.dirname;
13
+ const testOutputParentDir = path.join(testsDir, ".test-output", parentOutDirName);
14
+ const testsDataDir = path.join(testsDir, "data", "versioned-document-models");
15
+ function getDirInTestDataDir(dirName) {
16
+ return path.join(testsDataDir, dirName);
17
+ }
18
+ function getTestOutDir(context) {
19
+ const testDirName = `${testCount++}-${paramCase(context.task.name)}`;
20
+ return path.join(testOutputParentDir, testDirName);
21
+ }
22
+ function getDocumentModelJsonFilePath(basePath, dirName) {
23
+ return path.join(basePath, dirName, `${dirName}.json`);
24
+ }
25
+ async function loadDocumentModelsInDir(inDirName, testOutDir) {
26
+ const documentModelsInDir = getDirInTestDataDir(inDirName);
27
+ const documentModelsOutDir = path.join(testOutDir, "document-models");
28
+ const documentModelDirs = readdirSync(documentModelsInDir, {
29
+ withFileTypes: true,
30
+ })
31
+ .filter((value) => value.isDirectory())
32
+ .map((value) => value.name);
33
+ const documentModelStates = await Promise.all(documentModelDirs.map(async (dirName) => await loadDocumentModel(getDocumentModelJsonFilePath(documentModelsInDir, dirName))));
34
+ for (const documentModelState of documentModelStates) {
35
+ await generateDocumentModel({
36
+ documentModelState,
37
+ dir: documentModelsOutDir,
38
+ useTsMorph: true,
39
+ useVersioning: true,
40
+ specifiedPackageName: "test",
41
+ });
42
+ }
43
+ }
44
+ async function loadBaseProjectFromDir(dirName, testOutDir) {
45
+ const projectDir = getDirInTestDataDir(dirName);
46
+ await copyAllFiles(projectDir, testOutDir);
47
+ }
48
+ describe("versioned document models", () => {
49
+ describe("spec version 1", () => {
50
+ it("should generate new document models as v1", {
51
+ timeout: 10000000,
52
+ }, async (context) => {
53
+ const testOutDir = getTestOutDir(context);
54
+ resetDirForTest(testOutDir);
55
+ await loadBaseProjectFromDir("empty-project", testOutDir);
56
+ await loadDocumentModelsInDir("spec-version-1", testOutDir);
57
+ await compile(testOutDir);
58
+ await runGeneratedTests(testOutDir);
59
+ purgeDirAfterTest(testOutDir);
60
+ });
61
+ it("should persist existing reducers, tests, utils, and custom files when generating for the same spec version", {
62
+ timeout: 10000000,
63
+ }, async (context) => {
64
+ const testOutDir = getTestOutDir(context);
65
+ resetDirForTest(testOutDir);
66
+ await loadBaseProjectFromDir("project-with-existing-document-models-at-spec-1", testOutDir);
67
+ await loadDocumentModelsInDir("spec-version-1-with-more-operations", testOutDir);
68
+ await compile(testOutDir);
69
+ await runGeneratedTests(testOutDir);
70
+ purgeDirAfterTest(testOutDir);
71
+ });
72
+ });
73
+ describe("spec version 2", () => {
74
+ it("should handle generating document models as v2", {
75
+ timeout: 10000000,
76
+ }, async (context) => {
77
+ const testOutDir = getTestOutDir(context);
78
+ resetDirForTest(testOutDir);
79
+ await loadBaseProjectFromDir("empty-project", testOutDir);
80
+ await loadDocumentModelsInDir("spec-version-2", testOutDir);
81
+ await compile(testOutDir);
82
+ await runGeneratedTests(testOutDir);
83
+ purgeDirAfterTest(testOutDir);
84
+ });
85
+ it("should persist existing reducers, tests, utils, and custom files when generating a new spec version", {
86
+ timeout: 10000000,
87
+ }, async (context) => {
88
+ const testOutDir = getTestOutDir(context);
89
+ resetDirForTest(testOutDir);
90
+ await loadBaseProjectFromDir("project-with-existing-document-models-at-spec-1", testOutDir);
91
+ await loadDocumentModelsInDir("spec-version-2", testOutDir);
92
+ await compile(testOutDir);
93
+ await runGeneratedTests(testOutDir);
94
+ purgeDirAfterTest(testOutDir);
95
+ });
96
+ it("should throw a typescript error in upgrades when new state does not match old state", {
97
+ timeout: 10000000,
98
+ }, async (context) => {
99
+ const testOutDir = getTestOutDir(context);
100
+ resetDirForTest(testOutDir);
101
+ await loadBaseProjectFromDir("project-with-existing-document-models-at-spec-1", testOutDir);
102
+ await loadDocumentModelsInDir("spec-version-2-with-state-changes", testOutDir);
103
+ await expect(() => compile(testOutDir)).rejects.toThrow();
104
+ purgeDirAfterTest(testOutDir);
105
+ });
106
+ });
107
+ describe("spec version 3", () => {
108
+ it("should handle generating document models as v3", {
109
+ timeout: 10000000,
110
+ }, async (context) => {
111
+ const testOutDir = getTestOutDir(context);
112
+ resetDirForTest(testOutDir);
113
+ await loadBaseProjectFromDir("empty-project", testOutDir);
114
+ await loadDocumentModelsInDir("spec-version-3", testOutDir);
115
+ await compile(testOutDir);
116
+ await runGeneratedTests(testOutDir);
117
+ purgeDirAfterTest(testOutDir);
118
+ });
119
+ it("should persist existing reducers, tests, utils, and custom files when generating a new spec version", {
120
+ timeout: 10000000,
121
+ }, async (context) => {
122
+ const testOutDir = getTestOutDir(context);
123
+ resetDirForTest(testOutDir);
124
+ await loadBaseProjectFromDir("project-with-existing-document-models-at-spec-2", testOutDir);
125
+ await loadDocumentModelsInDir("spec-version-3", testOutDir);
126
+ await compile(testOutDir);
127
+ await runGeneratedTests(testOutDir);
128
+ purgeDirAfterTest(testOutDir);
129
+ });
130
+ it("should throw a typescript error in upgrades when new state does not match old state", {
131
+ timeout: 10000000,
132
+ }, async (context) => {
133
+ const testOutDir = getTestOutDir(context);
134
+ resetDirForTest(testOutDir);
135
+ await loadBaseProjectFromDir("project-with-existing-document-models-at-spec-2", testOutDir);
136
+ await loadDocumentModelsInDir("spec-version-3-with-state-changes", testOutDir);
137
+ await expect(() => compile(testOutDir)).rejects.toThrow();
138
+ purgeDirAfterTest(testOutDir);
139
+ });
140
+ });
141
+ });
142
+ //# sourceMappingURL=generate-versioned-document-model.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-versioned-document-model.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-versioned-document-model.test.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,23 @@
1
1
  import type { PartialPowerhouseManifest, PowerhouseConfig } from "@powerhousedao/config";
2
2
  import type { DocumentModelGlobalState } from "document-model";
3
3
  import type { CodegenOptions } from "./types.js";
4
- export declare function generateAll(dir: string, legacy: boolean, args?: {
4
+ export declare function generateAll(args: {
5
+ dir: string;
6
+ useTsMorph: boolean;
7
+ useVersioning: boolean;
5
8
  watch?: boolean;
6
9
  skipFormat?: boolean;
7
10
  verbose?: boolean;
8
11
  force?: boolean;
9
12
  }): Promise<void>;
10
- export declare function generate(config: PowerhouseConfig, legacy: boolean): Promise<void>;
11
- export declare function generateFromFile(path: string, config: PowerhouseConfig, legacy: boolean, options?: CodegenOptions): Promise<void>;
13
+ export declare function generate(config: PowerhouseConfig, useTsMorph: boolean, useVersioning: boolean): Promise<void>;
14
+ export declare function generateFromFile(args: {
15
+ path: string;
16
+ config: PowerhouseConfig;
17
+ useTsMorph: boolean;
18
+ useVersioning: boolean;
19
+ options?: CodegenOptions;
20
+ }): Promise<void>;
12
21
  /**
13
22
  * Generates code from a DocumentModelGlobalState object directly.
14
23
  *
@@ -22,12 +31,19 @@ export declare function generateFromFile(path: string, config: PowerhouseConfig,
22
31
  * @param options - Optional configuration for generation behavior (verbose logging, etc.)
23
32
  * @returns A promise that resolves when code generation is complete
24
33
  */
25
- export declare function generateFromDocument(documentModelState: DocumentModelGlobalState, config: PowerhouseConfig, legacy: boolean, options?: CodegenOptions): Promise<void>;
34
+ export declare function generateFromDocument(args: {
35
+ documentModelState: DocumentModelGlobalState;
36
+ config: PowerhouseConfig;
37
+ useTsMorph: boolean;
38
+ useVersioning: boolean;
39
+ options?: CodegenOptions;
40
+ }): Promise<void>;
26
41
  type GenerateDocumentModelArgs = {
27
42
  dir: string;
28
43
  documentModelState: DocumentModelGlobalState;
44
+ useTsMorph: boolean;
45
+ useVersioning: boolean;
29
46
  specifiedPackageName?: string;
30
- legacy: boolean;
31
47
  watch?: boolean;
32
48
  skipFormat?: boolean;
33
49
  verbose?: boolean;
@@ -38,7 +54,7 @@ type GenerateEditorArgs = {
38
54
  name: string;
39
55
  documentTypes: string[];
40
56
  config: PowerhouseConfig;
41
- legacy: boolean;
57
+ useTsMorph: boolean;
42
58
  editorId?: string;
43
59
  specifiedPackageName?: string;
44
60
  editorDirName?: string;
@@ -47,7 +63,7 @@ export declare function generateEditor(args: GenerateEditorArgs): Promise<void>;
47
63
  export declare function generateDriveEditor(options: {
48
64
  name: string;
49
65
  config: PowerhouseConfig;
50
- legacy: boolean;
66
+ useTsMorph: boolean;
51
67
  appId?: string;
52
68
  allowedDocumentTypes?: string;
53
69
  isDragAndDropEnabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,19 @@
1
- import { typeDefs } from "@powerhousedao/document-engineering/graphql";
2
1
  import { paramCase } from "change-case";
3
2
  import fs from "node:fs";
4
3
  import path, { join } from "node:path";
5
4
  import { readPackage } from "read-pkg";
5
+ import semver from "semver";
6
6
  import { TSMorphCodeGenerator } from "../ts-morph-generator/index.js";
7
7
  import { tsMorphGenerateEditor } from "../ts-morph-utils/file-builders/document-editor.js";
8
8
  import { makeDocumentModelModulesFile, tsMorphGenerateDocumentModel, } from "../ts-morph-utils/file-builders/document-model.js";
9
9
  import { tsMorphGenerateDriveEditor } from "../ts-morph-utils/file-builders/drive-editor.js";
10
+ import { makeSubgraphsIndexFile } from "../ts-morph-utils/file-builders/subgraphs.js";
10
11
  import { buildTsMorphProject } from "../ts-morph-utils/ts-morph-project.js";
11
- import { generateSchema, generateSchemas } from "./graphql.js";
12
+ import { generateDocumentModelZodSchemas, generateSchemas } from "./graphql.js";
12
13
  import { hygenGenerateDocumentModel, hygenGenerateDriveEditor, hygenGenerateEditor, hygenGenerateImportScript, hygenGenerateProcessor, hygenGenerateSubgraph, } from "./hygen.js";
13
14
  import { getDocumentTypesMap, loadDocumentModel } from "./utils.js";
14
- export async function generateAll(dir, legacy, args = {}) {
15
- const { watch = false, skipFormat = false, verbose = true, force = true, } = args;
15
+ export async function generateAll(args) {
16
+ const { dir, useTsMorph, useVersioning, watch = false, skipFormat = false, verbose = true, force = true, } = args;
16
17
  const files = fs.readdirSync(dir, { withFileTypes: true });
17
18
  const documentModelStates = [];
18
19
  for (const directory of files.filter((f) => f.isDirectory())) {
@@ -21,16 +22,17 @@ export async function generateAll(dir, legacy, args = {}) {
21
22
  continue;
22
23
  }
23
24
  try {
24
- const documentModel = await loadDocumentModel(documentModelPath);
25
- documentModelStates.push(documentModel);
25
+ const documentModelState = await loadDocumentModel(documentModelPath);
26
+ documentModelStates.push(documentModelState);
26
27
  await generateDocumentModel({
27
28
  dir,
28
- documentModelState: documentModel,
29
+ documentModelState,
29
30
  watch,
30
31
  skipFormat,
31
32
  verbose,
32
33
  force,
33
- legacy,
34
+ useTsMorph,
35
+ useVersioning,
34
36
  });
35
37
  }
36
38
  catch (error) {
@@ -40,16 +42,29 @@ export async function generateAll(dir, legacy, args = {}) {
40
42
  }
41
43
  }
42
44
  }
43
- export async function generate(config, legacy) {
45
+ export async function generate(config, useTsMorph, useVersioning) {
44
46
  const { skipFormat, watch } = config;
45
47
  await generateSchemas(config.documentModelsDir, { skipFormat, watch });
46
- await generateAll(config.documentModelsDir, legacy, { skipFormat, watch });
48
+ await generateAll({
49
+ dir: config.documentModelsDir,
50
+ useTsMorph,
51
+ useVersioning,
52
+ skipFormat,
53
+ watch,
54
+ });
47
55
  }
48
- export async function generateFromFile(path, config, legacy, options = {}) {
56
+ export async function generateFromFile(args) {
57
+ const { path, config, useTsMorph, useVersioning, options } = args;
49
58
  // load document model spec from file
50
- const documentModel = await loadDocumentModel(path);
59
+ const documentModelState = await loadDocumentModel(path);
51
60
  // delegate to shared generation function
52
- await generateFromDocumentModel(documentModel, config, legacy, path, options);
61
+ await generateFromDocumentModel({
62
+ documentModelState,
63
+ config,
64
+ useTsMorph,
65
+ useVersioning,
66
+ options,
67
+ });
53
68
  }
54
69
  /**
55
70
  * Generates code from a DocumentModelGlobalState object directly.
@@ -64,39 +79,66 @@ export async function generateFromFile(path, config, legacy, options = {}) {
64
79
  * @param options - Optional configuration for generation behavior (verbose logging, etc.)
65
80
  * @returns A promise that resolves when code generation is complete
66
81
  */
67
- export async function generateFromDocument(documentModelState, config, legacy, options = {}) {
82
+ export async function generateFromDocument(args) {
68
83
  // delegate to shared generation function
69
- await generateFromDocumentModel(documentModelState, config, legacy, null, options);
84
+ await generateFromDocumentModel(args);
70
85
  }
71
86
  export async function generateDocumentModel(args) {
72
- const { dir, documentModelState, specifiedPackageName, legacy, ...hygenArgs } = args;
73
- const packageNameFromPackageJson = await readPackage().then((pkg) => pkg.name);
87
+ const { dir, documentModelState, specifiedPackageName, useTsMorph, useVersioning, ...hygenArgs } = args;
88
+ const packageJson = await readPackage();
89
+ const packageNameFromPackageJson = packageJson.name;
74
90
  const packageName = specifiedPackageName || packageNameFromPackageJson;
91
+ const zodSemverString = findZodDependencyInPackageJson(packageJson);
92
+ ensureZodVersionIsSufficient(zodSemverString);
75
93
  const projectDir = path.dirname(dir);
76
- if (legacy) {
94
+ if (!useTsMorph) {
77
95
  await hygenGenerateDocumentModel(documentModelState, dir, packageName, hygenArgs);
96
+ const specification = documentModelState.specifications[documentModelState.specifications.length - 1];
97
+ const documentModelsDirPath = path.join(projectDir, "document-models");
98
+ const documentModelDirPath = path.join(documentModelsDirPath, paramCase(documentModelState.name));
99
+ await generateDocumentModelZodSchemas({
100
+ documentModelDirPath,
101
+ specification,
102
+ });
103
+ const generator = new TSMorphCodeGenerator(projectDir, [documentModelState], packageName, {
104
+ directories: { documentModelDir: "document-models" },
105
+ forceUpdate: true,
106
+ });
107
+ await generator.generateReducers();
108
+ const project = buildTsMorphProject(projectDir);
109
+ makeDocumentModelModulesFile({
110
+ project,
111
+ projectDir,
112
+ });
78
113
  }
79
114
  else {
80
115
  await tsMorphGenerateDocumentModel({
81
116
  projectDir,
82
117
  packageName,
83
118
  documentModelState,
119
+ useVersioning,
84
120
  });
85
121
  }
86
- const generator = new TSMorphCodeGenerator(projectDir, [documentModelState], packageName, {
87
- directories: { documentModelDir: "document-models" },
88
- forceUpdate: true,
89
- });
90
- await generator.generateReducers();
91
- const project = buildTsMorphProject(projectDir);
92
- makeDocumentModelModulesFile({
93
- project,
94
- projectDir,
95
- });
122
+ }
123
+ function findZodDependencyInPackageJson(packageJson) {
124
+ const dependencies = {
125
+ ...packageJson.dependencies,
126
+ ...packageJson.devDependencies,
127
+ };
128
+ const zodDependency = dependencies["zod"];
129
+ return zodDependency;
130
+ }
131
+ function ensureZodVersionIsSufficient(zodSemverString) {
132
+ if (!zodSemverString)
133
+ return;
134
+ const isSufficient = semver.satisfies("4.1.13", zodSemverString);
135
+ if (!isSufficient) {
136
+ throw new Error(`Your version of zod "${zodSemverString}" is out of date. Please install zod version 4.x to continue.`);
137
+ }
96
138
  }
97
139
  export async function generateEditor(args) {
98
- const { name, documentTypes, config, legacy, editorId: editorIdArg, specifiedPackageName, editorDirName, } = args;
99
- if (legacy) {
140
+ const { name, documentTypes, config, useTsMorph, editorId: editorIdArg, specifiedPackageName, editorDirName, } = args;
141
+ if (!useTsMorph) {
100
142
  const pathOrigin = "../../";
101
143
  const { documentModelsDir, skipFormat } = config;
102
144
  const documentTypesMap = getDocumentTypesMap(documentModelsDir, pathOrigin);
@@ -138,12 +180,12 @@ export async function generateEditor(args) {
138
180
  });
139
181
  }
140
182
  export async function generateDriveEditor(options) {
141
- const { name, config, appId, allowedDocumentTypes, isDragAndDropEnabled, driveEditorDirName, specifiedPackageName, legacy, } = options;
183
+ const { name, config, appId, allowedDocumentTypes, isDragAndDropEnabled, driveEditorDirName, specifiedPackageName, useTsMorph, } = options;
142
184
  const dir = config.editorsDir;
143
185
  const packageNameFromPackageJson = await readPackage().then((pkg) => pkg.name);
144
186
  const packageName = specifiedPackageName || packageNameFromPackageJson;
145
187
  const projectDir = path.dirname(dir);
146
- if (legacy) {
188
+ if (!useTsMorph) {
147
189
  const { name, config, appId, allowedDocumentTypes, isDragAndDropEnabled, driveEditorDirName, } = options;
148
190
  const dir = config.editorsDir;
149
191
  const skipFormat = config.skipFormat;
@@ -168,10 +210,16 @@ export async function generateDriveEditor(options) {
168
210
  });
169
211
  }
170
212
  export async function generateSubgraphFromDocumentModel(name, documentModel, config, options = {}) {
171
- return hygenGenerateSubgraph(name, documentModel, { ...config, ...options });
213
+ await hygenGenerateSubgraph(name, documentModel, { ...config, ...options });
214
+ makeSubgraphsIndexFile({ projectDir: path.dirname(config.subgraphsDir) });
172
215
  }
173
216
  export async function generateSubgraph(name, file, config, options = {}) {
174
- return hygenGenerateSubgraph(name, file !== null ? await loadDocumentModel(file) : null, { ...config, ...options });
217
+ const documentModelState = file !== null ? await loadDocumentModel(file) : null;
218
+ await hygenGenerateSubgraph(name, documentModelState, {
219
+ ...config,
220
+ ...options,
221
+ });
222
+ makeSubgraphsIndexFile({ projectDir: path.dirname(config.subgraphsDir) });
175
223
  }
176
224
  export async function generateProcessor(name, type, documentTypes, config) {
177
225
  const { skipFormat } = config;
@@ -182,24 +230,24 @@ export async function generateImportScript(name, config) {
182
230
  skipFormat: config.skipFormat,
183
231
  });
184
232
  }
233
+ const defaultManifest = {
234
+ name: "",
235
+ description: "",
236
+ category: "",
237
+ publisher: {
238
+ name: "",
239
+ url: "",
240
+ },
241
+ documentModels: [],
242
+ editors: [],
243
+ apps: [],
244
+ subgraphs: [],
245
+ importScripts: [],
246
+ };
185
247
  export function generateManifest(manifestData, projectRoot) {
186
248
  const rootDir = projectRoot || process.cwd();
187
249
  const manifestPath = join(rootDir, "powerhouse.manifest.json");
188
250
  // Create default manifest structure
189
- const defaultManifest = {
190
- name: "",
191
- description: "",
192
- category: "",
193
- publisher: {
194
- name: "",
195
- url: "",
196
- },
197
- documentModels: [],
198
- editors: [],
199
- apps: [],
200
- subgraphs: [],
201
- importScripts: [],
202
- };
203
251
  // Read existing manifest if it exists
204
252
  let existingManifest = defaultManifest;
205
253
  if (fs.existsSync(manifestPath)) {
@@ -248,25 +296,6 @@ export function generateManifest(manifestData, projectRoot) {
248
296
  fs.writeFileSync(manifestPath, JSON.stringify(updatedManifest, null, 4));
249
297
  return manifestPath;
250
298
  }
251
- function generateGraphqlSchema(documentModel) {
252
- const spec = documentModel.specifications[documentModel.specifications.length - 1];
253
- if (!spec) {
254
- throw new Error(`No spec found for ${documentModel.id}`);
255
- }
256
- const { modules, state: { global, local }, } = spec;
257
- const schemas = [
258
- global.schema,
259
- local.schema,
260
- ...modules
261
- .map((module) => [
262
- `# ${module.name}`,
263
- ...module.operations.map((op) => op.schema),
264
- ])
265
- .flat()
266
- .filter((schema) => schema && schema.length > 0),
267
- ];
268
- return schemas.join("\n\n");
269
- }
270
299
  /**
271
300
  * Generates code from a DocumentModelGlobalState.
272
301
  *
@@ -276,41 +305,30 @@ function generateGraphqlSchema(documentModel) {
276
305
  *
277
306
  * @param documentModel - The DocumentModelGlobalState containing the document model specification
278
307
  * @param config - The PowerhouseConfig configuration object
279
- * @param filePath - Optional file path for generateSubgraph (null if not from file)
280
308
  * @param options - Optional configuration for generation behavior
281
309
  * @returns A promise that resolves when code generation is complete
282
310
  */
283
- async function generateFromDocumentModel(documentModel, config, legacy, filePath, options = {}) {
311
+ async function generateFromDocumentModel(args) {
312
+ const { documentModelState, config, useTsMorph, useVersioning, options = {}, } = args;
284
313
  // Derive verbose from config.logLevel if not explicitly provided
285
314
  // Show hygen logs for verbose, debug, and info levels (default behavior before ts-morph)
286
315
  const { verbose = config.logLevel === "verbose" ||
287
316
  config.logLevel === "debug" ||
288
317
  config.logLevel === "info", force = false, } = options;
289
- const name = paramCase(documentModel.name);
318
+ const name = paramCase(documentModelState.name);
319
+ const documentModelDir = join(config.documentModelsDir, name);
290
320
  // create document model folder and spec as json
291
- fs.mkdirSync(join(config.documentModelsDir, name), { recursive: true });
292
- fs.writeFileSync(join(config.documentModelsDir, name, `${name}.json`), JSON.stringify(documentModel, null, 4));
293
- // bundle graphql schemas together
294
- const schemaStr = [
295
- typeDefs.join("\n"), // inject ph scalars
296
- generateGraphqlSchema(documentModel),
297
- ].join("\n");
298
- if (schemaStr) {
299
- fs.writeFileSync(join(config.documentModelsDir, name, `schema.graphql`), schemaStr);
300
- }
301
- await generateSchema(name, config.documentModelsDir, {
302
- skipFormat: config.skipFormat,
303
- verbose,
304
- });
321
+ fs.mkdirSync(documentModelDir, { recursive: true });
322
+ fs.writeFileSync(join(documentModelDir, `${name}.json`), JSON.stringify(documentModelState, null, 2));
305
323
  await generateDocumentModel({
306
324
  dir: config.documentModelsDir,
307
- documentModelState: documentModel,
325
+ documentModelState,
308
326
  watch: config.watch,
309
327
  skipFormat: config.skipFormat,
310
328
  verbose,
311
329
  force,
312
- legacy,
330
+ useTsMorph,
331
+ useVersioning,
313
332
  });
314
- await generateSubgraph(name, filePath || null, config, { verbose });
315
333
  }
316
334
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import type { CodegenConfig } from "@graphql-codegen/cli";
2
- import type { TypeScriptPluginConfig } from "@graphql-codegen/typescript";
1
+ import type { DocumentSpecification } from "document-model";
3
2
  export declare const scalars: {
4
3
  Unknown: string;
5
4
  DateTime: string;
@@ -12,22 +11,26 @@ export declare const scalarsValidation: {
12
11
  Attachment: string;
13
12
  Address: string;
14
13
  };
15
- export declare const tsConfig: TypeScriptPluginConfig;
16
- export declare const zodConfig: Record<string, unknown>;
17
- export declare function schemaConfig(name: string, inDir: string, outDir: string): CodegenConfig["generates"];
18
- export declare const generateSchema: (model: string, inDir: string, { watch, skipFormat, outDir, verbose }?: {
19
- watch?: boolean | undefined;
20
- skipFormat?: boolean | undefined;
21
- outDir?: string | undefined;
22
- verbose?: boolean | undefined;
23
- }) => Promise<{
24
- filename: string;
25
- content: string;
26
- hooks: Record<string, unknown>;
27
- }[]>;
28
- export declare const generateSchemas: (inDir: string, { watch, skipFormat, outDir }?: {
14
+ type GenerateTypesAndZodSchemasFromGraphqlArgs = {
15
+ dirName: string;
16
+ schema: string;
17
+ skipFormat?: boolean;
18
+ writeFile?: boolean;
19
+ watch?: boolean;
20
+ };
21
+ export declare function generateTypesAndZodSchemasFromGraphql(args: GenerateTypesAndZodSchemasFromGraphqlArgs): Promise<void>;
22
+ export declare function generateDocumentModelZodSchemas(args: {
23
+ documentModelDirPath: string;
24
+ specification: DocumentSpecification;
25
+ writeFile?: boolean;
26
+ skipFormat?: boolean;
27
+ watch?: boolean;
28
+ }): Promise<void>;
29
+ export declare const generateSchemas: (inDir: string, { watch, skipFormat, writeFile, outDir }?: {
29
30
  watch?: boolean | undefined;
30
31
  skipFormat?: boolean | undefined;
32
+ writeFile?: boolean | undefined;
31
33
  outDir?: string | undefined;
32
- }) => Promise<any>;
34
+ }) => Promise<void>;
35
+ export {};
33
36
  //# sourceMappingURL=graphql.d.ts.map