@powerhousedao/codegen 4.0.4 → 4.1.0-dev.10
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/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/actions.esm.t +3 -3
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts +1 -2
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +1 -1
- package/dist/src/codegen/graphql.d.ts +7 -2
- package/dist/src/codegen/graphql.d.ts.map +1 -1
- package/dist/src/codegen/graphql.js +29 -5
- package/dist/src/codegen/graphql.js.map +1 -1
- package/dist/src/codegen/hygen.d.ts +15 -7
- package/dist/src/codegen/hygen.d.ts.map +1 -1
- package/dist/src/codegen/hygen.js +44 -18
- package/dist/src/codegen/hygen.js.map +1 -1
- package/dist/src/codegen/index.d.ts +25 -6
- package/dist/src/codegen/index.d.ts.map +1 -1
- package/dist/src/codegen/index.js +64 -11
- package/dist/src/codegen/index.js.map +1 -1
- package/dist/src/ts-morph-generator/core/FileGenerator.d.ts +10 -0
- package/dist/src/ts-morph-generator/core/FileGenerator.d.ts.map +1 -0
- package/dist/src/ts-morph-generator/core/FileGenerator.js +9 -0
- package/dist/src/ts-morph-generator/core/FileGenerator.js.map +1 -0
- package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +28 -0
- package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +1 -0
- package/dist/src/ts-morph-generator/core/GenerationContext.js +2 -0
- package/dist/src/ts-morph-generator/core/GenerationContext.js.map +1 -0
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +18 -0
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +1 -0
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js +112 -0
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js.map +1 -0
- package/dist/src/ts-morph-generator/core/index.d.ts +4 -0
- package/dist/src/ts-morph-generator/core/index.d.ts.map +1 -0
- package/dist/src/ts-morph-generator/core/index.js +4 -0
- package/dist/src/ts-morph-generator/core/index.js.map +1 -0
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts +9 -0
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts.map +1 -0
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js +69 -0
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js.map +1 -0
- package/dist/src/ts-morph-generator/file-generators/index.d.ts +2 -0
- package/dist/src/ts-morph-generator/file-generators/index.d.ts.map +1 -0
- package/dist/src/ts-morph-generator/file-generators/index.js +2 -0
- package/dist/src/ts-morph-generator/file-generators/index.js.map +1 -0
- package/dist/src/ts-morph-generator/index.d.ts +4 -0
- package/dist/src/ts-morph-generator/index.d.ts.map +1 -0
- package/dist/src/ts-morph-generator/index.js +4 -0
- package/dist/src/ts-morph-generator/index.js.map +1 -0
- package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts +13 -0
- package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts.map +1 -0
- package/dist/src/ts-morph-generator/utilities/DirectoryManager.js +45 -0
- package/dist/src/ts-morph-generator/utilities/DirectoryManager.js.map +1 -0
- package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts +14 -0
- package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts.map +1 -0
- package/dist/src/ts-morph-generator/utilities/ImportManager.js +40 -0
- package/dist/src/ts-morph-generator/utilities/ImportManager.js.map +1 -0
- package/dist/src/ts-morph-generator/utilities/index.d.ts +3 -0
- package/dist/src/ts-morph-generator/utilities/index.d.ts.map +1 -0
- package/dist/src/ts-morph-generator/utilities/index.js +3 -0
- package/dist/src/ts-morph-generator/utilities/index.js.map +1 -0
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +1 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/validation.d.ts +18 -0
- package/dist/src/utils/validation.d.ts.map +1 -0
- package/dist/src/utils/validation.js +139 -0
- package/dist/src/utils/validation.js.map +1 -0
- package/dist/tsconfig.hygen.tsbuildinfo +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +7 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customReducers.esm.t +0 -20
|
@@ -22,7 +22,7 @@ const stateReducer: StateReducer<<%= h.changeCase.pascal(documentType) %>Documen
|
|
|
22
22
|
' ' + (o.schema !== null ?
|
|
23
23
|
'z.' + h.changeCase.pascalCase(o.name) + 'InputSchema().parse(action.input);\n' :
|
|
24
24
|
'if (Object.keys(action.input).length > 0) throw new Error("Expected empty input for action ' + h.changeCase.constant(o.name) + '");\n') +
|
|
25
|
-
' ' + h.changeCase.pascal(m.name) + 'Reducer.' + h.changeCase.camel(o.name) + 'Operation(state[action.scope], action, dispatch);\n' +
|
|
25
|
+
' ' + h.changeCase.pascal(m.name) + 'Reducer.' + h.changeCase.camel(o.name) + 'Operation((state as any)[action.scope], action as any, dispatch);\n' +
|
|
26
26
|
' break;\n'
|
|
27
27
|
).join('\n')).join('\n')
|
|
28
28
|
%>
|
|
@@ -15,5 +15,5 @@ export type * from './schema/types.js';
|
|
|
15
15
|
<%= 'type ' + h.changeCase.pascal(documentType) %>LocalState = Record<PropertyKey, never>;
|
|
16
16
|
<%} -%>
|
|
17
17
|
export type Extended<%= h.changeCase.pascal(documentType) %>State = ExtendedState<<%= h.changeCase.pascal(documentType) %>State, <%= h.changeCase.pascal(documentType) %>LocalState>;
|
|
18
|
-
export <%= 'type ' + h.changeCase.pascal(documentType) %>Document = PHDocument<<%= h.changeCase.pascal(documentType) %>State, <%= h.changeCase.pascal(documentType) %>LocalState
|
|
18
|
+
export <%= 'type ' + h.changeCase.pascal(documentType) %>Document = PHDocument<<%= h.changeCase.pascal(documentType) %>State, <%= h.changeCase.pascal(documentType) %>LocalState>;
|
|
19
19
|
export type { <%= h.changeCase.pascal(documentType) %>State, <%= h.changeCase.pascal(documentType) %>LocalState, <%= h.changeCase.pascal(documentType) %>Action };
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/actions.esm.t
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/<%= module %>/actions.ts"
|
|
3
3
|
force: true
|
|
4
4
|
---
|
|
5
|
-
import { type
|
|
5
|
+
import { type Action<% if (actions.find(a => a.hasAttachment)) {%>, ActionWithAttachment<%}%> } from 'document-model';
|
|
6
6
|
import type {
|
|
7
7
|
<% actions.filter(a => a.hasInput).forEach(action => { _%>
|
|
8
8
|
<%= h.changeCase.pascal(action.name) %>Input,
|
|
@@ -10,10 +10,10 @@ import type {
|
|
|
10
10
|
} from '../types.js';
|
|
11
11
|
|
|
12
12
|
<% actions.filter(a => a.hasInput).forEach(actionType => { _%>
|
|
13
|
-
export <%= 'type ' + h.changeCase.pascal(actionType.name) %>Action =
|
|
13
|
+
export <%= 'type ' + h.changeCase.pascal(actionType.name) %>Action = <%if(actionType.hasAttachment){ %>ActionWithAttachment<% } else { %>Action<% } %> & { type: '<%= h.changeCase.constantCase(actionType.name) %>'; input: <%= h.changeCase.pascal(actionType.name) %>Input };
|
|
14
14
|
<% }); _%>
|
|
15
15
|
<% actions.filter(a => !a.hasInput).forEach(actionType => { _%>
|
|
16
|
-
export <%= 'type ' + h.changeCase.pascal(actionType.name) %>Action =
|
|
16
|
+
export <%= 'type ' + h.changeCase.pascal(actionType.name) %>Action = Action & { type: '<%= h.changeCase.constantCase(actionType.name) %>'; input: {} };
|
|
17
17
|
<% }); _%>
|
|
18
18
|
|
|
19
19
|
export <%= 'type ' + h.changeCase.pascal(documentType) %><%= h.changeCase.pascal(module) %>Action =
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type OperationScope } from "document-model";
|
|
2
1
|
import { type Args } from "../generate-document-model/index.js";
|
|
3
2
|
type ModuleArgs = Args & {
|
|
4
3
|
module: string;
|
|
@@ -7,7 +6,7 @@ type Actions = {
|
|
|
7
6
|
name: string | null;
|
|
8
7
|
hasInput: boolean;
|
|
9
8
|
hasAttachment: boolean | undefined;
|
|
10
|
-
scope:
|
|
9
|
+
scope: string;
|
|
11
10
|
state: string;
|
|
12
11
|
};
|
|
13
12
|
declare const _default: {
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,qCAAqC,CAAC;AAEhE,KAAK,UAAU,GAAG,IAAI,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5C,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;;uBAGmB;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE;;;;;;;AADzC,wBA6BE"}
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t
CHANGED
|
@@ -18,7 +18,7 @@ Queries: <%= h.changeCase.pascal(documentType) %>
|
|
|
18
18
|
|
|
19
19
|
type <%- h.changeCase.pascal(documentType) %>Queries {
|
|
20
20
|
getDocument(driveId: String, docId: PHID): <%- h.changeCase.pascal(documentType) %>
|
|
21
|
-
getDocuments: [<%- h.changeCase.pascal(documentType) %>!]
|
|
21
|
+
getDocuments(driveId: String): [<%- h.changeCase.pascal(documentType) %>!]
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
type Query {
|
|
@@ -15,11 +15,16 @@ export declare const scalarsValidation: {
|
|
|
15
15
|
export declare const tsConfig: TypeScriptPluginConfig;
|
|
16
16
|
export declare const zodConfig: Record<string, unknown>;
|
|
17
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 }?: {
|
|
18
|
+
export declare const generateSchema: (model: string, inDir: string, { watch, skipFormat, outDir, verbose }?: {
|
|
19
19
|
watch?: boolean | undefined;
|
|
20
20
|
skipFormat?: boolean | undefined;
|
|
21
21
|
outDir?: string | undefined;
|
|
22
|
-
|
|
22
|
+
verbose?: boolean | undefined;
|
|
23
|
+
}) => Promise<{
|
|
24
|
+
filename: string;
|
|
25
|
+
content: string;
|
|
26
|
+
hooks: Record<string, unknown>;
|
|
27
|
+
}[]>;
|
|
23
28
|
export declare const generateSchemas: (inDir: string, { watch, skipFormat, outDir }?: {
|
|
24
29
|
watch?: boolean | undefined;
|
|
25
30
|
skipFormat?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAa1E,eAAO,MAAM,OAAO;;;;;CAMnB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;CAO7B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,sBAWtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAYpC,CAAC;AAEX,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,aAAa,CAAC,WAAW,CAAC,CAmB5B;AAED,eAAO,MAAM,cAAc,GACzB,OAAO,MAAM,EACb,OAAO,MAAM,EACb
|
|
1
|
+
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAa1E,eAAO,MAAM,OAAO;;;;;CAMnB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;CAO7B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,sBAWtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAYpC,CAAC;AAEX,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,aAAa,CAAC,WAAW,CAAC,CAmB5B;AAED,eAAO,MAAM,cAAc,GACzB,OAAO,MAAM,EACb,OAAO,MAAM,EACb;;;;;CAA0E;cAgB9D,MAAM;aACP,MAAM;WACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA8BjC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,EACb;;;;CAA0D,iBAqB3D,CAAC"}
|
|
@@ -64,17 +64,41 @@ export function schemaConfig(name, inDir, outDir) {
|
|
|
64
64
|
},
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
|
-
export const generateSchema = (model, inDir, { watch = false, skipFormat = false, outDir = inDir } = {}) => {
|
|
67
|
+
export const generateSchema = async (model, inDir, { watch = false, skipFormat = false, outDir = inDir, verbose = true } = {}) => {
|
|
68
68
|
const documentModelConfig = schemaConfig(model, inDir, outDir);
|
|
69
69
|
const config = {
|
|
70
70
|
overwrite: true,
|
|
71
71
|
generates: documentModelConfig,
|
|
72
72
|
watch,
|
|
73
|
-
|
|
74
|
-
beforeOneFileWrite: skipFormat ? [] : [formatWithPrettierBeforeWrite],
|
|
75
|
-
},
|
|
73
|
+
silent: !verbose,
|
|
76
74
|
};
|
|
77
|
-
|
|
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);
|
|
100
|
+
}
|
|
101
|
+
return result;
|
|
78
102
|
};
|
|
79
103
|
export const generateSchemas = (inDir, { watch = false, skipFormat = false, outDir = inDir } = {}) => {
|
|
80
104
|
const documentModels = getDirectories(inDir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE,CACxC,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;KACzC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;KACxC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,yBAAyB;IAClC,GAAI,iBAA4C;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,uBAAuB;IACjC,UAAU,EAAE,YAAY;IACxB,OAAO,EACL,oGAAoG;IACtG,GAAI,gBAA2C;CAChD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAA2B;IAC9C,aAAa,EAAE,IAAI;IACnB,OAAO;IACP,YAAY,EAAE,IAAI;IAClB,oBAAoB,EAAE,IAAI;IAC1B,cAAc,EAAE;QACd,KAAK,EAAE,IAAI;KACZ;IACD,YAAY,EAAE,IAAI;IAClB,sCAAsC;IACtC,eAAe,EAAE,sBAAsB;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA4B;IAChD,GAAG,QAAQ;IACX,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,KAAK;IACb,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,iBAAiB;IAChC,UAAU,EAAE;QACV,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;SAC3B;KACF;IACD,cAAc,EAAE,IAAI;CACZ,CAAC;AAEX,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,KAAa,EACb,MAAc;IAEd,OAAO;QACL,CAAC,GAAG,MAAM,IAAI,IAAI,sBAAsB,CAAC,EAAE;YACzC,MAAM,EAAE;gBACN;oBACE,CAAC,GAAG,KAAK,IAAI,IAAI,iBAAiB,CAAC,EAAE;wBACnC,iBAAiB,EAAE,KAAK;qBACzB;iBACF;aACF;YACD,OAAO,EAAE,CAAC,YAAY,CAAC;YACvB,MAAM,EAAE,QAAQ;SACjB;QACD,CAAC,GAAG,MAAM,IAAI,IAAI,oBAAoB,CAAC,EAAE;YACvC,MAAM,EAAE,GAAG,KAAK,IAAI,IAAI,iBAAiB;YACzC,OAAO,EAAE,CAAC,uDAAuD,CAAC;YAClE,MAAM,EAAE,SAAS;SAClB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/codegen/graphql.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,36 @@
|
|
|
1
1
|
import { type DocumentModelState } from "document-model";
|
|
2
2
|
import { type DocumentTypesMap } from "./index.js";
|
|
3
|
-
export declare function run(args: string[], { watch, skipFormat }?: {
|
|
3
|
+
export declare function run(args: string[], { watch, skipFormat, verbose }?: {
|
|
4
4
|
watch?: boolean | undefined;
|
|
5
5
|
skipFormat?: boolean | undefined;
|
|
6
|
+
verbose?: boolean | undefined;
|
|
6
7
|
}): Promise<import("hygen/dist/types.js").RunnerResult>;
|
|
7
|
-
export declare function generateAll(dir: string, { watch, skipFormat }?: {
|
|
8
|
+
export declare function generateAll(dir: string, { watch, skipFormat, verbose }?: {
|
|
8
9
|
watch?: boolean | undefined;
|
|
9
10
|
skipFormat?: boolean | undefined;
|
|
11
|
+
verbose?: boolean | undefined;
|
|
10
12
|
}): Promise<void>;
|
|
11
|
-
export declare function generateDocumentModel(documentModelState: DocumentModelState, dir: string, { watch, skipFormat }?: {
|
|
13
|
+
export declare function generateDocumentModel(documentModelState: DocumentModelState, dir: string, { watch, skipFormat, verbose, generateReducers, }?: {
|
|
12
14
|
watch?: boolean | undefined;
|
|
13
15
|
skipFormat?: boolean | undefined;
|
|
16
|
+
verbose?: boolean | undefined;
|
|
17
|
+
generateReducers?: boolean | undefined;
|
|
14
18
|
}): Promise<void>;
|
|
15
|
-
export declare function generateEditor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, dir: string, documentModelsDir: string, { skipFormat }?: {
|
|
19
|
+
export declare function generateEditor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, dir: string, documentModelsDir: string, { skipFormat, verbose }?: {
|
|
16
20
|
skipFormat?: boolean | undefined;
|
|
21
|
+
verbose?: boolean | undefined;
|
|
17
22
|
}): Promise<void>;
|
|
18
|
-
export declare function generateProcessor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, outDir: string, documentModelsDir: string, type: "analytics" | "relationalDb", { skipFormat }?: {
|
|
23
|
+
export declare function generateProcessor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, outDir: string, documentModelsDir: string, type: "analytics" | "relationalDb", { skipFormat, verbose }?: {
|
|
19
24
|
skipFormat?: boolean | undefined;
|
|
25
|
+
verbose?: boolean | undefined;
|
|
20
26
|
}): Promise<void>;
|
|
21
|
-
export declare function generateSubgraph(name: string, documentModel: DocumentModelState | null, dir: string, { skipFormat }?: {
|
|
27
|
+
export declare function generateSubgraph(name: string, documentModel: DocumentModelState | null, dir: string, { skipFormat, verbose }?: {
|
|
22
28
|
skipFormat?: boolean | undefined;
|
|
29
|
+
verbose?: boolean | undefined;
|
|
23
30
|
}): Promise<void>;
|
|
24
|
-
export declare function generateImportScript(name: string, dir: string, { skipFormat }?: {
|
|
31
|
+
export declare function generateImportScript(name: string, dir: string, { skipFormat, verbose }?: {
|
|
25
32
|
skipFormat?: boolean | undefined;
|
|
33
|
+
verbose?: boolean | undefined;
|
|
26
34
|
}): Promise<void>;
|
|
27
35
|
export declare function generateDriveEditor(name: string, dir: string, { skipFormat }?: {
|
|
28
36
|
skipFormat?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hygen.d.ts","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"hygen.d.ts","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOzD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AASnD,wBAAsB,GAAG,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE;;;;CAAK,uDAuC3D;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE;;;;CAAK,iBAuC3D;AAED,wBAAsB,qBAAqB,CACzC,kBAAkB,EAAE,kBAAkB,EACtC,GAAG,EAAE,MAAM,EACX,EACE,KAAa,EACb,UAAkB,EAClB,OAAc,EACd,gBAAuB,GACxB;;;;;CAAK,iBAiDP;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,MAAM,EACzB,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAoB5C;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,WAAW,GAAG,cAAc,EAClC,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAuB5C;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,kBAAkB,GAAG,IAAI,EACxC,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAoC5C;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAgB5C;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE;;CAAK,iBAO5B"}
|
|
@@ -4,12 +4,15 @@ import fs from "node:fs";
|
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
|
+
import { TSMorphCodeGenerator } from "../ts-morph-generator/core/TSMorphCodeGenerator.js";
|
|
7
8
|
import { loadDocumentModel } from "./utils.js";
|
|
8
9
|
const require = createRequire(import.meta.url);
|
|
9
10
|
const __dirname = import.meta.dirname || path.dirname(fileURLToPath(import.meta.url));
|
|
10
|
-
const logger = new Logger(console.log.bind(console));
|
|
11
11
|
const defaultTemplates = path.join(__dirname, ".hygen", "templates");
|
|
12
|
-
export async function run(args, { watch = false, skipFormat = false } = {}) {
|
|
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);
|
|
13
16
|
const result = await runner(args, {
|
|
14
17
|
templates: defaultTemplates,
|
|
15
18
|
cwd: process.cwd(),
|
|
@@ -32,14 +35,17 @@ export async function run(args, { watch = false, skipFormat = false } = {}) {
|
|
|
32
35
|
.filter((action) => ["added", "inject"].includes(action.status))
|
|
33
36
|
.forEach((action) => {
|
|
34
37
|
execa.$ `prettier --ignore-path --write ${action.subject.replace(".", process.cwd())}`.catch((err) => {
|
|
35
|
-
|
|
38
|
+
if (verbose) {
|
|
39
|
+
console.log(err);
|
|
40
|
+
}
|
|
36
41
|
});
|
|
37
42
|
});
|
|
38
43
|
}
|
|
39
44
|
return result;
|
|
40
45
|
}
|
|
41
|
-
export async function generateAll(dir, { watch = false, skipFormat = false } = {}) {
|
|
46
|
+
export async function generateAll(dir, { watch = false, skipFormat = false, verbose = true } = {}) {
|
|
42
47
|
const files = fs.readdirSync(dir, { withFileTypes: true });
|
|
48
|
+
const documentModelStates = [];
|
|
43
49
|
for (const directory of files.filter((f) => f.isDirectory())) {
|
|
44
50
|
const documentModelPath = path.join(dir, directory.name, `${directory.name}.json`);
|
|
45
51
|
if (!fs.existsSync(documentModelPath)) {
|
|
@@ -47,14 +53,30 @@ export async function generateAll(dir, { watch = false, skipFormat = false } = {
|
|
|
47
53
|
}
|
|
48
54
|
try {
|
|
49
55
|
const documentModel = await loadDocumentModel(documentModelPath);
|
|
50
|
-
|
|
56
|
+
documentModelStates.push(documentModel);
|
|
57
|
+
await generateDocumentModel(documentModel, dir, {
|
|
58
|
+
watch,
|
|
59
|
+
skipFormat,
|
|
60
|
+
verbose,
|
|
61
|
+
generateReducers: false,
|
|
62
|
+
});
|
|
51
63
|
}
|
|
52
64
|
catch (error) {
|
|
53
|
-
|
|
65
|
+
if (verbose) {
|
|
66
|
+
console.error(directory.name, error);
|
|
67
|
+
}
|
|
54
68
|
}
|
|
55
69
|
}
|
|
70
|
+
const projectDir = path.dirname(dir);
|
|
71
|
+
const documentModelDir = path.basename(dir);
|
|
72
|
+
const generator = new TSMorphCodeGenerator(projectDir, documentModelStates, {
|
|
73
|
+
directories: { documentModelDir },
|
|
74
|
+
});
|
|
75
|
+
await generator.generateReducers();
|
|
56
76
|
}
|
|
57
|
-
export async function generateDocumentModel(documentModelState, dir, { watch = false, skipFormat = false } = {}) {
|
|
77
|
+
export async function generateDocumentModel(documentModelState, dir, { watch = false, skipFormat = false, verbose = true, generateReducers = true, } = {}) {
|
|
78
|
+
const projectDir = path.dirname(dir);
|
|
79
|
+
const documentModelDir = path.basename(dir);
|
|
58
80
|
// Generate the singular files for the document model logic
|
|
59
81
|
await run([
|
|
60
82
|
"powerhouse",
|
|
@@ -63,7 +85,7 @@ export async function generateDocumentModel(documentModelState, dir, { watch = f
|
|
|
63
85
|
JSON.stringify(documentModelState),
|
|
64
86
|
"--root-dir",
|
|
65
87
|
dir,
|
|
66
|
-
], { watch, skipFormat });
|
|
88
|
+
], { watch, skipFormat, verbose });
|
|
67
89
|
const latestSpec = documentModelState.specifications[documentModelState.specifications.length - 1];
|
|
68
90
|
// Generate the module-specific files for the document model logic
|
|
69
91
|
for (const module of latestSpec.modules) {
|
|
@@ -76,10 +98,14 @@ export async function generateDocumentModel(documentModelState, dir, { watch = f
|
|
|
76
98
|
dir,
|
|
77
99
|
"--module",
|
|
78
100
|
module.name,
|
|
79
|
-
], { watch, skipFormat });
|
|
101
|
+
], { watch, skipFormat, verbose });
|
|
102
|
+
}
|
|
103
|
+
if (generateReducers) {
|
|
104
|
+
const generator = new TSMorphCodeGenerator(projectDir, [documentModelState], { directories: { documentModelDir } });
|
|
105
|
+
await generator.generateReducers();
|
|
80
106
|
}
|
|
81
107
|
}
|
|
82
|
-
export async function generateEditor(name, documentTypes, documentTypesMap, dir, documentModelsDir, { skipFormat = false } = {}) {
|
|
108
|
+
export async function generateEditor(name, documentTypes, documentTypesMap, dir, documentModelsDir, { skipFormat = false, verbose = true } = {}) {
|
|
83
109
|
// Generate the singular files for the document model logic
|
|
84
110
|
await run([
|
|
85
111
|
"powerhouse",
|
|
@@ -94,9 +120,9 @@ export async function generateEditor(name, documentTypes, documentTypesMap, dir,
|
|
|
94
120
|
JSON.stringify(documentTypesMap),
|
|
95
121
|
"--document-models-dir",
|
|
96
122
|
documentModelsDir,
|
|
97
|
-
], { skipFormat });
|
|
123
|
+
], { skipFormat, verbose });
|
|
98
124
|
}
|
|
99
|
-
export async function generateProcessor(name, documentTypes, documentTypesMap, outDir, documentModelsDir, type, { skipFormat = false } = {}) {
|
|
125
|
+
export async function generateProcessor(name, documentTypes, documentTypesMap, outDir, documentModelsDir, type, { skipFormat = false, verbose = true } = {}) {
|
|
100
126
|
// Generate the singular files for the document model logic
|
|
101
127
|
const processorType = type === "relationalDb" ? "relationalDb" : "analytics";
|
|
102
128
|
await run([
|
|
@@ -114,9 +140,9 @@ export async function generateProcessor(name, documentTypes, documentTypesMap, o
|
|
|
114
140
|
JSON.stringify(documentTypesMap),
|
|
115
141
|
"--document-models-dir",
|
|
116
142
|
documentModelsDir,
|
|
117
|
-
], { skipFormat });
|
|
143
|
+
], { skipFormat, verbose });
|
|
118
144
|
}
|
|
119
|
-
export async function generateSubgraph(name, documentModel, dir, { skipFormat = false } = {}) {
|
|
145
|
+
export async function generateSubgraph(name, documentModel, dir, { skipFormat = false, verbose = true } = {}) {
|
|
120
146
|
const params = [
|
|
121
147
|
"powerhouse",
|
|
122
148
|
`generate-subgraph`,
|
|
@@ -131,7 +157,7 @@ export async function generateSubgraph(name, documentModel, dir, { skipFormat =
|
|
|
131
157
|
params.push("--loadFromFile", "1");
|
|
132
158
|
}
|
|
133
159
|
// Generate the singular files for the document model logic
|
|
134
|
-
await run(params, { skipFormat });
|
|
160
|
+
await run(params, { skipFormat, verbose });
|
|
135
161
|
if (documentModel) {
|
|
136
162
|
// Generate the GraphQL mutation schemas
|
|
137
163
|
await run([
|
|
@@ -143,10 +169,10 @@ export async function generateSubgraph(name, documentModel, dir, { skipFormat =
|
|
|
143
169
|
JSON.stringify(documentModel),
|
|
144
170
|
"--root-dir",
|
|
145
171
|
dir,
|
|
146
|
-
], { skipFormat });
|
|
172
|
+
], { skipFormat, verbose });
|
|
147
173
|
}
|
|
148
174
|
}
|
|
149
|
-
export async function generateImportScript(name, dir, { skipFormat = false } = {}) {
|
|
175
|
+
export async function generateImportScript(name, dir, { skipFormat = false, verbose = true } = {}) {
|
|
150
176
|
// Generate the singular files for the document model logic
|
|
151
177
|
await run([
|
|
152
178
|
"powerhouse",
|
|
@@ -157,7 +183,7 @@ export async function generateImportScript(name, dir, { skipFormat = false } = {
|
|
|
157
183
|
pascalCase(name),
|
|
158
184
|
"--root-dir",
|
|
159
185
|
dir,
|
|
160
|
-
], { skipFormat });
|
|
186
|
+
], { skipFormat, verbose });
|
|
161
187
|
}
|
|
162
188
|
export async function generateDriveEditor(name, dir, { skipFormat = false } = {}) {
|
|
163
189
|
// Generate the drive editor files
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hygen.js","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"hygen.js","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,33 @@
|
|
|
1
1
|
import { type PowerhouseConfig } from "@powerhousedao/config/powerhouse";
|
|
2
|
+
import { type DocumentModelState } from "document-model";
|
|
2
3
|
export { generateDBSchema } from "./kysely.js";
|
|
4
|
+
export type CodegenOptions = {
|
|
5
|
+
verbose?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare function generate(config: PowerhouseConfig): Promise<void>;
|
|
8
|
+
export declare function generateFromFile(path: string, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Generates code from a DocumentModelDocument object directly.
|
|
11
|
+
*
|
|
12
|
+
* @remarks
|
|
13
|
+
* This function performs the same code generation as generateFromFile but takes
|
|
14
|
+
* a DocumentModelDocument object directly instead of loading from a file. This allows for
|
|
15
|
+
* programmatic code generation without file I/O.
|
|
16
|
+
*
|
|
17
|
+
* @param documentModelDocument - The DocumentModelDocument object containing the document model
|
|
18
|
+
* @param config - The PowerhouseConfig configuration object
|
|
19
|
+
* @param options - Optional configuration for generation behavior (verbose logging, etc.)
|
|
20
|
+
* @returns A promise that resolves when code generation is complete
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateFromDocument(documentModelState: DocumentModelState, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
|
|
23
|
+
export declare function generateEditor(name: string, documentTypes: string[], config: PowerhouseConfig): Promise<void>;
|
|
24
|
+
export declare function generateSubgraphFromDocumentModel(name: string, documentModel: DocumentModelState, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
|
|
25
|
+
export declare function generateSubgraph(name: string, file: string | null, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
|
|
26
|
+
export declare function generateProcessor(name: string, type: "analytics" | "relationalDb", documentTypes: string[], config: PowerhouseConfig): Promise<void>;
|
|
3
27
|
export type DocumentTypesMap = Record<string, {
|
|
4
28
|
name: string;
|
|
5
29
|
importPath: string;
|
|
6
30
|
}>;
|
|
7
|
-
export declare function generate(config: PowerhouseConfig): Promise<void>;
|
|
8
|
-
export declare function generateFromFile(path: string, config: PowerhouseConfig): Promise<void>;
|
|
9
|
-
export declare function generateEditor(name: string, documentTypes: string[], config: PowerhouseConfig): Promise<void>;
|
|
10
|
-
export declare function generateSubgraph(name: string, file: string | null, config: PowerhouseConfig): Promise<void>;
|
|
11
|
-
export declare function generateProcessor(name: string, type: "analytics" | "relationalDb", documentTypes: string[], config: PowerhouseConfig): Promise<void>;
|
|
12
|
-
export declare function generateImportScript(name: string, config: PowerhouseConfig): Promise<void>;
|
|
13
31
|
export declare function generateDriveEditor(name: string, config: PowerhouseConfig): Promise<void>;
|
|
32
|
+
export declare function generateImportScript(name: string, config: PowerhouseConfig): Promise<void>;
|
|
14
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAexB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAoFF,wBAAsB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,iBAItD;AA6DD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAO7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAI7B;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,gBAAgB,iBAwBzB;AAED,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,kBAAkB,EACjC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAM7B;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAQ7B;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,GAAG,cAAc,EAClC,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,gBAAgB,iBAqBzB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC,MAAM,EACN;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CACrC,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,iBAKzB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,iBAKzB"}
|
|
@@ -78,9 +78,25 @@ export async function generate(config) {
|
|
|
78
78
|
await generateSchemas(config.documentModelsDir, { skipFormat, watch });
|
|
79
79
|
await generateAll(config.documentModelsDir, { skipFormat, watch });
|
|
80
80
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
/**
|
|
82
|
+
* Generates code from a DocumentModelState.
|
|
83
|
+
*
|
|
84
|
+
* @remarks
|
|
85
|
+
* This is the core generation function that both generateFromFile and generateFromDocument
|
|
86
|
+
* use internally. It handles the actual code generation from a DocumentModelState object.
|
|
87
|
+
*
|
|
88
|
+
* @param documentModel - The DocumentModelState containing the document model specification
|
|
89
|
+
* @param config - The PowerhouseConfig configuration object
|
|
90
|
+
* @param filePath - Optional file path for generateSubgraph (null if not from file)
|
|
91
|
+
* @param options - Optional configuration for generation behavior
|
|
92
|
+
* @returns A promise that resolves when code generation is complete
|
|
93
|
+
*/
|
|
94
|
+
async function generateFromDocumentModel(documentModel, config, filePath, options = {}) {
|
|
95
|
+
// Derive verbose from config.logLevel if not explicitly provided
|
|
96
|
+
// Show hygen logs for verbose, debug, and info levels (default behavior before ts-morph)
|
|
97
|
+
const { verbose = config.logLevel === "verbose" ||
|
|
98
|
+
config.logLevel === "debug" ||
|
|
99
|
+
config.logLevel === "info", } = options;
|
|
84
100
|
const name = paramCase(documentModel.name);
|
|
85
101
|
// create document model folder and spec as json
|
|
86
102
|
fs.mkdirSync(join(config.documentModelsDir, name), { recursive: true });
|
|
@@ -93,9 +109,38 @@ export async function generateFromFile(path, config) {
|
|
|
93
109
|
if (schemaStr) {
|
|
94
110
|
fs.writeFileSync(join(config.documentModelsDir, name, `schema.graphql`), schemaStr);
|
|
95
111
|
}
|
|
96
|
-
await generateSchema(name, config.documentModelsDir,
|
|
97
|
-
|
|
98
|
-
|
|
112
|
+
await generateSchema(name, config.documentModelsDir, {
|
|
113
|
+
skipFormat: config.skipFormat,
|
|
114
|
+
verbose,
|
|
115
|
+
});
|
|
116
|
+
await generateDocumentModel(documentModel, config.documentModelsDir, {
|
|
117
|
+
skipFormat: config.skipFormat,
|
|
118
|
+
verbose,
|
|
119
|
+
});
|
|
120
|
+
await generateSubgraph(name, filePath || null, config, { verbose });
|
|
121
|
+
}
|
|
122
|
+
export async function generateFromFile(path, config, options = {}) {
|
|
123
|
+
// load document model spec from file
|
|
124
|
+
const documentModel = await loadDocumentModel(path);
|
|
125
|
+
// delegate to shared generation function
|
|
126
|
+
await generateFromDocumentModel(documentModel, config, path, options);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Generates code from a DocumentModelDocument object directly.
|
|
130
|
+
*
|
|
131
|
+
* @remarks
|
|
132
|
+
* This function performs the same code generation as generateFromFile but takes
|
|
133
|
+
* a DocumentModelDocument object directly instead of loading from a file. This allows for
|
|
134
|
+
* programmatic code generation without file I/O.
|
|
135
|
+
*
|
|
136
|
+
* @param documentModelDocument - The DocumentModelDocument object containing the document model
|
|
137
|
+
* @param config - The PowerhouseConfig configuration object
|
|
138
|
+
* @param options - Optional configuration for generation behavior (verbose logging, etc.)
|
|
139
|
+
* @returns A promise that resolves when code generation is complete
|
|
140
|
+
*/
|
|
141
|
+
export async function generateFromDocument(documentModelState, config, options = {}) {
|
|
142
|
+
// delegate to shared generation function
|
|
143
|
+
await generateFromDocumentModel(documentModelState, config, null, options);
|
|
99
144
|
}
|
|
100
145
|
export async function generateEditor(name, documentTypes, config) {
|
|
101
146
|
const pathOrigin = "../../";
|
|
@@ -107,8 +152,14 @@ export async function generateEditor(name, documentTypes, config) {
|
|
|
107
152
|
}
|
|
108
153
|
return _generateEditor(name, documentTypes, documentTypesMap, config.editorsDir, config.documentModelsDir, { skipFormat });
|
|
109
154
|
}
|
|
110
|
-
export async function
|
|
111
|
-
return _generateSubgraph(name,
|
|
155
|
+
export async function generateSubgraphFromDocumentModel(name, documentModel, config, options = {}) {
|
|
156
|
+
return _generateSubgraph(name, documentModel, config.subgraphsDir, {
|
|
157
|
+
skipFormat: config.skipFormat,
|
|
158
|
+
verbose: options.verbose,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
export async function generateSubgraph(name, file, config, options = {}) {
|
|
162
|
+
return _generateSubgraph(name, file !== null ? await loadDocumentModel(file) : null, config.subgraphsDir, { skipFormat: config.skipFormat, verbose: options.verbose });
|
|
112
163
|
}
|
|
113
164
|
export async function generateProcessor(name, type, documentTypes, config) {
|
|
114
165
|
const { documentModelsDir, skipFormat } = config;
|
|
@@ -119,12 +170,14 @@ export async function generateProcessor(name, type, documentTypes, config) {
|
|
|
119
170
|
}
|
|
120
171
|
return _generateProcessor(name, documentTypes, documentTypesMap, config.processorsDir, config.documentModelsDir, type, { skipFormat });
|
|
121
172
|
}
|
|
122
|
-
export async function generateImportScript(name, config) {
|
|
123
|
-
return _generateImportScript(name, config.importScriptsDir, config);
|
|
124
|
-
}
|
|
125
173
|
export async function generateDriveEditor(name, config) {
|
|
126
174
|
return _generateDriveEditor(name, config.editorsDir, {
|
|
127
175
|
skipFormat: config.skipFormat,
|
|
128
176
|
});
|
|
129
177
|
}
|
|
178
|
+
export async function generateImportScript(name, config) {
|
|
179
|
+
return _generateImportScript(name, config.importScriptsDir, {
|
|
180
|
+
skipFormat: config.skipFormat,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
130
183
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKpD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EACL,mBAAmB,IAAI,oBAAoB,EAC3C,cAAc,IAAI,eAAe,EACjC,oBAAoB,IAAI,qBAAqB,EAC7C,iBAAiB,IAAI,kBAAkB,EACvC,gBAAgB,IAAI,iBAAiB,EACrC,WAAW,EACX,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKpD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EACL,mBAAmB,IAAI,oBAAoB,EAC3C,cAAc,IAAI,eAAe,EACjC,oBAAoB,IAAI,qBAAqB,EAC7C,iBAAiB,IAAI,kBAAkB,EACvC,gBAAgB,IAAI,iBAAiB,EACrC,WAAW,EACX,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAM/C,SAAS,qBAAqB,CAAC,aAAiC;IAC9D,MAAM,IAAI,GACR,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAExE,uEAAuE;IACvE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,EACJ,OAAO,EACP,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GACzB,GAAG,IAAI,CAAC;IACT,MAAM,OAAO,GAAG;QACd,MAAM,CAAC,MAAM;QACb,KAAK,CAAC,MAAM;QACZ,GAAG,OAAO;aACP,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACf,KAAK,MAAM,CAAC,IAAI,EAAE;YAClB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC;SAC5C,CAAC;aACD,IAAI,EAAE;aACN,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;KACnD,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,mBAAmB,CAChC,GAAW,EACX,UAAU,GAAG,QAAQ;IAErB,MAAM,gBAAgB,GAAqB,EAAE,CAAC;IAE9C,uCAAuC;IACvC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;aACxC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;aAC5B,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;gBACvD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oBACZ,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;wBAC1B,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;wBACtB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC;qBACxC,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC;QACH,oBAAoB;QACpB,kGAAkG;QAClG,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3C,MAAM,aAAa,GAAG,cAAc,CAClC,IAAmC,CACb,CAAC;YACzB,gBAAgB,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG;gBACjD,IAAI;gBACJ,UAAU,EAAE,uBAAuB,SAAS,CAAC,IAAI,CAAC,EAAE;aACrD,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,mBAAmB;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAwB;IACrD,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,MAAM,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,yBAAyB,CACtC,aAAiC,EACjC,MAAwB,EACxB,QAAwB,EACxB,UAA0B,EAAE;IAE5B,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,GAC7B,GAAG,OAAO,CAAC;IACZ,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE3C,gDAAgD;IAChD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,EACpD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CACvC,CAAC;IAEF,kCAAkC;IAClC,MAAM,SAAS,GAAG;QAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,oBAAoB;QACzC,qBAAqB,CAAC,aAAa,CAAC;KACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAI,SAAS,EAAE,CAAC;QACd,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,CAAC,EACtD,SAAS,CACV,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,iBAAiB,EAAE;QACnD,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO;KACR,CAAC,CAAC;IACH,MAAM,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,iBAAiB,EAAE;QACnE,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO;KACR,CAAC,CAAC;IACH,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,MAAwB,EACxB,UAA0B,EAAE;IAE5B,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEpD,yCAAyC;IACzC,MAAM,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,kBAAsC,EACtC,MAAwB,EACxB,UAA0B,EAAE;IAE5B,yCAAyC;IACzC,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,aAAuB,EACvB,MAAwB;IAExB,MAAM,UAAU,GAAG,QAAQ,CAAC;IAE5B,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACjD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAChD,iBAAiB,EACjB,UAAU,CACX,CAAC;IAEF,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;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,WAAW,YAAY,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,eAAe,CACpB,IAAI,EACJ,aAAa,EACb,gBAAgB,EAChB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,iBAAiB,EACxB,EAAE,UAAU,EAAE,CACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,IAAY,EACZ,aAAiC,EACjC,MAAwB,EACxB,UAA0B,EAAE;IAE5B,OAAO,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE;QACjE,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,IAAmB,EACnB,MAAwB,EACxB,UAA0B,EAAE;IAE5B,OAAO,iBAAiB,CACtB,IAAI,EACJ,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACpD,MAAM,CAAC,YAAY,EACnB,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAC5D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,IAAkC,EAClC,aAAuB,EACvB,MAAwB;IAExB,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACjD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAEtE,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;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,WAAW,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,kBAAkB,CACvB,IAAI,EACJ,aAAa,EACb,gBAAgB,EAChB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,iBAAiB,EACxB,IAAI,EACJ,EAAE,UAAU,EAAE,CACf,CAAC;AACJ,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,MAAwB;IAExB,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE;QACnD,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,MAAwB;IAExB,OAAO,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAAE;QAC1D,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type DirectoryManager } from "../utilities/DirectoryManager.js";
|
|
2
|
+
import { type ImportManager } from "../utilities/ImportManager.js";
|
|
3
|
+
import { type GenerationContext } from "./GenerationContext.js";
|
|
4
|
+
export declare abstract class FileGenerator {
|
|
5
|
+
protected importManager: ImportManager;
|
|
6
|
+
protected directoryManager: DirectoryManager;
|
|
7
|
+
constructor(importManager: ImportManager, directoryManager: DirectoryManager);
|
|
8
|
+
abstract generate(context: GenerationContext): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=FileGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/FileGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,8BAAsB,aAAa;IAE/B,SAAS,CAAC,aAAa,EAAE,aAAa;IACtC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB;gBADlC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB;IAG9C,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAC7D"}
|