@powerhousedao/codegen 6.0.0-dev.109 → 6.0.0-dev.110

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 (153) hide show
  1. package/dist/src/codegen/__tests__/config.d.ts +0 -1
  2. package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
  3. package/dist/src/codegen/__tests__/config.js +0 -1
  4. package/dist/src/codegen/__tests__/config.js.map +1 -1
  5. package/dist/src/codegen/__tests__/generate-doc-model.test.js +0 -1
  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 +0 -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 +0 -4
  10. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  11. package/dist/src/codegen/__tests__/generate-processor.test.js +0 -1
  12. package/dist/src/codegen/__tests__/generate-processor.test.js.map +1 -1
  13. package/dist/src/codegen/__tests__/generate-subgraph.test.d.ts +2 -0
  14. package/dist/src/codegen/__tests__/generate-subgraph.test.d.ts.map +1 -0
  15. package/dist/src/codegen/__tests__/generate-subgraph.test.js +197 -0
  16. package/dist/src/codegen/__tests__/generate-subgraph.test.js.map +1 -0
  17. package/dist/src/codegen/generate.d.ts +10 -17
  18. package/dist/src/codegen/generate.d.ts.map +1 -1
  19. package/dist/src/codegen/generate.js +38 -101
  20. package/dist/src/codegen/generate.js.map +1 -1
  21. package/dist/src/codegen/index.d.ts +0 -1
  22. package/dist/src/codegen/index.d.ts.map +1 -1
  23. package/dist/src/codegen/index.js +0 -1
  24. package/dist/src/codegen/index.js.map +1 -1
  25. package/dist/src/file-builders/index.d.ts +1 -0
  26. package/dist/src/file-builders/index.d.ts.map +1 -1
  27. package/dist/src/file-builders/index.js +1 -0
  28. package/dist/src/file-builders/index.js.map +1 -1
  29. package/dist/src/file-builders/subgraph.d.ts +10 -0
  30. package/dist/src/file-builders/subgraph.d.ts.map +1 -0
  31. package/dist/src/file-builders/subgraph.js +121 -0
  32. package/dist/src/file-builders/subgraph.js.map +1 -0
  33. package/dist/src/templates/index.d.ts +1 -0
  34. package/dist/src/templates/index.d.ts.map +1 -1
  35. package/dist/src/templates/index.js +1 -0
  36. package/dist/src/templates/index.js.map +1 -1
  37. package/dist/src/templates/subgraphs/custom-resolvers.d.ts +5 -0
  38. package/dist/src/templates/subgraphs/custom-resolvers.d.ts.map +1 -0
  39. package/dist/src/{codegen/.hygen/templates/powerhouse/generate-custom-subgraph/resolvers.esm.t → templates/subgraphs/custom-resolvers.js} +6 -6
  40. package/dist/src/templates/subgraphs/custom-resolvers.js.map +1 -0
  41. package/dist/src/templates/subgraphs/custom-schema.d.ts +5 -0
  42. package/dist/src/templates/subgraphs/custom-schema.d.ts.map +1 -0
  43. package/dist/src/templates/subgraphs/custom-schema.js +20 -0
  44. package/dist/src/templates/subgraphs/custom-schema.js.map +1 -0
  45. package/dist/src/templates/subgraphs/document-model-resolvers.d.ts +15 -0
  46. package/dist/src/templates/subgraphs/document-model-resolvers.d.ts.map +1 -0
  47. package/dist/src/{codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t → templates/subgraphs/document-model-resolvers.js} +55 -47
  48. package/dist/src/templates/subgraphs/document-model-resolvers.js.map +1 -0
  49. package/dist/src/templates/subgraphs/document-model-schema.d.ts +12 -0
  50. package/dist/src/templates/subgraphs/document-model-schema.d.ts.map +1 -0
  51. package/dist/src/templates/subgraphs/document-model-schema.js +54 -0
  52. package/dist/src/templates/subgraphs/document-model-schema.js.map +1 -0
  53. package/dist/src/templates/subgraphs/index-file.d.ts +5 -0
  54. package/dist/src/templates/subgraphs/index-file.d.ts.map +1 -0
  55. package/dist/src/{codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t → templates/subgraphs/index-file.js} +7 -7
  56. package/dist/src/templates/subgraphs/index-file.js.map +1 -0
  57. package/dist/src/templates/subgraphs/index.d.ts +7 -0
  58. package/dist/src/templates/subgraphs/index.d.ts.map +1 -0
  59. package/dist/src/templates/subgraphs/index.js +7 -0
  60. package/dist/src/templates/subgraphs/index.js.map +1 -0
  61. package/dist/src/templates/subgraphs/lib-file.d.ts +2 -0
  62. package/dist/src/templates/subgraphs/lib-file.d.ts.map +1 -0
  63. package/dist/src/templates/subgraphs/lib-file.js +8 -0
  64. package/dist/src/templates/subgraphs/lib-file.js.map +1 -0
  65. package/dist/src/utils/cli.d.ts +0 -6
  66. package/dist/src/utils/cli.d.ts.map +1 -1
  67. package/dist/src/utils/cli.js +0 -18
  68. package/dist/src/utils/cli.js.map +1 -1
  69. package/dist/src/utils/graphql-type-prefixes.d.ts +10 -0
  70. package/dist/src/utils/graphql-type-prefixes.d.ts.map +1 -0
  71. package/dist/src/utils/graphql-type-prefixes.js +51 -0
  72. package/dist/src/utils/graphql-type-prefixes.js.map +1 -0
  73. package/dist/src/utils/index.d.ts +1 -0
  74. package/dist/src/utils/index.d.ts.map +1 -1
  75. package/dist/src/utils/index.js +1 -0
  76. package/dist/src/utils/index.js.map +1 -1
  77. package/dist/tsconfig.tsbuildinfo +1 -1
  78. package/package.json +9 -18
  79. package/dist/src/codegen/.hygen/package.json +0 -6
  80. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js +0 -10
  81. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/schema.esm.t +0 -20
  82. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/actions.esm.t +0 -16
  83. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/creators.esm.t +0 -9
  84. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/customUtils.esm.t +0 -5
  85. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-schema.esm.t +0 -56
  86. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-type.esm.t +0 -6
  87. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModel.esm.t +0 -7
  88. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModelTest.esm.t +0 -121
  89. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/hooks.esm.t +0 -49
  90. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +0 -23
  91. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js +0 -127
  92. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/module.esm.t +0 -22
  93. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +0 -93
  94. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +0 -46
  95. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/root-utils.esm.t +0 -11
  96. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootActions.esm.t +0 -13
  97. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +0 -14
  98. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/schema.esm.t +0 -6
  99. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/src-index.esm.t +0 -5
  100. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +0 -31
  101. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +0 -77
  102. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/actions.esm.t +0 -22
  103. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +0 -37
  104. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +0 -44
  105. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +0 -36
  106. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +0 -71
  107. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/operations.esm.t +0 -17
  108. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js +0 -119
  109. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +0 -44
  110. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +0 -58
  111. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveContents.esm.t +0 -23
  112. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +0 -32
  113. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EmptyState.esm.t +0 -19
  114. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Files.esm.t +0 -29
  115. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +0 -108
  116. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Folders.esm.t +0 -28
  117. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/NavigationBreadcrumbs.esm.t +0 -14
  118. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/config.esm.t +0 -11
  119. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +0 -20
  120. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +0 -25
  121. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/module.esm.t +0 -15
  122. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +0 -80
  123. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +0 -90
  124. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/module.esm.t +0 -16
  125. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.esm.t +0 -59
  126. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +0 -9
  127. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/utils.esm.t +0 -100
  128. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +0 -22
  129. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +0 -62
  130. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +0 -12
  131. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.esm.t +0 -10
  132. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.inject.esm.t +0 -12
  133. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +0 -34
  134. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_call.esm.t +0 -7
  135. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_export.esm.t +0 -7
  136. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_import.esm.t +0 -7
  137. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +0 -40
  138. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +0 -47
  139. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js +0 -12
  140. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.esm.t +0 -10
  141. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.inject.esm.t +0 -12
  142. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +0 -34
  143. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_call.esm.t +0 -7
  144. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_export.esm.t +0 -9
  145. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_import.esm.t +0 -7
  146. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/migrations.esm.t +0 -23
  147. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/schema.esm.t +0 -13
  148. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +0 -10
  149. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.esm.t +0 -9
  150. package/dist/src/codegen/hygen.d.ts +0 -47
  151. package/dist/src/codegen/hygen.d.ts.map +0 -1
  152. package/dist/src/codegen/hygen.js +0 -230
  153. package/dist/src/codegen/hygen.js.map +0 -1
@@ -1,230 +0,0 @@
1
- import { makeEditorsModulesFile } from "@powerhousedao/codegen/file-builders";
2
- import { buildTsMorphProject } from "@powerhousedao/codegen/utils";
3
- import { pascalCase } from "change-case";
4
- import { Logger, runner } from "hygen";
5
- import { createRequire } from "node:module";
6
- import path from "node:path";
7
- import { fileURLToPath } from "node:url";
8
- import { readPackage } from "read-pkg";
9
- const require = createRequire(import.meta.url);
10
- const __dirname = import.meta.dirname || path.dirname(fileURLToPath(import.meta.url));
11
- const defaultTemplates = path.join(__dirname, ".hygen", "templates");
12
- export async function run(args, { watch = false, skipFormat = false, verbose = true } = {}) {
13
- // Create logger that respects verbose setting
14
- const logFunction = verbose ? console.log.bind(console) : () => { };
15
- const logger = new Logger(logFunction);
16
- const result = await runner(args, {
17
- templates: defaultTemplates,
18
- cwd: process.cwd(),
19
- logger,
20
- createPrompter: () => {
21
- return require("enquirer");
22
- },
23
- exec: (action, body) => {
24
- const opts = body && body.length > 0 ? { input: body } : {};
25
- return require("execa").shell(action, opts);
26
- },
27
- debug: !!process.env.DEBUG,
28
- });
29
- if (!skipFormat) {
30
- const prettier = await import("prettier");
31
- const fs = await import("fs/promises");
32
- const actions = result.actions;
33
- const filesToFormat = actions
34
- .filter((action) => ["added", "inject"].includes(action.status))
35
- .map((action) => action.subject.replace("./", `${process.cwd()}/`))
36
- .map((filePath) => filePath.startsWith(process.cwd())
37
- ? filePath
38
- : `${process.cwd()}/${filePath}`);
39
- if (filesToFormat.length > 0) {
40
- const config = await prettier.resolveConfig(process.cwd());
41
- await Promise.all(filesToFormat.map(async (filePath) => {
42
- try {
43
- const text = await fs.readFile(filePath, "utf8");
44
- const formatted = await prettier.format(text, {
45
- ...config,
46
- filepath: filePath,
47
- });
48
- await fs.writeFile(filePath, formatted);
49
- }
50
- catch (err) {
51
- if (verbose) {
52
- console.log(err);
53
- }
54
- }
55
- }));
56
- }
57
- }
58
- return result;
59
- }
60
- export async function hygenGenerateDocumentModel(documentModelState, dir, packageName, { watch = false, skipFormat = false, verbose = true, force = true } = {}) {
61
- const projectDir = path.dirname(dir);
62
- const documentModelDir = path.basename(dir);
63
- // Generate the singular files for the document model logic
64
- await run([
65
- "powerhouse",
66
- "generate-document-model",
67
- "--document-model",
68
- JSON.stringify(documentModelState),
69
- "--root-dir",
70
- dir,
71
- "--package-name",
72
- packageName,
73
- ], { watch, skipFormat, verbose });
74
- const latestSpec = documentModelState.specifications[documentModelState.specifications.length - 1];
75
- // Generate the module-specific files for the document model logic
76
- for (const module of latestSpec.modules) {
77
- await run([
78
- "powerhouse",
79
- "generate-document-model-module",
80
- "--document-model",
81
- JSON.stringify(documentModelState),
82
- "--root-dir",
83
- dir,
84
- "--module",
85
- module.name,
86
- "--package-name",
87
- packageName,
88
- ], { watch, skipFormat, verbose });
89
- }
90
- }
91
- export async function hygenGenerateEditor(hygenGenerateEditorArgs) {
92
- const { name, documentTypes, documentTypesMap, dir, documentModelsDir, packageName, skipFormat = false, verbose = true, editorId, editorDirName, } = hygenGenerateEditorArgs;
93
- // Generate the singular files for the document model logic
94
- const args = [
95
- "powerhouse",
96
- "generate-editor",
97
- "--name",
98
- name,
99
- "--root-dir",
100
- dir,
101
- "--document-types",
102
- documentTypes.join(","),
103
- "--document-types-map",
104
- JSON.stringify(documentTypesMap),
105
- "--document-models-dir",
106
- documentModelsDir,
107
- "--package-name",
108
- packageName,
109
- ];
110
- if (editorId) {
111
- args.push("--editor-id", editorId);
112
- }
113
- if (editorDirName) {
114
- args.push("--editor-dir-name", editorDirName);
115
- }
116
- await run(args, { skipFormat, verbose });
117
- const projectDir = path.dirname(dir);
118
- const project = buildTsMorphProject(projectDir);
119
- await makeEditorsModulesFile(project, projectDir);
120
- await project.save();
121
- }
122
- export async function hygenGenerateProcessor(name, documentTypes, outDir, type, { skipFormat = false, verbose = true } = {}) {
123
- // Generate the singular files for the document model logic
124
- const processorType = type === "relationalDb" ? "relationalDb" : "analytics";
125
- await run([
126
- "powerhouse",
127
- `generate-processor-${processorType}`,
128
- "--name",
129
- name,
130
- "--pascalName",
131
- pascalCase(name),
132
- "--root-dir",
133
- outDir,
134
- "--document-types",
135
- documentTypes.join(","),
136
- ], { skipFormat, verbose });
137
- }
138
- export async function hygenGenerateSubgraph(name, documentModel, config) {
139
- const dir = config?.subgraphsDir || "";
140
- const packageName = await readPackage().then((pkg) => pkg.name);
141
- const skipFormat = config?.skipFormat || false;
142
- const verbose = config?.verbose || false;
143
- const params = [
144
- "powerhouse",
145
- `generate-subgraph`,
146
- "--name",
147
- name,
148
- "--pascalName",
149
- pascalCase(name),
150
- "--root-dir",
151
- dir,
152
- "--package-name",
153
- packageName,
154
- ];
155
- if (documentModel) {
156
- params.push("--loadFromFile", "1");
157
- }
158
- // Generate the singular files for the document model logic
159
- await run(params, { skipFormat, verbose });
160
- if (documentModel) {
161
- // Generate the GraphQL mutation schemas
162
- await run([
163
- "powerhouse",
164
- "generate-document-model-subgraph",
165
- "--subgraph",
166
- name,
167
- "--document-model",
168
- JSON.stringify(documentModel),
169
- "--root-dir",
170
- dir,
171
- "--package-name",
172
- packageName,
173
- ], { skipFormat, verbose });
174
- }
175
- else {
176
- await run([
177
- "powerhouse",
178
- "generate-custom-subgraph",
179
- "--subgraph",
180
- name,
181
- "--root-dir",
182
- dir,
183
- "--package-name",
184
- packageName,
185
- ], { skipFormat, verbose });
186
- }
187
- }
188
- export async function hygenGenerateImportScript(name, dir, { skipFormat = false, verbose = true } = {}) {
189
- // Generate the singular files for the document model logic
190
- await run([
191
- "powerhouse",
192
- `generate-import-script`,
193
- "--name",
194
- name,
195
- "--pascalName",
196
- pascalCase(name),
197
- "--root-dir",
198
- dir,
199
- ], { skipFormat, verbose });
200
- }
201
- export async function hygenGenerateDriveEditor(options) {
202
- const { name, dir, appId, skipFormat, allowedDocumentTypes, isDragAndDropEnabled, driveEditorDirName, } = options;
203
- const allowedDocumentTypesString = JSON.stringify(allowedDocumentTypes && allowedDocumentTypes.length > 0
204
- ? allowedDocumentTypes.split(",")
205
- : []);
206
- // Generate the drive editor files
207
- const args = [
208
- "powerhouse",
209
- "generate-drive-editor",
210
- "--name",
211
- name,
212
- "--root-dir",
213
- dir,
214
- "--app-id",
215
- appId,
216
- "--allowed-document-types",
217
- allowedDocumentTypesString,
218
- "--is-drag-and-drop-enabled",
219
- isDragAndDropEnabled ? "true" : "false",
220
- ];
221
- if (driveEditorDirName) {
222
- args.push("--drive-editor-dir-name", driveEditorDirName);
223
- }
224
- await run(args, { skipFormat });
225
- const projectDir = path.dirname(dir);
226
- const project = buildTsMorphProject(projectDir);
227
- await makeEditorsModulesFile(project, projectDir);
228
- await project.save();
229
- }
230
- //# sourceMappingURL=hygen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hygen.js","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"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"}