@gqlkit-ts/cli 0.1.0 → 0.2.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.
Files changed (234) hide show
  1. package/dist/auto-type-generator/auto-type-generator.d.ts +19 -3
  2. package/dist/auto-type-generator/auto-type-generator.d.ts.map +1 -1
  3. package/dist/auto-type-generator/auto-type-generator.js +236 -49
  4. package/dist/auto-type-generator/auto-type-generator.js.map +1 -1
  5. package/dist/auto-type-generator/index.d.ts +1 -1
  6. package/dist/auto-type-generator/index.d.ts.map +1 -1
  7. package/dist/auto-type-generator/index.js.map +1 -1
  8. package/dist/auto-type-generator/inline-enum-collector.d.ts +31 -0
  9. package/dist/auto-type-generator/inline-enum-collector.d.ts.map +1 -0
  10. package/dist/auto-type-generator/inline-enum-collector.js +157 -0
  11. package/dist/auto-type-generator/inline-enum-collector.js.map +1 -0
  12. package/dist/auto-type-generator/naming-convention.d.ts +4 -0
  13. package/dist/auto-type-generator/naming-convention.d.ts.map +1 -1
  14. package/dist/auto-type-generator/naming-convention.js +8 -0
  15. package/dist/auto-type-generator/naming-convention.js.map +1 -1
  16. package/dist/gen-orchestrator/orchestrator.d.ts.map +1 -1
  17. package/dist/gen-orchestrator/orchestrator.js +106 -8
  18. package/dist/gen-orchestrator/orchestrator.js.map +1 -1
  19. package/dist/resolver-extractor/extract-resolvers.d.ts +10 -1
  20. package/dist/resolver-extractor/extract-resolvers.d.ts.map +1 -1
  21. package/dist/resolver-extractor/extractor/define-api-extractor.d.ts +11 -1
  22. package/dist/resolver-extractor/extractor/define-api-extractor.d.ts.map +1 -1
  23. package/dist/resolver-extractor/extractor/define-api-extractor.js +88 -264
  24. package/dist/resolver-extractor/extractor/define-api-extractor.js.map +1 -1
  25. package/dist/schema-generator/emitter/code-emitter.d.ts +10 -2
  26. package/dist/schema-generator/emitter/code-emitter.d.ts.map +1 -1
  27. package/dist/schema-generator/emitter/code-emitter.js +19 -4
  28. package/dist/schema-generator/emitter/code-emitter.js.map +1 -1
  29. package/dist/schema-generator/generate-schema.d.ts.map +1 -1
  30. package/dist/schema-generator/generate-schema.js +18 -1
  31. package/dist/schema-generator/generate-schema.js.map +1 -1
  32. package/dist/schema-generator/integrator/result-integrator.d.ts +20 -0
  33. package/dist/schema-generator/integrator/result-integrator.d.ts.map +1 -1
  34. package/dist/schema-generator/integrator/result-integrator.js +42 -0
  35. package/dist/schema-generator/integrator/result-integrator.js.map +1 -1
  36. package/dist/shared/constants.d.ts +0 -16
  37. package/dist/shared/constants.d.ts.map +1 -1
  38. package/dist/shared/constants.js +0 -19
  39. package/dist/shared/constants.js.map +1 -1
  40. package/dist/shared/directive-detector.d.ts.map +1 -1
  41. package/dist/shared/directive-detector.js +8 -15
  42. package/dist/shared/directive-detector.js.map +1 -1
  43. package/dist/shared/file-scanner.d.ts.map +1 -1
  44. package/dist/shared/file-scanner.js +5 -3
  45. package/dist/shared/file-scanner.js.map +1 -1
  46. package/dist/shared/index.d.ts +1 -1
  47. package/dist/shared/index.d.ts.map +1 -1
  48. package/dist/shared/index.js +1 -3
  49. package/dist/shared/index.js.map +1 -1
  50. package/dist/shared/interface-detector.d.ts +3 -2
  51. package/dist/shared/interface-detector.d.ts.map +1 -1
  52. package/dist/shared/interface-detector.js +54 -11
  53. package/dist/shared/interface-detector.js.map +1 -1
  54. package/dist/shared/path-utils.d.ts +2 -0
  55. package/dist/shared/path-utils.d.ts.map +1 -0
  56. package/dist/shared/path-utils.js +4 -0
  57. package/dist/shared/path-utils.js.map +1 -0
  58. package/dist/shared/type-converter.d.ts.map +1 -1
  59. package/dist/shared/type-converter.js +11 -0
  60. package/dist/shared/type-converter.js.map +1 -1
  61. package/dist/shared/typescript-utils.d.ts +34 -7
  62. package/dist/shared/typescript-utils.d.ts.map +1 -1
  63. package/dist/shared/typescript-utils.js +72 -24
  64. package/dist/shared/typescript-utils.js.map +1 -1
  65. package/dist/type-extractor/collector/scalar-collector.d.ts.map +1 -1
  66. package/dist/type-extractor/collector/scalar-collector.js +4 -14
  67. package/dist/type-extractor/collector/scalar-collector.js.map +1 -1
  68. package/dist/type-extractor/converter/graphql-converter.d.ts.map +1 -1
  69. package/dist/type-extractor/converter/graphql-converter.js +42 -3
  70. package/dist/type-extractor/converter/graphql-converter.js.map +1 -1
  71. package/dist/type-extractor/extractor/field-type-resolver.d.ts +28 -0
  72. package/dist/type-extractor/extractor/field-type-resolver.d.ts.map +1 -0
  73. package/dist/type-extractor/extractor/field-type-resolver.js +394 -0
  74. package/dist/type-extractor/extractor/field-type-resolver.js.map +1 -0
  75. package/dist/type-extractor/extractor/type-extractor.d.ts +12 -3
  76. package/dist/type-extractor/extractor/type-extractor.d.ts.map +1 -1
  77. package/dist/type-extractor/extractor/type-extractor.js +176 -210
  78. package/dist/type-extractor/extractor/type-extractor.js.map +1 -1
  79. package/dist/type-extractor/extractor/type-name-collector.d.ts +24 -0
  80. package/dist/type-extractor/extractor/type-name-collector.d.ts.map +1 -0
  81. package/dist/type-extractor/extractor/type-name-collector.js +102 -0
  82. package/dist/type-extractor/extractor/type-name-collector.js.map +1 -0
  83. package/dist/type-extractor/mapper/scalar-base-type-mapper.d.ts +89 -0
  84. package/dist/type-extractor/mapper/scalar-base-type-mapper.d.ts.map +1 -0
  85. package/dist/type-extractor/mapper/scalar-base-type-mapper.js +158 -0
  86. package/dist/type-extractor/mapper/scalar-base-type-mapper.js.map +1 -0
  87. package/dist/type-extractor/types/diagnostics.d.ts +1 -1
  88. package/dist/type-extractor/types/diagnostics.d.ts.map +1 -1
  89. package/dist/type-extractor/types/graphql.d.ts +2 -0
  90. package/dist/type-extractor/types/graphql.d.ts.map +1 -1
  91. package/dist/type-extractor/types/index.d.ts +2 -1
  92. package/dist/type-extractor/types/index.d.ts.map +1 -1
  93. package/dist/type-extractor/types/index.js +1 -1
  94. package/dist/type-extractor/types/index.js.map +1 -1
  95. package/dist/type-extractor/types/ts-type-reference-factory.d.ts +39 -0
  96. package/dist/type-extractor/types/ts-type-reference-factory.d.ts.map +1 -0
  97. package/dist/type-extractor/types/ts-type-reference-factory.js +69 -0
  98. package/dist/type-extractor/types/ts-type-reference-factory.js.map +1 -0
  99. package/dist/type-extractor/types/typescript.d.ts +21 -1
  100. package/dist/type-extractor/types/typescript.d.ts.map +1 -1
  101. package/dist/type-extractor/validator/type-validator.js +1 -1
  102. package/dist/type-extractor/validator/type-validator.js.map +1 -1
  103. package/docs/index.md +1 -0
  104. package/docs/integration/drizzle.md +191 -0
  105. package/docs/schema/enums.md +208 -0
  106. package/docs/schema/fields.md +2 -0
  107. package/docs/schema/inputs.md +2 -0
  108. package/docs/schema/objects.md +2 -0
  109. package/docs/schema/queries-mutations.md +2 -0
  110. package/package.json +10 -3
  111. package/src/auto-type-generator/auto-type-generator.ts +925 -0
  112. package/src/auto-type-generator/index.ts +21 -0
  113. package/src/auto-type-generator/inline-enum-collector.ts +290 -0
  114. package/src/auto-type-generator/name-collision-validator.ts +119 -0
  115. package/src/auto-type-generator/naming-convention.ts +126 -0
  116. package/src/cli.ts +11 -0
  117. package/src/commands/gen.ts +141 -0
  118. package/src/commands/main.ts +5 -0
  119. package/src/config/define-config.ts +28 -0
  120. package/src/config/index.ts +7 -0
  121. package/src/config/types.ts +144 -0
  122. package/src/config-loader/index.ts +14 -0
  123. package/src/config-loader/loader.ts +143 -0
  124. package/src/config-loader/validator.ts +672 -0
  125. package/src/gen-orchestrator/hook-executor/hook-executor.ts +117 -0
  126. package/src/gen-orchestrator/orchestrator.ts +784 -0
  127. package/src/gen-orchestrator/reporter/diagnostic-reporter.ts +44 -0
  128. package/src/gen-orchestrator/reporter/progress-reporter.ts +61 -0
  129. package/src/gen-orchestrator/writer/file-writer.ts +38 -0
  130. package/src/index.ts +2 -0
  131. package/src/resolver-extractor/extract-resolvers.ts +63 -0
  132. package/src/resolver-extractor/extractor/define-api-extractor.ts +806 -0
  133. package/src/resolver-extractor/index.ts +19 -0
  134. package/src/resolver-extractor/validator/abstract-resolver-validator.ts +251 -0
  135. package/src/resolver-extractor/validator/only-validator.ts +158 -0
  136. package/src/schema-generator/builder/ast-builder.ts +706 -0
  137. package/src/schema-generator/emitter/code-emitter.ts +351 -0
  138. package/src/schema-generator/emitter/sdl-emitter.ts +13 -0
  139. package/src/schema-generator/generate-schema.ts +170 -0
  140. package/src/schema-generator/index.ts +19 -0
  141. package/src/schema-generator/integrator/result-integrator.ts +690 -0
  142. package/src/schema-generator/pruner/schema-pruner.ts +112 -0
  143. package/src/schema-generator/resolver-collector/resolver-collector.ts +123 -0
  144. package/src/shared/constants.ts +122 -0
  145. package/src/shared/default-value-detector.ts +172 -0
  146. package/src/shared/diagnostics.ts +35 -0
  147. package/src/shared/directive-definition-extractor.ts +564 -0
  148. package/src/shared/directive-detector.ts +556 -0
  149. package/src/shared/file-scanner.ts +170 -0
  150. package/src/shared/index.ts +32 -0
  151. package/src/shared/inline-object-extractor.ts +102 -0
  152. package/src/shared/inline-object-utils.ts +23 -0
  153. package/src/shared/interface-detector.ts +176 -0
  154. package/src/shared/interface-validator.ts +211 -0
  155. package/src/shared/metadata-detector.ts +443 -0
  156. package/src/shared/path-utils.ts +3 -0
  157. package/src/shared/program-factory.ts +51 -0
  158. package/src/shared/source-location.ts +27 -0
  159. package/src/shared/tsconfig-loader.ts +126 -0
  160. package/src/shared/tsdoc-parser.ts +155 -0
  161. package/src/shared/type-converter.ts +99 -0
  162. package/src/shared/typescript-utils.ts +246 -0
  163. package/src/type-extractor/collector/result-collector.ts +57 -0
  164. package/src/type-extractor/collector/scalar-collector.ts +254 -0
  165. package/src/type-extractor/converter/field-eligibility.ts +112 -0
  166. package/src/type-extractor/converter/graphql-converter.ts +459 -0
  167. package/src/type-extractor/extract-types.ts +1 -0
  168. package/src/type-extractor/extractor/field-type-resolver.ts +569 -0
  169. package/src/type-extractor/extractor/type-extractor.ts +1567 -0
  170. package/src/type-extractor/extractor/type-name-collector.ts +130 -0
  171. package/src/type-extractor/index.ts +20 -0
  172. package/src/type-extractor/mapper/scalar-base-type-mapper.ts +265 -0
  173. package/src/type-extractor/types/diagnostics.ts +99 -0
  174. package/src/type-extractor/types/graphql.ts +55 -0
  175. package/src/type-extractor/types/index.ts +37 -0
  176. package/src/type-extractor/types/ts-type-reference-factory.ts +137 -0
  177. package/src/type-extractor/types/typescript.ts +133 -0
  178. package/src/type-extractor/validator/type-validator.ts +77 -0
  179. package/dist/auto-type-generator/auto-type-generator.test.d.ts +0 -2
  180. package/dist/auto-type-generator/auto-type-generator.test.d.ts.map +0 -1
  181. package/dist/auto-type-generator/auto-type-generator.test.js +0 -613
  182. package/dist/auto-type-generator/auto-type-generator.test.js.map +0 -1
  183. package/dist/auto-type-generator/name-collision-validator.test.d.ts +0 -2
  184. package/dist/auto-type-generator/name-collision-validator.test.d.ts.map +0 -1
  185. package/dist/auto-type-generator/name-collision-validator.test.js +0 -358
  186. package/dist/auto-type-generator/name-collision-validator.test.js.map +0 -1
  187. package/dist/auto-type-generator/naming-convention.test.d.ts +0 -2
  188. package/dist/auto-type-generator/naming-convention.test.d.ts.map +0 -1
  189. package/dist/auto-type-generator/naming-convention.test.js +0 -132
  190. package/dist/auto-type-generator/naming-convention.test.js.map +0 -1
  191. package/dist/commands/gen.test.d.ts +0 -2
  192. package/dist/commands/gen.test.d.ts.map +0 -1
  193. package/dist/commands/gen.test.js +0 -226
  194. package/dist/commands/gen.test.js.map +0 -1
  195. package/dist/config-loader/loader.test.d.ts +0 -2
  196. package/dist/config-loader/loader.test.d.ts.map +0 -1
  197. package/dist/config-loader/loader.test.js +0 -123
  198. package/dist/config-loader/loader.test.js.map +0 -1
  199. package/dist/config-loader/validator.test.d.ts +0 -2
  200. package/dist/config-loader/validator.test.d.ts.map +0 -1
  201. package/dist/config-loader/validator.test.js +0 -846
  202. package/dist/config-loader/validator.test.js.map +0 -1
  203. package/dist/gen-orchestrator/golden.test.d.ts +0 -2
  204. package/dist/gen-orchestrator/golden.test.d.ts.map +0 -1
  205. package/dist/gen-orchestrator/golden.test.js +0 -102
  206. package/dist/gen-orchestrator/golden.test.js.map +0 -1
  207. package/dist/gen-orchestrator/hook-executor/hook-executor.test.d.ts +0 -2
  208. package/dist/gen-orchestrator/hook-executor/hook-executor.test.d.ts.map +0 -1
  209. package/dist/gen-orchestrator/hook-executor/hook-executor.test.js +0 -167
  210. package/dist/gen-orchestrator/hook-executor/hook-executor.test.js.map +0 -1
  211. package/dist/gen-orchestrator/reporter/progress-reporter.test.d.ts +0 -2
  212. package/dist/gen-orchestrator/reporter/progress-reporter.test.d.ts.map +0 -1
  213. package/dist/gen-orchestrator/reporter/progress-reporter.test.js +0 -74
  214. package/dist/gen-orchestrator/reporter/progress-reporter.test.js.map +0 -1
  215. package/dist/resolver-extractor/validator/only-validator.test.d.ts +0 -8
  216. package/dist/resolver-extractor/validator/only-validator.test.d.ts.map +0 -1
  217. package/dist/resolver-extractor/validator/only-validator.test.js +0 -352
  218. package/dist/resolver-extractor/validator/only-validator.test.js.map +0 -1
  219. package/dist/schema-generator/builder/ast-builder.test.d.ts +0 -2
  220. package/dist/schema-generator/builder/ast-builder.test.d.ts.map +0 -1
  221. package/dist/schema-generator/builder/ast-builder.test.js +0 -469
  222. package/dist/schema-generator/builder/ast-builder.test.js.map +0 -1
  223. package/dist/shared/file-scanner.test.d.ts +0 -2
  224. package/dist/shared/file-scanner.test.d.ts.map +0 -1
  225. package/dist/shared/file-scanner.test.js +0 -138
  226. package/dist/shared/file-scanner.test.js.map +0 -1
  227. package/dist/shared/interface-validator.test.d.ts +0 -2
  228. package/dist/shared/interface-validator.test.d.ts.map +0 -1
  229. package/dist/shared/interface-validator.test.js +0 -145
  230. package/dist/shared/interface-validator.test.js.map +0 -1
  231. package/dist/type-extractor/types/typescript.test.d.ts +0 -2
  232. package/dist/type-extractor/types/typescript.test.d.ts.map +0 -1
  233. package/dist/type-extractor/types/typescript.test.js +0 -287
  234. package/dist/type-extractor/types/typescript.test.js.map +0 -1
@@ -1,226 +0,0 @@
1
- import { mkdir, mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
2
- import { tmpdir } from "node:os";
3
- import { join } from "node:path";
4
- import { afterEach, beforeEach, describe, expect, it } from "vitest";
5
- import { runGenCommand } from "./gen.js";
6
- describe("gen command", () => {
7
- let testDir;
8
- beforeEach(async () => {
9
- testDir = await mkdtemp(join(tmpdir(), "gqlkit-gen-test-"));
10
- });
11
- afterEach(async () => {
12
- await rm(testDir, { recursive: true });
13
- });
14
- async function setupProject() {
15
- const sourceDir = join(testDir, "src/gqlkit/schema");
16
- await mkdir(sourceDir, { recursive: true });
17
- await writeFile(join(sourceDir, "types.ts"), "export interface User { id: string; name: string; }", "utf-8");
18
- await writeFile(join(sourceDir, "resolvers.ts"), `
19
- import { createGqlkitApis, type NoArgs } from "@gqlkit-ts/runtime";
20
- import type { User } from "./types.js";
21
- type Context = unknown;
22
- const { defineQuery } = createGqlkitApis<Context>();
23
- export const users = defineQuery<NoArgs, User[]>(() => []);
24
- `, "utf-8");
25
- }
26
- async function setupProjectWithConfig(configContent, additionalSetup) {
27
- await setupProject();
28
- await writeFile(join(testDir, "gqlkit.config.ts"), configContent, "utf-8");
29
- if (additionalSetup) {
30
- await additionalSetup();
31
- }
32
- }
33
- describe("successful generation", () => {
34
- it("should generate typeDefs.ts file", async () => {
35
- await setupProject();
36
- const result = await runGenCommand({ cwd: testDir });
37
- expect(result.exitCode).toBe(0);
38
- const typeDefsPath = join(testDir, "src/gqlkit/__generated__/typeDefs.ts");
39
- const content = await readFile(typeDefsPath, "utf-8");
40
- expect(content.includes("typeDefs")).toBeTruthy();
41
- });
42
- it("should generate resolvers.ts file", async () => {
43
- await setupProject();
44
- const result = await runGenCommand({ cwd: testDir });
45
- expect(result.exitCode).toBe(0);
46
- const resolversPath = join(testDir, "src/gqlkit/__generated__/resolvers.ts");
47
- const content = await readFile(resolversPath, "utf-8");
48
- expect(content.includes("createResolvers")).toBeTruthy();
49
- });
50
- it("should return exit code 0 on success", async () => {
51
- await setupProject();
52
- const result = await runGenCommand({ cwd: testDir });
53
- expect(result.exitCode).toBe(0);
54
- });
55
- });
56
- describe("error handling", () => {
57
- it("should return exit code 1 when source directory is missing", async () => {
58
- const result = await runGenCommand({ cwd: testDir });
59
- expect(result.exitCode).toBe(1);
60
- });
61
- });
62
- describe("config file integration (Task 7)", () => {
63
- it("should continue with default config when config file is not present", async () => {
64
- await setupProject();
65
- const result = await runGenCommand({ cwd: testDir });
66
- expect(result.exitCode).toBe(0);
67
- });
68
- it("should load config file when present", async () => {
69
- await setupProjectWithConfig(`
70
- export default {
71
- scalars: [],
72
- };
73
- `);
74
- const result = await runGenCommand({ cwd: testDir });
75
- expect(result.exitCode).toBe(0);
76
- });
77
- it("should return exit code 1 when config file has syntax error", async () => {
78
- await setupProjectWithConfig(`
79
- export default {
80
- scalars: [
81
- // invalid syntax
82
- `);
83
- const result = await runGenCommand({ cwd: testDir });
84
- expect(result.exitCode).toBe(1);
85
- });
86
- it("should return exit code 1 when config file has validation error", async () => {
87
- await setupProjectWithConfig(`
88
- export default {
89
- scalars: [
90
- {
91
- graphqlName: "String",
92
- type: { from: "./scalars", name: "MyString" },
93
- },
94
- ],
95
- };
96
- `);
97
- const result = await runGenCommand({ cwd: testDir });
98
- expect(result.exitCode).toBe(1);
99
- });
100
- it("should generate schema with custom scalar definitions", async () => {
101
- const scalarsDir = join(testDir, "src/scalars");
102
- await mkdir(scalarsDir, { recursive: true });
103
- await writeFile(join(scalarsDir, "index.ts"), `export type DateTime = string & { readonly __brand: unique symbol };`, "utf-8");
104
- const sourceDir = join(testDir, "src/gqlkit/schema");
105
- await mkdir(sourceDir, { recursive: true });
106
- await writeFile(join(sourceDir, "event.ts"), `
107
- import type { DateTime } from "../scalars/index.js";
108
- export interface Event { id: string; createdAt: DateTime; }
109
- `, "utf-8");
110
- await writeFile(join(sourceDir, "query.ts"), `
111
- import { createGqlkitApis, type NoArgs } from "@gqlkit-ts/runtime";
112
- import type { Event } from "./event.js";
113
- type Context = unknown;
114
- const { defineQuery } = createGqlkitApis<Context>();
115
- export const events = defineQuery<NoArgs, Event[]>(() => []);
116
- `, "utf-8");
117
- await writeFile(join(testDir, "gqlkit.config.ts"), `
118
- export default {
119
- scalars: [
120
- {
121
- graphqlName: "DateTime",
122
- type: { from: "./src/scalars", name: "DateTime" },
123
- },
124
- ],
125
- };
126
- `, "utf-8");
127
- const result = await runGenCommand({ cwd: testDir });
128
- expect(result.exitCode).toBe(0);
129
- const typeDefsPath = join(testDir, "src/gqlkit/__generated__/typeDefs.ts");
130
- const content = await readFile(typeDefsPath, "utf-8");
131
- expect(content.includes('"kind": "ScalarTypeDefinition"') &&
132
- content.includes('"value": "DateTime"')).toBeTruthy();
133
- });
134
- });
135
- describe("hooks integration", () => {
136
- it("should execute hooks after file generation", async () => {
137
- await setupProjectWithConfig(`
138
- export default {
139
- hooks: {
140
- afterAllFileWrite: ["node -e \\"console.log('hook executed')\\""],
141
- },
142
- };
143
- `);
144
- const result = await runGenCommand({ cwd: testDir });
145
- expect(result.exitCode).toBe(0);
146
- });
147
- it("should execute multiple hooks sequentially", async () => {
148
- await setupProjectWithConfig(`
149
- export default {
150
- hooks: {
151
- afterAllFileWrite: [
152
- "node -e \\"console.log('first')\\"",
153
- "node -e \\"console.log('second')\\"",
154
- ],
155
- },
156
- };
157
- `);
158
- const result = await runGenCommand({ cwd: testDir });
159
- expect(result.exitCode).toBe(0);
160
- });
161
- it("should continue executing hooks when one fails", async () => {
162
- await setupProjectWithConfig(`
163
- export default {
164
- hooks: {
165
- afterAllFileWrite: [
166
- "node -e \\"process.exit(1)\\"",
167
- "node -e \\"console.log('after-failure')\\"",
168
- ],
169
- },
170
- };
171
- `);
172
- const result = await runGenCommand({ cwd: testDir });
173
- expect(result.exitCode).toBe(1);
174
- });
175
- it("should return exit code 1 when any hook fails", async () => {
176
- await setupProjectWithConfig(`
177
- export default {
178
- hooks: {
179
- afterAllFileWrite: ["node -e \\"process.exit(1)\\""],
180
- },
181
- };
182
- `);
183
- const result = await runGenCommand({ cwd: testDir });
184
- expect(result.exitCode).toBe(1);
185
- });
186
- it("should skip hooks when no files are written", async () => {
187
- await setupProjectWithConfig(`
188
- export default {
189
- output: {
190
- resolversPath: null,
191
- typeDefsPath: null,
192
- schemaPath: null,
193
- },
194
- hooks: {
195
- afterAllFileWrite: ["node -e \\"process.exit(1)\\""],
196
- },
197
- };
198
- `);
199
- const result = await runGenCommand({ cwd: testDir });
200
- // Should succeed because hooks are skipped when no files are written
201
- expect(result.exitCode).toBe(0);
202
- });
203
- it("should skip hooks when generation fails", async () => {
204
- await writeFile(join(testDir, "gqlkit.config.ts"), `
205
- export default {
206
- hooks: {
207
- afterAllFileWrite: ["node -e \\"process.exit(1)\\""],
208
- },
209
- };
210
- `, "utf-8");
211
- const result = await runGenCommand({ cwd: testDir });
212
- // Should fail due to generation failure, not hook failure
213
- expect(result.exitCode).toBe(1);
214
- });
215
- it("should not execute hooks when hooks config is empty", async () => {
216
- await setupProjectWithConfig(`
217
- export default {
218
- hooks: {},
219
- };
220
- `);
221
- const result = await runGenCommand({ cwd: testDir });
222
- expect(result.exitCode).toBe(0);
223
- });
224
- });
225
- });
226
- //# sourceMappingURL=gen.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gen.test.js","sourceRoot":"","sources":["../../src/commands/gen.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=loader.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.test.d.ts","sourceRoot":"","sources":["../../src/config-loader/loader.test.ts"],"names":[],"mappings":""}
@@ -1,123 +0,0 @@
1
- import fs from "node:fs";
2
- import os from "node:os";
3
- import path from "node:path";
4
- import { afterEach, beforeEach, describe, expect, it } from "vitest";
5
- import { loadConfig } from "./loader.js";
6
- describe("ConfigLoader", () => {
7
- let tempDir;
8
- beforeEach(() => {
9
- tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "config-loader-test-"));
10
- });
11
- afterEach(() => {
12
- fs.rmSync(tempDir, { recursive: true });
13
- });
14
- describe("loadConfig", () => {
15
- it("should return default config when gqlkit.config.ts does not exist", async () => {
16
- const result = await loadConfig({ cwd: tempDir });
17
- expect(result.configPath).toBe(undefined);
18
- expect(result.config).toEqual({
19
- sourceDir: "src/gqlkit/schema",
20
- sourceIgnoreGlobs: [],
21
- output: {
22
- resolversPath: "src/gqlkit/__generated__/resolvers.ts",
23
- typeDefsPath: "src/gqlkit/__generated__/typeDefs.ts",
24
- schemaPath: "src/gqlkit/__generated__/schema.graphql",
25
- },
26
- scalars: [],
27
- tsconfigPath: null,
28
- hooks: {
29
- afterAllFileWrite: [],
30
- },
31
- });
32
- expect(result.diagnostics.length).toBe(0);
33
- });
34
- it("should load config from gqlkit.config.ts", async () => {
35
- const configContent = `
36
- export default {
37
- scalars: [
38
- {
39
- graphqlName: "DateTime",
40
- type: { from: "./src/scalars", name: "DateTime" },
41
- },
42
- ],
43
- };
44
- `;
45
- fs.writeFileSync(path.join(tempDir, "gqlkit.config.ts"), configContent);
46
- const result = await loadConfig({ cwd: tempDir });
47
- expect(result.configPath).toBe(path.join(tempDir, "gqlkit.config.ts"));
48
- expect(result.config.scalars.length).toBe(1);
49
- expect(result.config.scalars[0]?.graphqlName).toBe("DateTime");
50
- expect(result.config.scalars[0]?.typeName).toBe("DateTime");
51
- expect(result.config.scalars[0]?.importPath).toBe("./src/scalars");
52
- expect(result.diagnostics.length).toBe(0);
53
- });
54
- it("should load config with multiple scalar mappings", async () => {
55
- const configContent = `
56
- export default {
57
- scalars: [
58
- { graphqlName: "DateTime", type: { from: "./src/scalars", name: "DateTime" } },
59
- { graphqlName: "UUID", type: { from: "./src/scalars", name: "UUID" } },
60
- { graphqlName: "URL", type: { from: "@my-lib/types", name: "URL" } },
61
- ],
62
- };
63
- `;
64
- fs.writeFileSync(path.join(tempDir, "gqlkit.config.ts"), configContent);
65
- const result = await loadConfig({ cwd: tempDir });
66
- expect(result.config.scalars.length).toBe(3);
67
- expect(result.config.scalars[0]?.graphqlName).toBe("DateTime");
68
- expect(result.config.scalars[1]?.graphqlName).toBe("UUID");
69
- expect(result.config.scalars[2]?.graphqlName).toBe("URL");
70
- expect(result.config.scalars[2]?.importPath).toBe("@my-lib/types");
71
- });
72
- it("should return error diagnostic for syntax error", async () => {
73
- const configContent = `
74
- export default {
75
- scalars: [
76
- { graphqlName: "DateTime", type: { from: "./src/scalars", name: "DateTime" }
77
- ],
78
- };
79
- `;
80
- fs.writeFileSync(path.join(tempDir, "gqlkit.config.ts"), configContent);
81
- const result = await loadConfig({ cwd: tempDir });
82
- expect(result.diagnostics.length).toBe(1);
83
- expect(result.diagnostics[0]?.code).toBe("CONFIG_SYNTAX_ERROR");
84
- expect(result.diagnostics[0]?.severity).toBe("error");
85
- });
86
- it("should load config without defineConfig wrapper", async () => {
87
- const configContent = `
88
- export default {
89
- scalars: [
90
- { graphqlName: "DateTime", type: { from: "./src/scalars", name: "DateTime" } },
91
- ],
92
- };
93
- `;
94
- fs.writeFileSync(path.join(tempDir, "gqlkit.config.ts"), configContent);
95
- const result = await loadConfig({ cwd: tempDir });
96
- expect(result.config.scalars.length).toBe(1);
97
- expect(result.config.scalars[0]?.graphqlName).toBe("DateTime");
98
- });
99
- it("should handle empty config object", async () => {
100
- const configContent = `
101
- export default {};
102
- `;
103
- fs.writeFileSync(path.join(tempDir, "gqlkit.config.ts"), configContent);
104
- const result = await loadConfig({ cwd: tempDir });
105
- expect(result.config).toEqual({
106
- sourceDir: "src/gqlkit/schema",
107
- sourceIgnoreGlobs: [],
108
- output: {
109
- resolversPath: "src/gqlkit/__generated__/resolvers.ts",
110
- typeDefsPath: "src/gqlkit/__generated__/typeDefs.ts",
111
- schemaPath: "src/gqlkit/__generated__/schema.graphql",
112
- },
113
- scalars: [],
114
- tsconfigPath: null,
115
- hooks: {
116
- afterAllFileWrite: [],
117
- },
118
- });
119
- expect(result.diagnostics.length).toBe(0);
120
- });
121
- });
122
- });
123
- //# sourceMappingURL=loader.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.test.js","sourceRoot":"","sources":["../../src/config-loader/loader.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=validator.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.test.d.ts","sourceRoot":"","sources":["../../src/config-loader/validator.test.ts"],"names":[],"mappings":""}