@powerhousedao/codegen 0.33.0 → 0.35.0
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/cli.js +11 -5
- package/dist/cli.js.map +1 -1
- package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.js +25 -0
- package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.js.map +1 -0
- package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/resolvers.esm.t +59 -0
- package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/schema.esm.t +31 -0
- package/dist/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +20 -1
- package/dist/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +2 -1
- package/dist/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js.map +1 -1
- package/dist/codegen/hygen.js +32 -16
- package/dist/codegen/hygen.js.map +1 -1
- package/dist/codegen/index.js +11 -6
- package/dist/codegen/index.js.map +1 -1
- package/dist/hygen.d.ts +4 -3
- package/dist/{index-CFOaxi4C.d.ts → index-DT1dkT-t.d.ts} +3 -3
- package/dist/index.d.ts +2 -2
- package/package.json +4 -4
package/dist/cli.js
CHANGED
|
@@ -10,12 +10,14 @@ function parseCommand(argv) {
|
|
|
10
10
|
"-e": "--editor",
|
|
11
11
|
"--processor": String,
|
|
12
12
|
"--document-types": String,
|
|
13
|
-
"--processor-type": String
|
|
13
|
+
"--processor-type": String,
|
|
14
|
+
"--file": String
|
|
14
15
|
});
|
|
15
16
|
const editorName = args["--editor"];
|
|
16
17
|
const processorName = args["--processor"];
|
|
17
18
|
const processorType = args["--processor-type"];
|
|
18
19
|
const subgraphName = args["--subgraph"];
|
|
20
|
+
const file = args["--file"];
|
|
19
21
|
return {
|
|
20
22
|
processor: !!processorName,
|
|
21
23
|
processorName,
|
|
@@ -25,7 +27,8 @@ function parseCommand(argv) {
|
|
|
25
27
|
documentTypes: args["--document-types"],
|
|
26
28
|
arg: args._,
|
|
27
29
|
subgraph: !!subgraphName,
|
|
28
|
-
subgraphName: subgraphName ?? "example"
|
|
30
|
+
subgraphName: subgraphName ?? "example",
|
|
31
|
+
file
|
|
29
32
|
};
|
|
30
33
|
}
|
|
31
34
|
async function main() {
|
|
@@ -59,9 +62,12 @@ async function main() {
|
|
|
59
62
|
config
|
|
60
63
|
);
|
|
61
64
|
} else if (command.subgraph) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
if (!command.subgraphName) {
|
|
66
|
+
throw new Error("Subgraph name is required (--subgraph)");
|
|
67
|
+
}
|
|
68
|
+
await generateSubgraph(command.subgraphName, command.file || null, config);
|
|
69
|
+
} else if (command.file || command.arg.length === 2) {
|
|
70
|
+
await generateFromFile(command.file || command.arg[1], config);
|
|
65
71
|
} else {
|
|
66
72
|
await generate(config);
|
|
67
73
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli.ts"],"names":[],"mappings":";;;;;AAWA,SAAS,aAAa,IAAgB,EAAA;AACpC,EAAM,MAAA,IAAA,GAAO,UAAU,IAAM,EAAA;AAAA,IAC3B,UAAY,EAAA,MAAA;AAAA,IACZ,YAAc,EAAA,MAAA;AAAA,IACd,IAAM,EAAA,UAAA;AAAA,IACN,aAAe,EAAA,MAAA;AAAA,IACf,kBAAoB,EAAA,MAAA;AAAA,IACpB,kBAAoB,EAAA;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/cli.ts"],"names":[],"mappings":"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","file":"cli.js","sourcesContent":["#! /usr/bin/env node\nimport { getConfig } from \"@powerhousedao/config/powerhouse\";\nimport {\n generate,\n generateEditor,\n generateFromFile,\n generateProcessor,\n generateSubgraph,\n} from \"./codegen/index\";\nimport { parseArgs, parseConfig, promptDirectories } from \"./utils/index\";\n\nfunction parseCommand(argv: string[]) {\n const args = parseArgs(argv, {\n \"--editor\": String,\n \"--subgraph\": String,\n \"-e\": \"--editor\",\n \"--processor\": String,\n \"--document-types\": String,\n \"--processor-type\": String,\n \"--file\": String,\n });\n\n const editorName = args[\"--editor\"];\n const processorName = args[\"--processor\"];\n const processorType = args[\"--processor-type\"];\n const subgraphName = args[\"--subgraph\"];\n const file = args[\"--file\"];\n\n return {\n processor: !!processorName,\n processorName,\n processorType,\n editor: !!editorName,\n editorName,\n documentTypes: args[\"--document-types\"],\n arg: args._,\n subgraph: !!subgraphName,\n subgraphName: subgraphName ?? \"example\",\n file,\n };\n}\n\nasync function main() {\n const argv = process.argv.slice(2);\n const baseConfig = getConfig();\n const argsConfig = parseConfig(argv);\n const config = { ...baseConfig, ...argsConfig };\n if (config.interactive) {\n const result = await promptDirectories(config);\n Object.assign(config, result);\n }\n\n const command = parseCommand(argv);\n\n if (command.editor) {\n if (!command.editorName) {\n throw new Error(\"Editor name is required (--editor or -e)\");\n }\n await generateEditor(\n command.editorName,\n command.documentTypes?.split(/[|,;]/g) ?? [],\n config,\n );\n } else if (command.processor) {\n if (!command.processorName) {\n throw new Error(\"processor name is required (--processor)\");\n }\n\n const type = !command.processorType\n ? \"analytics\"\n : (command.processorType as \"analytics\" | \"operational\");\n\n await generateProcessor(\n command.processorName,\n type,\n command.documentTypes?.split(/[|,;]/g) ?? [],\n config,\n );\n } else if (command.subgraph) {\n if (!command.subgraphName) {\n throw new Error(\"Subgraph name is required (--subgraph)\");\n }\n await generateSubgraph(command.subgraphName, command.file || null, config);\n } else if (command.file || command.arg.length === 2) {\n await generateFromFile(command.file || command.arg[1], config);\n } else {\n await generate(config);\n }\n}\n\nmain().catch((e: unknown) => {\n throw e;\n});\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var changeCase = require('change-case');
|
|
4
|
+
|
|
5
|
+
var generate_document_model_mutations_default = {
|
|
6
|
+
params: ({ args }) => {
|
|
7
|
+
const documentModel = JSON.parse(args.documentModel);
|
|
8
|
+
const latestSpec = documentModel.specifications[documentModel.specifications.length - 1];
|
|
9
|
+
return {
|
|
10
|
+
rootDir: args.rootDir,
|
|
11
|
+
subgraph: args.subgraph,
|
|
12
|
+
documentTypeId: documentModel.id,
|
|
13
|
+
documentType: documentModel.name,
|
|
14
|
+
schema: latestSpec.state.global.schema,
|
|
15
|
+
modules: latestSpec.modules.map((m) => ({
|
|
16
|
+
...m,
|
|
17
|
+
name: changeCase.paramCase(m.name)
|
|
18
|
+
}))
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
module.exports = generate_document_model_mutations_default;
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.ts"],"names":["paramCase"],"mappings":";;;;AASA,IAAO,yCAAQ,GAAA;AAAA,EACb,MAAQ,EAAA,CAAC,EAAE,IAAA,EAA2B,KAAA;AACpC,IAAA,MAAM,aAAgB,GAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAK,aAAa,CAAA;AACnD,IAAA,MAAM,aACJ,aAAc,CAAA,cAAA,CAAe,aAAc,CAAA,cAAA,CAAe,SAAS,CAAC,CAAA;AAEtE,IAAO,OAAA;AAAA,MACL,SAAS,IAAK,CAAA,OAAA;AAAA,MACd,UAAU,IAAK,CAAA,QAAA;AAAA,MACf,gBAAgB,aAAc,CAAA,EAAA;AAAA,MAC9B,cAAc,aAAc,CAAA,IAAA;AAAA,MAC5B,MAAA,EAAQ,UAAW,CAAA,KAAA,CAAM,MAAO,CAAA,MAAA;AAAA,MAChC,OAAS,EAAA,UAAA,CAAW,OAAQ,CAAA,GAAA,CAAI,CAAC,CAAO,MAAA;AAAA,QACtC,GAAG,CAAA;AAAA,QACH,IAAA,EAAMA,oBAAU,CAAA,CAAA,CAAE,IAAI;AAAA,OACtB,CAAA;AAAA,KACJ;AAAA;AAEJ","file":"index.js","sourcesContent":["import { paramCase } from \"change-case\";\nimport { DocumentModelState } from \"document-model/document-model\";\n\nexport type Args = {\n documentModel: string;\n rootDir: string;\n subgraph: string;\n};\n\nexport default {\n params: ({ args }: { args: Args }) => {\n const documentModel = JSON.parse(args.documentModel) as DocumentModelState;\n const latestSpec =\n documentModel.specifications[documentModel.specifications.length - 1];\n\n return {\n rootDir: args.rootDir,\n subgraph: args.subgraph,\n documentTypeId: documentModel.id,\n documentType: documentModel.name,\n schema: latestSpec.state.global.schema,\n modules: latestSpec.modules.map((m) => ({\n ...m,\n name: paramCase(m.name),\n })),\n };\n },\n};\n"]}
|
package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/resolvers.esm.t
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: "<%= rootDir %>/<%= h.changeCase.param(subgraph) %>/resolvers.ts"
|
|
3
|
+
force: true
|
|
4
|
+
---
|
|
5
|
+
import { Subgraph } from "@powerhousedao/reactor-api";
|
|
6
|
+
import { actions } from "../../document-models/<%- h.changeCase.param(documentType) %>";
|
|
7
|
+
import { actions as driveActions } from "document-model-libs/document-drive";
|
|
8
|
+
import { utils as docUtils } from "document-model/document";
|
|
9
|
+
|
|
10
|
+
export const getResolvers = (subgraph: Subgraph, driveId: string) => {
|
|
11
|
+
const reactor = subgraph.reactor;
|
|
12
|
+
|
|
13
|
+
return ({
|
|
14
|
+
Mutation: {
|
|
15
|
+
|
|
16
|
+
<%- h.changeCase.pascal(documentType) %>_createDocument: async (_: any, args: any) => {
|
|
17
|
+
const docId = docUtils.generateId();
|
|
18
|
+
|
|
19
|
+
reactor.addDriveAction(driveId, driveActions.addFile({
|
|
20
|
+
id: docId,
|
|
21
|
+
name: args.name,
|
|
22
|
+
documentType: "<%- documentTypeId %>",
|
|
23
|
+
synchronizationUnits:[
|
|
24
|
+
{
|
|
25
|
+
branch: "main",
|
|
26
|
+
scope: "global",
|
|
27
|
+
syncId: docUtils.hashKey(),
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
branch: "main",
|
|
31
|
+
scope: "local",
|
|
32
|
+
syncId: docUtils.hashKey(),
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
}));
|
|
36
|
+
|
|
37
|
+
return docId;
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
<% modules.forEach(module => { _%>
|
|
41
|
+
<% module.operations.forEach(op => { _%>
|
|
42
|
+
<%- h.changeCase.pascal(documentType) + '_' + h.changeCase.camel(op.name)
|
|
43
|
+
%>: async (_: any, args: any) => {
|
|
44
|
+
const docId: string = args.docId || "";
|
|
45
|
+
const doc = await reactor.getDocument(driveId, docId);
|
|
46
|
+
|
|
47
|
+
await reactor.addAction(
|
|
48
|
+
driveId,
|
|
49
|
+
docId,
|
|
50
|
+
actions.<%- h.changeCase.camel(op.name) %>({...args.input})
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
return doc.revision.global + 1;
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
<%_ })}); %>
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
};
|
package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/schema.esm.t
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: "<%= rootDir %>/<%= h.changeCase.param(subgraph) %>/schema.graphql"
|
|
3
|
+
force: true
|
|
4
|
+
---
|
|
5
|
+
"""
|
|
6
|
+
Subgraph definition for <%= h.changeCase.pascal(documentType) %> (<%- documentTypeId %>)
|
|
7
|
+
|
|
8
|
+
"""
|
|
9
|
+
<%- schema %>
|
|
10
|
+
|
|
11
|
+
"""
|
|
12
|
+
Mutations: <%= h.changeCase.pascal(documentType) %>
|
|
13
|
+
"""
|
|
14
|
+
type Mutation {
|
|
15
|
+
|
|
16
|
+
<%- h.changeCase.pascal(documentType) %>_createDocument(name:String): String
|
|
17
|
+
|
|
18
|
+
<% modules.forEach(module => { _%>
|
|
19
|
+
<% module.operations.forEach(op => { _%>
|
|
20
|
+
<%- h.changeCase.pascal(documentType) + '_' + h.changeCase.camel(op.name)
|
|
21
|
+
%>(docId: PHID, input: <%-
|
|
22
|
+
h.changeCase.pascal(documentType) + '_' + h.changeCase.pascal(op.name) %>Input): Int
|
|
23
|
+
<%_ })}); %>}
|
|
24
|
+
<% modules.forEach(module => { _%>
|
|
25
|
+
|
|
26
|
+
"""
|
|
27
|
+
Module: <%= h.changeCase.pascal(module.name) %>
|
|
28
|
+
"""
|
|
29
|
+
<% module.operations.forEach(op => { _%>
|
|
30
|
+
<%- op.schema.replace('input ', 'input ' + h.changeCase.pascal(documentType) + '_') %>
|
|
31
|
+
<%_ })}); %>
|
|
@@ -2,11 +2,29 @@
|
|
|
2
2
|
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
|
|
3
3
|
force: true
|
|
4
4
|
---
|
|
5
|
-
import { Subgraph
|
|
5
|
+
import { Subgraph } from "@powerhousedao/reactor-api";
|
|
6
6
|
import { gql } from "graphql-tag";
|
|
7
|
+
<% if (loadFromFile) { %>
|
|
8
|
+
import { readFileSync } from "fs";
|
|
9
|
+
import path from "path";
|
|
10
|
+
import { getResolvers } from "./resolvers";
|
|
11
|
+
|
|
12
|
+
// TODO: find a better way to import the graphql schema
|
|
13
|
+
const gqlFile = path.join(path.resolve(path.dirname('')), './subgraphs/<%= h.changeCase.param(name) %>/schema.graphql');
|
|
14
|
+
const gqlCode = readFileSync(gqlFile).toString();
|
|
15
|
+
<% } %>
|
|
7
16
|
|
|
8
17
|
export class <%= pascalName %>Subgraph extends Subgraph {
|
|
9
18
|
name = "<%= h.changeCase.param(name) %>";
|
|
19
|
+
<% if (loadFromFile) { %>
|
|
20
|
+
typeDefs = gql`${gqlCode}`;
|
|
21
|
+
|
|
22
|
+
resolvers = getResolvers(this, "powerhouse");
|
|
23
|
+
additionalContextFields = {};
|
|
24
|
+
async onSetup() {}
|
|
25
|
+
async onDisconnect() {}
|
|
26
|
+
<% } else { %>
|
|
27
|
+
|
|
10
28
|
resolvers = {
|
|
11
29
|
Query: {
|
|
12
30
|
example: {
|
|
@@ -39,4 +57,5 @@ export class <%= pascalName %>Subgraph extends Subgraph {
|
|
|
39
57
|
}
|
|
40
58
|
|
|
41
59
|
async onDisconnect() {}
|
|
60
|
+
<% } %>
|
|
42
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.ts"],"names":[],"mappings":";;AAMA,IAAO,yBAAQ,GAAA;AAAA,EACb,MAAQ,EAAA,CAAC,EAAE,IAAA,EAA2B,KAAA;AACpC,IAAO,OAAA;AAAA,MACL,SAAS,IAAK,CAAA,OAAA;AAAA,MACd,MAAM,IAAK,CAAA,IAAA;AAAA,MACX,cAAc,IAAK,CAAA;AAAA,KACrB;AAAA;AAEJ","file":"index.js","sourcesContent":["export type Args = {\n name: string;\n rootDir: string;\n loadFromFile: string;\n};\n\nexport default {\n params: ({ args }: { args: Args }) => {\n return {\n rootDir: args.rootDir,\n name: args.name,\n loadFromFile: args.loadFromFile,\n };\n },\n};\n"]}
|
package/dist/codegen/hygen.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { pascalCase } from 'change-case';
|
|
2
|
+
import { Logger, runner } from 'hygen';
|
|
1
3
|
import fs from 'node:fs';
|
|
2
4
|
import { createRequire } from 'node:module';
|
|
3
5
|
import path from 'node:path';
|
|
4
6
|
import { fileURLToPath } from 'node:url';
|
|
5
|
-
import { Logger, runner } from 'hygen';
|
|
6
7
|
import { loadDocumentModel } from './utils.js';
|
|
7
|
-
import { pascalCase } from 'change-case';
|
|
8
8
|
|
|
9
9
|
const require2 = createRequire(import.meta.url);
|
|
10
10
|
const __dirname = import.meta.dirname || path.dirname(fileURLToPath(import.meta.url));
|
|
@@ -127,20 +127,36 @@ async function generateProcessor(name, documentTypes, documentTypesMap, dir, doc
|
|
|
127
127
|
{ skipFormat }
|
|
128
128
|
);
|
|
129
129
|
}
|
|
130
|
-
async function generateSubgraph(name, dir, { skipFormat = false } = {}) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
130
|
+
async function generateSubgraph(name, documentModel, dir, { skipFormat = false } = {}) {
|
|
131
|
+
const params = [
|
|
132
|
+
"powerhouse",
|
|
133
|
+
`generate-subgraph`,
|
|
134
|
+
"--name",
|
|
135
|
+
name,
|
|
136
|
+
"--pascalName",
|
|
137
|
+
pascalCase(name),
|
|
138
|
+
"--root-dir",
|
|
139
|
+
dir
|
|
140
|
+
];
|
|
141
|
+
if (documentModel) {
|
|
142
|
+
params.push("--loadFromFile", "1");
|
|
143
|
+
}
|
|
144
|
+
await run(params, { skipFormat });
|
|
145
|
+
if (documentModel) {
|
|
146
|
+
await run(
|
|
147
|
+
[
|
|
148
|
+
"powerhouse",
|
|
149
|
+
"generate-document-model-mutations",
|
|
150
|
+
"--subgraph",
|
|
151
|
+
name,
|
|
152
|
+
"--document-model",
|
|
153
|
+
JSON.stringify(documentModel),
|
|
154
|
+
"--root-dir",
|
|
155
|
+
dir
|
|
156
|
+
],
|
|
157
|
+
{ skipFormat }
|
|
158
|
+
);
|
|
159
|
+
}
|
|
144
160
|
}
|
|
145
161
|
async function generateImportScript(name, dir, { skipFormat = false } = {}) {
|
|
146
162
|
await run(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/codegen/hygen.ts"],"names":["require"],"mappings":"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","file":"hygen.js","sourcesContent":["import fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { Logger, runner } from \"hygen\";\nimport { DocumentModel } from \"document-model\";\nimport { loadDocumentModel } from \"./utils\";\nimport { DocumentTypesMap } from \".\";\nimport { pascalCase } from \"change-case\";\n\nconst require = createRequire(import.meta.url);\n\nconst __dirname =\n import.meta.dirname || path.dirname(fileURLToPath(import.meta.url));\nconst logger = new Logger(console.log.bind(console));\nconst defaultTemplates = path.join(__dirname, \".hygen\", \"templates\");\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nasync function run(args: string[], { watch = false, skipFormat = false } = {}) {\n const result = await runner(args, {\n templates: defaultTemplates,\n cwd: process.cwd(),\n logger,\n createPrompter: () => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return require(\"enquirer\");\n },\n exec: (action, body) => {\n const opts = body && body.length > 0 ? { input: body } : {};\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n return require(\"execa\").shell(action, opts);\n },\n debug: !!process.env.DEBUG,\n });\n if (!skipFormat) {\n const execa = await import(\"execa\");\n const actions = result.actions as { status: string; subject: string }[];\n actions\n .filter((action) => [\"added\", \"inject\"].includes(action.status))\n .forEach((action) => {\n execa.$`prettier --ignore-path --write ${action.subject.replace(\n \".\",\n process.cwd(),\n )}`.catch((err: unknown) => {\n console.log(err);\n });\n });\n }\n\n return result;\n}\n\nexport async function generateAll(\n dir: string,\n { watch = false, skipFormat = false } = {},\n) {\n const files = fs.readdirSync(dir, { withFileTypes: true });\n for (const directory of files.filter((f) => f.isDirectory())) {\n const documentModelPath = path.join(\n dir,\n directory.name,\n `${directory.name}.json`,\n );\n if (!fs.existsSync(documentModelPath)) {\n continue;\n }\n\n try {\n const documentModel = await loadDocumentModel(documentModelPath);\n await generateDocumentModel(documentModel, dir, { watch, skipFormat });\n } catch (error) {\n console.error(directory.name, error);\n }\n }\n}\n\nexport async function generateDocumentModel(\n documentModel: DocumentModel.DocumentModelState,\n dir: string,\n { watch = false, skipFormat = false } = {},\n) {\n // Generate the singular files for the document model logic\n await run(\n [\n \"powerhouse\",\n \"generate-document-model\",\n \"--document-model\",\n JSON.stringify(documentModel),\n \"--root-dir\",\n dir,\n ],\n { watch, skipFormat },\n );\n\n // Generate the module-specific files for the document model logic\n const latestSpec =\n documentModel.specifications[documentModel.specifications.length - 1];\n for (const module of latestSpec.modules) {\n await run(\n [\n \"powerhouse\",\n \"generate-document-model-module\",\n \"--document-model\",\n JSON.stringify(documentModel),\n \"--root-dir\",\n dir,\n \"--module\",\n module.name,\n ],\n { watch, skipFormat },\n );\n }\n}\n\nexport async function generateEditor(\n name: string,\n documentTypes: string[],\n documentTypesMap: DocumentTypesMap,\n dir: string,\n documentModelsDir: string,\n { skipFormat = false } = {},\n) {\n // Generate the singular files for the document model logic\n await run(\n [\n \"powerhouse\",\n \"generate-editor\",\n \"--name\",\n name,\n \"--root-dir\",\n dir,\n \"--document-types\",\n documentTypes.join(\",\"),\n \"--document-types-map\",\n JSON.stringify(documentTypesMap),\n \"--document-models-dir\",\n documentModelsDir,\n ],\n { skipFormat },\n );\n}\n\nexport async function generateProcessor(\n name: string,\n documentTypes: string[],\n documentTypesMap: DocumentTypesMap,\n dir: string,\n documentModelsDir: string,\n type = \"analytics\",\n { skipFormat = false } = {},\n) {\n // Generate the singular files for the document model logic\n const processorType = type === \"operational\" ? \"operational\" : \"analytics\";\n await run(\n [\n \"powerhouse\",\n `generate-processor-${processorType}`,\n \"--name\",\n name,\n \"--pascalName\",\n pascalCase(name),\n \"--root-dir\",\n dir,\n \"--document-types\",\n documentTypes.join(\",\"),\n \"--document-types-map\",\n JSON.stringify(documentTypesMap),\n \"--document-models-dir\",\n documentModelsDir,\n ],\n { skipFormat },\n );\n}\n\nexport async function generateSubgraph(\n name: string,\n dir: string,\n { skipFormat = false } = {},\n) {\n // Generate the singular files for the document model logic\n await run(\n [\n \"powerhouse\",\n `generate-subgraph`,\n \"--name\",\n name,\n \"--pascalName\",\n pascalCase(name),\n \"--root-dir\",\n dir,\n ],\n { skipFormat },\n );\n}\n\nexport async function generateImportScript(\n name: string,\n dir: string,\n { skipFormat = false } = {},\n) {\n // Generate the singular files for the document model logic\n await run(\n [\n \"powerhouse\",\n `generate-import-script`,\n \"--name\",\n name,\n \"--pascalName\",\n pascalCase(name),\n \"--root-dir\",\n dir,\n ],\n { skipFormat },\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/codegen/hygen.ts"],"names":["require"],"mappings":"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","file":"hygen.js","sourcesContent":["import { pascalCase } from \"change-case\";\nimport { DocumentModel } from \"document-model\";\nimport { DocumentModelState } from \"document-model/document-model\";\nimport { Logger, runner } from \"hygen\";\nimport fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { DocumentTypesMap } from \".\";\nimport { loadDocumentModel } from \"./utils\";\n\nconst require = createRequire(import.meta.url);\n\nconst __dirname =\n import.meta.dirname || path.dirname(fileURLToPath(import.meta.url));\nconst logger = new Logger(console.log.bind(console));\nconst defaultTemplates = path.join(__dirname, \".hygen\", \"templates\");\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nasync function run(args: string[], { watch = false, skipFormat = false } = {}) {\n const result = await runner(args, {\n templates: defaultTemplates,\n cwd: process.cwd(),\n logger,\n createPrompter: () => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return require(\"enquirer\");\n },\n exec: (action, body) => {\n const opts = body && body.length > 0 ? { input: body } : {};\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n return require(\"execa\").shell(action, opts);\n },\n debug: !!process.env.DEBUG,\n });\n if (!skipFormat) {\n const execa = await import(\"execa\");\n const actions = result.actions as { status: string; subject: string }[];\n actions\n .filter((action) => [\"added\", \"inject\"].includes(action.status))\n .forEach((action) => {\n execa.$`prettier --ignore-path --write ${action.subject.replace(\n \".\",\n process.cwd(),\n )}`.catch((err: unknown) => {\n console.log(err);\n });\n });\n }\n\n return result;\n}\n\nexport async function generateAll(\n dir: string,\n { watch = false, skipFormat = false } = {},\n) {\n const files = fs.readdirSync(dir, { withFileTypes: true });\n for (const directory of files.filter((f) => f.isDirectory())) {\n const documentModelPath = path.join(\n dir,\n directory.name,\n `${directory.name}.json`,\n );\n if (!fs.existsSync(documentModelPath)) {\n continue;\n }\n\n try {\n const documentModel = await loadDocumentModel(documentModelPath);\n await generateDocumentModel(documentModel, dir, { watch, skipFormat });\n } catch (error) {\n console.error(directory.name, error);\n }\n }\n}\n\nexport async function generateDocumentModel(\n documentModel: DocumentModel.DocumentModelState,\n dir: string,\n { watch = false, skipFormat = false } = {},\n) {\n // Generate the singular files for the document model logic\n await run(\n [\n \"powerhouse\",\n \"generate-document-model\",\n \"--document-model\",\n JSON.stringify(documentModel),\n \"--root-dir\",\n dir,\n ],\n { watch, skipFormat },\n );\n\n const latestSpec =\n documentModel.specifications[documentModel.specifications.length - 1];\n\n // Generate the module-specific files for the document model logic\n for (const module of latestSpec.modules) {\n await run(\n [\n \"powerhouse\",\n \"generate-document-model-module\",\n \"--document-model\",\n JSON.stringify(documentModel),\n \"--root-dir\",\n dir,\n \"--module\",\n module.name,\n ],\n { watch, skipFormat },\n );\n }\n}\n\nexport async function generateEditor(\n name: string,\n documentTypes: string[],\n documentTypesMap: DocumentTypesMap,\n dir: string,\n documentModelsDir: string,\n { skipFormat = false } = {},\n) {\n // Generate the singular files for the document model logic\n await run(\n [\n \"powerhouse\",\n \"generate-editor\",\n \"--name\",\n name,\n \"--root-dir\",\n dir,\n \"--document-types\",\n documentTypes.join(\",\"),\n \"--document-types-map\",\n JSON.stringify(documentTypesMap),\n \"--document-models-dir\",\n documentModelsDir,\n ],\n { skipFormat },\n );\n}\n\nexport async function generateProcessor(\n name: string,\n documentTypes: string[],\n documentTypesMap: DocumentTypesMap,\n dir: string,\n documentModelsDir: string,\n type = \"analytics\",\n { skipFormat = false } = {},\n) {\n // Generate the singular files for the document model logic\n const processorType = type === \"operational\" ? \"operational\" : \"analytics\";\n await run(\n [\n \"powerhouse\",\n `generate-processor-${processorType}`,\n \"--name\",\n name,\n \"--pascalName\",\n pascalCase(name),\n \"--root-dir\",\n dir,\n \"--document-types\",\n documentTypes.join(\",\"),\n \"--document-types-map\",\n JSON.stringify(documentTypesMap),\n \"--document-models-dir\",\n documentModelsDir,\n ],\n { skipFormat },\n );\n}\n\nexport async function generateSubgraph(\n name: string,\n documentModel: DocumentModelState | null,\n dir: string,\n { skipFormat = false } = {},\n) {\n const params = [\n \"powerhouse\",\n `generate-subgraph`,\n \"--name\",\n name,\n \"--pascalName\",\n pascalCase(name),\n \"--root-dir\",\n dir,\n ];\n\n if (documentModel) {\n params.push(\"--loadFromFile\", \"1\");\n }\n\n // Generate the singular files for the document model logic\n await run(params, { skipFormat });\n\n if (documentModel) {\n // Generate the GraphQL mutation schemas\n await run(\n [\n \"powerhouse\",\n \"generate-document-model-mutations\",\n \"--subgraph\",\n name,\n \"--document-model\",\n JSON.stringify(documentModel),\n \"--root-dir\",\n dir,\n ],\n { skipFormat },\n );\n }\n}\n\nexport async function generateImportScript(\n name: string,\n dir: string,\n { skipFormat = false } = {},\n) {\n // Generate the singular files for the document model logic\n await run(\n [\n \"powerhouse\",\n `generate-import-script`,\n \"--name\",\n name,\n \"--pascalName\",\n pascalCase(name),\n \"--root-dir\",\n dir,\n ],\n { skipFormat },\n );\n}\n"]}
|
package/dist/codegen/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
2
|
import { typeDefs } from '@powerhousedao/scalars';
|
|
3
|
-
import {
|
|
4
|
-
import { generateSchemas, generateSchema } from './graphql.js';
|
|
3
|
+
import { paramCase, pascalCase } from 'change-case';
|
|
5
4
|
import fs from 'node:fs';
|
|
6
5
|
import { join, resolve } from 'path';
|
|
7
|
-
import {
|
|
6
|
+
import { generateSchemas, generateSchema } from './graphql.js';
|
|
7
|
+
import { generateAll, generateDocumentModel, generateEditor as generateEditor$1, generateSubgraph as generateSubgraph$1, generateProcessor as generateProcessor$1, generateImportScript as generateImportScript$1 } from './hygen.js';
|
|
8
8
|
import { loadDocumentModel } from './utils.js';
|
|
9
9
|
|
|
10
10
|
function generateGraphqlSchema(documentModel) {
|
|
@@ -110,6 +110,14 @@ async function generateEditor(name, documentTypes, config) {
|
|
|
110
110
|
{ skipFormat }
|
|
111
111
|
);
|
|
112
112
|
}
|
|
113
|
+
async function generateSubgraph(name, file, config) {
|
|
114
|
+
return generateSubgraph$1(
|
|
115
|
+
name,
|
|
116
|
+
file !== null ? await loadDocumentModel(file) : null,
|
|
117
|
+
config.subgraphsDir,
|
|
118
|
+
config
|
|
119
|
+
);
|
|
120
|
+
}
|
|
113
121
|
async function generateProcessor(name, type, documentTypes, config) {
|
|
114
122
|
const { documentModelsDir, skipFormat } = config;
|
|
115
123
|
const documentTypesMap = await getDocumentTypesMap(documentModelsDir);
|
|
@@ -129,9 +137,6 @@ async function generateProcessor(name, type, documentTypes, config) {
|
|
|
129
137
|
{ skipFormat }
|
|
130
138
|
);
|
|
131
139
|
}
|
|
132
|
-
async function generateSubgraph(name, config) {
|
|
133
|
-
return generateSubgraph$1(name, config.subgraphsDir, config);
|
|
134
|
-
}
|
|
135
140
|
async function generateImportScript(name, config) {
|
|
136
141
|
return generateImportScript$1(name, config.importScriptsDir, config);
|
|
137
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/codegen/index.ts"],"names":["_generateEditor","type","_generateProcessor","_generateSubgraph","_generateImportScript"],"mappings":"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","file":"index.js","sourcesContent":["#! /usr/bin/env node\nimport { DocumentModelState } from \"document-model/document-model\";\nimport { typeDefs } from \"@powerhousedao/scalars\";\nimport {\n generateAll,\n generateEditor as _generateEditor,\n generateProcessor as _generateProcessor,\n generateDocumentModel,\n generateSubgraph as _generateSubgraph,\n generateImportScript as _generateImportScript,\n} from \"./hygen\";\nimport { generateSchemas, generateSchema } from \"./graphql\";\nimport fs from \"node:fs\";\nimport { join, resolve } from \"path\";\nimport { paramCase, pascalCase } from \"change-case\";\nimport { loadDocumentModel } from \"./utils\";\nimport { DocumentModel } from \"document-model/document\";\nimport { PowerhouseConfig } from \"@powerhousedao/config/powerhouse\";\n\nfunction generateGraphqlSchema(documentModel: DocumentModelState) {\n const spec =\n documentModel.specifications[documentModel.specifications.length - 1];\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!spec) {\n throw new Error(`No spec found for ${documentModel.id}`);\n }\n\n const {\n modules,\n state: { global, local },\n } = spec;\n const schemas = [\n global.schema,\n local.schema,\n ...modules\n .map((module) => [\n `# ${module.name}`,\n ...module.operations.map((op) => op.schema),\n ])\n .flat()\n .filter((schema) => schema && schema.length > 0),\n ];\n return schemas.join(\"\\n\\n\");\n}\n\nexport type DocumentTypesMap = Record<\n DocumentModel[\"documentModel\"][\"id\"],\n { name: string; importPath: string }\n>;\n\n// returns map of document model id to document model name in pascal case and import path\nasync function getDocumentTypesMap(\n dir: string,\n pathOrigin = \"../../../\",\n): Promise<DocumentTypesMap> {\n const documentTypesMap: DocumentTypesMap = {};\n\n // add document types from provided dir\n if (fs.existsSync(dir)) {\n fs.readdirSync(dir, { withFileTypes: true })\n .filter((dirent) => dirent.isDirectory())\n .map((dirent) => dirent.name)\n .forEach((name) => {\n const specPath = resolve(dir, name, `${name}.json`);\n if (!fs.existsSync(specPath)) {\n return;\n }\n\n const specRaw = fs.readFileSync(specPath, \"utf-8\");\n try {\n const spec = JSON.parse(specRaw) as DocumentModelState;\n if (spec.id) {\n documentTypesMap[spec.id] = {\n name: pascalCase(name),\n importPath: join(pathOrigin, dir, name),\n };\n }\n } catch {\n console.error(`Failed to parse ${specPath}`);\n }\n });\n }\n\n // add documents from document-model-libs if lib is installed\n try {\n /* eslint-disable */\n // @ts-ignore-error TS2307 this import is expected to fail if document-model-libs is not available\n const documentModels = await import(\"document-model-libs/document-models\");\n Object.keys(documentModels).forEach((name) => {\n const documentModel = documentModels[\n name as keyof typeof documentModels\n ] as DocumentModel;\n documentTypesMap[documentModel.documentModel.id] = {\n name,\n importPath: `document-model-libs/${paramCase(name)}`,\n };\n });\n /* eslint-enable */\n } catch {\n /* document-model-libs is not available */\n }\n\n return documentTypesMap;\n}\n\nexport async function generate(config: PowerhouseConfig) {\n const { skipFormat, watch } = config;\n await generateSchemas(config.documentModelsDir, { skipFormat, watch });\n await generateAll(config.documentModelsDir, { skipFormat, watch });\n}\n\nexport async function generateFromFile(path: string, config: PowerhouseConfig) {\n // load document model spec from file\n const documentModel = await loadDocumentModel(path);\n\n const name = paramCase(documentModel.name);\n\n // create document model folder and spec as json\n fs.mkdirSync(join(config.documentModelsDir, name), { recursive: true });\n fs.writeFileSync(\n join(config.documentModelsDir, name, `${name}.json`),\n JSON.stringify(documentModel, null, 4),\n );\n\n // bundle graphql schemas together\n const schemaStr = [\n typeDefs.join(\"\\n\"), // inject ph scalars\n generateGraphqlSchema(documentModel),\n ].join(\"\\n\");\n\n if (schemaStr) {\n fs.writeFileSync(\n join(config.documentModelsDir, name, `schema.graphql`),\n schemaStr,\n );\n }\n\n await generateSchema(name, config.documentModelsDir, config);\n await generateDocumentModel(documentModel, config.documentModelsDir, config);\n}\n\nexport async function generateEditor(\n name: string,\n documentTypes: string[],\n config: PowerhouseConfig,\n) {\n const pathOrigin = \"../../\";\n\n const { documentModelsDir, skipFormat } = config;\n const documentTypesMap = await getDocumentTypesMap(\n documentModelsDir,\n pathOrigin,\n );\n\n const invalidType = documentTypes.find(\n (type) => !Object.keys(documentTypesMap).includes(type),\n );\n if (invalidType) {\n throw new Error(`Document model for ${invalidType} not found`);\n }\n return _generateEditor(\n name,\n documentTypes,\n documentTypesMap,\n config.editorsDir,\n config.documentModelsDir,\n { skipFormat },\n );\n}\n\nexport async function generateProcessor(\n name: string,\n type: \"analytics\" | \"operational\",\n documentTypes: string[],\n config: PowerhouseConfig,\n) {\n const { documentModelsDir, skipFormat } = config;\n const documentTypesMap = await getDocumentTypesMap(documentModelsDir);\n\n const invalidType = documentTypes.find(\n (type) => !Object.keys(documentTypesMap).includes(type),\n );\n if (invalidType) {\n throw new Error(`Document model for ${invalidType} not found`);\n }\n\n return _generateProcessor(\n name,\n documentTypes,\n documentTypesMap,\n config.processorsDir,\n config.documentModelsDir,\n type,\n { skipFormat },\n );\n}\n\nexport async function generateSubgraph(name: string, config: PowerhouseConfig) {\n return _generateSubgraph(name, config.subgraphsDir, config);\n}\n\nexport async function generateImportScript(\n name: string,\n config: PowerhouseConfig,\n) {\n return _generateImportScript(name, config.importScriptsDir, config);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/codegen/index.ts"],"names":["_generateEditor","_generateSubgraph","type","_generateProcessor","_generateImportScript"],"mappings":"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","file":"index.js","sourcesContent":["#! /usr/bin/env node\nimport { PowerhouseConfig } from \"@powerhousedao/config/powerhouse\";\nimport { typeDefs } from \"@powerhousedao/scalars\";\nimport { paramCase, pascalCase } from \"change-case\";\nimport { DocumentModel } from \"document-model/document\";\nimport { DocumentModelState } from \"document-model/document-model\";\nimport fs from \"node:fs\";\nimport { join, resolve } from \"path\";\nimport { generateSchema, generateSchemas } from \"./graphql\";\nimport {\n generateEditor as _generateEditor,\n generateImportScript as _generateImportScript,\n generateProcessor as _generateProcessor,\n generateSubgraph as _generateSubgraph,\n generateAll,\n generateDocumentModel,\n} from \"./hygen\";\nimport { loadDocumentModel } from \"./utils\";\n\nfunction generateGraphqlSchema(documentModel: DocumentModelState) {\n const spec =\n documentModel.specifications[documentModel.specifications.length - 1];\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!spec) {\n throw new Error(`No spec found for ${documentModel.id}`);\n }\n\n const {\n modules,\n state: { global, local },\n } = spec;\n const schemas = [\n global.schema,\n local.schema,\n ...modules\n .map((module) => [\n `# ${module.name}`,\n ...module.operations.map((op) => op.schema),\n ])\n .flat()\n .filter((schema) => schema && schema.length > 0),\n ];\n return schemas.join(\"\\n\\n\");\n}\n\nexport type DocumentTypesMap = Record<\n DocumentModel[\"documentModel\"][\"id\"],\n { name: string; importPath: string }\n>;\n\n// returns map of document model id to document model name in pascal case and import path\nasync function getDocumentTypesMap(\n dir: string,\n pathOrigin = \"../../../\",\n): Promise<DocumentTypesMap> {\n const documentTypesMap: DocumentTypesMap = {};\n\n // add document types from provided dir\n if (fs.existsSync(dir)) {\n fs.readdirSync(dir, { withFileTypes: true })\n .filter((dirent) => dirent.isDirectory())\n .map((dirent) => dirent.name)\n .forEach((name) => {\n const specPath = resolve(dir, name, `${name}.json`);\n if (!fs.existsSync(specPath)) {\n return;\n }\n\n const specRaw = fs.readFileSync(specPath, \"utf-8\");\n try {\n const spec = JSON.parse(specRaw) as DocumentModelState;\n if (spec.id) {\n documentTypesMap[spec.id] = {\n name: pascalCase(name),\n importPath: join(pathOrigin, dir, name),\n };\n }\n } catch {\n console.error(`Failed to parse ${specPath}`);\n }\n });\n }\n\n // add documents from document-model-libs if lib is installed\n try {\n /* eslint-disable */\n // @ts-ignore-error TS2307 this import is expected to fail if document-model-libs is not available\n const documentModels = await import(\"document-model-libs/document-models\");\n Object.keys(documentModels).forEach((name) => {\n const documentModel = documentModels[\n name as keyof typeof documentModels\n ] as DocumentModel;\n documentTypesMap[documentModel.documentModel.id] = {\n name,\n importPath: `document-model-libs/${paramCase(name)}`,\n };\n });\n /* eslint-enable */\n } catch {\n /* document-model-libs is not available */\n }\n\n return documentTypesMap;\n}\n\nexport async function generate(config: PowerhouseConfig) {\n const { skipFormat, watch } = config;\n await generateSchemas(config.documentModelsDir, { skipFormat, watch });\n await generateAll(config.documentModelsDir, { skipFormat, watch });\n}\n\nexport async function generateFromFile(path: string, config: PowerhouseConfig) {\n // load document model spec from file\n const documentModel = await loadDocumentModel(path);\n\n const name = paramCase(documentModel.name);\n\n // create document model folder and spec as json\n fs.mkdirSync(join(config.documentModelsDir, name), { recursive: true });\n fs.writeFileSync(\n join(config.documentModelsDir, name, `${name}.json`),\n JSON.stringify(documentModel, null, 4),\n );\n\n // bundle graphql schemas together\n const schemaStr = [\n typeDefs.join(\"\\n\"), // inject ph scalars\n generateGraphqlSchema(documentModel),\n ].join(\"\\n\");\n\n if (schemaStr) {\n fs.writeFileSync(\n join(config.documentModelsDir, name, `schema.graphql`),\n schemaStr,\n );\n }\n\n await generateSchema(name, config.documentModelsDir, config);\n await generateDocumentModel(documentModel, config.documentModelsDir, config);\n}\n\nexport async function generateEditor(\n name: string,\n documentTypes: string[],\n config: PowerhouseConfig,\n) {\n const pathOrigin = \"../../\";\n\n const { documentModelsDir, skipFormat } = config;\n const documentTypesMap = await getDocumentTypesMap(\n documentModelsDir,\n pathOrigin,\n );\n\n const invalidType = documentTypes.find(\n (type) => !Object.keys(documentTypesMap).includes(type),\n );\n if (invalidType) {\n throw new Error(`Document model for ${invalidType} not found`);\n }\n return _generateEditor(\n name,\n documentTypes,\n documentTypesMap,\n config.editorsDir,\n config.documentModelsDir,\n { skipFormat },\n );\n}\n\nexport async function generateSubgraph(\n name: string,\n file: string | null,\n config: PowerhouseConfig,\n) {\n return _generateSubgraph(\n name,\n file !== null ? await loadDocumentModel(file) : null,\n config.subgraphsDir,\n config,\n );\n}\n\nexport async function generateProcessor(\n name: string,\n type: \"analytics\" | \"operational\",\n documentTypes: string[],\n config: PowerhouseConfig,\n) {\n const { documentModelsDir, skipFormat } = config;\n const documentTypesMap = await getDocumentTypesMap(documentModelsDir);\n\n const invalidType = documentTypes.find(\n (type) => !Object.keys(documentTypesMap).includes(type),\n );\n if (invalidType) {\n throw new Error(`Document model for ${invalidType} not found`);\n }\n\n return _generateProcessor(\n name,\n documentTypes,\n documentTypesMap,\n config.processorsDir,\n config.documentModelsDir,\n type,\n { skipFormat },\n );\n}\n\nexport async function generateImportScript(\n name: string,\n config: PowerhouseConfig,\n) {\n return _generateImportScript(name, config.importScriptsDir, config);\n}\n"]}
|
package/dist/hygen.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { DocumentModel } from 'document-model';
|
|
2
|
-
import {
|
|
3
|
-
import '
|
|
2
|
+
import { DocumentModelState } from 'document-model/document-model';
|
|
3
|
+
import { D as DocumentTypesMap } from './index-DT1dkT-t.js';
|
|
4
4
|
import '@powerhousedao/config/powerhouse';
|
|
5
|
+
import 'document-model/document';
|
|
5
6
|
|
|
6
7
|
declare function generateAll(dir: string, { watch, skipFormat }?: {
|
|
7
8
|
watch?: boolean | undefined;
|
|
@@ -17,7 +18,7 @@ declare function generateEditor(name: string, documentTypes: string[], documentT
|
|
|
17
18
|
declare function generateProcessor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, dir: string, documentModelsDir: string, type?: string, { skipFormat }?: {
|
|
18
19
|
skipFormat?: boolean | undefined;
|
|
19
20
|
}): Promise<void>;
|
|
20
|
-
declare function generateSubgraph(name: string, dir: string, { skipFormat }?: {
|
|
21
|
+
declare function generateSubgraph(name: string, documentModel: DocumentModelState | null, dir: string, { skipFormat }?: {
|
|
21
22
|
skipFormat?: boolean | undefined;
|
|
22
23
|
}): Promise<void>;
|
|
23
24
|
declare function generateImportScript(name: string, dir: string, { skipFormat }?: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DocumentModel } from 'document-model/document';
|
|
2
1
|
import { PowerhouseConfig } from '@powerhousedao/config/powerhouse';
|
|
2
|
+
import { DocumentModel } from 'document-model/document';
|
|
3
3
|
|
|
4
4
|
type DocumentTypesMap = Record<DocumentModel["documentModel"]["id"], {
|
|
5
5
|
name: string;
|
|
@@ -8,8 +8,8 @@ type DocumentTypesMap = Record<DocumentModel["documentModel"]["id"], {
|
|
|
8
8
|
declare function generate(config: PowerhouseConfig): Promise<void>;
|
|
9
9
|
declare function generateFromFile(path: string, config: PowerhouseConfig): Promise<void>;
|
|
10
10
|
declare function generateEditor(name: string, documentTypes: string[], config: PowerhouseConfig): Promise<void>;
|
|
11
|
+
declare function generateSubgraph(name: string, file: string | null, config: PowerhouseConfig): Promise<void>;
|
|
11
12
|
declare function generateProcessor(name: string, type: "analytics" | "operational", documentTypes: string[], config: PowerhouseConfig): Promise<void>;
|
|
12
|
-
declare function generateSubgraph(name: string, config: PowerhouseConfig): Promise<void>;
|
|
13
13
|
declare function generateImportScript(name: string, config: PowerhouseConfig): Promise<void>;
|
|
14
14
|
|
|
15
|
-
export { type DocumentTypesMap as D, generateFromFile as a, generateEditor as b,
|
|
15
|
+
export { type DocumentTypesMap as D, generateFromFile as a, generateEditor as b, generateSubgraph as c, generateProcessor as d, generateImportScript as e, generate as g };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { D as DocumentTypesMap, g as generate, b as generateEditor, a as generateFromFile, e as generateImportScript,
|
|
1
|
+
export { D as DocumentTypesMap, g as generate, b as generateEditor, a as generateFromFile, e as generateImportScript, d as generateProcessor, c as generateSubgraph } from './index-DT1dkT-t.js';
|
|
2
2
|
export { ICreateProjectOptions, configSpec, createProject, createProjectSpec, generateMock, generateMockTypeFn, getPackageManager, parseArgs, parseConfig, parseVersion, promptDirectories } from './utils.js';
|
|
3
|
-
import 'document-model/document';
|
|
4
3
|
import '@powerhousedao/config/powerhouse';
|
|
4
|
+
import 'document-model/document';
|
|
5
5
|
import 'arg';
|
|
6
6
|
import '@anatine/zod-mock';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/codegen",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -33,15 +33,15 @@
|
|
|
33
33
|
"execa": "^8.0.1",
|
|
34
34
|
"hygen": "^6.2.11",
|
|
35
35
|
"prettier": "^3.4.2",
|
|
36
|
-
"@powerhousedao/config": "1.
|
|
37
|
-
"document-model": "2.
|
|
36
|
+
"@powerhousedao/config": "1.17.0",
|
|
37
|
+
"document-model": "2.20.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"copyfiles": "^2.4.1",
|
|
41
41
|
"esbuild-fix-imports-plugin": "^1.0.7",
|
|
42
42
|
"graphql": "^16.8.1",
|
|
43
43
|
"husky": "^8.0.3",
|
|
44
|
-
"@powerhousedao/scalars": "1.
|
|
44
|
+
"@powerhousedao/scalars": "1.23.0"
|
|
45
45
|
},
|
|
46
46
|
"scripts": {
|
|
47
47
|
"check-types": "tsc --build",
|