@powerhousedao/vetra 5.1.0-dev.17 → 5.1.0-dev.19
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/processors/codegen/__tests__/codegen-processor-e2e.test.js +51 -11
- package/dist/processors/codegen/document-handlers/generators/constants.d.ts +1 -0
- package/dist/processors/codegen/document-handlers/generators/constants.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/constants.js +1 -0
- package/dist/processors/codegen/document-handlers/generators/document-model-generator.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/document-model-generator.js +6 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
|
@@ -1,6 +1,32 @@
|
|
|
1
|
+
import path from "path";
|
|
1
2
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { LEGACY } from "../document-handlers/generators/constants.js";
|
|
3
|
+
import { LEGACY, USE_VERSIONING, } from "../document-handlers/generators/constants.js";
|
|
3
4
|
import { CodegenProcessor } from "../index.js";
|
|
5
|
+
const defaultManifest = {
|
|
6
|
+
name: "",
|
|
7
|
+
description: "",
|
|
8
|
+
category: "",
|
|
9
|
+
publisher: {
|
|
10
|
+
name: "",
|
|
11
|
+
url: "",
|
|
12
|
+
},
|
|
13
|
+
documentModels: [],
|
|
14
|
+
editors: [],
|
|
15
|
+
apps: [],
|
|
16
|
+
subgraphs: [],
|
|
17
|
+
importScripts: [],
|
|
18
|
+
};
|
|
19
|
+
function mockGetPHConfig() {
|
|
20
|
+
return {
|
|
21
|
+
logLevel: "verbose",
|
|
22
|
+
skipFormat: true,
|
|
23
|
+
documentModelsDir: path.join(process.cwd(), "document-models"),
|
|
24
|
+
editorsDir: path.join(process.cwd(), "editors"),
|
|
25
|
+
processorsDir: path.join(process.cwd(), "processors"),
|
|
26
|
+
subgraphsDir: path.join(process.cwd(), "subgraphs"),
|
|
27
|
+
importScriptsDir: path.join(process.cwd(), "import-scripts"),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
4
30
|
// Mock ONLY the external codegen library boundary
|
|
5
31
|
vi.mock("@powerhousedao/codegen", () => ({
|
|
6
32
|
generateEditor: vi.fn(),
|
|
@@ -14,7 +40,7 @@ vi.mock("@powerhousedao/codegen", () => ({
|
|
|
14
40
|
}));
|
|
15
41
|
// Mock config functions
|
|
16
42
|
vi.mock("@powerhousedao/config/node", () => ({
|
|
17
|
-
getConfig: vi.fn(
|
|
43
|
+
getConfig: vi.fn(mockGetPHConfig),
|
|
18
44
|
}));
|
|
19
45
|
// Mock kebabCase
|
|
20
46
|
vi.mock("change-case", () => ({
|
|
@@ -37,7 +63,7 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
37
63
|
// Use fake timers to control setTimeout
|
|
38
64
|
vi.useFakeTimers();
|
|
39
65
|
mockConfig = {
|
|
40
|
-
PH_CONFIG:
|
|
66
|
+
PH_CONFIG: mockGetPHConfig(),
|
|
41
67
|
// Use the actual working directory for consistency
|
|
42
68
|
CURRENT_WORKING_DIR: process.cwd(),
|
|
43
69
|
};
|
|
@@ -45,15 +71,16 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
45
71
|
processor = new CodegenProcessor();
|
|
46
72
|
// Reset all codegen function mocks to resolve successfully
|
|
47
73
|
const codegen = await import("@powerhousedao/codegen");
|
|
48
|
-
vi.mocked(codegen.generateEditor).mockResolvedValue(
|
|
49
|
-
vi.mocked(codegen.generateFromDocument).mockResolvedValue(
|
|
50
|
-
vi.mocked(codegen.generateSubgraphFromDocumentModel).mockResolvedValue(
|
|
51
|
-
vi.mocked(codegen.generateManifest).mockResolvedValue(
|
|
52
|
-
vi.mocked(codegen.generateDriveEditor).mockResolvedValue(
|
|
53
|
-
vi.mocked(codegen.generateSubgraph).mockResolvedValue(
|
|
54
|
-
vi.mocked(codegen.generateProcessor).mockResolvedValue(
|
|
74
|
+
vi.mocked(codegen.generateEditor).mockResolvedValue();
|
|
75
|
+
vi.mocked(codegen.generateFromDocument).mockResolvedValue();
|
|
76
|
+
vi.mocked(codegen.generateSubgraphFromDocumentModel).mockResolvedValue();
|
|
77
|
+
vi.mocked(codegen.generateManifest).mockResolvedValue(JSON.stringify(defaultManifest));
|
|
78
|
+
vi.mocked(codegen.generateDriveEditor).mockResolvedValue();
|
|
79
|
+
vi.mocked(codegen.generateSubgraph).mockResolvedValue();
|
|
80
|
+
vi.mocked(codegen.generateProcessor).mockResolvedValue();
|
|
55
81
|
vi.mocked(codegen.validateDocumentModelState).mockReturnValue({
|
|
56
82
|
isValid: true,
|
|
83
|
+
errors: [],
|
|
57
84
|
});
|
|
58
85
|
});
|
|
59
86
|
afterEach(() => {
|
|
@@ -172,7 +199,13 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
172
199
|
};
|
|
173
200
|
await processor.onStrands([strand]);
|
|
174
201
|
await vi.runAllTimersAsync();
|
|
175
|
-
|
|
202
|
+
const generateFromDocumentArgs = {
|
|
203
|
+
legacy: LEGACY,
|
|
204
|
+
useVersioning: USE_VERSIONING,
|
|
205
|
+
documentModelState: validState,
|
|
206
|
+
config: mockConfig.PH_CONFIG,
|
|
207
|
+
};
|
|
208
|
+
expect(generateFromDocument).toHaveBeenCalledWith(generateFromDocumentArgs);
|
|
176
209
|
expect(generateSubgraphFromDocumentModel).toHaveBeenCalledWith("Test Model", validState, mockConfig.PH_CONFIG, { verbose: false });
|
|
177
210
|
expect(generateManifest).toHaveBeenCalledWith({
|
|
178
211
|
documentModels: [
|
|
@@ -209,6 +242,13 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
209
242
|
const validState = {
|
|
210
243
|
id: "test-model-id",
|
|
211
244
|
name: "Test Model",
|
|
245
|
+
author: {
|
|
246
|
+
name: "test",
|
|
247
|
+
website: "https://test.com",
|
|
248
|
+
},
|
|
249
|
+
description: "",
|
|
250
|
+
extension: ".phd",
|
|
251
|
+
specifications: [],
|
|
212
252
|
};
|
|
213
253
|
const strand = {
|
|
214
254
|
documentId: "test-doc-1",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,OAAO,CAAC;AAC3B,eAAO,MAAM,cAAc,QAAQ,CAAC"}
|
package/dist/processors/codegen/document-handlers/generators/document-model-generator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-model-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/document-model-generator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;IACzD,QAAQ,CAAC,sBAAsB,+BAA+B;IAE9D;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IA+BnD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"document-model-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/document-model-generator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;IACzD,QAAQ,CAAC,sBAAsB,+BAA+B;IAE9D;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IA+BnD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkEjE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { generateFromDocument, generateManifest, generateSubgraphFromDocumentModel, validateDocumentModelState, } from "@powerhousedao/codegen";
|
|
2
2
|
import { logger } from "../../logger.js";
|
|
3
3
|
import { BaseDocumentGen } from "../base-document-gen.js";
|
|
4
|
-
import { LEGACY } from "./constants.js";
|
|
4
|
+
import { LEGACY, USE_VERSIONING } from "./constants.js";
|
|
5
5
|
import { backupDocument } from "./utils.js";
|
|
6
6
|
/**
|
|
7
7
|
* Generator for document model documents
|
|
@@ -38,8 +38,11 @@ export class DocumentModelGenerator extends BaseDocumentGen {
|
|
|
38
38
|
// Validation is already done in shouldProcess, so we can proceed directly
|
|
39
39
|
logger.debug(`🔄 Starting code generation for document model: ${state.name}`);
|
|
40
40
|
try {
|
|
41
|
-
await generateFromDocument(
|
|
42
|
-
|
|
41
|
+
await generateFromDocument({
|
|
42
|
+
documentModelState: state,
|
|
43
|
+
config: this.config.PH_CONFIG,
|
|
44
|
+
legacy: LEGACY,
|
|
45
|
+
useVersioning: USE_VERSIONING,
|
|
43
46
|
});
|
|
44
47
|
await generateSubgraphFromDocumentModel(state.name, state, this.config.PH_CONFIG, { verbose: false });
|
|
45
48
|
logger.info(`✅ Code generation completed successfully for: ${state.name}`);
|