@powerhousedao/codegen 6.0.0-dev.32 → 6.0.0-dev.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/codegen/__tests__/fixtures/typecheck.js +1 -1
- package/dist/src/codegen/__tests__/fixtures/typecheck.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-doc-model.test.js +14 -69
- package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js +37 -36
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-editor.test.js +17 -17
- package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-manifest.test.js +17 -16
- package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-processor.test.d.ts +2 -0
- package/dist/src/codegen/__tests__/generate-processor.test.d.ts.map +1 -0
- package/dist/src/codegen/__tests__/generate-processor.test.js +63 -0
- package/dist/src/codegen/__tests__/generate-processor.test.js.map +1 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +23 -23
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -1
- package/dist/src/codegen/__tests__/ts-morph-generator.test.js +4 -4
- package/dist/src/codegen/__tests__/ts-morph-generator.test.js.map +1 -1
- package/dist/src/codegen/__tests__/utils.d.ts +2 -2
- package/dist/src/codegen/__tests__/utils.d.ts.map +1 -1
- package/dist/src/codegen/__tests__/utils.js +9 -10
- package/dist/src/codegen/__tests__/utils.js.map +1 -1
- package/dist/src/codegen/generate.d.ts +1 -1
- package/dist/src/codegen/generate.d.ts.map +1 -1
- package/dist/src/codegen/generate.js +25 -9
- package/dist/src/codegen/generate.js.map +1 -1
- package/dist/src/codegen/graphql.d.ts.map +1 -1
- package/dist/src/codegen/graphql.js +10 -9
- package/dist/src/codegen/graphql.js.map +1 -1
- package/dist/src/codegen/hygen.js +4 -4
- package/dist/src/codegen/hygen.js.map +1 -1
- package/dist/src/codegen/utils.d.ts +1 -1
- package/dist/src/codegen/utils.d.ts.map +1 -1
- package/dist/src/codegen/utils.js +2 -1
- package/dist/src/codegen/utils.js.map +1 -1
- package/dist/src/create-lib/create-project.js +2 -2
- package/dist/src/create-lib/create-project.js.map +1 -1
- package/dist/src/file-builders/document-editor.d.ts +1 -1
- package/dist/src/file-builders/document-editor.d.ts.map +1 -1
- package/dist/src/file-builders/document-editor.js +9 -7
- package/dist/src/file-builders/document-editor.js.map +1 -1
- package/dist/src/file-builders/document-model/document-model.d.ts.map +1 -1
- package/dist/src/file-builders/document-model/document-model.js +59 -62
- package/dist/src/file-builders/document-model/document-model.js.map +1 -1
- package/dist/src/file-builders/document-model/gen-dir.d.ts +1 -1
- package/dist/src/file-builders/document-model/gen-dir.d.ts.map +1 -1
- package/dist/src/file-builders/document-model/gen-dir.js +48 -48
- package/dist/src/file-builders/document-model/gen-dir.js.map +1 -1
- package/dist/src/file-builders/document-model/root-dir.d.ts +1 -1
- package/dist/src/file-builders/document-model/root-dir.d.ts.map +1 -1
- package/dist/src/file-builders/document-model/root-dir.js +17 -17
- package/dist/src/file-builders/document-model/root-dir.js.map +1 -1
- package/dist/src/file-builders/document-model/src-dir.d.ts +1 -1
- package/dist/src/file-builders/document-model/src-dir.d.ts.map +1 -1
- package/dist/src/file-builders/document-model/src-dir.js +12 -12
- package/dist/src/file-builders/document-model/src-dir.js.map +1 -1
- package/dist/src/file-builders/document-model/tests-dir.d.ts +1 -1
- package/dist/src/file-builders/document-model/tests-dir.d.ts.map +1 -1
- package/dist/src/file-builders/document-model/tests-dir.js +8 -8
- package/dist/src/file-builders/document-model/tests-dir.js.map +1 -1
- package/dist/src/file-builders/document-model/upgrades-dir.d.ts +6 -4
- package/dist/src/file-builders/document-model/upgrades-dir.d.ts.map +1 -1
- package/dist/src/file-builders/document-model/upgrades-dir.js +17 -25
- package/dist/src/file-builders/document-model/upgrades-dir.js.map +1 -1
- package/dist/src/file-builders/drive-editor.d.ts +1 -1
- package/dist/src/file-builders/drive-editor.d.ts.map +1 -1
- package/dist/src/file-builders/drive-editor.js +37 -35
- package/dist/src/file-builders/drive-editor.js.map +1 -1
- package/dist/src/file-builders/editor-common.d.ts.map +1 -1
- package/dist/src/file-builders/editor-common.js +0 -1
- package/dist/src/file-builders/editor-common.js.map +1 -1
- package/dist/src/file-builders/module-files.d.ts +11 -5
- package/dist/src/file-builders/module-files.d.ts.map +1 -1
- package/dist/src/file-builders/module-files.js +36 -28
- package/dist/src/file-builders/module-files.js.map +1 -1
- package/dist/src/file-builders/processors/analytics.d.ts +3 -0
- package/dist/src/file-builders/processors/analytics.d.ts.map +1 -0
- package/dist/src/file-builders/processors/analytics.js +34 -0
- package/dist/src/file-builders/processors/analytics.js.map +1 -0
- package/dist/src/file-builders/processors/processor.d.ts +7 -0
- package/dist/src/file-builders/processors/processor.d.ts.map +1 -0
- package/dist/src/file-builders/processors/processor.js +165 -0
- package/dist/src/file-builders/processors/processor.js.map +1 -0
- package/dist/src/file-builders/processors/relational-db.d.ts +3 -0
- package/dist/src/file-builders/processors/relational-db.d.ts.map +1 -0
- package/dist/src/file-builders/processors/relational-db.js +53 -0
- package/dist/src/file-builders/processors/relational-db.js.map +1 -0
- package/dist/src/file-builders/processors/types.d.ts +13 -0
- package/dist/src/file-builders/processors/types.d.ts.map +1 -0
- package/dist/src/file-builders/processors/types.js +2 -0
- package/dist/src/file-builders/processors/types.js.map +1 -0
- package/dist/src/file-builders/subgraphs.d.ts +1 -1
- package/dist/src/file-builders/subgraphs.d.ts.map +1 -1
- package/dist/src/file-builders/subgraphs.js +2 -2
- package/dist/src/file-builders/subgraphs.js.map +1 -1
- package/dist/src/name-builders/get-variable-names.d.ts +1 -0
- package/dist/src/name-builders/get-variable-names.d.ts.map +1 -1
- package/dist/src/name-builders/get-variable-names.js +2 -0
- package/dist/src/name-builders/get-variable-names.js.map +1 -1
- package/dist/src/templates/boilerplate/document-models/upgrade-manifests.d.ts +2 -0
- package/dist/src/templates/boilerplate/document-models/upgrade-manifests.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/document-models/upgrade-manifests.js +7 -0
- package/dist/src/templates/boilerplate/document-models/upgrade-manifests.js.map +1 -0
- package/dist/src/templates/boilerplate/index.d.ts.map +1 -1
- package/dist/src/templates/boilerplate/index.js +1 -0
- package/dist/src/templates/boilerplate/index.js.map +1 -1
- package/dist/src/templates/boilerplate/processors/index.d.ts +1 -1
- package/dist/src/templates/boilerplate/processors/index.d.ts.map +1 -1
- package/dist/src/templates/boilerplate/processors/index.js +1 -1
- package/dist/src/templates/boilerplate/processors/index.js.map +1 -1
- package/dist/src/templates/document-model/tests/document-model.test.d.ts.map +1 -0
- package/dist/src/templates/document-model/tests/document-model.test.js.map +1 -0
- package/dist/src/templates/document-model/tests/module.test.d.ts.map +1 -0
- package/dist/src/templates/document-model/{src/tests → tests}/module.test.js +1 -1
- package/dist/src/templates/document-model/tests/module.test.js.map +1 -0
- package/dist/src/templates/document-model/upgrades/upgrade-manifest.d.ts +5 -0
- package/dist/src/templates/document-model/upgrades/upgrade-manifest.d.ts.map +1 -0
- package/dist/src/templates/document-model/upgrades/upgrade-manifest.js +13 -0
- package/dist/src/templates/document-model/upgrades/upgrade-manifest.js.map +1 -0
- package/dist/src/templates/index.d.ts +11 -2
- package/dist/src/templates/index.d.ts.map +1 -1
- package/dist/src/templates/index.js +11 -2
- package/dist/src/templates/index.js.map +1 -1
- package/dist/src/templates/processors/analytics/factory.d.ts +5 -0
- package/dist/src/templates/processors/analytics/factory.d.ts.map +1 -0
- package/dist/src/templates/processors/analytics/factory.js +26 -0
- package/dist/src/templates/processors/analytics/factory.js.map +1 -0
- package/dist/src/templates/processors/analytics/index.d.ts +4 -0
- package/dist/src/templates/processors/analytics/index.d.ts.map +1 -0
- package/dist/src/templates/processors/analytics/index.js +68 -0
- package/dist/src/templates/processors/analytics/index.js.map +1 -0
- package/dist/src/templates/processors/factory.d.ts +2 -0
- package/dist/src/templates/processors/factory.d.ts.map +1 -0
- package/dist/src/templates/processors/factory.js +34 -0
- package/dist/src/templates/processors/factory.js.map +1 -0
- package/dist/src/templates/processors/index.d.ts +2 -0
- package/dist/src/templates/processors/index.d.ts.map +1 -0
- package/dist/src/templates/processors/index.js +10 -0
- package/dist/src/templates/processors/index.js.map +1 -0
- package/dist/src/templates/processors/relational-db/factory.d.ts +6 -0
- package/dist/src/templates/processors/relational-db/factory.d.ts.map +1 -0
- package/dist/src/templates/processors/relational-db/factory.js +40 -0
- package/dist/src/templates/processors/relational-db/factory.js.map +1 -0
- package/dist/src/templates/processors/relational-db/index.d.ts +4 -0
- package/dist/src/templates/processors/relational-db/index.d.ts.map +1 -0
- package/dist/src/templates/processors/relational-db/index.js +55 -0
- package/dist/src/templates/processors/relational-db/index.js.map +1 -0
- package/dist/src/templates/processors/relational-db/migrations.d.ts +2 -0
- package/dist/src/templates/processors/relational-db/migrations.d.ts.map +1 -0
- package/dist/src/templates/processors/relational-db/migrations.js +23 -0
- package/dist/src/templates/processors/relational-db/migrations.js.map +1 -0
- package/dist/src/templates/processors/relational-db/schema.d.ts +2 -0
- package/dist/src/templates/processors/relational-db/schema.d.ts.map +1 -0
- package/dist/src/templates/processors/relational-db/schema.js +12 -0
- package/dist/src/templates/processors/relational-db/schema.js.map +1 -0
- package/dist/src/templates/processors/utils.d.ts +2 -0
- package/dist/src/templates/processors/utils.d.ts.map +1 -0
- package/dist/src/templates/processors/utils.js +6 -0
- package/dist/src/templates/processors/utils.js.map +1 -0
- package/dist/src/utils/format-with-prettier.d.ts +1 -1
- package/dist/src/utils/format-with-prettier.d.ts.map +1 -1
- package/dist/src/utils/format-with-prettier.js +3 -9
- package/dist/src/utils/format-with-prettier.js.map +1 -1
- package/dist/src/utils/index.d.ts +1 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +1 -1
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/source-files.d.ts +8 -1
- package/dist/src/utils/source-files.d.ts.map +1 -1
- package/dist/src/utils/source-files.js +19 -2
- package/dist/src/utils/source-files.js.map +1 -1
- package/dist/src/utils/syntax-getters.d.ts +2 -1
- package/dist/src/utils/syntax-getters.d.ts.map +1 -1
- package/dist/src/utils/syntax-getters.js +4 -0
- package/dist/src/utils/syntax-getters.js.map +1 -1
- package/dist/src/utils/ts-morph-project.d.ts +14 -5
- package/dist/src/utils/ts-morph-project.d.ts.map +1 -1
- package/dist/src/utils/ts-morph-project.js +12 -12
- package/dist/src/utils/ts-morph-project.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -8
- package/dist/src/templates/document-model/src/tests/document-model.test.d.ts.map +0 -1
- package/dist/src/templates/document-model/src/tests/document-model.test.js.map +0 -1
- package/dist/src/templates/document-model/src/tests/module.test.d.ts.map +0 -1
- package/dist/src/templates/document-model/src/tests/module.test.js.map +0 -1
- /package/dist/src/templates/document-model/{src/tests → tests}/document-model.test.d.ts +0 -0
- /package/dist/src/templates/document-model/{src/tests → tests}/document-model.test.js +0 -0
- /package/dist/src/templates/document-model/{src/tests → tests}/module.test.d.ts +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
1
|
import path from "node:path";
|
|
3
2
|
import { afterAll, beforeAll, describe, expect, it, } from "vitest";
|
|
4
3
|
import { generateManifest } from "../generate.js";
|
|
5
4
|
import { GENERATE_MANIFEST_TEST_OUTPUT_DIR, MANIFEST_TEST_PROJECT, MANIFEST_TEST_PROJECT_WITH_EXISTING_MANIFEST, } from "./constants.js";
|
|
6
5
|
import { copyAllFiles, getTestDataDir, getTestOutDirPath, getTestOutputDir, purgeDirAfterTest, resetDirForTest, } from "./utils.js";
|
|
6
|
+
import { readFile, rm, writeFile } from "node:fs/promises";
|
|
7
|
+
import { fileExists } from "@powerhousedao/common/clis";
|
|
7
8
|
describe("generateManifest", () => {
|
|
8
9
|
const testDir = import.meta.dirname;
|
|
9
10
|
const outDirName = getTestOutputDir(testDir, GENERATE_MANIFEST_TEST_OUTPUT_DIR);
|
|
@@ -12,11 +13,11 @@ describe("generateManifest", () => {
|
|
|
12
13
|
testOutDirPath = getTestOutDirPath(context.task.name, outDirName);
|
|
13
14
|
await copyAllFiles(testDataDir, testOutDirPath);
|
|
14
15
|
}
|
|
15
|
-
beforeAll(() => {
|
|
16
|
-
resetDirForTest(outDirName);
|
|
16
|
+
beforeAll(async () => {
|
|
17
|
+
await resetDirForTest(outDirName);
|
|
17
18
|
});
|
|
18
|
-
afterAll(() => {
|
|
19
|
-
purgeDirAfterTest(outDirName);
|
|
19
|
+
afterAll(async () => {
|
|
20
|
+
await purgeDirAfterTest(outDirName);
|
|
20
21
|
});
|
|
21
22
|
it("should generate a new manifest from scratch with partial data", async (context) => {
|
|
22
23
|
await setupTest(context, getTestDataDir(testDir, MANIFEST_TEST_PROJECT));
|
|
@@ -25,9 +26,9 @@ describe("generateManifest", () => {
|
|
|
25
26
|
description: "Test package description",
|
|
26
27
|
};
|
|
27
28
|
const manifestPath = generateManifest(manifestData, testOutDirPath);
|
|
28
|
-
expect(
|
|
29
|
+
expect(await fileExists(manifestPath)).toBe(true);
|
|
29
30
|
expect(manifestPath).toBe(path.join(testOutDirPath, "powerhouse.manifest.json"));
|
|
30
|
-
const content =
|
|
31
|
+
const content = await readFile(manifestPath, "utf-8");
|
|
31
32
|
const manifest = JSON.parse(content);
|
|
32
33
|
expect(manifest.name).toBe("@test/package");
|
|
33
34
|
expect(manifest.description).toBe("Test package description");
|
|
@@ -46,7 +47,7 @@ describe("generateManifest", () => {
|
|
|
46
47
|
description: "Updated description",
|
|
47
48
|
};
|
|
48
49
|
const manifestPath = generateManifest(updateData, testOutDirPath);
|
|
49
|
-
const content =
|
|
50
|
+
const content = await readFile(manifestPath, "utf-8");
|
|
50
51
|
const manifest = JSON.parse(content);
|
|
51
52
|
expect(manifest.name).toBe("@updated/package");
|
|
52
53
|
expect(manifest.description).toBe("Updated description");
|
|
@@ -95,7 +96,7 @@ describe("generateManifest", () => {
|
|
|
95
96
|
},
|
|
96
97
|
};
|
|
97
98
|
const manifestPath = generateManifest(updateData, testOutDirPath);
|
|
98
|
-
const content =
|
|
99
|
+
const content = await readFile(manifestPath, "utf-8");
|
|
99
100
|
const manifest = JSON.parse(content);
|
|
100
101
|
expect(manifest.publisher).toEqual({
|
|
101
102
|
name: "@updated",
|
|
@@ -105,20 +106,20 @@ describe("generateManifest", () => {
|
|
|
105
106
|
it("should handle malformed existing manifest gracefully", async (context) => {
|
|
106
107
|
await setupTest(context, getTestDataDir(testDir, MANIFEST_TEST_PROJECT));
|
|
107
108
|
const manifestPath = path.join(testOutDirPath, "powerhouse.manifest.json");
|
|
108
|
-
|
|
109
|
+
await writeFile(manifestPath, "{ invalid json }");
|
|
109
110
|
const updateData = {
|
|
110
111
|
name: "@test/package",
|
|
111
112
|
description: "Test description",
|
|
112
113
|
};
|
|
113
114
|
const resultPath = generateManifest(updateData, testOutDirPath);
|
|
114
|
-
expect(
|
|
115
|
-
const content =
|
|
115
|
+
expect(await fileExists(resultPath)).toBe(true);
|
|
116
|
+
const content = await readFile(resultPath, "utf-8");
|
|
116
117
|
const manifest = JSON.parse(content);
|
|
117
118
|
expect(manifest.name).toBe("@test/package");
|
|
118
119
|
expect(manifest.description).toBe("Test description");
|
|
119
120
|
expect(manifest.category).toBe("");
|
|
120
121
|
});
|
|
121
|
-
it("should use current working directory when projectRoot is not provided", () => {
|
|
122
|
+
it("should use current working directory when projectRoot is not provided", async () => {
|
|
122
123
|
const originalCwd = process.cwd();
|
|
123
124
|
process.chdir(testDir);
|
|
124
125
|
try {
|
|
@@ -128,10 +129,10 @@ describe("generateManifest", () => {
|
|
|
128
129
|
};
|
|
129
130
|
const manifestPath = generateManifest(manifestData);
|
|
130
131
|
expect(manifestPath).toBe(path.join(testDir, "powerhouse.manifest.json"));
|
|
131
|
-
expect(
|
|
132
|
+
expect(await fileExists(manifestPath)).toBe(true);
|
|
132
133
|
}
|
|
133
134
|
finally {
|
|
134
|
-
|
|
135
|
+
await rm(path.join(testDir, "powerhouse.manifest.json"), {
|
|
135
136
|
force: true,
|
|
136
137
|
});
|
|
137
138
|
process.chdir(originalCwd);
|
|
@@ -178,7 +179,7 @@ describe("generateManifest", () => {
|
|
|
178
179
|
],
|
|
179
180
|
};
|
|
180
181
|
const manifestPath = generateManifest(manifestData, testOutDirPath);
|
|
181
|
-
const content =
|
|
182
|
+
const content = await readFile(manifestPath, "utf-8");
|
|
182
183
|
// Verify it's properly formatted JSON
|
|
183
184
|
expect(() => JSON.parse(content)).not.toThrow();
|
|
184
185
|
// Verify structure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-manifest.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-manifest.test.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"generate-manifest.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-manifest.test.ts"],"names":[],"mappings":"AAIA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,EAAE,GAEH,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,iCAAiC,EACjC,qBAAqB,EACrB,4CAA4C,GAC7C,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IACpC,MAAM,UAAU,GAAG,gBAAgB,CACjC,OAAO,EACP,iCAAiC,CAClC,CAAC;IACF,IAAI,cAAc,GAAG,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAE9D,KAAK,UAAU,SAAS,CAAC,OAAoB,EAAE,WAAmB;QAChE,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAElE,MAAM,YAAY,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,+DAA+D,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACpF,MAAM,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG;YACnB,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,0BAA0B;SACxC,CAAC;QAEF,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAEpE,MAAM,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,0BAA0B,CAAC,CACtD,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;QAE3D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACrF,MAAM,SAAS,CACb,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,4CAA4C,CAAC,CACtE,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,qBAAqB;SACnC,CAAC;QAEF,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;QAE3D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACjC,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,8BAA8B;SACpC,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;YACtC,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE;SAC/C,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YAC/B;gBACE,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,aAAa;gBACnB,aAAa,EAAE,CAAC,eAAe,CAAC;aACjC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC5B;gBACE,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,CAAC,eAAe,CAAC;aACjC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACjC;gBACE,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,eAAe;gBACrB,aAAa,EAAE,CAAC,eAAe,CAAC;aACjC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;YACrC;gBACE,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,aAAa;gBACnB,aAAa,EAAE,CAAC,eAAe,CAAC;aACjC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/D,MAAM,SAAS,CACb,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,4CAA4C,CAAC,CACtE,CAAC;QACF,MAAM,UAAU,GAA8B;YAC5C,SAAS,EAAE;gBACT,IAAI,EAAE,UAAU;aACjB;SACF,CAAC;QAEF,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;QAE3D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACjC,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,8BAA8B;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3E,MAAM,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC3E,MAAM,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAElD,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,kBAAkB;SAChC,CAAC;QAEF,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAEhE,MAAM,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;QAE3D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG;gBACnB,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,kBAAkB;aAChC,CAAC;YAEF,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAEpD,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,EAAE;gBACvD,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7E,MAAM,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG;YACnB,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,kBAAkB;aACxB;YACD,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YACtD,OAAO,EAAE;gBACP;oBACE,EAAE,EAAE,aAAa;oBACjB,IAAI,EAAE,aAAa;oBACnB,aAAa,EAAE,CAAC,UAAU,CAAC;iBAC5B;aACF;YACD,IAAI,EAAE;gBACJ;oBACE,EAAE,EAAE,UAAU;oBACd,IAAI,EAAE,UAAU;oBAChB,aAAa,EAAE,CAAC,UAAU,CAAC;iBAC5B;aACF;YACD,SAAS,EAAE;gBACT;oBACE,EAAE,EAAE,eAAe;oBACnB,IAAI,EAAE,eAAe;oBACrB,aAAa,EAAE,CAAC,UAAU,CAAC;iBAC5B;aACF;YACD,aAAa,EAAE;gBACb;oBACE,EAAE,EAAE,aAAa;oBACjB,IAAI,EAAE,aAAa;oBACnB,aAAa,EAAE,CAAC,UAAU,CAAC;iBAC5B;aACF;SACF,CAAC;QAEF,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEtD,sCAAsC;QACtC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAEtE,mBAAmB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEvC,2CAA2C;QAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-processor.test.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-processor.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { paramCase } from "change-case";
|
|
2
|
+
import { rm } from "node:fs/promises";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { afterAll, beforeAll, beforeEach, describe, it, } from "vitest";
|
|
5
|
+
import { generateProcessor } from "../generate.js";
|
|
6
|
+
import { USE_TS_MORPH } from "./config.js";
|
|
7
|
+
import { compile } from "./fixtures/typecheck.js";
|
|
8
|
+
import { copyAllFiles, purgeDirAfterTest, resetDirForTest } from "./utils.js";
|
|
9
|
+
let testCount = 1;
|
|
10
|
+
const parentOutDirName = "generate-processors";
|
|
11
|
+
const testsDir = import.meta.dirname;
|
|
12
|
+
const testOutputParentDir = path.join(testsDir, ".test-output", parentOutDirName);
|
|
13
|
+
let testOutDirPath = "";
|
|
14
|
+
const testsDataDir = path.join(testsDir, "data", "processors-test-project");
|
|
15
|
+
function getTestOutDir(context) {
|
|
16
|
+
const testDirName = `${testCount++}-${paramCase(context.task.name)}`;
|
|
17
|
+
return path.join(testOutputParentDir, testDirName);
|
|
18
|
+
}
|
|
19
|
+
describe("generate processor", () => {
|
|
20
|
+
beforeEach(async (context) => {
|
|
21
|
+
testOutDirPath = getTestOutDir(context);
|
|
22
|
+
await rm(testOutDirPath, { recursive: true, force: true });
|
|
23
|
+
// await mkdir(testOutDirPath, { recursive: true });
|
|
24
|
+
await copyAllFiles(testsDataDir, testOutDirPath);
|
|
25
|
+
process.chdir(testOutDirPath);
|
|
26
|
+
});
|
|
27
|
+
beforeAll(async () => {
|
|
28
|
+
await resetDirForTest(testOutputParentDir);
|
|
29
|
+
});
|
|
30
|
+
afterAll(async () => {
|
|
31
|
+
await purgeDirAfterTest(testOutputParentDir);
|
|
32
|
+
});
|
|
33
|
+
it("should generate an analytics processor and factory", {
|
|
34
|
+
timeout: 100000,
|
|
35
|
+
}, async () => {
|
|
36
|
+
await generateProcessor("test-analytics-processor", "analytics", ["billing-statement"], true, USE_TS_MORPH);
|
|
37
|
+
// await compile(testOutDirPath);
|
|
38
|
+
await compile(testOutDirPath);
|
|
39
|
+
});
|
|
40
|
+
it("should generate multiple analytics processors with composable factories", {
|
|
41
|
+
timeout: 100000,
|
|
42
|
+
}, async () => {
|
|
43
|
+
await generateProcessor("test1", "analytics", ["billing-statement"], true, USE_TS_MORPH);
|
|
44
|
+
await generateProcessor("test2", "analytics", ["billing-statement"], true, USE_TS_MORPH);
|
|
45
|
+
await generateProcessor("test3", "analytics", ["billing-statement"], true, USE_TS_MORPH);
|
|
46
|
+
await compile(testOutDirPath);
|
|
47
|
+
});
|
|
48
|
+
it("should generate a relational db processor and factory", {
|
|
49
|
+
timeout: 100000,
|
|
50
|
+
}, async () => {
|
|
51
|
+
await generateProcessor("test-relational-processor", "relationalDb", ["billing-statement"], true, USE_TS_MORPH);
|
|
52
|
+
await compile(testOutDirPath);
|
|
53
|
+
});
|
|
54
|
+
it("should generate multiple relational db processors with composable factories", {
|
|
55
|
+
timeout: 100000,
|
|
56
|
+
}, async () => {
|
|
57
|
+
await generateProcessor("test1", "relationalDb", ["billing-statement"], true, USE_TS_MORPH);
|
|
58
|
+
await generateProcessor("test2", "relationalDb", ["billing-statement"], true, USE_TS_MORPH);
|
|
59
|
+
await generateProcessor("test3", "relationalDb", ["billing-statement"], true, USE_TS_MORPH);
|
|
60
|
+
await compile(testOutDirPath);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=generate-processor.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-processor.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-processor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { paramCase } from "change-case";
|
|
2
|
-
import {
|
|
2
|
+
import { readdir, readFile } from "fs/promises";
|
|
3
3
|
import path from "path";
|
|
4
4
|
import { describe, expect, it } from "vitest";
|
|
5
5
|
import { generateDocumentModel } from "../generate.js";
|
|
@@ -25,9 +25,9 @@ function getDocumentModelJsonFilePath(basePath, dirName) {
|
|
|
25
25
|
async function loadDocumentModelsInDir(inDirName, testOutDir) {
|
|
26
26
|
const documentModelsInDir = getDirInTestDataDir(inDirName);
|
|
27
27
|
const documentModelsOutDir = path.join(testOutDir, "document-models");
|
|
28
|
-
const documentModelDirs =
|
|
28
|
+
const documentModelDirs = (await readdir(documentModelsInDir, {
|
|
29
29
|
withFileTypes: true,
|
|
30
|
-
})
|
|
30
|
+
}))
|
|
31
31
|
.filter((value) => value.isDirectory())
|
|
32
32
|
.map((value) => value.name);
|
|
33
33
|
const documentModelStates = await Promise.all(documentModelDirs.map(async (dirName) => await loadDocumentModel(getDocumentModelJsonFilePath(documentModelsInDir, dirName))));
|
|
@@ -51,23 +51,23 @@ describe("versioned document models", () => {
|
|
|
51
51
|
timeout: 10000000,
|
|
52
52
|
}, async (context) => {
|
|
53
53
|
const testOutDir = getTestOutDir(context);
|
|
54
|
-
resetDirForTest(testOutDir);
|
|
54
|
+
await resetDirForTest(testOutDir);
|
|
55
55
|
await loadBaseProjectFromDir("empty-project", testOutDir);
|
|
56
56
|
await loadDocumentModelsInDir("spec-version-1", testOutDir);
|
|
57
57
|
await compile(testOutDir);
|
|
58
58
|
await runGeneratedTests(testOutDir);
|
|
59
|
-
purgeDirAfterTest(testOutDir);
|
|
59
|
+
await purgeDirAfterTest(testOutDir);
|
|
60
60
|
});
|
|
61
61
|
it("should persist existing reducers, tests, utils, and custom files when generating for the same spec version", {
|
|
62
62
|
timeout: 10000000,
|
|
63
63
|
}, async (context) => {
|
|
64
64
|
const testOutDir = getTestOutDir(context);
|
|
65
|
-
resetDirForTest(testOutDir);
|
|
65
|
+
await resetDirForTest(testOutDir);
|
|
66
66
|
await loadBaseProjectFromDir("project-with-existing-document-models-at-spec-1", testOutDir);
|
|
67
67
|
await loadDocumentModelsInDir("spec-version-1-with-more-operations", testOutDir);
|
|
68
68
|
await compile(testOutDir);
|
|
69
69
|
await runGeneratedTests(testOutDir);
|
|
70
|
-
purgeDirAfterTest(testOutDir);
|
|
70
|
+
await purgeDirAfterTest(testOutDir);
|
|
71
71
|
});
|
|
72
72
|
});
|
|
73
73
|
describe("spec version 2", () => {
|
|
@@ -75,50 +75,50 @@ describe("versioned document models", () => {
|
|
|
75
75
|
timeout: 10000000,
|
|
76
76
|
}, async (context) => {
|
|
77
77
|
const testOutDir = getTestOutDir(context);
|
|
78
|
-
resetDirForTest(testOutDir);
|
|
78
|
+
await resetDirForTest(testOutDir);
|
|
79
79
|
await loadBaseProjectFromDir("empty-project", testOutDir);
|
|
80
80
|
await loadDocumentModelsInDir("spec-version-2", testOutDir);
|
|
81
81
|
await compile(testOutDir);
|
|
82
82
|
await runGeneratedTests(testOutDir);
|
|
83
|
-
purgeDirAfterTest(testOutDir);
|
|
83
|
+
await purgeDirAfterTest(testOutDir);
|
|
84
84
|
});
|
|
85
85
|
it("should persist existing reducers, tests, utils, and custom files when generating a new spec version", {
|
|
86
86
|
timeout: 10000000,
|
|
87
87
|
}, async (context) => {
|
|
88
88
|
const testOutDir = getTestOutDir(context);
|
|
89
|
-
resetDirForTest(testOutDir);
|
|
89
|
+
await resetDirForTest(testOutDir);
|
|
90
90
|
await loadBaseProjectFromDir("project-with-existing-document-models-at-spec-1", testOutDir);
|
|
91
91
|
await loadDocumentModelsInDir("spec-version-2", testOutDir);
|
|
92
92
|
await compile(testOutDir);
|
|
93
93
|
await runGeneratedTests(testOutDir);
|
|
94
|
-
purgeDirAfterTest(testOutDir);
|
|
94
|
+
await purgeDirAfterTest(testOutDir);
|
|
95
95
|
});
|
|
96
96
|
it("should throw a typescript error in upgrades when new state does not match old state", {
|
|
97
97
|
timeout: 10000000,
|
|
98
98
|
}, async (context) => {
|
|
99
99
|
const testOutDir = getTestOutDir(context);
|
|
100
|
-
resetDirForTest(testOutDir);
|
|
100
|
+
await resetDirForTest(testOutDir);
|
|
101
101
|
await loadBaseProjectFromDir("project-with-existing-document-models-at-spec-1", testOutDir);
|
|
102
102
|
await loadDocumentModelsInDir("spec-version-2-with-state-changes", testOutDir);
|
|
103
103
|
await expect(() => compile(testOutDir)).rejects.toThrow();
|
|
104
|
-
purgeDirAfterTest(testOutDir);
|
|
104
|
+
await purgeDirAfterTest(testOutDir);
|
|
105
105
|
});
|
|
106
106
|
it("should set version field on generated DocumentModelModule", {
|
|
107
107
|
timeout: 10000000,
|
|
108
108
|
}, async (context) => {
|
|
109
109
|
const testOutDir = getTestOutDir(context);
|
|
110
|
-
resetDirForTest(testOutDir);
|
|
110
|
+
await resetDirForTest(testOutDir);
|
|
111
111
|
await loadBaseProjectFromDir("empty-project", testOutDir);
|
|
112
112
|
await loadDocumentModelsInDir("spec-version-2", testOutDir);
|
|
113
113
|
const v1ModulePath = path.join(testOutDir, "document-models", "test-doc", "v1", "module.ts");
|
|
114
114
|
const v2ModulePath = path.join(testOutDir, "document-models", "test-doc", "v2", "module.ts");
|
|
115
|
-
const v1ModuleContent =
|
|
116
|
-
const v2ModuleContent =
|
|
115
|
+
const v1ModuleContent = await readFile(v1ModulePath, "utf-8");
|
|
116
|
+
const v2ModuleContent = await readFile(v2ModulePath, "utf-8");
|
|
117
117
|
expect(v1ModuleContent).toContain("version: 1,");
|
|
118
118
|
expect(v2ModuleContent).toContain("version: 2,");
|
|
119
119
|
await compile(testOutDir);
|
|
120
120
|
await runGeneratedTests(testOutDir);
|
|
121
|
-
purgeDirAfterTest(testOutDir);
|
|
121
|
+
await purgeDirAfterTest(testOutDir);
|
|
122
122
|
});
|
|
123
123
|
});
|
|
124
124
|
describe("spec version 3", () => {
|
|
@@ -126,33 +126,33 @@ describe("versioned document models", () => {
|
|
|
126
126
|
timeout: 10000000,
|
|
127
127
|
}, async (context) => {
|
|
128
128
|
const testOutDir = getTestOutDir(context);
|
|
129
|
-
resetDirForTest(testOutDir);
|
|
129
|
+
await resetDirForTest(testOutDir);
|
|
130
130
|
await loadBaseProjectFromDir("empty-project", testOutDir);
|
|
131
131
|
await loadDocumentModelsInDir("spec-version-3", testOutDir);
|
|
132
132
|
await compile(testOutDir);
|
|
133
133
|
await runGeneratedTests(testOutDir);
|
|
134
|
-
purgeDirAfterTest(testOutDir);
|
|
134
|
+
await purgeDirAfterTest(testOutDir);
|
|
135
135
|
});
|
|
136
136
|
it("should persist existing reducers, tests, utils, and custom files when generating a new spec version", {
|
|
137
137
|
timeout: 10000000,
|
|
138
138
|
}, async (context) => {
|
|
139
139
|
const testOutDir = getTestOutDir(context);
|
|
140
|
-
resetDirForTest(testOutDir);
|
|
140
|
+
await resetDirForTest(testOutDir);
|
|
141
141
|
await loadBaseProjectFromDir("project-with-existing-document-models-at-spec-2", testOutDir);
|
|
142
142
|
await loadDocumentModelsInDir("spec-version-3", testOutDir);
|
|
143
143
|
await compile(testOutDir);
|
|
144
144
|
await runGeneratedTests(testOutDir);
|
|
145
|
-
purgeDirAfterTest(testOutDir);
|
|
145
|
+
await purgeDirAfterTest(testOutDir);
|
|
146
146
|
});
|
|
147
147
|
it("should throw a typescript error in upgrades when new state does not match old state", {
|
|
148
148
|
timeout: 10000000,
|
|
149
149
|
}, async (context) => {
|
|
150
150
|
const testOutDir = getTestOutDir(context);
|
|
151
|
-
resetDirForTest(testOutDir);
|
|
151
|
+
await resetDirForTest(testOutDir);
|
|
152
152
|
await loadBaseProjectFromDir("project-with-existing-document-models-at-spec-2", testOutDir);
|
|
153
153
|
await loadDocumentModelsInDir("spec-version-3-with-state-changes", testOutDir);
|
|
154
154
|
await expect(() => compile(testOutDir)).rejects.toThrow();
|
|
155
|
-
purgeDirAfterTest(testOutDir);
|
|
155
|
+
await purgeDirAfterTest(testOutDir);
|
|
156
156
|
});
|
|
157
157
|
});
|
|
158
158
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-versioned-document-model.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-versioned-document-model.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generate-versioned-document-model.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-versioned-document-model.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,14 @@ import { TEST_PACKAGE_NAME, TS_MORPH_GENERATOR_TEST_OUTPUT_DIR, } from "./consta
|
|
|
9
9
|
import { expectedProOperationsV3Content } from "./fixtures/expected-reducer-content-v3.js";
|
|
10
10
|
import { expectedBaseOperationsContent, expectedProOperationsContent, } from "./fixtures/expected-reducer-content.js";
|
|
11
11
|
import { getTestDataDir, getTestOutDirPath, getTestOutputDir, } from "./utils.js";
|
|
12
|
-
describe("ts-morph generator", () => {
|
|
12
|
+
describe.skip("ts-morph generator", () => {
|
|
13
13
|
const testDir = import.meta.dirname;
|
|
14
14
|
const outDirName = getTestOutputDir(testDir, TS_MORPH_GENERATOR_TEST_OUTPUT_DIR);
|
|
15
15
|
let testOutDirPath = getTestOutDirPath("initial", outDirName);
|
|
16
16
|
const testDataDir = getTestDataDir(testDir, "test-doc-versions");
|
|
17
17
|
const srcTestDocumentPathV3 = path.join(testDataDir, "test-doc-v3", "test-doc.json");
|
|
18
18
|
const srcTestDocumentPathV4 = path.join(testDataDir, "test-doc-v4", "test-doc.json");
|
|
19
|
-
|
|
19
|
+
function setupTest(context) {
|
|
20
20
|
testOutDirPath = getTestOutDirPath(context.task.name, outDirName);
|
|
21
21
|
}
|
|
22
22
|
beforeAll(() => {
|
|
@@ -34,7 +34,7 @@ describe("ts-morph generator", () => {
|
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
it("should generate reducers", async (context) => {
|
|
37
|
-
|
|
37
|
+
setupTest(context);
|
|
38
38
|
const testDocDocumentModel = await loadDocumentModel(srcTestDocumentPathV4);
|
|
39
39
|
const generator = new TSMorphCodeGenerator(testOutDirPath, [testDocDocumentModel], TEST_PACKAGE_NAME);
|
|
40
40
|
await generator.generateReducers();
|
|
@@ -48,7 +48,7 @@ describe("ts-morph generator", () => {
|
|
|
48
48
|
expect(proOperationsContent.trim()).toBe(expectedProOperationsContent.trim());
|
|
49
49
|
});
|
|
50
50
|
it("should update reducers when document version changes", async (context) => {
|
|
51
|
-
|
|
51
|
+
setupTest(context);
|
|
52
52
|
// First, generate reducers for v3 (only has setNameAndValueOperation)
|
|
53
53
|
const testDocV3DocumentModel = await loadDocumentModel(srcTestDocumentPathV3);
|
|
54
54
|
const generatorV3 = new TSMorphCodeGenerator(testOutDirPath, [testDocV3DocumentModel], TEST_PACKAGE_NAME);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-morph-generator.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/ts-morph-generator.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,EAAE,GAEH,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,kCAAkC,GACnC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"ts-morph-generator.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/ts-morph-generator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,6 @@ export declare function copyAllFiles(srcDir: string, destDir: string): Promise<v
|
|
|
2
2
|
export declare function getTestOutputDir(testDir: string, testOutputDir: string): string;
|
|
3
3
|
export declare function getTestDataDir(testDir: string, testDataDir: string): string;
|
|
4
4
|
export declare function getTestOutDirPath(testName: string, outDirName: string): string;
|
|
5
|
-
export declare function resetDirForTest(outDirName: string): void
|
|
6
|
-
export declare function purgeDirAfterTest(outDirName: string): void
|
|
5
|
+
export declare function resetDirForTest(outDirName: string): Promise<void>;
|
|
6
|
+
export declare function purgeDirAfterTest(outDirName: string): Promise<void>;
|
|
7
7
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/utils.ts"],"names":[],"mappings":"AAMA,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAkBjE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAEtE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAElE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAErE;AAED,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,iBAOvD;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,iBAQzD"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { paramCase } from "change-case";
|
|
2
|
-
import {
|
|
3
|
-
import fs from "node:fs/promises";
|
|
2
|
+
import { copyFile, mkdir, readdir, rm } from "node:fs/promises";
|
|
4
3
|
import path from "path";
|
|
5
4
|
import { PURGE_AFTER_TEST } from "./config.js";
|
|
6
5
|
import { TEST_DATA_DIR, TEST_OUTPUT_DIR } from "./constants.js";
|
|
7
6
|
export async function copyAllFiles(srcDir, destDir) {
|
|
8
7
|
// Ensure destination exists
|
|
9
|
-
await
|
|
8
|
+
await mkdir(destDir, { recursive: true });
|
|
10
9
|
// Read all entries in the source directory
|
|
11
|
-
const entries = await
|
|
10
|
+
const entries = await readdir(srcDir, { withFileTypes: true });
|
|
12
11
|
for (const entry of entries) {
|
|
13
12
|
const srcPath = path.join(srcDir, entry.name);
|
|
14
13
|
const destPath = path.join(destDir, entry.name);
|
|
@@ -17,7 +16,7 @@ export async function copyAllFiles(srcDir, destDir) {
|
|
|
17
16
|
await copyAllFiles(srcPath, destPath);
|
|
18
17
|
}
|
|
19
18
|
else if (entry.isFile()) {
|
|
20
|
-
await
|
|
19
|
+
await copyFile(srcPath, destPath);
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
22
|
}
|
|
@@ -30,19 +29,19 @@ export function getTestDataDir(testDir, testDataDir) {
|
|
|
30
29
|
export function getTestOutDirPath(testName, outDirName) {
|
|
31
30
|
return path.join(outDirName, `test-${paramCase(testName)}`);
|
|
32
31
|
}
|
|
33
|
-
export function resetDirForTest(outDirName) {
|
|
32
|
+
export async function resetDirForTest(outDirName) {
|
|
34
33
|
try {
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
await rm(outDirName, { recursive: true, force: true });
|
|
35
|
+
await mkdir(outDirName, { recursive: true });
|
|
37
36
|
}
|
|
38
37
|
catch (error) {
|
|
39
38
|
// Ignore error if folder doesn't exist
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
|
-
export function purgeDirAfterTest(outDirName) {
|
|
41
|
+
export async function purgeDirAfterTest(outDirName) {
|
|
43
42
|
if (PURGE_AFTER_TEST) {
|
|
44
43
|
try {
|
|
45
|
-
|
|
44
|
+
await rm(outDirName, { recursive: true, force: true });
|
|
46
45
|
}
|
|
47
46
|
catch (error) {
|
|
48
47
|
// Ignore error if folder doesn't exist
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,OAAe;IAChE,4BAA4B;IAC5B,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,2CAA2C;IAC3C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,kCAAkC;YAClC,MAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,aAAqB;IACrE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,WAAmB;IACjE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,UAAkB;IACpE,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uCAAuC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uCAAuC;QACzC,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -72,7 +72,7 @@ export declare function generateDriveEditor(options: {
|
|
|
72
72
|
}): Promise<void>;
|
|
73
73
|
export declare function generateSubgraphFromDocumentModel(name: string, documentModel: DocumentModelGlobalState, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
|
|
74
74
|
export declare function generateSubgraph(name: string, file: string | null, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
|
|
75
|
-
export declare function generateProcessor(name: string, type: "analytics" | "relationalDb", documentTypes: string[], skipFormat: boolean): Promise<void>;
|
|
75
|
+
export declare function generateProcessor(name: string, type: "analytics" | "relationalDb", documentTypes: string[], skipFormat: boolean, useTsMorph: boolean): Promise<void>;
|
|
76
76
|
export declare function generateImportScript(name: string, config: PowerhouseConfig): Promise<void>;
|
|
77
77
|
export declare function generateManifest(manifestData: PartialPowerhouseManifest, projectRoot?: string): string;
|
|
78
78
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/codegen/generate.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAe/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
|