@powerhousedao/codegen 5.1.0-dev.15 → 5.1.0-dev.18
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.
- package/dist/src/codegen/__tests__/generate-doc-model.test.js +63 -72
- package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts +2 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts.map +1 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +142 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -0
- package/dist/src/codegen/generate.d.ts +21 -5
- package/dist/src/codegen/generate.d.ts.map +1 -1
- package/dist/src/codegen/generate.js +98 -78
- package/dist/src/codegen/generate.js.map +1 -1
- package/dist/src/codegen/graphql.d.ts +20 -17
- package/dist/src/codegen/graphql.d.ts.map +1 -1
- package/dist/src/codegen/graphql.js +105 -78
- package/dist/src/codegen/graphql.js.map +1 -1
- package/dist/src/codegen/hygen.d.ts.map +1 -1
- package/dist/src/codegen/hygen.js +0 -1
- package/dist/src/codegen/hygen.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js +53 -44
- package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js +20 -23
- package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js +193 -21
- package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts +21 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts +31 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js +136 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model.d.ts +2 -2
- package/dist/src/ts-morph-utils/file-builders/document-model.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model.js +210 -28
- package/dist/src/ts-morph-utils/file-builders/document-model.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/index-files.d.ts +2 -1
- package/dist/src/ts-morph-utils/file-builders/index-files.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/index-files.js +6 -2
- package/dist/src/ts-morph-utils/file-builders/index-files.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/module-files.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/module-files.js +20 -8
- package/dist/src/ts-morph-utils/file-builders/module-files.js.map +1 -1
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts +5 -23
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.js +26 -34
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.js.map +1 -1
- package/dist/src/ts-morph-utils/name-builders/types.d.ts +6 -2
- package/dist/src/ts-morph-utils/name-builders/types.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/syntax-getters.d.ts +1 -0
- package/dist/src/ts-morph-utils/syntax-getters.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/syntax-getters.js +6 -0
- package/dist/src/ts-morph-utils/syntax-getters.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/actions.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/index.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.js +14 -14
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js +18 -18
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/hooks.js +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/hooks.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/module.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/module.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/module.js +3 -3
- package/dist/src/ts-morph-utils/templates/document-model/module.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts +5 -2
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js +24 -4
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts +7 -0
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js +22 -0
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js.map +1 -0
- package/dist/src/utils/mock.d.ts +2 -3
- package/dist/src/utils/mock.d.ts.map +1 -1
- package/dist/src/utils/mock.js +4 -4
- package/dist/src/utils/mock.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -12
- package/dist/src/codegen/__tests__/generate-schemas.test.d.ts +0 -2
- package/dist/src/codegen/__tests__/generate-schemas.test.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/generate-schemas.test.js +0 -143
- package/dist/src/codegen/__tests__/generate-schemas.test.js.map +0 -1
|
@@ -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 {
|
|
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(
|
|
15
|
-
const { watch = false, skipFormat = false, verbose = true, force = true, } = args;
|
|
15
|
+
export async function generateAll(args) {
|
|
16
|
+
const { dir, legacy, 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
|
|
25
|
-
documentModelStates.push(
|
|
25
|
+
const documentModelState = await loadDocumentModel(documentModelPath);
|
|
26
|
+
documentModelStates.push(documentModelState);
|
|
26
27
|
await generateDocumentModel({
|
|
27
28
|
dir,
|
|
28
|
-
documentModelState
|
|
29
|
+
documentModelState,
|
|
29
30
|
watch,
|
|
30
31
|
skipFormat,
|
|
31
32
|
verbose,
|
|
32
33
|
force,
|
|
33
34
|
legacy,
|
|
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, legacy, useVersioning) {
|
|
44
46
|
const { skipFormat, watch } = config;
|
|
45
47
|
await generateSchemas(config.documentModelsDir, { skipFormat, watch });
|
|
46
|
-
await generateAll(
|
|
48
|
+
await generateAll({
|
|
49
|
+
dir: config.documentModelsDir,
|
|
50
|
+
legacy,
|
|
51
|
+
useVersioning,
|
|
52
|
+
skipFormat,
|
|
53
|
+
watch,
|
|
54
|
+
});
|
|
47
55
|
}
|
|
48
|
-
export async function generateFromFile(
|
|
56
|
+
export async function generateFromFile(args) {
|
|
57
|
+
const { path, config, legacy, useVersioning, options } = args;
|
|
49
58
|
// load document model spec from file
|
|
50
|
-
const
|
|
59
|
+
const documentModelState = await loadDocumentModel(path);
|
|
51
60
|
// delegate to shared generation function
|
|
52
|
-
await generateFromDocumentModel(
|
|
61
|
+
await generateFromDocumentModel({
|
|
62
|
+
documentModelState,
|
|
63
|
+
config,
|
|
64
|
+
legacy,
|
|
65
|
+
useVersioning,
|
|
66
|
+
options,
|
|
67
|
+
});
|
|
53
68
|
}
|
|
54
69
|
/**
|
|
55
70
|
* Generates code from a DocumentModelGlobalState object directly.
|
|
@@ -64,35 +79,62 @@ 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(
|
|
82
|
+
export async function generateFromDocument(args) {
|
|
68
83
|
// delegate to shared generation function
|
|
69
|
-
await generateFromDocumentModel(
|
|
84
|
+
await generateFromDocumentModel({ ...args, filePath: null });
|
|
70
85
|
}
|
|
71
86
|
export async function generateDocumentModel(args) {
|
|
72
|
-
const { dir, documentModelState, specifiedPackageName, legacy, ...hygenArgs } = args;
|
|
73
|
-
const
|
|
87
|
+
const { dir, documentModelState, specifiedPackageName, legacy, 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
94
|
if (legacy) {
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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
140
|
const { name, documentTypes, config, legacy, editorId: editorIdArg, specifiedPackageName, editorDirName, } = args;
|
|
@@ -168,10 +210,16 @@ export async function generateDriveEditor(options) {
|
|
|
168
210
|
});
|
|
169
211
|
}
|
|
170
212
|
export async function generateSubgraphFromDocumentModel(name, documentModel, config, options = {}) {
|
|
171
|
-
|
|
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
|
-
|
|
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
|
*
|
|
@@ -280,36 +309,27 @@ function generateGraphqlSchema(documentModel) {
|
|
|
280
309
|
* @param options - Optional configuration for generation behavior
|
|
281
310
|
* @returns A promise that resolves when code generation is complete
|
|
282
311
|
*/
|
|
283
|
-
async function generateFromDocumentModel(
|
|
312
|
+
async function generateFromDocumentModel(args) {
|
|
313
|
+
const { documentModelState, config, legacy, useVersioning, filePath, options = {}, } = args;
|
|
284
314
|
// Derive verbose from config.logLevel if not explicitly provided
|
|
285
315
|
// Show hygen logs for verbose, debug, and info levels (default behavior before ts-morph)
|
|
286
316
|
const { verbose = config.logLevel === "verbose" ||
|
|
287
317
|
config.logLevel === "debug" ||
|
|
288
318
|
config.logLevel === "info", force = false, } = options;
|
|
289
|
-
const name = paramCase(
|
|
319
|
+
const name = paramCase(documentModelState.name);
|
|
320
|
+
const documentModelDir = join(config.documentModelsDir, name);
|
|
290
321
|
// create document model folder and spec as json
|
|
291
|
-
fs.mkdirSync(
|
|
292
|
-
fs.writeFileSync(join(
|
|
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
|
-
});
|
|
322
|
+
fs.mkdirSync(documentModelDir, { recursive: true });
|
|
323
|
+
fs.writeFileSync(join(documentModelDir, `${name}.json`), JSON.stringify(documentModelState, null, 2));
|
|
305
324
|
await generateDocumentModel({
|
|
306
325
|
dir: config.documentModelsDir,
|
|
307
|
-
documentModelState
|
|
326
|
+
documentModelState,
|
|
308
327
|
watch: config.watch,
|
|
309
328
|
skipFormat: config.skipFormat,
|
|
310
329
|
verbose,
|
|
311
330
|
force,
|
|
312
331
|
legacy,
|
|
332
|
+
useVersioning,
|
|
313
333
|
});
|
|
314
334
|
await generateSubgraph(name, filePath || null, config, { verbose });
|
|
315
335
|
}
|
|
@@ -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":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAA8B,MAAM,UAAU,CAAC;AACnE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAQjC;IACC,MAAM,EACJ,GAAG,EACH,MAAM,EACN,aAAa,EACb,KAAK,GAAG,KAAK,EACb,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,IAAI,EACd,KAAK,GAAG,IAAI,GACb,GAAG,IAAI,CAAC;IACT,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,mBAAmB,GAA+B,EAAE,CAAC;IAE3D,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC7D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,GAAG,EACH,SAAS,CAAC,IAAI,EACd,GAAG,SAAS,CAAC,IAAI,OAAO,CACzB,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YACtE,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE7C,MAAM,qBAAqB,CAAC;gBAC1B,GAAG;gBACH,kBAAkB;gBAClB,KAAK;gBACL,UAAU;gBACV,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,aAAa;aACd,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAwB,EACxB,MAAe,EACf,aAAsB;IAEtB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACrC,MAAM,eAAe,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,MAAM,WAAW,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC,iBAAiB;QAC7B,MAAM;QACN,aAAa;QACb,UAAU;QACV,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAMtC;IACC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC9D,qCAAqC;IACrC,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEzD,yCAAyC;IACzC,MAAM,yBAAyB,CAAC;QAC9B,kBAAkB;QAClB,MAAM;QACN,MAAM;QACN,aAAa;QACb,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAM1C;IACC,yCAAyC;IACzC,MAAM,yBAAyB,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAA+B;IACzE,MAAM,EACJ,GAAG,EACH,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,EACN,aAAa,EACb,GAAG,SAAS,EACb,GAAG,IAAI,CAAC;IACT,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE,CAAC;IACxC,MAAM,0BAA0B,GAAG,WAAW,CAAC,IAAI,CAAC;IACpD,MAAM,WAAW,GAAG,oBAAoB,IAAI,0BAA0B,CAAC;IACvE,MAAM,eAAe,GAAG,8BAA8B,CAAC,WAAW,CAAC,CAAC;IACpE,4BAA4B,CAAC,eAAe,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,0BAA0B,CAC9B,kBAAkB,EAClB,GAAG,EACH,WAAW,EACX,SAAS,CACV,CAAC;QACF,MAAM,aAAa,GACjB,kBAAkB,CAAC,cAAc,CAC/B,kBAAkB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAC7C,CAAC;QAEJ,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QACvE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CACpC,qBAAqB,EACrB,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACnC,CAAC;QAEF,MAAM,+BAA+B,CAAC;YACpC,oBAAoB;YACpB,aAAa;SACd,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,CACxC,UAAU,EACV,CAAC,kBAAkB,CAAC,EACpB,WAAW,EACX;YACE,WAAW,EAAE,EAAE,gBAAgB,EAAE,iBAAiB,EAAE;YACpD,WAAW,EAAE,IAAI;SAClB,CACF,CAAC;QAEF,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAEnC,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAChD,4BAA4B,CAAC;YAC3B,OAAO;YACP,UAAU;SACX,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,4BAA4B,CAAC;YACjC,UAAU;YACV,WAAW;YACX,kBAAkB;YAClB,aAAa;SACd,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,WAAkC;IAElC,MAAM,YAAY,GAAG;QACnB,GAAG,WAAW,CAAC,YAAY;QAC3B,GAAG,WAAW,CAAC,eAAe;KAC/B,CAAC;IACF,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,4BAA4B,CAAC,eAAmC;IACvE,IAAI,CAAC,eAAe;QAAE,OAAO;IAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACjE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,wBAAwB,eAAe,+DAA+D,CACvG,CAAC;IACJ,CAAC;AACH,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAwB;IAC3D,MAAM,EACJ,IAAI,EACJ,aAAa,EACb,MAAM,EACN,MAAM,EACN,QAAQ,EAAE,WAAW,EACrB,oBAAoB,EACpB,aAAa,GACd,GAAG,IAAI,CAAC;IAET,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,QAAQ,CAAC;QAE5B,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QACjD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAE5E,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxD,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,sBAAsB,WAAW,2FAA2F,iBAAiB,oCAAoC,CAClL,CAAC;QACJ,CAAC;QACD,MAAM,0BAA0B,GAAG,MAAM,WAAW,EAAE,CAAC,IAAI,CACzD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAClB,CAAC;QACF,MAAM,WAAW,GAAG,oBAAoB,IAAI,0BAA0B,CAAC;QACvE,OAAO,mBAAmB,CAAC;YACzB,IAAI;YACJ,aAAa;YACb,gBAAgB;YAChB,GAAG,EAAE,MAAM,CAAC,UAAU;YACtB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,WAAW;YACX,UAAU;YACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,0BAA0B,GAAG,MAAM,WAAW,EAAE,CAAC,IAAI,CACzD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAClB,CAAC;IACF,MAAM,WAAW,GAAG,oBAAoB,IAAI,0BAA0B,CAAC;IAEvE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC;IACxB,MAAM,QAAQ,GAAG,WAAW,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,aAAa,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;IAEzD,qBAAqB,CAAC;QACpB,WAAW;QACX,UAAU;QACV,SAAS;QACT,eAAe;QACf,UAAU;QACV,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OASzC;IACC,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,GACP,GAAG,OAAO,CAAC;IACZ,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;IAE9B,MAAM,0BAA0B,GAAG,MAAM,WAAW,EAAE,CAAC,IAAI,CACzD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAClB,CAAC;IACF,MAAM,WAAW,GAAG,oBAAoB,IAAI,0BAA0B,CAAC;IAEvE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAErC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,GACnB,GAAG,OAAO,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAErC,OAAO,wBAAwB,CAAC;YAC9B,IAAI;YACJ,GAAG;YACH,KAAK,EAAE,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC;YAC/B,oBAAoB,EAAE,oBAAoB;YAC1C,oBAAoB,EAAE,oBAAoB,IAAI,IAAI;YAClD,UAAU;YACV,kBAAkB;SACnB,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B,CAAC;QACzB,UAAU;QACV,SAAS,EAAE,kBAAkB,IAAI,SAAS,CAAC,IAAI,CAAC;QAChD,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC;QAClC,WAAW;QACX,uBAAuB,EAAE,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;QAC/D,oBAAoB,EAAE,oBAAoB,IAAI,IAAI;KACnD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,IAAY,EACZ,aAAuC,EACvC,MAAwB,EACxB,UAA0B,EAAE;IAE5B,MAAM,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC5E,sBAAsB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,IAAmB,EACnB,MAAwB,EACxB,UAA0B,EAAE;IAE5B,MAAM,kBAAkB,GACtB,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,MAAM,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE;QACpD,GAAG,MAAM;QACT,GAAG,OAAO;KACX,CAAC,CAAC;IACH,sBAAsB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,IAAkC,EAClC,aAAuB,EACvB,MAAwB;IAExB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE9B,OAAO,sBAAsB,CAC3B,IAAI,EACJ,aAAa,EACb,MAAM,CAAC,aAAa,EACpB,IAAI,EACJ,EAAE,UAAU,EAAE,CACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,MAAwB;IAExB,OAAO,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAAE;QAC9D,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,eAAe,GAAuB;IAC1C,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE;QACT,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,EAAE;KACR;IACD,cAAc,EAAE,EAAE;IAClB,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,EAAE;CAClB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAC9B,YAAuC,EACvC,WAAoB;IAEpB,MAAM,OAAO,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;IAE/D,oCAAoC;IAEpC,sCAAsC;IACtC,IAAI,gBAAgB,GAAuB,eAAe,CAAC;IAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC5D,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAuB,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,sCAAsC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpE,gBAAgB,GAAG,eAAe,CAAC;QACrC,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAG,CACrB,aAAkB,EAClB,QAAc,EACT,EAAE;QACP,IAAI,CAAC,QAAQ;YAAE,OAAO,aAAa,CAAC;QAEpC,MAAM,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;QAElC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,wBAAwB;gBACxB,MAAM,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,eAAe;gBACf,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,4CAA4C;IAC5C,MAAM,eAAe,GAAuB;QAC1C,GAAG,gBAAgB;QACnB,GAAG,YAAY;QACf,SAAS,EAAE;YACT,GAAG,gBAAgB,CAAC,SAAS;YAC7B,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;SAClC;QACD,cAAc,EAAE,cAAc,CAC5B,gBAAgB,CAAC,cAAc,EAC/B,YAAY,CAAC,cAAc,CAC5B;QACD,OAAO,EAAE,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;QACvE,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;QAC9D,SAAS,EAAE,cAAc,CACvB,gBAAgB,CAAC,SAAS,EAC1B,YAAY,CAAC,SAAS,CACvB;QACD,aAAa,EAAE,cAAc,CAC3B,gBAAgB,CAAC,aAAa,EAC9B,YAAY,CAAC,aAAa,CAC3B;KACF,CAAC;IAEF,iCAAiC;IACjC,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzE,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,yBAAyB,CAAC,IAOxC;IACC,MAAM,EACJ,kBAAkB,EAClB,MAAM,EACN,MAAM,EACN,aAAa,EACb,QAAQ,EACR,OAAO,GAAG,EAAE,GACb,GAAG,IAAI,CAAC;IACT,iEAAiE;IACjE,yFAAyF;IACzF,MAAM,EACJ,OAAO,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS;QACrC,MAAM,CAAC,QAAQ,KAAK,OAAO;QAC3B,MAAM,CAAC,QAAQ,KAAK,MAAM,EAC5B,KAAK,GAAG,KAAK,GACd,GAAG,OAAO,CAAC;IACZ,MAAM,IAAI,GAAG,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC9D,gDAAgD;IAChD,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,OAAO,CAAC,EACtC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC5C,CAAC;IAEF,MAAM,qBAAqB,CAAC;QAC1B,GAAG,EAAE,MAAM,CAAC,iBAAiB;QAC7B,kBAAkB;QAClB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO;QACP,KAAK;QACL,MAAM;QACN,aAAa;KACd,CAAC,CAAC;IAEH,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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<
|
|
34
|
+
}) => Promise<void>;
|
|
35
|
+
export {};
|
|
33
36
|
//# sourceMappingURL=graphql.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,qBAAqB,EAEtB,MAAM,gBAAgB,CAAC;AAWxB,eAAO,MAAM,OAAO;;;;;CAMnB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;CAO7B,CAAC;AAoEF,KAAK,yCAAyC,GAAG;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AACF,wBAAsB,qCAAqC,CACzD,IAAI,EAAE,yCAAyC,iBAmChD;AAED,wBAAsB,+BAA+B,CAAC,IAAI,EAAE;IAC1D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,qBAAqB,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,iBAqBA;AAED,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,EACb;;;;;CAA4E,kBAmC7E,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { generate } from "@graphql-codegen/cli";
|
|
2
2
|
import { generatorTypeDefs, validationSchema, } from "@powerhousedao/document-engineering/graphql";
|
|
3
|
-
import { readdirSync } from "node:fs";
|
|
4
|
-
import
|
|
3
|
+
import { readdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { format } from "prettier";
|
|
5
6
|
const getDirectories = (source) => readdirSync(source, { withFileTypes: true })
|
|
6
7
|
.filter((dirent) => dirent.isDirectory())
|
|
7
|
-
.map((dirent) => dirent
|
|
8
|
+
.map((dirent) => dirent);
|
|
8
9
|
export const scalars = {
|
|
9
10
|
Unknown: "unknown",
|
|
10
11
|
DateTime: "string",
|
|
@@ -19,22 +20,27 @@ export const scalarsValidation = {
|
|
|
19
20
|
Address: "z.custom<`${string}:0x${string}`>((val) => /^[a-zA-Z0-9]+:0x[a-fA-F0-9]{40}$/.test(val as string))",
|
|
20
21
|
...validationSchema,
|
|
21
22
|
};
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
const avoidOptionals = {
|
|
24
|
+
field: true,
|
|
25
|
+
inputValue: false,
|
|
26
|
+
};
|
|
27
|
+
const maybeValue = "T | null | undefined";
|
|
28
|
+
const typescriptConfig = {
|
|
29
|
+
avoidOptionals,
|
|
24
30
|
scalars,
|
|
31
|
+
strictScalars: true,
|
|
25
32
|
enumsAsTypes: true,
|
|
26
|
-
allowEnumStringTypes: true,
|
|
27
|
-
avoidOptionals: {
|
|
28
|
-
field: true,
|
|
29
|
-
},
|
|
30
33
|
skipTypename: true,
|
|
31
|
-
|
|
32
|
-
inputMaybeValue: "T | null | undefined",
|
|
34
|
+
maybeValue,
|
|
33
35
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
const validationSchemaConfig = {
|
|
37
|
+
avoidOptionals,
|
|
38
|
+
scalars,
|
|
39
|
+
strictScalars: true,
|
|
40
|
+
enumsAsTypes: true,
|
|
41
|
+
skipTypename: true,
|
|
36
42
|
importFrom: `./types.js`,
|
|
37
|
-
schema: "
|
|
43
|
+
schema: "zodv4",
|
|
38
44
|
useTypeImports: true,
|
|
39
45
|
scalarSchemas: scalarsValidation,
|
|
40
46
|
directives: {
|
|
@@ -43,77 +49,98 @@ export const zodConfig = {
|
|
|
43
49
|
},
|
|
44
50
|
},
|
|
45
51
|
withObjectType: true,
|
|
52
|
+
maybeValue,
|
|
46
53
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
},
|
|
56
|
-
],
|
|
57
|
-
plugins: ["typescript"],
|
|
58
|
-
config: tsConfig,
|
|
59
|
-
},
|
|
60
|
-
[`${outDir}/${name}/gen/schema/zod.ts`]: {
|
|
61
|
-
schema: `${inDir}/${name}/schema.graphql`,
|
|
62
|
-
plugins: ["@acaldas/graphql-codegen-typescript-validation-schema"],
|
|
63
|
-
config: zodConfig,
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
export const generateSchema = async (model, inDir, { watch = false, skipFormat = false, outDir = inDir, verbose = true } = {}) => {
|
|
68
|
-
const documentModelConfig = schemaConfig(model, inDir, outDir);
|
|
69
|
-
const config = {
|
|
70
|
-
overwrite: true,
|
|
71
|
-
generates: documentModelConfig,
|
|
72
|
-
watch,
|
|
73
|
-
silent: !verbose,
|
|
74
|
-
};
|
|
75
|
-
// GraphQL Codegen hooks are not working reliably - write files manually
|
|
76
|
-
const fs = await import("node:fs");
|
|
77
|
-
const path = await import("node:path");
|
|
78
|
-
const result = (await generate(config, !verbose));
|
|
79
|
-
for (const fileResult of result) {
|
|
80
|
-
const { filename, content } = fileResult;
|
|
81
|
-
const fullPath = path.resolve(filename);
|
|
82
|
-
const dir = path.dirname(fullPath);
|
|
83
|
-
// Ensure directory exists
|
|
84
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
85
|
-
// Write content (content is already typed as string)
|
|
86
|
-
let finalContent = content;
|
|
87
|
-
// Format if not skipped
|
|
88
|
-
if (!skipFormat) {
|
|
89
|
-
try {
|
|
90
|
-
const { format } = await import("prettier");
|
|
91
|
-
finalContent = await format(content, { parser: "typescript" });
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
if (verbose) {
|
|
95
|
-
console.warn(`Failed to format ${filename}:`, error);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
fs.writeFileSync(fullPath, finalContent);
|
|
54
|
+
function buildSchemasForModules(modules) {
|
|
55
|
+
const schemaStrings = [];
|
|
56
|
+
for (const module of modules) {
|
|
57
|
+
schemaStrings.push(`# ${module.name}`);
|
|
58
|
+
const operationsSchemas = module.operations
|
|
59
|
+
.map((operation) => operation.schema)
|
|
60
|
+
.filter((schema) => schema !== null);
|
|
61
|
+
schemaStrings.push(...operationsSchemas);
|
|
100
62
|
}
|
|
101
|
-
return
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
63
|
+
return schemaStrings;
|
|
64
|
+
}
|
|
65
|
+
function buildGraphqlDocumentStringForSpecification(specification) {
|
|
66
|
+
const customScalarSchemas = Object.keys(scalars)
|
|
67
|
+
.map((k) => `scalar ${k}`)
|
|
68
|
+
.join("\n");
|
|
69
|
+
const stateSchemas = Object.values(specification.state).map((state) => state.schema);
|
|
70
|
+
const moduleSchemas = buildSchemasForModules(specification.modules);
|
|
71
|
+
return [customScalarSchemas, ...stateSchemas, ...moduleSchemas];
|
|
72
|
+
}
|
|
73
|
+
async function formatContentWithPrettier(path, content) {
|
|
74
|
+
const formattedContent = await format(content, {
|
|
75
|
+
parser: "typescript",
|
|
76
|
+
});
|
|
77
|
+
return formattedContent;
|
|
78
|
+
}
|
|
79
|
+
export async function generateTypesAndZodSchemasFromGraphql(args) {
|
|
80
|
+
const { dirName, schema, skipFormat, writeFile, watch } = args;
|
|
81
|
+
const beforeOneFileWrite = skipFormat ? undefined : formatContentWithPrettier;
|
|
109
82
|
const config = {
|
|
110
83
|
overwrite: true,
|
|
111
|
-
generates: documentModelConfigs,
|
|
112
84
|
watch,
|
|
113
85
|
hooks: {
|
|
114
|
-
beforeOneFileWrite
|
|
86
|
+
beforeOneFileWrite,
|
|
87
|
+
},
|
|
88
|
+
generates: {
|
|
89
|
+
[`${dirName}/gen/schema/types.ts`]: {
|
|
90
|
+
schema,
|
|
91
|
+
config: typescriptConfig,
|
|
92
|
+
plugins: [
|
|
93
|
+
{
|
|
94
|
+
typescript: typescriptConfig,
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
[`${dirName}/gen/schema/zod.ts`]: {
|
|
99
|
+
schema,
|
|
100
|
+
config: validationSchemaConfig,
|
|
101
|
+
plugins: [
|
|
102
|
+
{
|
|
103
|
+
"graphql-codegen-typescript-validation-schema": validationSchemaConfig,
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
},
|
|
115
107
|
},
|
|
116
108
|
};
|
|
117
|
-
|
|
109
|
+
await generate(config, writeFile);
|
|
110
|
+
}
|
|
111
|
+
export async function generateDocumentModelZodSchemas(args) {
|
|
112
|
+
const { documentModelDirPath, specification, writeFile = true, skipFormat = false, watch = false, } = args;
|
|
113
|
+
const schema = buildGraphqlDocumentStringForSpecification(specification)
|
|
114
|
+
.filter(Boolean)
|
|
115
|
+
.join("\n\n");
|
|
116
|
+
await generateTypesAndZodSchemasFromGraphql({
|
|
117
|
+
dirName: documentModelDirPath,
|
|
118
|
+
schema,
|
|
119
|
+
writeFile,
|
|
120
|
+
skipFormat,
|
|
121
|
+
watch,
|
|
122
|
+
});
|
|
123
|
+
writeFileSync(path.join(documentModelDirPath, "schema.graphql"), schema);
|
|
124
|
+
}
|
|
125
|
+
export const generateSchemas = async (inDir, { watch = false, skipFormat = false, writeFile = true, outDir = inDir } = {}) => {
|
|
126
|
+
const dirs = getDirectories(inDir);
|
|
127
|
+
const inputs = dirs.map((dir) => {
|
|
128
|
+
const documentModelJsonFile = readFileSync(path.join(dir.parentPath, dir.name, `${dir.name}.json`), "utf-8");
|
|
129
|
+
const parsedJson = JSON.parse(documentModelJsonFile);
|
|
130
|
+
const latestSpecification = parsedJson.specifications[parsedJson.specifications.length - 1];
|
|
131
|
+
const schema = buildGraphqlDocumentStringForSpecification(latestSpecification)
|
|
132
|
+
.filter(Boolean)
|
|
133
|
+
.join("\n\n");
|
|
134
|
+
return { dirName: path.join(outDir, dir.name), schema };
|
|
135
|
+
});
|
|
136
|
+
await Promise.all(inputs.map(async ({ schema, dirName }) => {
|
|
137
|
+
await generateTypesAndZodSchemasFromGraphql({
|
|
138
|
+
schema,
|
|
139
|
+
dirName,
|
|
140
|
+
writeFile,
|
|
141
|
+
skipFormat,
|
|
142
|
+
watch,
|
|
143
|
+
});
|
|
144
|
+
}));
|
|
118
145
|
};
|
|
119
146
|
//# sourceMappingURL=graphql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"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"}
|