@powerhousedao/codegen 5.1.0-staging.0 → 5.2.0-staging.1

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.
Files changed (134) hide show
  1. package/dist/src/codegen/__tests__/config.d.ts +1 -1
  2. package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
  3. package/dist/src/codegen/__tests__/config.js +1 -1
  4. package/dist/src/codegen/__tests__/config.js.map +1 -1
  5. package/dist/src/codegen/__tests__/generate-doc-model.test.js +81 -81
  6. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
  7. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +5 -5
  8. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
  9. package/dist/src/codegen/__tests__/generate-editor.test.js +4 -4
  10. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  11. package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
  12. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts +2 -0
  13. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts.map +1 -0
  14. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +142 -0
  15. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -0
  16. package/dist/src/codegen/generate.d.ts +23 -7
  17. package/dist/src/codegen/generate.d.ts.map +1 -1
  18. package/dist/src/codegen/generate.js +105 -87
  19. package/dist/src/codegen/generate.js.map +1 -1
  20. package/dist/src/codegen/graphql.d.ts +20 -17
  21. package/dist/src/codegen/graphql.d.ts.map +1 -1
  22. package/dist/src/codegen/graphql.js +105 -78
  23. package/dist/src/codegen/graphql.js.map +1 -1
  24. package/dist/src/codegen/hygen.d.ts.map +1 -1
  25. package/dist/src/codegen/hygen.js +0 -1
  26. package/dist/src/codegen/hygen.js.map +1 -1
  27. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts.map +1 -1
  28. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js +53 -44
  29. package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js.map +1 -1
  30. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js +20 -23
  31. package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js.map +1 -1
  32. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts.map +1 -1
  33. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js +209 -21
  34. package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js.map +1 -1
  35. package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts +21 -1
  36. package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts.map +1 -1
  37. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts +31 -0
  38. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts.map +1 -0
  39. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js +136 -0
  40. package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js.map +1 -0
  41. package/dist/src/ts-morph-utils/file-builders/document-model.d.ts +2 -2
  42. package/dist/src/ts-morph-utils/file-builders/document-model.d.ts.map +1 -1
  43. package/dist/src/ts-morph-utils/file-builders/document-model.js +210 -28
  44. package/dist/src/ts-morph-utils/file-builders/document-model.js.map +1 -1
  45. package/dist/src/ts-morph-utils/file-builders/index-files.d.ts +2 -1
  46. package/dist/src/ts-morph-utils/file-builders/index-files.d.ts.map +1 -1
  47. package/dist/src/ts-morph-utils/file-builders/index-files.js +6 -2
  48. package/dist/src/ts-morph-utils/file-builders/index-files.js.map +1 -1
  49. package/dist/src/ts-morph-utils/file-builders/module-files.d.ts.map +1 -1
  50. package/dist/src/ts-morph-utils/file-builders/module-files.js +20 -8
  51. package/dist/src/ts-morph-utils/file-builders/module-files.js.map +1 -1
  52. package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts +5 -23
  53. package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts.map +1 -1
  54. package/dist/src/ts-morph-utils/name-builders/get-variable-names.js +26 -34
  55. package/dist/src/ts-morph-utils/name-builders/get-variable-names.js.map +1 -1
  56. package/dist/src/ts-morph-utils/name-builders/types.d.ts +6 -2
  57. package/dist/src/ts-morph-utils/name-builders/types.d.ts.map +1 -1
  58. package/dist/src/ts-morph-utils/syntax-getters.d.ts +1 -0
  59. package/dist/src/ts-morph-utils/syntax-getters.d.ts.map +1 -1
  60. package/dist/src/ts-morph-utils/syntax-getters.js +6 -0
  61. package/dist/src/ts-morph-utils/syntax-getters.js.map +1 -1
  62. package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts +2 -2
  63. package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts.map +1 -1
  64. package/dist/src/ts-morph-utils/templates/document-model/actions.js.map +1 -1
  65. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts +2 -2
  66. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts.map +1 -1
  67. package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js.map +1 -1
  68. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts +2 -2
  69. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts.map +1 -1
  70. package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js.map +1 -1
  71. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts +2 -2
  72. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts.map +1 -1
  73. package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js.map +1 -1
  74. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts +2 -2
  75. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts.map +1 -1
  76. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js +2 -2
  77. package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js.map +1 -1
  78. package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts +2 -2
  79. package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts.map +1 -1
  80. package/dist/src/ts-morph-utils/templates/document-model/gen/index.js.map +1 -1
  81. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts +2 -2
  82. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts.map +1 -1
  83. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js.map +1 -1
  84. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts +2 -2
  85. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts.map +1 -1
  86. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js.map +1 -1
  87. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts +2 -2
  88. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts.map +1 -1
  89. package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js.map +1 -1
  90. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts +2 -2
  91. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts.map +1 -1
  92. package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js.map +1 -1
  93. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts +2 -2
  94. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts.map +1 -1
  95. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js +1 -1
  96. package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js.map +1 -1
  97. package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts +2 -2
  98. package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts.map +1 -1
  99. package/dist/src/ts-morph-utils/templates/document-model/gen/types.js +14 -14
  100. package/dist/src/ts-morph-utils/templates/document-model/gen/types.js.map +1 -1
  101. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts +2 -2
  102. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts.map +1 -1
  103. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js +18 -18
  104. package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js.map +1 -1
  105. package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts +2 -2
  106. package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts.map +1 -1
  107. package/dist/src/ts-morph-utils/templates/document-model/hooks.js +1 -1
  108. package/dist/src/ts-morph-utils/templates/document-model/hooks.js.map +1 -1
  109. package/dist/src/ts-morph-utils/templates/document-model/module.d.ts +2 -2
  110. package/dist/src/ts-morph-utils/templates/document-model/module.d.ts.map +1 -1
  111. package/dist/src/ts-morph-utils/templates/document-model/module.js +3 -3
  112. package/dist/src/ts-morph-utils/templates/document-model/module.js.map +1 -1
  113. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts +2 -2
  114. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts.map +1 -1
  115. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js +1 -1
  116. package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js.map +1 -1
  117. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts +5 -2
  118. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts.map +1 -1
  119. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js +24 -4
  120. package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js.map +1 -1
  121. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts +7 -0
  122. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts.map +1 -0
  123. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js +22 -0
  124. package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js.map +1 -0
  125. package/dist/src/utils/mock.d.ts +2 -3
  126. package/dist/src/utils/mock.d.ts.map +1 -1
  127. package/dist/src/utils/mock.js +4 -4
  128. package/dist/src/utils/mock.js.map +1 -1
  129. package/dist/tsconfig.tsbuildinfo +1 -1
  130. package/package.json +18 -15
  131. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts +0 -2
  132. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts.map +0 -1
  133. package/dist/src/codegen/__tests__/generate-schemas.test.js +0 -143
  134. package/dist/src/codegen/__tests__/generate-schemas.test.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/codegen",
3
- "version": "5.1.0-staging.0",
3
+ "version": "5.2.0-staging.1",
4
4
  "license": "AGPL-3.0-only",
5
5
  "private": false,
6
6
  "type": "module",
@@ -14,11 +14,11 @@
14
14
  "exports": "./dist/index.js",
15
15
  "types": "./dist/index.d.ts",
16
16
  "dependencies": {
17
- "@acaldas/graphql-codegen-typescript-validation-schema": "^0.12.4",
18
17
  "@anatine/zod-mock": "^3.13.3",
19
18
  "@faker-js/faker": "^8.3.1",
20
- "@graphql-codegen/cli": "^5.0.0",
21
- "@graphql-codegen/typescript": "^4.0.1",
19
+ "@graphql-codegen/cli": "^6.1.0",
20
+ "@graphql-codegen/core": "^5.0.0",
21
+ "@graphql-codegen/typescript": "^5.0.6",
22
22
  "@powerhousedao/document-engineering": "^1.30.0",
23
23
  "@tmpl/core": "npm:@jsr/tmpl__core@^0.6.3",
24
24
  "@types/node": "^24.6.1",
@@ -27,20 +27,22 @@
27
27
  "enquirer": "^2.4.1",
28
28
  "execa": "^8.0.1",
29
29
  "graphql": "^16.11.0",
30
+ "graphql-codegen-typescript-validation-schema": "^0.18.1",
30
31
  "hygen": "^6.2.11",
31
32
  "kysely": "^0.28.2",
32
33
  "kysely-pglite": "^0.6.1",
33
34
  "prettier": "^3.6.2",
34
35
  "read-pkg": "^9.0.1",
36
+ "semver": "^7.7.3",
35
37
  "ts-morph": "^26.0.0",
36
- "@powerhousedao/common": "5.1.0-staging.0",
37
- "@powerhousedao/config": "5.1.0-staging.0",
38
- "@powerhousedao/reactor-browser": "5.1.0-staging.0",
39
- "@powerhousedao/design-system": "5.1.0-staging.0",
40
- "document-model": "5.1.0-staging.0"
38
+ "zocker": "^3.0.0",
39
+ "@powerhousedao/common": "5.2.0-staging.1",
40
+ "@powerhousedao/config": "5.2.0-staging.1",
41
+ "@powerhousedao/design-system": "5.2.0-staging.1",
42
+ "@powerhousedao/reactor-browser": "5.2.0-staging.1",
43
+ "document-model": "5.2.0-staging.1"
41
44
  },
42
45
  "devDependencies": {
43
- "@graphql-codegen/core": "^4.0.2",
44
46
  "@powerhousedao/analytics-engine-core": "^0.5.0",
45
47
  "@types/react": "^19.2.0",
46
48
  "@types/react-dom": "^19.2.0",
@@ -50,8 +52,8 @@
50
52
  "react": "^19.2.0",
51
53
  "react-dom": "^19.2.0",
52
54
  "vitest": "^3.2.4",
53
- "zod": "^3.24.3",
54
- "document-drive": "5.1.0-staging.0"
55
+ "zod": "^4.1.13",
56
+ "document-drive": "5.2.0-staging.1"
55
57
  },
56
58
  "scripts": {
57
59
  "tsc": "tsc",
@@ -61,9 +63,10 @@
61
63
  "build:create-lib": "tsc --project src/create-lib/tsconfig.json",
62
64
  "publish:create-lib": "npm publish --cwd ./src/create-lib/",
63
65
  "start": "tsx src/cli.ts",
64
- "test": "npm run copy-hygen && vitest run",
65
- "test:ts-morph": "USE_TS_MORPH=true npm run test",
66
+ "pretest": "npm run build",
67
+ "test": "vitest run",
66
68
  "test:keep": "KEEP_TEST_OUTPUT=true npm run test",
67
- "test:keep:ts-morph": "USE_TS_MORPH=true KEEP_TEST_OUTPUT=true npm run test"
69
+ "test:hygen": "USE_TS_MORPH=false npm run test",
70
+ "test:keep:hygen": "USE_TS_MORPH=false KEEP_TEST_OUTPUT=true npm run test"
68
71
  }
69
72
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=generate-schemas.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-schemas.test.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-schemas.test.ts"],"names":[],"mappings":""}
@@ -1,143 +0,0 @@
1
- import * as validationPlugin from "@acaldas/graphql-codegen-typescript-validation-schema";
2
- import { codegen } from "@graphql-codegen/core";
3
- import * as typescriptPlugin from "@graphql-codegen/typescript";
4
- import { parse } from "graphql";
5
- import { mkdirSync, readFileSync, rmSync } from "node:fs";
6
- import path from "node:path";
7
- import { afterAll, beforeAll, describe, expect, it, } from "vitest";
8
- import { scalars, tsConfig, zodConfig } from "../graphql.js";
9
- import { PURGE_AFTER_TEST } from "./config.js";
10
- import { GENERATE_SCHEMAS_TEST_OUTPUT_DIR, SCHEMAS_TEST_PROJECT, } from "./constants.js";
11
- import { copyAllFiles, getTestDataDir, getTestOutDirPath, getTestOutputDir, } from "./utils.js";
12
- describe("graphql codegen", () => {
13
- const testDir = import.meta.dirname;
14
- const outDirName = getTestOutputDir(testDir, GENERATE_SCHEMAS_TEST_OUTPUT_DIR);
15
- const testDataDir = getTestDataDir(testDir, SCHEMAS_TEST_PROJECT);
16
- let testOutDirPath = getTestOutDirPath("initial", outDirName);
17
- const documentDriveSchema = readFileSync(path.join(testDataDir, "schema.graphql"), "utf-8");
18
- async function setupTest(context, testDataDir) {
19
- testOutDirPath = getTestOutDirPath(context.task.name, outDirName);
20
- await copyAllFiles(testDataDir, testOutDirPath);
21
- }
22
- beforeAll(() => {
23
- try {
24
- rmSync(outDirName, { recursive: true, force: true });
25
- mkdirSync(outDirName, { recursive: true });
26
- }
27
- catch (error) {
28
- // Ignore error if folder doesn't exist
29
- }
30
- });
31
- afterAll(() => {
32
- if (PURGE_AFTER_TEST) {
33
- rmSync(outDirName, { recursive: true, force: true });
34
- }
35
- });
36
- it("should generate correct typescript code for schema", async (context) => {
37
- await setupTest(context, testDataDir);
38
- const schema = `
39
- ${Object.keys(scalars)
40
- .map((scalar) => `scalar ${scalar}`)
41
- .join("\n")}
42
- type User {
43
- id: ID!
44
- name: String!
45
- email: String
46
- address: Address
47
- createdAt: DateTime!
48
- }
49
-
50
- type Query {
51
- user(id: ID!): User
52
- users: [User!]!
53
- }
54
- `;
55
- const result = await codegen({
56
- filename: "",
57
- plugins: [
58
- {
59
- typescript: tsConfig,
60
- },
61
- ],
62
- schema: parse(schema),
63
- documents: [],
64
- config: {},
65
- pluginMap: {
66
- typescript: typescriptPlugin,
67
- },
68
- });
69
- expect(result).toMatchSnapshot();
70
- });
71
- it("should generate correct zod code for schema", async (context) => {
72
- await setupTest(context, testDataDir);
73
- const schema = `
74
- ${Object.keys(scalars)
75
- .map((scalar) => `scalar ${scalar}`)
76
- .join("\n")}
77
- type User {
78
- id: ID!
79
- name: String!
80
- email: String
81
- address: Address
82
- createdAt: DateTime!
83
- }
84
-
85
- type Query {
86
- user(id: ID!): User
87
- users: [User!]!
88
- }
89
- `;
90
- const result = await codegen({
91
- filename: "",
92
- plugins: [
93
- {
94
- "graphql-codegen-typescript-validation-schema": zodConfig,
95
- },
96
- ],
97
- schema: parse(schema),
98
- documents: [],
99
- config: {},
100
- pluginMap: {
101
- "graphql-codegen-typescript-validation-schema": validationPlugin,
102
- },
103
- });
104
- expect(result).toMatchSnapshot();
105
- });
106
- it("should generate correct typescript code for drive schema", async (context) => {
107
- await setupTest(context, testDataDir);
108
- const result = await codegen({
109
- filename: "",
110
- plugins: [
111
- {
112
- typescript: tsConfig,
113
- },
114
- ],
115
- schema: parse(documentDriveSchema),
116
- documents: [],
117
- config: {},
118
- pluginMap: {
119
- typescript: typescriptPlugin,
120
- },
121
- });
122
- expect(result).toMatchSnapshot();
123
- });
124
- it("should generate correct zod code for drive schema", async (context) => {
125
- await setupTest(context, testDataDir);
126
- const result = await codegen({
127
- filename: "",
128
- plugins: [
129
- {
130
- "@acaldas/graphql-codegen-typescript-validation-schema": zodConfig,
131
- },
132
- ],
133
- schema: parse(documentDriveSchema),
134
- documents: [],
135
- config: {},
136
- pluginMap: {
137
- "@acaldas/graphql-codegen-typescript-validation-schema": validationPlugin,
138
- },
139
- });
140
- expect(result).toMatchSnapshot();
141
- });
142
- });
143
- //# sourceMappingURL=generate-schemas.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-schemas.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-schemas.test.ts"],"names":[],"mappings":"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"}