@gqlkit-ts/cli 0.0.1 → 0.1.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 (325) hide show
  1. package/LICENSE +21 -0
  2. package/dist/auto-type-generator/auto-type-generator.d.ts +46 -0
  3. package/dist/auto-type-generator/auto-type-generator.d.ts.map +1 -0
  4. package/dist/auto-type-generator/auto-type-generator.js +353 -0
  5. package/dist/auto-type-generator/auto-type-generator.js.map +1 -0
  6. package/dist/auto-type-generator/auto-type-generator.test.d.ts +2 -0
  7. package/dist/auto-type-generator/auto-type-generator.test.d.ts.map +1 -0
  8. package/dist/auto-type-generator/auto-type-generator.test.js +613 -0
  9. package/dist/auto-type-generator/auto-type-generator.test.js.map +1 -0
  10. package/dist/auto-type-generator/index.d.ts +4 -0
  11. package/dist/auto-type-generator/index.d.ts.map +1 -0
  12. package/dist/auto-type-generator/index.js +3 -0
  13. package/dist/auto-type-generator/index.js.map +1 -0
  14. package/dist/auto-type-generator/name-collision-validator.d.ts +17 -0
  15. package/dist/auto-type-generator/name-collision-validator.d.ts.map +1 -0
  16. package/dist/auto-type-generator/name-collision-validator.js +68 -0
  17. package/dist/auto-type-generator/name-collision-validator.js.map +1 -0
  18. package/dist/auto-type-generator/name-collision-validator.test.d.ts +2 -0
  19. package/dist/auto-type-generator/name-collision-validator.test.d.ts.map +1 -0
  20. package/dist/auto-type-generator/name-collision-validator.test.js +358 -0
  21. package/dist/auto-type-generator/name-collision-validator.test.js.map +1 -0
  22. package/dist/auto-type-generator/naming-convention.d.ts +40 -0
  23. package/dist/auto-type-generator/naming-convention.d.ts.map +1 -0
  24. package/dist/auto-type-generator/naming-convention.js +59 -0
  25. package/dist/auto-type-generator/naming-convention.js.map +1 -0
  26. package/dist/auto-type-generator/naming-convention.test.d.ts +2 -0
  27. package/dist/auto-type-generator/naming-convention.test.d.ts.map +1 -0
  28. package/dist/auto-type-generator/naming-convention.test.js +132 -0
  29. package/dist/auto-type-generator/naming-convention.test.js.map +1 -0
  30. package/dist/cli.d.ts +2 -0
  31. package/dist/cli.d.ts.map +1 -0
  32. package/dist/cli.js +11 -0
  33. package/dist/cli.js.map +1 -0
  34. package/dist/commands/gen.d.ts +32 -0
  35. package/dist/commands/gen.d.ts.map +1 -0
  36. package/dist/commands/gen.js +101 -0
  37. package/dist/commands/gen.js.map +1 -0
  38. package/dist/commands/gen.test.d.ts +2 -0
  39. package/dist/commands/gen.test.d.ts.map +1 -0
  40. package/dist/commands/gen.test.js +226 -0
  41. package/dist/commands/gen.test.js.map +1 -0
  42. package/dist/commands/main.d.ts +12 -0
  43. package/dist/commands/main.d.ts.map +1 -0
  44. package/dist/commands/main.js +5 -0
  45. package/dist/commands/main.js.map +1 -0
  46. package/dist/config/define-config.d.ts +26 -0
  47. package/dist/config/define-config.d.ts.map +1 -0
  48. package/dist/config/define-config.js +27 -0
  49. package/dist/config/define-config.js.map +1 -0
  50. package/dist/config/index.d.ts +3 -0
  51. package/dist/config/index.d.ts.map +1 -0
  52. package/dist/config/index.js +2 -0
  53. package/dist/config/index.js.map +1 -0
  54. package/dist/config/types.d.ts +131 -0
  55. package/dist/config/types.d.ts.map +1 -0
  56. package/dist/config/types.js +2 -0
  57. package/dist/config/types.js.map +1 -0
  58. package/dist/config-loader/index.d.ts +3 -0
  59. package/dist/config-loader/index.d.ts.map +1 -0
  60. package/dist/config-loader/index.js +2 -0
  61. package/dist/config-loader/index.js.map +1 -0
  62. package/dist/config-loader/loader.d.ts +50 -0
  63. package/dist/config-loader/loader.d.ts.map +1 -0
  64. package/dist/config-loader/loader.js +78 -0
  65. package/dist/config-loader/loader.js.map +1 -0
  66. package/dist/config-loader/loader.test.d.ts +2 -0
  67. package/dist/config-loader/loader.test.d.ts.map +1 -0
  68. package/dist/config-loader/loader.test.js +123 -0
  69. package/dist/config-loader/loader.test.js.map +1 -0
  70. package/dist/config-loader/validator.d.ts +13 -0
  71. package/dist/config-loader/validator.d.ts.map +1 -0
  72. package/dist/config-loader/validator.js +497 -0
  73. package/dist/config-loader/validator.js.map +1 -0
  74. package/dist/config-loader/validator.test.d.ts +2 -0
  75. package/dist/config-loader/validator.test.d.ts.map +1 -0
  76. package/dist/config-loader/validator.test.js +846 -0
  77. package/dist/config-loader/validator.test.js.map +1 -0
  78. package/dist/gen-orchestrator/golden.test.d.ts +2 -0
  79. package/dist/gen-orchestrator/golden.test.d.ts.map +1 -0
  80. package/dist/gen-orchestrator/golden.test.js +102 -0
  81. package/dist/gen-orchestrator/golden.test.js.map +1 -0
  82. package/dist/gen-orchestrator/hook-executor/hook-executor.d.ts +25 -0
  83. package/dist/gen-orchestrator/hook-executor/hook-executor.d.ts.map +1 -0
  84. package/dist/gen-orchestrator/hook-executor/hook-executor.js +68 -0
  85. package/dist/gen-orchestrator/hook-executor/hook-executor.js.map +1 -0
  86. package/dist/gen-orchestrator/hook-executor/hook-executor.test.d.ts +2 -0
  87. package/dist/gen-orchestrator/hook-executor/hook-executor.test.d.ts.map +1 -0
  88. package/dist/gen-orchestrator/hook-executor/hook-executor.test.js +167 -0
  89. package/dist/gen-orchestrator/hook-executor/hook-executor.test.js.map +1 -0
  90. package/dist/gen-orchestrator/orchestrator.d.ts +30 -0
  91. package/dist/gen-orchestrator/orchestrator.d.ts.map +1 -0
  92. package/dist/gen-orchestrator/orchestrator.js +407 -0
  93. package/dist/gen-orchestrator/orchestrator.js.map +1 -0
  94. package/dist/gen-orchestrator/reporter/diagnostic-reporter.d.ts +9 -0
  95. package/dist/gen-orchestrator/reporter/diagnostic-reporter.d.ts.map +1 -0
  96. package/dist/gen-orchestrator/reporter/diagnostic-reporter.js +32 -0
  97. package/dist/gen-orchestrator/reporter/diagnostic-reporter.js.map +1 -0
  98. package/dist/gen-orchestrator/reporter/progress-reporter.d.ts +19 -0
  99. package/dist/gen-orchestrator/reporter/progress-reporter.d.ts.map +1 -0
  100. package/dist/gen-orchestrator/reporter/progress-reporter.js +38 -0
  101. package/dist/gen-orchestrator/reporter/progress-reporter.js.map +1 -0
  102. package/dist/gen-orchestrator/reporter/progress-reporter.test.d.ts +2 -0
  103. package/dist/gen-orchestrator/reporter/progress-reporter.test.d.ts.map +1 -0
  104. package/dist/gen-orchestrator/reporter/progress-reporter.test.js +74 -0
  105. package/dist/gen-orchestrator/reporter/progress-reporter.test.js.map +1 -0
  106. package/dist/gen-orchestrator/writer/file-writer.d.ts +13 -0
  107. package/dist/gen-orchestrator/writer/file-writer.d.ts.map +1 -0
  108. package/dist/gen-orchestrator/writer/file-writer.js +22 -0
  109. package/dist/gen-orchestrator/writer/file-writer.js.map +1 -0
  110. package/dist/index.d.ts +3 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +2 -0
  113. package/dist/index.js.map +1 -0
  114. package/dist/resolver-extractor/extract-resolvers.d.ts +40 -0
  115. package/dist/resolver-extractor/extract-resolvers.d.ts.map +1 -0
  116. package/dist/resolver-extractor/extract-resolvers.js +2 -0
  117. package/dist/resolver-extractor/extract-resolvers.js.map +1 -0
  118. package/dist/resolver-extractor/extractor/define-api-extractor.d.ts +50 -0
  119. package/dist/resolver-extractor/extractor/define-api-extractor.d.ts.map +1 -0
  120. package/dist/resolver-extractor/extractor/define-api-extractor.js +685 -0
  121. package/dist/resolver-extractor/extractor/define-api-extractor.js.map +1 -0
  122. package/dist/resolver-extractor/index.d.ts +5 -0
  123. package/dist/resolver-extractor/index.d.ts.map +1 -0
  124. package/dist/resolver-extractor/index.js +2 -0
  125. package/dist/resolver-extractor/index.js.map +1 -0
  126. package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts +25 -0
  127. package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts.map +1 -0
  128. package/dist/resolver-extractor/validator/abstract-resolver-validator.js +172 -0
  129. package/dist/resolver-extractor/validator/abstract-resolver-validator.js.map +1 -0
  130. package/dist/resolver-extractor/validator/only-validator.d.ts +61 -0
  131. package/dist/resolver-extractor/validator/only-validator.d.ts.map +1 -0
  132. package/dist/resolver-extractor/validator/only-validator.js +76 -0
  133. package/dist/resolver-extractor/validator/only-validator.js.map +1 -0
  134. package/dist/resolver-extractor/validator/only-validator.test.d.ts +8 -0
  135. package/dist/resolver-extractor/validator/only-validator.test.d.ts.map +1 -0
  136. package/dist/resolver-extractor/validator/only-validator.test.js +352 -0
  137. package/dist/resolver-extractor/validator/only-validator.test.js.map +1 -0
  138. package/dist/schema-generator/builder/ast-builder.d.ts +7 -0
  139. package/dist/schema-generator/builder/ast-builder.d.ts.map +1 -0
  140. package/dist/schema-generator/builder/ast-builder.js +417 -0
  141. package/dist/schema-generator/builder/ast-builder.js.map +1 -0
  142. package/dist/schema-generator/builder/ast-builder.test.d.ts +2 -0
  143. package/dist/schema-generator/builder/ast-builder.test.d.ts.map +1 -0
  144. package/dist/schema-generator/builder/ast-builder.test.js +469 -0
  145. package/dist/schema-generator/builder/ast-builder.test.js.map +1 -0
  146. package/dist/schema-generator/emitter/code-emitter.d.ts +7 -0
  147. package/dist/schema-generator/emitter/code-emitter.d.ts.map +1 -0
  148. package/dist/schema-generator/emitter/code-emitter.js +201 -0
  149. package/dist/schema-generator/emitter/code-emitter.js.map +1 -0
  150. package/dist/schema-generator/emitter/sdl-emitter.d.ts +7 -0
  151. package/dist/schema-generator/emitter/sdl-emitter.d.ts.map +1 -0
  152. package/dist/schema-generator/emitter/sdl-emitter.js +11 -0
  153. package/dist/schema-generator/emitter/sdl-emitter.js.map +1 -0
  154. package/dist/schema-generator/generate-schema.d.ts +26 -0
  155. package/dist/schema-generator/generate-schema.d.ts.map +1 -0
  156. package/dist/schema-generator/generate-schema.js +76 -0
  157. package/dist/schema-generator/generate-schema.js.map +1 -0
  158. package/dist/schema-generator/index.d.ts +4 -0
  159. package/dist/schema-generator/index.d.ts.map +1 -0
  160. package/dist/schema-generator/index.js +2 -0
  161. package/dist/schema-generator/index.js.map +1 -0
  162. package/dist/schema-generator/integrator/result-integrator.d.ts +93 -0
  163. package/dist/schema-generator/integrator/result-integrator.d.ts.map +1 -0
  164. package/dist/schema-generator/integrator/result-integrator.js +396 -0
  165. package/dist/schema-generator/integrator/result-integrator.js.map +1 -0
  166. package/dist/schema-generator/pruner/schema-pruner.d.ts +16 -0
  167. package/dist/schema-generator/pruner/schema-pruner.d.ts.map +1 -0
  168. package/dist/schema-generator/pruner/schema-pruner.js +66 -0
  169. package/dist/schema-generator/pruner/schema-pruner.js.map +1 -0
  170. package/dist/schema-generator/resolver-collector/resolver-collector.d.ts +24 -0
  171. package/dist/schema-generator/resolver-collector/resolver-collector.d.ts.map +1 -0
  172. package/dist/schema-generator/resolver-collector/resolver-collector.js +61 -0
  173. package/dist/schema-generator/resolver-collector/resolver-collector.js.map +1 -0
  174. package/dist/shared/constants.d.ts +70 -0
  175. package/dist/shared/constants.d.ts.map +1 -0
  176. package/dist/shared/constants.js +128 -0
  177. package/dist/shared/constants.js.map +1 -0
  178. package/dist/shared/default-value-detector.d.ts +40 -0
  179. package/dist/shared/default-value-detector.d.ts.map +1 -0
  180. package/dist/shared/default-value-detector.js +124 -0
  181. package/dist/shared/default-value-detector.js.map +1 -0
  182. package/dist/shared/diagnostics.d.ts +4 -0
  183. package/dist/shared/diagnostics.d.ts.map +1 -0
  184. package/dist/shared/diagnostics.js +25 -0
  185. package/dist/shared/diagnostics.js.map +1 -0
  186. package/dist/shared/directive-definition-extractor.d.ts +64 -0
  187. package/dist/shared/directive-definition-extractor.d.ts.map +1 -0
  188. package/dist/shared/directive-definition-extractor.js +399 -0
  189. package/dist/shared/directive-definition-extractor.js.map +1 -0
  190. package/dist/shared/directive-detector.d.ts +102 -0
  191. package/dist/shared/directive-detector.d.ts.map +1 -0
  192. package/dist/shared/directive-detector.js +422 -0
  193. package/dist/shared/directive-detector.js.map +1 -0
  194. package/dist/shared/file-scanner.d.ts +25 -0
  195. package/dist/shared/file-scanner.d.ts.map +1 -0
  196. package/dist/shared/file-scanner.js +99 -0
  197. package/dist/shared/file-scanner.js.map +1 -0
  198. package/dist/shared/file-scanner.test.d.ts +2 -0
  199. package/dist/shared/file-scanner.test.d.ts.map +1 -0
  200. package/dist/shared/file-scanner.test.js +138 -0
  201. package/dist/shared/file-scanner.test.js.map +1 -0
  202. package/dist/shared/index.d.ts +10 -0
  203. package/dist/shared/index.d.ts.map +1 -0
  204. package/dist/shared/index.js +8 -0
  205. package/dist/shared/index.js.map +1 -0
  206. package/dist/shared/inline-object-extractor.d.ts +13 -0
  207. package/dist/shared/inline-object-extractor.d.ts.map +1 -0
  208. package/dist/shared/inline-object-extractor.js +65 -0
  209. package/dist/shared/inline-object-extractor.js.map +1 -0
  210. package/dist/shared/inline-object-utils.d.ts +7 -0
  211. package/dist/shared/inline-object-utils.d.ts.map +1 -0
  212. package/dist/shared/inline-object-utils.js +23 -0
  213. package/dist/shared/inline-object-utils.js.map +1 -0
  214. package/dist/shared/interface-detector.d.ts +22 -0
  215. package/dist/shared/interface-detector.d.ts.map +1 -0
  216. package/dist/shared/interface-detector.js +90 -0
  217. package/dist/shared/interface-detector.js.map +1 -0
  218. package/dist/shared/interface-validator.d.ts +9 -0
  219. package/dist/shared/interface-validator.d.ts.map +1 -0
  220. package/dist/shared/interface-validator.js +152 -0
  221. package/dist/shared/interface-validator.js.map +1 -0
  222. package/dist/shared/interface-validator.test.d.ts +2 -0
  223. package/dist/shared/interface-validator.test.d.ts.map +1 -0
  224. package/dist/shared/interface-validator.test.js +145 -0
  225. package/dist/shared/interface-validator.test.js.map +1 -0
  226. package/dist/shared/metadata-detector.d.ts +65 -0
  227. package/dist/shared/metadata-detector.d.ts.map +1 -0
  228. package/dist/shared/metadata-detector.js +333 -0
  229. package/dist/shared/metadata-detector.js.map +1 -0
  230. package/dist/shared/program-factory.d.ts +14 -0
  231. package/dist/shared/program-factory.d.ts.map +1 -0
  232. package/dist/shared/program-factory.js +29 -0
  233. package/dist/shared/program-factory.js.map +1 -0
  234. package/dist/shared/source-location.d.ts +11 -0
  235. package/dist/shared/source-location.d.ts.map +1 -0
  236. package/dist/shared/source-location.js +15 -0
  237. package/dist/shared/source-location.js.map +1 -0
  238. package/dist/shared/tsconfig-loader.d.ts +13 -0
  239. package/dist/shared/tsconfig-loader.d.ts.map +1 -0
  240. package/dist/shared/tsconfig-loader.js +90 -0
  241. package/dist/shared/tsconfig-loader.js.map +1 -0
  242. package/dist/shared/tsdoc-parser.d.ts +12 -0
  243. package/dist/shared/tsdoc-parser.d.ts.map +1 -0
  244. package/dist/shared/tsdoc-parser.js +101 -0
  245. package/dist/shared/tsdoc-parser.js.map +1 -0
  246. package/dist/shared/type-converter.d.ts +3 -0
  247. package/dist/shared/type-converter.d.ts.map +1 -0
  248. package/dist/shared/type-converter.js +72 -0
  249. package/dist/shared/type-converter.js.map +1 -0
  250. package/dist/shared/typescript-utils.d.ts +55 -0
  251. package/dist/shared/typescript-utils.d.ts.map +1 -0
  252. package/dist/shared/typescript-utils.js +149 -0
  253. package/dist/shared/typescript-utils.js.map +1 -0
  254. package/dist/type-extractor/collector/result-collector.d.ts +7 -0
  255. package/dist/type-extractor/collector/result-collector.d.ts.map +1 -0
  256. package/dist/type-extractor/collector/result-collector.js +35 -0
  257. package/dist/type-extractor/collector/result-collector.js.map +1 -0
  258. package/dist/type-extractor/collector/scalar-collector.d.ts +108 -0
  259. package/dist/type-extractor/collector/scalar-collector.d.ts.map +1 -0
  260. package/dist/type-extractor/collector/scalar-collector.js +133 -0
  261. package/dist/type-extractor/collector/scalar-collector.js.map +1 -0
  262. package/dist/type-extractor/converter/field-eligibility.d.ts +34 -0
  263. package/dist/type-extractor/converter/field-eligibility.d.ts.map +1 -0
  264. package/dist/type-extractor/converter/field-eligibility.js +89 -0
  265. package/dist/type-extractor/converter/field-eligibility.js.map +1 -0
  266. package/dist/type-extractor/converter/graphql-converter.d.ts +7 -0
  267. package/dist/type-extractor/converter/graphql-converter.d.ts.map +1 -0
  268. package/dist/type-extractor/converter/graphql-converter.js +299 -0
  269. package/dist/type-extractor/converter/graphql-converter.js.map +1 -0
  270. package/dist/type-extractor/extract-types.d.ts +2 -0
  271. package/dist/type-extractor/extract-types.d.ts.map +1 -0
  272. package/dist/type-extractor/extract-types.js +2 -0
  273. package/dist/type-extractor/extract-types.js.map +1 -0
  274. package/dist/type-extractor/extractor/type-extractor.d.ts +27 -0
  275. package/dist/type-extractor/extractor/type-extractor.d.ts.map +1 -0
  276. package/dist/type-extractor/extractor/type-extractor.js +1116 -0
  277. package/dist/type-extractor/extractor/type-extractor.js.map +1 -0
  278. package/dist/type-extractor/index.d.ts +4 -0
  279. package/dist/type-extractor/index.d.ts.map +1 -0
  280. package/dist/type-extractor/index.js +2 -0
  281. package/dist/type-extractor/index.js.map +1 -0
  282. package/dist/type-extractor/types/diagnostics.d.ts +17 -0
  283. package/dist/type-extractor/types/diagnostics.d.ts.map +1 -0
  284. package/dist/type-extractor/types/diagnostics.js +2 -0
  285. package/dist/type-extractor/types/diagnostics.js.map +1 -0
  286. package/dist/type-extractor/types/graphql.d.ts +40 -0
  287. package/dist/type-extractor/types/graphql.d.ts.map +1 -0
  288. package/dist/type-extractor/types/graphql.js +2 -0
  289. package/dist/type-extractor/types/graphql.js.map +1 -0
  290. package/dist/type-extractor/types/index.d.ts +5 -0
  291. package/dist/type-extractor/types/index.d.ts.map +1 -0
  292. package/dist/type-extractor/types/index.js +2 -0
  293. package/dist/type-extractor/types/index.js.map +1 -0
  294. package/dist/type-extractor/types/typescript.d.ts +86 -0
  295. package/dist/type-extractor/types/typescript.d.ts.map +1 -0
  296. package/dist/type-extractor/types/typescript.js +2 -0
  297. package/dist/type-extractor/types/typescript.js.map +1 -0
  298. package/dist/type-extractor/types/typescript.test.d.ts +2 -0
  299. package/dist/type-extractor/types/typescript.test.d.ts.map +1 -0
  300. package/dist/type-extractor/types/typescript.test.js +287 -0
  301. package/dist/type-extractor/types/typescript.test.js.map +1 -0
  302. package/dist/type-extractor/validator/type-validator.d.ts +11 -0
  303. package/dist/type-extractor/validator/type-validator.d.ts.map +1 -0
  304. package/dist/type-extractor/validator/type-validator.js +53 -0
  305. package/dist/type-extractor/validator/type-validator.js.map +1 -0
  306. package/docs/configuration.md +163 -0
  307. package/docs/getting-started.md +117 -0
  308. package/docs/index.md +32 -0
  309. package/docs/integration/apollo.md +109 -0
  310. package/docs/integration/yoga.md +108 -0
  311. package/docs/schema/abstract-resolvers.md +146 -0
  312. package/docs/schema/directives.md +196 -0
  313. package/docs/schema/documentation.md +176 -0
  314. package/docs/schema/enums.md +162 -0
  315. package/docs/schema/fields.md +184 -0
  316. package/docs/schema/index.md +38 -0
  317. package/docs/schema/inputs.md +277 -0
  318. package/docs/schema/interfaces.md +178 -0
  319. package/docs/schema/objects.md +186 -0
  320. package/docs/schema/queries-mutations.md +205 -0
  321. package/docs/schema/scalars.md +194 -0
  322. package/docs/schema/unions.md +90 -0
  323. package/docs/what-is-gqlkit.md +22 -0
  324. package/package.json +59 -7
  325. package/README.md +0 -45
@@ -0,0 +1,469 @@
1
+ import { Kind } from "graphql";
2
+ import { describe, expect, test } from "vitest";
3
+ import { buildDocumentNode } from "./ast-builder.js";
4
+ describe("buildScalarTypeDefinitionNode", () => {
5
+ test("6.1 should generate scalar with description from TSDoc", () => {
6
+ const result = buildDocumentNode({
7
+ baseTypes: [],
8
+ inputTypes: [],
9
+ typeExtensions: [],
10
+ customScalarNames: null,
11
+ customScalars: [
12
+ {
13
+ scalarName: "DateTime",
14
+ description: "ISO 8601 date time format",
15
+ },
16
+ ],
17
+ directiveDefinitions: null,
18
+ hasQuery: false,
19
+ hasMutation: false,
20
+ hasErrors: false,
21
+ abstractTypeResolvers: [],
22
+ numericEnums: [],
23
+ diagnostics: [],
24
+ });
25
+ const scalarDef = result.definitions.find((def) => def.kind === Kind.SCALAR_TYPE_DEFINITION &&
26
+ def.name.value === "DateTime");
27
+ expect(scalarDef).toBeDefined();
28
+ if (scalarDef?.kind !== Kind.SCALAR_TYPE_DEFINITION) {
29
+ throw new Error("Expected ScalarTypeDefinitionNode");
30
+ }
31
+ expect(scalarDef.description).toBeDefined();
32
+ expect(scalarDef.description?.value).toBe("ISO 8601 date time format");
33
+ });
34
+ test("6.1 should generate scalar without description when not provided", () => {
35
+ const result = buildDocumentNode({
36
+ baseTypes: [],
37
+ inputTypes: [],
38
+ typeExtensions: [],
39
+ customScalarNames: null,
40
+ customScalars: [
41
+ {
42
+ scalarName: "DateTime",
43
+ description: null,
44
+ },
45
+ ],
46
+ directiveDefinitions: null,
47
+ hasQuery: false,
48
+ hasMutation: false,
49
+ hasErrors: false,
50
+ abstractTypeResolvers: [],
51
+ numericEnums: [],
52
+ diagnostics: [],
53
+ });
54
+ const scalarDef = result.definitions.find((def) => def.kind === Kind.SCALAR_TYPE_DEFINITION &&
55
+ def.name.value === "DateTime");
56
+ expect(scalarDef).toBeDefined();
57
+ if (scalarDef?.kind !== Kind.SCALAR_TYPE_DEFINITION) {
58
+ throw new Error("Expected ScalarTypeDefinitionNode");
59
+ }
60
+ expect(scalarDef.description).toBeUndefined();
61
+ });
62
+ test("6.2 should join multiple descriptions with blank line separator", () => {
63
+ const result = buildDocumentNode({
64
+ baseTypes: [],
65
+ inputTypes: [],
66
+ typeExtensions: [],
67
+ customScalarNames: null,
68
+ customScalars: [
69
+ {
70
+ scalarName: "DateTime",
71
+ description: "First description\n\nSecond description",
72
+ },
73
+ ],
74
+ directiveDefinitions: null,
75
+ hasQuery: false,
76
+ hasMutation: false,
77
+ hasErrors: false,
78
+ abstractTypeResolvers: [],
79
+ numericEnums: [],
80
+ diagnostics: [],
81
+ });
82
+ const scalarDef = result.definitions.find((def) => def.kind === Kind.SCALAR_TYPE_DEFINITION &&
83
+ def.name.value === "DateTime");
84
+ expect(scalarDef).toBeDefined();
85
+ if (scalarDef?.kind !== Kind.SCALAR_TYPE_DEFINITION) {
86
+ throw new Error("Expected ScalarTypeDefinitionNode");
87
+ }
88
+ expect(scalarDef.description?.value).toBe("First description\n\nSecond description");
89
+ });
90
+ test("6.3 should generate ScalarTypeDefinitionNode for custom scalar", () => {
91
+ const result = buildDocumentNode({
92
+ baseTypes: [],
93
+ inputTypes: [],
94
+ typeExtensions: [],
95
+ customScalarNames: null,
96
+ customScalars: [
97
+ {
98
+ scalarName: "DateTime",
99
+ description: "Custom date time scalar",
100
+ },
101
+ {
102
+ scalarName: "URL",
103
+ description: "URL scalar type",
104
+ },
105
+ ],
106
+ directiveDefinitions: null,
107
+ hasQuery: false,
108
+ hasMutation: false,
109
+ hasErrors: false,
110
+ abstractTypeResolvers: [],
111
+ numericEnums: [],
112
+ diagnostics: [],
113
+ });
114
+ const scalarDefs = result.definitions.filter((def) => def.kind === Kind.SCALAR_TYPE_DEFINITION);
115
+ expect(scalarDefs).toHaveLength(2);
116
+ const dateTimeDef = scalarDefs.find((def) => def.kind === Kind.SCALAR_TYPE_DEFINITION &&
117
+ def.name.value === "DateTime");
118
+ const urlDef = scalarDefs.find((def) => def.kind === Kind.SCALAR_TYPE_DEFINITION && def.name.value === "URL");
119
+ expect(dateTimeDef).toBeDefined();
120
+ expect(urlDef).toBeDefined();
121
+ });
122
+ test("6.3 should sort scalars alphabetically by name", () => {
123
+ const result = buildDocumentNode({
124
+ baseTypes: [],
125
+ inputTypes: [],
126
+ typeExtensions: [],
127
+ customScalarNames: null,
128
+ customScalars: [
129
+ {
130
+ scalarName: "URL",
131
+ description: null,
132
+ },
133
+ {
134
+ scalarName: "DateTime",
135
+ description: null,
136
+ },
137
+ ],
138
+ directiveDefinitions: null,
139
+ hasQuery: false,
140
+ hasMutation: false,
141
+ hasErrors: false,
142
+ abstractTypeResolvers: [],
143
+ numericEnums: [],
144
+ diagnostics: [],
145
+ });
146
+ const scalarDefs = result.definitions.filter((def) => def.kind === Kind.SCALAR_TYPE_DEFINITION);
147
+ expect(scalarDefs).toHaveLength(2);
148
+ expect(scalarDefs[0]?.kind === Kind.SCALAR_TYPE_DEFINITION &&
149
+ scalarDefs[0]?.name.value).toBe("DateTime");
150
+ expect(scalarDefs[1]?.kind === Kind.SCALAR_TYPE_DEFINITION &&
151
+ scalarDefs[1]?.name.value).toBe("URL");
152
+ });
153
+ test("6.3 should not generate definitions for built-in scalars (handled by excluding them from customScalars)", () => {
154
+ const result = buildDocumentNode({
155
+ baseTypes: [],
156
+ inputTypes: [],
157
+ typeExtensions: [],
158
+ customScalarNames: null,
159
+ customScalars: [
160
+ {
161
+ scalarName: "DateTime",
162
+ description: "Custom scalar only",
163
+ },
164
+ ],
165
+ directiveDefinitions: null,
166
+ hasQuery: false,
167
+ hasMutation: false,
168
+ hasErrors: false,
169
+ abstractTypeResolvers: [],
170
+ numericEnums: [],
171
+ diagnostics: [],
172
+ });
173
+ const scalarDefs = result.definitions.filter((def) => def.kind === Kind.SCALAR_TYPE_DEFINITION);
174
+ expect(scalarDefs).toHaveLength(1);
175
+ expect(scalarDefs[0]?.kind === Kind.SCALAR_TYPE_DEFINITION &&
176
+ scalarDefs[0]?.name.value).toBe("DateTime");
177
+ });
178
+ test("should handle null customScalars (backward compatibility)", () => {
179
+ const result = buildDocumentNode({
180
+ baseTypes: [],
181
+ inputTypes: [],
182
+ typeExtensions: [],
183
+ customScalarNames: null,
184
+ customScalars: null,
185
+ directiveDefinitions: null,
186
+ hasQuery: false,
187
+ hasMutation: false,
188
+ hasErrors: false,
189
+ abstractTypeResolvers: [],
190
+ numericEnums: [],
191
+ diagnostics: [],
192
+ });
193
+ const scalarDefs = result.definitions.filter((def) => def.kind === Kind.SCALAR_TYPE_DEFINITION);
194
+ expect(scalarDefs).toHaveLength(0);
195
+ });
196
+ test("should handle customScalarNames for backward compatibility", () => {
197
+ const result = buildDocumentNode({
198
+ baseTypes: [],
199
+ inputTypes: [],
200
+ typeExtensions: [],
201
+ customScalarNames: ["DateTime", "URL"],
202
+ customScalars: null,
203
+ directiveDefinitions: null,
204
+ hasQuery: false,
205
+ hasMutation: false,
206
+ hasErrors: false,
207
+ abstractTypeResolvers: [],
208
+ numericEnums: [],
209
+ diagnostics: [],
210
+ });
211
+ const scalarDefs = result.definitions.filter((def) => def.kind === Kind.SCALAR_TYPE_DEFINITION);
212
+ expect(scalarDefs).toHaveLength(2);
213
+ });
214
+ });
215
+ describe("buildDeprecatedDirective", () => {
216
+ test("should include reason argument when reason is provided", () => {
217
+ const result = buildDocumentNode({
218
+ baseTypes: [
219
+ {
220
+ kind: "Object",
221
+ name: "User",
222
+ description: null,
223
+ sourceFile: null,
224
+ deprecated: null,
225
+ unionMembers: null,
226
+ enumValues: null,
227
+ isNumericEnum: false,
228
+ implementedInterfaces: null,
229
+ directives: null,
230
+ fields: [
231
+ {
232
+ name: "oldField",
233
+ type: {
234
+ typeName: "String",
235
+ nullable: false,
236
+ list: false,
237
+ listItemNullable: false,
238
+ },
239
+ description: null,
240
+ deprecated: {
241
+ isDeprecated: true,
242
+ reason: "Use newField instead",
243
+ },
244
+ directives: null,
245
+ defaultValue: null,
246
+ },
247
+ ],
248
+ },
249
+ ],
250
+ inputTypes: [],
251
+ typeExtensions: [],
252
+ customScalarNames: null,
253
+ customScalars: null,
254
+ directiveDefinitions: null,
255
+ hasQuery: false,
256
+ hasMutation: false,
257
+ hasErrors: false,
258
+ abstractTypeResolvers: [],
259
+ numericEnums: [],
260
+ diagnostics: [],
261
+ });
262
+ const userType = result.definitions.find((def) => def.kind === Kind.OBJECT_TYPE_DEFINITION && def.name.value === "User");
263
+ expect(userType).toBeDefined();
264
+ if (userType?.kind !== Kind.OBJECT_TYPE_DEFINITION) {
265
+ throw new Error("Expected ObjectTypeDefinitionNode");
266
+ }
267
+ const oldField = userType.fields?.find((f) => f.name.value === "oldField");
268
+ expect(oldField).toBeDefined();
269
+ expect(oldField?.directives).toHaveLength(1);
270
+ const deprecatedDirective = oldField?.directives?.[0];
271
+ expect(deprecatedDirective?.name.value).toBe("deprecated");
272
+ expect(deprecatedDirective?.arguments).toHaveLength(1);
273
+ expect(deprecatedDirective?.arguments?.[0]?.name.value).toBe("reason");
274
+ expect(deprecatedDirective?.arguments?.[0]?.value).toMatchObject({
275
+ kind: Kind.STRING,
276
+ value: "Use newField instead",
277
+ });
278
+ });
279
+ test("should use default reason when reason is null", () => {
280
+ const result = buildDocumentNode({
281
+ baseTypes: [
282
+ {
283
+ kind: "Object",
284
+ name: "User",
285
+ description: null,
286
+ sourceFile: null,
287
+ deprecated: null,
288
+ unionMembers: null,
289
+ enumValues: null,
290
+ isNumericEnum: false,
291
+ implementedInterfaces: null,
292
+ directives: null,
293
+ fields: [
294
+ {
295
+ name: "oldField",
296
+ type: {
297
+ typeName: "String",
298
+ nullable: false,
299
+ list: false,
300
+ listItemNullable: false,
301
+ },
302
+ description: null,
303
+ deprecated: {
304
+ isDeprecated: true,
305
+ reason: null,
306
+ },
307
+ directives: null,
308
+ defaultValue: null,
309
+ },
310
+ ],
311
+ },
312
+ ],
313
+ inputTypes: [],
314
+ typeExtensions: [],
315
+ customScalarNames: null,
316
+ customScalars: null,
317
+ directiveDefinitions: null,
318
+ hasQuery: false,
319
+ hasMutation: false,
320
+ hasErrors: false,
321
+ abstractTypeResolvers: [],
322
+ numericEnums: [],
323
+ diagnostics: [],
324
+ });
325
+ const userType = result.definitions.find((def) => def.kind === Kind.OBJECT_TYPE_DEFINITION && def.name.value === "User");
326
+ expect(userType).toBeDefined();
327
+ if (userType?.kind !== Kind.OBJECT_TYPE_DEFINITION) {
328
+ throw new Error("Expected ObjectTypeDefinitionNode");
329
+ }
330
+ const oldField = userType.fields?.find((f) => f.name.value === "oldField");
331
+ expect(oldField).toBeDefined();
332
+ expect(oldField?.directives).toHaveLength(1);
333
+ const deprecatedDirective = oldField?.directives?.[0];
334
+ expect(deprecatedDirective?.name.value).toBe("deprecated");
335
+ expect(deprecatedDirective?.arguments).toHaveLength(1);
336
+ expect(deprecatedDirective?.arguments?.[0]?.name.value).toBe("reason");
337
+ expect(deprecatedDirective?.arguments?.[0]?.value).toMatchObject({
338
+ kind: Kind.STRING,
339
+ value: "No longer supported",
340
+ });
341
+ });
342
+ test("should handle deprecated enum values with reason", () => {
343
+ const result = buildDocumentNode({
344
+ baseTypes: [
345
+ {
346
+ kind: "Enum",
347
+ name: "Status",
348
+ description: null,
349
+ sourceFile: null,
350
+ deprecated: null,
351
+ fields: null,
352
+ unionMembers: null,
353
+ enumValues: [
354
+ {
355
+ name: "ACTIVE",
356
+ originalValue: "ACTIVE",
357
+ numericValue: null,
358
+ description: null,
359
+ deprecated: null,
360
+ },
361
+ {
362
+ name: "LEGACY",
363
+ originalValue: "LEGACY",
364
+ numericValue: null,
365
+ description: null,
366
+ deprecated: {
367
+ isDeprecated: true,
368
+ reason: "Use ACTIVE instead",
369
+ },
370
+ },
371
+ ],
372
+ isNumericEnum: false,
373
+ implementedInterfaces: null,
374
+ directives: null,
375
+ },
376
+ ],
377
+ inputTypes: [],
378
+ typeExtensions: [],
379
+ customScalarNames: null,
380
+ customScalars: null,
381
+ directiveDefinitions: null,
382
+ hasQuery: false,
383
+ hasMutation: false,
384
+ hasErrors: false,
385
+ abstractTypeResolvers: [],
386
+ numericEnums: [],
387
+ diagnostics: [],
388
+ });
389
+ const statusEnum = result.definitions.find((def) => def.kind === Kind.ENUM_TYPE_DEFINITION && def.name.value === "Status");
390
+ expect(statusEnum).toBeDefined();
391
+ if (statusEnum?.kind !== Kind.ENUM_TYPE_DEFINITION) {
392
+ throw new Error("Expected EnumTypeDefinitionNode");
393
+ }
394
+ const legacyValue = statusEnum.values?.find((v) => v.name.value === "LEGACY");
395
+ expect(legacyValue).toBeDefined();
396
+ expect(legacyValue?.directives).toHaveLength(1);
397
+ const deprecatedDirective = legacyValue?.directives?.[0];
398
+ expect(deprecatedDirective?.name.value).toBe("deprecated");
399
+ expect(deprecatedDirective?.arguments).toHaveLength(1);
400
+ expect(deprecatedDirective?.arguments?.[0]?.value).toMatchObject({
401
+ kind: Kind.STRING,
402
+ value: "Use ACTIVE instead",
403
+ });
404
+ });
405
+ test("should handle deprecated enum values without reason", () => {
406
+ const result = buildDocumentNode({
407
+ baseTypes: [
408
+ {
409
+ kind: "Enum",
410
+ name: "Status",
411
+ description: null,
412
+ sourceFile: null,
413
+ deprecated: null,
414
+ fields: null,
415
+ unionMembers: null,
416
+ enumValues: [
417
+ {
418
+ name: "ACTIVE",
419
+ originalValue: "ACTIVE",
420
+ numericValue: null,
421
+ description: null,
422
+ deprecated: null,
423
+ },
424
+ {
425
+ name: "OLD",
426
+ originalValue: "OLD",
427
+ numericValue: null,
428
+ description: null,
429
+ deprecated: {
430
+ isDeprecated: true,
431
+ reason: null,
432
+ },
433
+ },
434
+ ],
435
+ isNumericEnum: false,
436
+ implementedInterfaces: null,
437
+ directives: null,
438
+ },
439
+ ],
440
+ inputTypes: [],
441
+ typeExtensions: [],
442
+ customScalarNames: null,
443
+ customScalars: null,
444
+ directiveDefinitions: null,
445
+ hasQuery: false,
446
+ hasMutation: false,
447
+ hasErrors: false,
448
+ abstractTypeResolvers: [],
449
+ numericEnums: [],
450
+ diagnostics: [],
451
+ });
452
+ const statusEnum = result.definitions.find((def) => def.kind === Kind.ENUM_TYPE_DEFINITION && def.name.value === "Status");
453
+ expect(statusEnum).toBeDefined();
454
+ if (statusEnum?.kind !== Kind.ENUM_TYPE_DEFINITION) {
455
+ throw new Error("Expected EnumTypeDefinitionNode");
456
+ }
457
+ const oldValue = statusEnum.values?.find((v) => v.name.value === "OLD");
458
+ expect(oldValue).toBeDefined();
459
+ expect(oldValue?.directives).toHaveLength(1);
460
+ const deprecatedDirective = oldValue?.directives?.[0];
461
+ expect(deprecatedDirective?.name.value).toBe("deprecated");
462
+ expect(deprecatedDirective?.arguments).toHaveLength(1);
463
+ expect(deprecatedDirective?.arguments?.[0]?.value).toMatchObject({
464
+ kind: Kind.STRING,
465
+ value: "No longer supported",
466
+ });
467
+ });
468
+ });
469
+ //# sourceMappingURL=ast-builder.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-builder.test.js","sourceRoot":"","sources":["../../../src/schema-generator/builder/ast-builder.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { CollectedScalarType } from "../../type-extractor/collector/scalar-collector.js";
2
+ import { type BuildDocumentOptions } from "../builder/ast-builder.js";
3
+ import type { IntegratedResult, NumericEnumInfo } from "../integrator/result-integrator.js";
4
+ import type { ResolverInfo } from "../resolver-collector/resolver-collector.js";
5
+ export declare function emitTypeDefsCode(integratedResult: IntegratedResult, options?: BuildDocumentOptions): string;
6
+ export declare function emitResolversCode(resolverInfo: ResolverInfo, outputDir: string, customScalars?: ReadonlyArray<CollectedScalarType>, numericEnums?: ReadonlyArray<NumericEnumInfo>): string;
7
+ //# sourceMappingURL=code-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-emitter.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/emitter/code-emitter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAEV,YAAY,EAEb,MAAM,6CAA6C,CAAC;AAcrD,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CASR;AA2OD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,aAAa,CAAC,mBAAmB,CAAM,EACtD,YAAY,GAAE,aAAa,CAAC,eAAe,CAAM,GAChD,MAAM,CAoCR"}