@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,352 +0,0 @@
1
- /**
2
- * Tests for OnlyValidator.
3
- *
4
- * These tests verify that the OnlyValidator correctly detects
5
- * only constraint violations in resolver argument types and return types.
6
- */
7
- import { describe, expect, it } from "vitest";
8
- import { validateOnlyConstraints } from "./only-validator.js";
9
- function createScalarTypeRef(scalarName, only) {
10
- return {
11
- kind: "scalar",
12
- name: scalarName,
13
- elementType: null,
14
- members: null,
15
- nullable: false,
16
- scalarInfo: {
17
- scalarName,
18
- typeName: scalarName,
19
- baseType: undefined,
20
- isCustom: true,
21
- only,
22
- },
23
- inlineObjectProperties: null,
24
- };
25
- }
26
- function createArrayTypeRef(elementType) {
27
- return {
28
- kind: "array",
29
- name: null,
30
- elementType,
31
- members: null,
32
- nullable: false,
33
- scalarInfo: null,
34
- inlineObjectProperties: null,
35
- };
36
- }
37
- function createNullableTypeRef(inner) {
38
- return {
39
- ...inner,
40
- nullable: true,
41
- };
42
- }
43
- function createObjectTypeRef(name) {
44
- return {
45
- kind: "reference",
46
- name,
47
- elementType: null,
48
- members: null,
49
- nullable: false,
50
- scalarInfo: null,
51
- inlineObjectProperties: null,
52
- };
53
- }
54
- describe("OnlyValidator", () => {
55
- describe("5.1 Detect only: 'output' violation in input position", () => {
56
- it("should error when output-only type is used in input type field", () => {
57
- const fieldType = createScalarTypeRef("DateTime", "output");
58
- const violations = validateOnlyConstraints({
59
- typeRef: fieldType,
60
- position: "input",
61
- context: {
62
- kind: "inputTypeField",
63
- typeName: "CreateUserInput",
64
- fieldName: "createdAt",
65
- sourceFile: "/src/gql/types/user.ts",
66
- line: 10,
67
- },
68
- });
69
- expect(violations).toHaveLength(1);
70
- expect(violations[0]).toMatchObject({
71
- code: "OUTPUT_ONLY_IN_INPUT_POSITION",
72
- scalarName: "DateTime",
73
- only: "output",
74
- position: "input",
75
- });
76
- expect(violations[0]?.message).toContain("DateTime");
77
- expect(violations[0]?.message).toContain("output-only");
78
- expect(violations[0]?.message).toContain("input");
79
- });
80
- it("should error when output-only type is used in resolver argument type", () => {
81
- const argType = createScalarTypeRef("DateTimeOutput", "output");
82
- const violations = validateOnlyConstraints({
83
- typeRef: argType,
84
- position: "input",
85
- context: {
86
- kind: "resolverArgument",
87
- resolverName: "createUser",
88
- argumentName: "createdAt",
89
- sourceFile: "/src/gql/resolvers/user.ts",
90
- line: 15,
91
- },
92
- });
93
- expect(violations).toHaveLength(1);
94
- expect(violations[0]).toMatchObject({
95
- code: "OUTPUT_ONLY_IN_INPUT_POSITION",
96
- scalarName: "DateTimeOutput",
97
- position: "input",
98
- });
99
- });
100
- it("should generate actionable error message", () => {
101
- const fieldType = createScalarTypeRef("DateTime", "output");
102
- const violations = validateOnlyConstraints({
103
- typeRef: fieldType,
104
- position: "input",
105
- context: {
106
- kind: "inputTypeField",
107
- typeName: "CreateUserInput",
108
- fieldName: "createdAt",
109
- sourceFile: "/src/gql/types/user.ts",
110
- line: 10,
111
- },
112
- });
113
- expect(violations[0]?.message).toContain("Use a type without 'only' constraint or with 'only: \"input\"'");
114
- });
115
- it("should error when output-only type is nested in array in input position", () => {
116
- const outputOnlyScalar = createScalarTypeRef("DateTime", "output");
117
- const arrayType = createArrayTypeRef(outputOnlyScalar);
118
- const violations = validateOnlyConstraints({
119
- typeRef: arrayType,
120
- position: "input",
121
- context: {
122
- kind: "resolverArgument",
123
- resolverName: "createUsers",
124
- argumentName: "dates",
125
- sourceFile: "/src/gql/resolvers/user.ts",
126
- line: 20,
127
- },
128
- });
129
- expect(violations).toHaveLength(1);
130
- expect(violations[0]?.scalarName).toBe("DateTime");
131
- });
132
- it("should error when output-only type is nullable in input position", () => {
133
- const outputOnlyScalar = createScalarTypeRef("DateTime", "output");
134
- const nullableType = createNullableTypeRef(outputOnlyScalar);
135
- const violations = validateOnlyConstraints({
136
- typeRef: nullableType,
137
- position: "input",
138
- context: {
139
- kind: "inputTypeField",
140
- typeName: "CreateUserInput",
141
- fieldName: "createdAt",
142
- sourceFile: "/src/gql/types/user.ts",
143
- line: 10,
144
- },
145
- });
146
- expect(violations).toHaveLength(1);
147
- expect(violations[0]?.scalarName).toBe("DateTime");
148
- });
149
- it("should not error when input-only type is used in input position", () => {
150
- const inputOnlyScalar = createScalarTypeRef("DateTimeInput", "input");
151
- const violations = validateOnlyConstraints({
152
- typeRef: inputOnlyScalar,
153
- position: "input",
154
- context: {
155
- kind: "inputTypeField",
156
- typeName: "CreateUserInput",
157
- fieldName: "createdAt",
158
- sourceFile: "/src/gql/types/user.ts",
159
- line: 10,
160
- },
161
- });
162
- expect(violations).toHaveLength(0);
163
- });
164
- it("should not error when type without only constraint is used in input position", () => {
165
- const noConstraintScalar = createScalarTypeRef("DateTime", null);
166
- const violations = validateOnlyConstraints({
167
- typeRef: noConstraintScalar,
168
- position: "input",
169
- context: {
170
- kind: "inputTypeField",
171
- typeName: "CreateUserInput",
172
- fieldName: "createdAt",
173
- sourceFile: "/src/gql/types/user.ts",
174
- line: 10,
175
- },
176
- });
177
- expect(violations).toHaveLength(0);
178
- });
179
- it("should not error for object types in input position", () => {
180
- const objectType = createObjectTypeRef("CreateUserInput");
181
- const violations = validateOnlyConstraints({
182
- typeRef: objectType,
183
- position: "input",
184
- context: {
185
- kind: "resolverArgument",
186
- resolverName: "createUser",
187
- argumentName: "input",
188
- sourceFile: "/src/gql/resolvers/user.ts",
189
- line: 15,
190
- },
191
- });
192
- expect(violations).toHaveLength(0);
193
- });
194
- });
195
- describe("5.2 Detect only: 'input' violation in output position", () => {
196
- it("should error when input-only type is used in object type field", () => {
197
- const fieldType = createScalarTypeRef("DateTimeInput", "input");
198
- const violations = validateOnlyConstraints({
199
- typeRef: fieldType,
200
- position: "output",
201
- context: {
202
- kind: "objectTypeField",
203
- typeName: "User",
204
- fieldName: "createdAt",
205
- sourceFile: "/src/gql/types/user.ts",
206
- line: 10,
207
- },
208
- });
209
- expect(violations).toHaveLength(1);
210
- expect(violations[0]).toMatchObject({
211
- code: "INPUT_ONLY_IN_OUTPUT_POSITION",
212
- scalarName: "DateTimeInput",
213
- only: "input",
214
- position: "output",
215
- });
216
- expect(violations[0]?.message).toContain("DateTimeInput");
217
- expect(violations[0]?.message).toContain("input-only");
218
- expect(violations[0]?.message).toContain("output");
219
- });
220
- it("should error when input-only type is used in resolver return type", () => {
221
- const returnType = createScalarTypeRef("DateTimeInput", "input");
222
- const violations = validateOnlyConstraints({
223
- typeRef: returnType,
224
- position: "output",
225
- context: {
226
- kind: "resolverReturnType",
227
- resolverName: "getUser",
228
- sourceFile: "/src/gql/resolvers/user.ts",
229
- line: 25,
230
- },
231
- });
232
- expect(violations).toHaveLength(1);
233
- expect(violations[0]).toMatchObject({
234
- code: "INPUT_ONLY_IN_OUTPUT_POSITION",
235
- scalarName: "DateTimeInput",
236
- position: "output",
237
- });
238
- });
239
- it("should generate actionable error message", () => {
240
- const fieldType = createScalarTypeRef("DateTimeInput", "input");
241
- const violations = validateOnlyConstraints({
242
- typeRef: fieldType,
243
- position: "output",
244
- context: {
245
- kind: "objectTypeField",
246
- typeName: "User",
247
- fieldName: "createdAt",
248
- sourceFile: "/src/gql/types/user.ts",
249
- line: 10,
250
- },
251
- });
252
- expect(violations[0]?.message).toContain("Use a type without 'only' constraint or with 'only: \"output\"'");
253
- });
254
- it("should error when input-only type is nested in array in output position", () => {
255
- const inputOnlyScalar = createScalarTypeRef("DateTimeInput", "input");
256
- const arrayType = createArrayTypeRef(inputOnlyScalar);
257
- const violations = validateOnlyConstraints({
258
- typeRef: arrayType,
259
- position: "output",
260
- context: {
261
- kind: "resolverReturnType",
262
- resolverName: "getDates",
263
- sourceFile: "/src/gql/resolvers/user.ts",
264
- line: 30,
265
- },
266
- });
267
- expect(violations).toHaveLength(1);
268
- expect(violations[0]?.scalarName).toBe("DateTimeInput");
269
- });
270
- it("should error when input-only type is nullable in output position", () => {
271
- const inputOnlyScalar = createScalarTypeRef("DateTimeInput", "input");
272
- const nullableType = createNullableTypeRef(inputOnlyScalar);
273
- const violations = validateOnlyConstraints({
274
- typeRef: nullableType,
275
- position: "output",
276
- context: {
277
- kind: "objectTypeField",
278
- typeName: "User",
279
- fieldName: "createdAt",
280
- sourceFile: "/src/gql/types/user.ts",
281
- line: 10,
282
- },
283
- });
284
- expect(violations).toHaveLength(1);
285
- expect(violations[0]?.scalarName).toBe("DateTimeInput");
286
- });
287
- it("should not error when output-only type is used in output position", () => {
288
- const outputOnlyScalar = createScalarTypeRef("DateTimeOutput", "output");
289
- const violations = validateOnlyConstraints({
290
- typeRef: outputOnlyScalar,
291
- position: "output",
292
- context: {
293
- kind: "objectTypeField",
294
- typeName: "User",
295
- fieldName: "createdAt",
296
- sourceFile: "/src/gql/types/user.ts",
297
- line: 10,
298
- },
299
- });
300
- expect(violations).toHaveLength(0);
301
- });
302
- it("should not error when type without only constraint is used in output position", () => {
303
- const noConstraintScalar = createScalarTypeRef("DateTime", null);
304
- const violations = validateOnlyConstraints({
305
- typeRef: noConstraintScalar,
306
- position: "output",
307
- context: {
308
- kind: "objectTypeField",
309
- typeName: "User",
310
- fieldName: "createdAt",
311
- sourceFile: "/src/gql/types/user.ts",
312
- line: 10,
313
- },
314
- });
315
- expect(violations).toHaveLength(0);
316
- });
317
- it("should not error for object types in output position", () => {
318
- const objectType = createObjectTypeRef("User");
319
- const violations = validateOnlyConstraints({
320
- typeRef: objectType,
321
- position: "output",
322
- context: {
323
- kind: "resolverReturnType",
324
- resolverName: "getUser",
325
- sourceFile: "/src/gql/resolvers/user.ts",
326
- line: 25,
327
- },
328
- });
329
- expect(violations).toHaveLength(0);
330
- });
331
- });
332
- describe("Nested types with multiple scalars", () => {
333
- it("should detect all violations in nested array structure", () => {
334
- const inputOnlyScalar = createScalarTypeRef("DateTimeInput", "input");
335
- const nestedArray = createArrayTypeRef(createArrayTypeRef(inputOnlyScalar));
336
- const violations = validateOnlyConstraints({
337
- typeRef: nestedArray,
338
- position: "output",
339
- context: {
340
- kind: "objectTypeField",
341
- typeName: "Schedule",
342
- fieldName: "dates",
343
- sourceFile: "/src/gql/types/schedule.ts",
344
- line: 5,
345
- },
346
- });
347
- expect(violations).toHaveLength(1);
348
- expect(violations[0]?.scalarName).toBe("DateTimeInput");
349
- });
350
- });
351
- });
352
- //# sourceMappingURL=only-validator.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"only-validator.test.js","sourceRoot":"","sources":["../../../src/resolver-extractor/validator/only-validator.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ast-builder.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ast-builder.test.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/builder/ast-builder.test.ts"],"names":[],"mappings":""}