@powerhousedao/codegen 5.1.0-dev.15 → 5.1.0-dev.17

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.
@@ -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 { formatWithPrettierBeforeWrite } from "./utils.js";
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.name);
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
- export const tsConfig = {
23
- strictScalars: true,
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
- // maybeValue: "T | null | undefined",
32
- inputMaybeValue: "T | null | undefined",
34
+ maybeValue,
33
35
  };
34
- export const zodConfig = {
35
- ...tsConfig,
36
+ const validationSchemaConfig = {
37
+ avoidOptionals,
38
+ scalars,
39
+ strictScalars: true,
40
+ enumsAsTypes: true,
41
+ skipTypename: true,
36
42
  importFrom: `./types.js`,
37
- schema: "zod",
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
- export function schemaConfig(name, inDir, outDir) {
48
- return {
49
- [`${outDir}/${name}/gen/schema/types.ts`]: {
50
- schema: [
51
- {
52
- [`${inDir}/${name}/schema.graphql`]: {
53
- skipGraphQLImport: false,
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 result;
102
- };
103
- export const generateSchemas = (inDir, { watch = false, skipFormat = false, outDir = inDir } = {}) => {
104
- const documentModels = getDirectories(inDir);
105
- const documentModelConfigs = documentModels.reduce((obj, model) => ({
106
- ...obj,
107
- ...schemaConfig(model, inDir, outDir),
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: skipFormat ? [] : [formatWithPrettierBeforeWrite],
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
- return generate(config, true);
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":"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"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"document-model.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/document-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAexC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAmC3E,wBAAsB,4BAA4B,CAAC,EACjD,UAAU,EACV,WAAW,EACX,kBAAkB,GACnB,EAAE,yBAAyB,iBAuC3B;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,OAAO,EACP,UAAU,GACX,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,QAYA"}
1
+ {"version":3,"file":"document-model.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/document-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAgBxC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAmC3E,wBAAsB,4BAA4B,CAAC,EACjD,UAAU,EACV,WAAW,EACX,kBAAkB,GACnB,EAAE,yBAAyB,iBAkD3B;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,OAAO,EACP,UAAU,GACX,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,QAYA"}
@@ -1,3 +1,4 @@
1
+ import { generateDocumentModelZodSchemas } from "../../codegen/graphql.js";
1
2
  import { TSMorphCodeGenerator } from "../../ts-morph-generator/index.js";
2
3
  import { documentModelModulesOutputFileName, documentModelModulesVariableName, documentModelModulesVariableType, documentModelModuleTypeName, } from "../constants.js";
3
4
  import { getDocumentModelFilePaths } from "../name-builders/get-file-paths.js";
@@ -33,6 +34,12 @@ export async function tsMorphGenerateDocumentModel({ projectDir, packageName, do
33
34
  projectDir,
34
35
  documentModelState,
35
36
  });
37
+ const { documentModelDirPath } = documentModelVariableNames;
38
+ const specification = documentModelState.specifications[documentModelState.specifications.length - 1];
39
+ await generateDocumentModelZodSchemas({
40
+ documentModelDirPath,
41
+ specification,
42
+ });
36
43
  ensureDirectoriesExist(project, documentModelVariableNames);
37
44
  const { documentModelsSourceFilesPath } = getDocumentModelFilePaths(projectDir);
38
45
  project.addSourceFilesAtPaths(documentModelsSourceFilesPath);
@@ -1 +1 @@
1
- {"version":3,"file":"document-model.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/document-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-model.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/document-model.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { generateMock as zodGenerateMock } from "@anatine/zod-mock";
2
- export type generateMockTypeFn = typeof zodGenerateMock;
3
- export declare const generateMock: generateMockTypeFn;
1
+ import type { z } from "zod";
2
+ export declare function generateMock<TSchema extends z.ZodType>(schema: TSchema): z.infer<TSchema>;
4
3
  //# sourceMappingURL=mock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/utils/mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,OAAO,eAAe,CAAC;AAExD,eAAO,MAAM,YAAY,EAAE,kBAE1B,CAAC"}
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/utils/mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,wBAAgB,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,EACpD,MAAM,EAAE,OAAO,GACd,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAElB"}
@@ -1,5 +1,5 @@
1
- import { generateMock as zodGenerateMock } from "@anatine/zod-mock";
2
- export const generateMock = (zodRef, options) => {
3
- return zodGenerateMock(zodRef, options);
4
- };
1
+ import { zocker } from "zocker";
2
+ export function generateMock(schema) {
3
+ return zocker(schema).generate();
4
+ }
5
5
  //# sourceMappingURL=mock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../src/utils/mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpE,MAAM,CAAC,MAAM,YAAY,GAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAClE,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,CAAuB,CAAC;AAChE,CAAC,CAAC"}
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../src/utils/mock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,UAAU,YAAY,CAC1B,MAAe;IAEf,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAsB,CAAC;AACvD,CAAC"}