@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,13 @@
1
+ import ts from "typescript";
2
+ import type { Diagnostic } from "../type-extractor/types/index.js";
3
+ export interface LoadTsconfigOptions {
4
+ readonly cwd: string;
5
+ readonly tsconfigPath: string | null;
6
+ }
7
+ export interface LoadTsconfigResult {
8
+ readonly compilerOptions: ts.CompilerOptions | null;
9
+ readonly configFilePath: string | null;
10
+ readonly diagnostics: ReadonlyArray<Diagnostic>;
11
+ }
12
+ export declare function loadTsconfig(options: LoadTsconfigOptions): LoadTsconfigResult;
13
+ //# sourceMappingURL=tsconfig-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsconfig-loader.d.ts","sourceRoot":"","sources":["../../src/shared/tsconfig-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACjD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAQ7E"}
@@ -0,0 +1,90 @@
1
+ import { existsSync } from "node:fs";
2
+ import path from "node:path";
3
+ import ts from "typescript";
4
+ export function loadTsconfig(options) {
5
+ const { cwd, tsconfigPath } = options;
6
+ if (tsconfigPath !== null) {
7
+ return loadFromSpecifiedPath(cwd, tsconfigPath);
8
+ }
9
+ return autoDetectTsconfig(cwd);
10
+ }
11
+ function loadFromSpecifiedPath(cwd, tsconfigPath) {
12
+ const absolutePath = path.isAbsolute(tsconfigPath)
13
+ ? tsconfigPath
14
+ : path.resolve(cwd, tsconfigPath);
15
+ if (!existsSync(absolutePath)) {
16
+ return {
17
+ compilerOptions: null,
18
+ configFilePath: null,
19
+ diagnostics: [
20
+ {
21
+ code: "TSCONFIG_NOT_FOUND",
22
+ message: `tsconfig.json not found at: ${absolutePath}`,
23
+ severity: "error",
24
+ location: null,
25
+ },
26
+ ],
27
+ };
28
+ }
29
+ return parseConfigFile(absolutePath);
30
+ }
31
+ function autoDetectTsconfig(cwd) {
32
+ const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, "tsconfig.json");
33
+ if (!configPath) {
34
+ return {
35
+ compilerOptions: null,
36
+ configFilePath: null,
37
+ diagnostics: [],
38
+ };
39
+ }
40
+ return parseConfigFile(configPath);
41
+ }
42
+ function parseConfigFile(configFilePath) {
43
+ const diagnostics = [];
44
+ const readResult = ts.readConfigFile(configFilePath, ts.sys.readFile);
45
+ if (readResult.error) {
46
+ diagnostics.push({
47
+ code: "TSCONFIG_PARSE_ERROR",
48
+ message: `Failed to parse tsconfig.json: ${ts.flattenDiagnosticMessageText(readResult.error.messageText, "\n")}`,
49
+ severity: "error",
50
+ location: {
51
+ file: configFilePath,
52
+ line: 1,
53
+ column: 1,
54
+ },
55
+ });
56
+ return {
57
+ compilerOptions: null,
58
+ configFilePath: null,
59
+ diagnostics,
60
+ };
61
+ }
62
+ const configDir = path.dirname(configFilePath);
63
+ const parseResult = ts.parseJsonConfigFileContent(readResult.config, ts.sys, configDir);
64
+ const significantErrors = parseResult.errors.filter((error) => error.code !== 18003);
65
+ if (significantErrors.length > 0) {
66
+ for (const error of significantErrors) {
67
+ diagnostics.push({
68
+ code: "TSCONFIG_INVALID",
69
+ message: `Invalid compiler options: ${ts.flattenDiagnosticMessageText(error.messageText, "\n")}`,
70
+ severity: "error",
71
+ location: {
72
+ file: configFilePath,
73
+ line: 1,
74
+ column: 1,
75
+ },
76
+ });
77
+ }
78
+ return {
79
+ compilerOptions: null,
80
+ configFilePath,
81
+ diagnostics,
82
+ };
83
+ }
84
+ return {
85
+ compilerOptions: parseResult.options,
86
+ configFilePath,
87
+ diagnostics: [],
88
+ };
89
+ }
90
+ //# sourceMappingURL=tsconfig-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsconfig-loader.js","sourceRoot":"","sources":["../../src/shared/tsconfig-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import ts from "typescript";
2
+ export interface DeprecationInfo {
3
+ readonly isDeprecated: true;
4
+ readonly reason: string | null;
5
+ }
6
+ export interface TSDocInfo {
7
+ readonly description: string | null;
8
+ readonly deprecated: DeprecationInfo | null;
9
+ }
10
+ export declare function extractTsDocInfo(node: ts.Node, checker: ts.TypeChecker): TSDocInfo;
11
+ export declare function extractTsDocFromSymbol(symbol: ts.Symbol, checker: ts.TypeChecker): TSDocInfo;
12
+ //# sourceMappingURL=tsdoc-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsdoc-parser.d.ts","sourceRoot":"","sources":["../../src/shared/tsdoc-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;CAC7C;AA8GD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,SAAS,CAgBX;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,EAAE,CAAC,MAAM,EACjB,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,SAAS,CAUX"}
@@ -0,0 +1,101 @@
1
+ import ts from "typescript";
2
+ function getSymbolFromNode(node, checker) {
3
+ if (ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node)) {
4
+ return checker.getSymbolAtLocation(node.name);
5
+ }
6
+ if (ts.isEnumDeclaration(node)) {
7
+ return checker.getSymbolAtLocation(node.name);
8
+ }
9
+ if (ts.isVariableStatement(node)) {
10
+ const declaration = node.declarationList.declarations[0];
11
+ if (declaration && ts.isIdentifier(declaration.name)) {
12
+ return checker.getSymbolAtLocation(declaration.name);
13
+ }
14
+ }
15
+ return undefined;
16
+ }
17
+ function getTagCommentText(comment) {
18
+ if (typeof comment === "string") {
19
+ const trimmed = comment.replace(/\r\n/g, "\n").trim();
20
+ return trimmed === "" ? undefined : trimmed;
21
+ }
22
+ if (Array.isArray(comment)) {
23
+ const text = comment
24
+ .map((part) => part.text)
25
+ .join("")
26
+ .replace(/\r\n/g, "\n")
27
+ .trim();
28
+ return text === "" ? undefined : text;
29
+ }
30
+ return undefined;
31
+ }
32
+ function extractDescriptionTagContent(declarations) {
33
+ if (!declarations) {
34
+ return undefined;
35
+ }
36
+ for (const declaration of declarations) {
37
+ const jsdocTags = ts.getJSDocTags(declaration);
38
+ for (const tag of jsdocTags) {
39
+ if (tag.tagName.text === "description") {
40
+ return getTagCommentText(tag.comment);
41
+ }
42
+ }
43
+ }
44
+ return undefined;
45
+ }
46
+ function extractDeprecatedFromDeclarations(declarations) {
47
+ if (!declarations) {
48
+ return undefined;
49
+ }
50
+ for (const declaration of declarations) {
51
+ const jsdocTags = ts.getJSDocTags(declaration);
52
+ for (const tag of jsdocTags) {
53
+ if (tag.tagName.text === "deprecated") {
54
+ const reason = getTagCommentText(tag.comment);
55
+ return {
56
+ isDeprecated: true,
57
+ reason: reason ?? null,
58
+ };
59
+ }
60
+ }
61
+ }
62
+ return undefined;
63
+ }
64
+ function normalizeLineEndings(text) {
65
+ return text.replace(/\r\n/g, "\n");
66
+ }
67
+ function extractDescriptionFromSymbol(symbol, checker) {
68
+ const documentationComment = symbol.getDocumentationComment(checker);
69
+ if (documentationComment.length > 0) {
70
+ const description = normalizeLineEndings(ts.displayPartsToString(documentationComment).trim());
71
+ if (description !== "") {
72
+ return description;
73
+ }
74
+ }
75
+ const descriptionTagContent = extractDescriptionTagContent(symbol.getDeclarations());
76
+ if (descriptionTagContent) {
77
+ return normalizeLineEndings(descriptionTagContent);
78
+ }
79
+ return undefined;
80
+ }
81
+ export function extractTsDocInfo(node, checker) {
82
+ const symbol = getSymbolFromNode(node, checker);
83
+ if (!symbol) {
84
+ return { description: null, deprecated: null };
85
+ }
86
+ const description = extractDescriptionFromSymbol(symbol, checker);
87
+ const deprecated = extractDeprecatedFromDeclarations(symbol.getDeclarations());
88
+ return {
89
+ description: description ?? null,
90
+ deprecated: deprecated ?? null,
91
+ };
92
+ }
93
+ export function extractTsDocFromSymbol(symbol, checker) {
94
+ const description = extractDescriptionFromSymbol(symbol, checker);
95
+ const deprecated = extractDeprecatedFromDeclarations(symbol.getDeclarations());
96
+ return {
97
+ description: description ?? null,
98
+ deprecated: deprecated ?? null,
99
+ };
100
+ }
101
+ //# sourceMappingURL=tsdoc-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsdoc-parser.js","sourceRoot":"","sources":["../../src/shared/tsdoc-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { GraphQLFieldType, TSTypeReference } from "../type-extractor/types/index.js";
2
+ export declare function convertTsTypeToGraphQLType(tsType: TSTypeReference, optional?: boolean): GraphQLFieldType;
3
+ //# sourceMappingURL=type-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-converter.d.ts","sourceRoot":"","sources":["../../src/shared/type-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAmB1C,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,eAAe,EACvB,QAAQ,UAAQ,GACf,gBAAgB,CA6DlB"}
@@ -0,0 +1,72 @@
1
+ import { PRIMITIVE_TYPE_MAP } from "./constants.js";
2
+ function convertElementTypeName(elementType) {
3
+ if (elementType.kind === "scalar") {
4
+ return elementType.scalarInfo?.scalarName ?? elementType.name ?? "String";
5
+ }
6
+ if (elementType.kind === "primitive") {
7
+ return PRIMITIVE_TYPE_MAP[elementType.name ?? ""] ?? "String";
8
+ }
9
+ if (elementType.kind === "reference") {
10
+ return elementType.name ?? "Unknown";
11
+ }
12
+ if (elementType.kind === "inlineObject") {
13
+ return "__INLINE_OBJECT__";
14
+ }
15
+ return elementType.name ?? "String";
16
+ }
17
+ export function convertTsTypeToGraphQLType(tsType, optional = false) {
18
+ const nullable = tsType.nullable || optional;
19
+ if (tsType.kind === "array") {
20
+ const elementType = tsType.elementType;
21
+ const elementTypeName = elementType
22
+ ? convertElementTypeName(elementType)
23
+ : "String";
24
+ const listItemNullable = elementType?.nullable ?? false;
25
+ return {
26
+ typeName: elementTypeName,
27
+ nullable,
28
+ list: true,
29
+ listItemNullable,
30
+ };
31
+ }
32
+ if (tsType.kind === "scalar") {
33
+ return {
34
+ typeName: tsType.scalarInfo?.scalarName ?? tsType.name ?? "String",
35
+ nullable,
36
+ list: false,
37
+ listItemNullable: null,
38
+ };
39
+ }
40
+ if (tsType.kind === "primitive") {
41
+ const graphqlType = PRIMITIVE_TYPE_MAP[tsType.name ?? ""] ?? "String";
42
+ return {
43
+ typeName: graphqlType,
44
+ nullable,
45
+ list: false,
46
+ listItemNullable: null,
47
+ };
48
+ }
49
+ if (tsType.kind === "reference") {
50
+ return {
51
+ typeName: tsType.name ?? "Unknown",
52
+ nullable,
53
+ list: false,
54
+ listItemNullable: null,
55
+ };
56
+ }
57
+ if (tsType.kind === "inlineObject") {
58
+ return {
59
+ typeName: "__INLINE_OBJECT__",
60
+ nullable,
61
+ list: false,
62
+ listItemNullable: null,
63
+ };
64
+ }
65
+ return {
66
+ typeName: tsType.name ?? "String",
67
+ nullable,
68
+ list: false,
69
+ listItemNullable: null,
70
+ };
71
+ }
72
+ //# sourceMappingURL=type-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-converter.js","sourceRoot":"","sources":["../../src/shared/type-converter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,SAAS,sBAAsB,CAAC,WAA4B;IAC1D,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC,UAAU,EAAE,UAAU,IAAI,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC;IAC5E,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,kBAAkB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC;IAChE,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC;IACvC,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACxC,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,OAAO,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAuB,EACvB,QAAQ,GAAG,KAAK;IAEhB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAE7C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,MAAM,eAAe,GAAG,WAAW;YACjC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC;YACrC,CAAC,CAAC,QAAQ,CAAC;QACb,MAAM,gBAAgB,GAAG,WAAW,EAAE,QAAQ,IAAI,KAAK,CAAC;QAExD,OAAO;YACL,QAAQ,EAAE,eAAe;YACzB,QAAQ;YACR,IAAI,EAAE,IAAI;YACV,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ;YAClE,QAAQ;YACR,IAAI,EAAE,KAAK;YACX,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC;QACtE,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,QAAQ;YACR,IAAI,EAAE,KAAK;YACX,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;YAClC,QAAQ;YACR,IAAI,EAAE,KAAK;YACX,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,mBAAmB;YAC7B,QAAQ;YACR,IAAI,EAAE,KAAK;YACX,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,QAAQ;QACjC,QAAQ;QACR,IAAI,EAAE,KAAK;QACX,gBAAgB,EAAE,IAAI;KACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,55 @@
1
+ import ts from "typescript";
2
+ /**
3
+ * Checks if a type is a built-in utility type like Omit, Pick, etc.
4
+ */
5
+ export declare function isBuiltinUtilityType(type: ts.Type): boolean;
6
+ /**
7
+ * Checks if a type represents null or undefined.
8
+ */
9
+ export declare function isNullOrUndefined(type: ts.Type): boolean;
10
+ /**
11
+ * Checks if a union type contains null or undefined.
12
+ */
13
+ export declare function isNullableUnion(type: ts.Type): boolean;
14
+ /**
15
+ * Gets non-nullable types from a union type.
16
+ */
17
+ export declare function getNonNullableTypes(type: ts.Type): ts.Type[];
18
+ /**
19
+ * Checks if a type contains undefined.
20
+ * This is used to determine property optionality from resolved types,
21
+ * which correctly handles utility types like Required<T> and Partial<T>.
22
+ *
23
+ * In TypeScript:
24
+ * - Optional properties (?) add undefined to the type
25
+ * - Partial<T> adds undefined to all property types
26
+ * - Required<T> removes undefined from all property types
27
+ */
28
+ export declare function hasUndefinedInType(type: ts.Type): boolean;
29
+ /**
30
+ * Checks if a node has the export modifier.
31
+ */
32
+ export declare function isExported(node: ts.Node): boolean;
33
+ /**
34
+ * Checks if a type is an anonymous object type (like inline type literals).
35
+ * Named types and type aliases are not considered anonymous.
36
+ * This is used to determine if an intersection member should trigger
37
+ * treating the whole intersection as an inline object.
38
+ */
39
+ export declare function isAnonymousObjectType(type: ts.Type): boolean;
40
+ /**
41
+ * Extracts property symbols from a type, handling intersection types
42
+ * and falling back to getApparentType when getProperties() returns empty.
43
+ */
44
+ export declare function extractPropertySymbols(type: ts.Type, checker: ts.TypeChecker): ts.Symbol[];
45
+ export interface ShouldTreatIntersectionAsInlineOptions {
46
+ readonly checkBuiltinUtilityTypes?: boolean;
47
+ }
48
+ /**
49
+ * Determines if an intersection type should be treated as an inline object.
50
+ * Returns true when:
51
+ * - Case 1: Has at least one anonymous/inline member (and optionally utility type member)
52
+ * - Case 2: All members are object-like types that should be merged
53
+ */
54
+ export declare function shouldTreatIntersectionAsInline(type: ts.IntersectionType, options?: ShouldTreatIntersectionAsInlineOptions): boolean;
55
+ //# sourceMappingURL=typescript-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-utils.d.ts","sourceRoot":"","sources":["../../src/shared/typescript-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAgB5B;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAK3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAKxD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAGtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAG5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAMzD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAGjD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAS5D;AAkBD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,EAAE,CAAC,MAAM,EAAE,CA0Bb;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;CAC7C;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,EAAE,CAAC,gBAAgB,EACzB,OAAO,GAAE,sCAA2C,GACnD,OAAO,CAmBT"}
@@ -0,0 +1,149 @@
1
+ import ts from "typescript";
2
+ import { isInlineObjectType } from "./inline-object-utils.js";
3
+ /**
4
+ * List of TypeScript built-in utility types that should be resolved
5
+ * to their actual properties when used in args.
6
+ */
7
+ const BUILTIN_UTILITY_TYPES = [
8
+ "Omit",
9
+ "Pick",
10
+ "Partial",
11
+ "Required",
12
+ "Readonly",
13
+ "Record",
14
+ ];
15
+ /**
16
+ * Checks if a type is a built-in utility type like Omit, Pick, etc.
17
+ */
18
+ export function isBuiltinUtilityType(type) {
19
+ if (!type.aliasSymbol) {
20
+ return false;
21
+ }
22
+ return BUILTIN_UTILITY_TYPES.includes(type.aliasSymbol.getName());
23
+ }
24
+ /**
25
+ * Checks if a type represents null or undefined.
26
+ */
27
+ export function isNullOrUndefined(type) {
28
+ return ((type.flags & ts.TypeFlags.Null) !== 0 ||
29
+ (type.flags & ts.TypeFlags.Undefined) !== 0);
30
+ }
31
+ /**
32
+ * Checks if a union type contains null or undefined.
33
+ */
34
+ export function isNullableUnion(type) {
35
+ if (!type.isUnion())
36
+ return false;
37
+ return type.types.some((t) => isNullOrUndefined(t));
38
+ }
39
+ /**
40
+ * Gets non-nullable types from a union type.
41
+ */
42
+ export function getNonNullableTypes(type) {
43
+ if (!type.isUnion())
44
+ return [type];
45
+ return type.types.filter((t) => !isNullOrUndefined(t));
46
+ }
47
+ /**
48
+ * Checks if a type contains undefined.
49
+ * This is used to determine property optionality from resolved types,
50
+ * which correctly handles utility types like Required<T> and Partial<T>.
51
+ *
52
+ * In TypeScript:
53
+ * - Optional properties (?) add undefined to the type
54
+ * - Partial<T> adds undefined to all property types
55
+ * - Required<T> removes undefined from all property types
56
+ */
57
+ export function hasUndefinedInType(type) {
58
+ if ((type.flags & ts.TypeFlags.Undefined) !== 0)
59
+ return true;
60
+ if (type.isUnion()) {
61
+ return type.types.some((t) => (t.flags & ts.TypeFlags.Undefined) !== 0);
62
+ }
63
+ return false;
64
+ }
65
+ /**
66
+ * Checks if a node has the export modifier.
67
+ */
68
+ export function isExported(node) {
69
+ const modifiers = ts.getCombinedModifierFlags(node);
70
+ return (modifiers & ts.ModifierFlags.Export) !== 0;
71
+ }
72
+ /**
73
+ * Checks if a type is an anonymous object type (like inline type literals).
74
+ * Named types and type aliases are not considered anonymous.
75
+ * This is used to determine if an intersection member should trigger
76
+ * treating the whole intersection as an inline object.
77
+ */
78
+ export function isAnonymousObjectType(type) {
79
+ if (type.aliasSymbol) {
80
+ return false;
81
+ }
82
+ if (!type.symbol) {
83
+ return true;
84
+ }
85
+ const symbolName = type.symbol.getName();
86
+ return symbolName === "__type" || symbolName === "";
87
+ }
88
+ /**
89
+ * Checks if a type is an object-like type (interface, anonymous object, or mapped type).
90
+ * Used to determine if an intersection of object types should be treated as inline.
91
+ */
92
+ function isObjectLikeType(type) {
93
+ if (!(type.flags & ts.TypeFlags.Object)) {
94
+ return false;
95
+ }
96
+ const objectType = type;
97
+ return ((objectType.objectFlags & ts.ObjectFlags.Interface) !== 0 ||
98
+ (objectType.objectFlags & ts.ObjectFlags.Anonymous) !== 0 ||
99
+ (objectType.objectFlags & ts.ObjectFlags.Mapped) !== 0);
100
+ }
101
+ /**
102
+ * Extracts property symbols from a type, handling intersection types
103
+ * and falling back to getApparentType when getProperties() returns empty.
104
+ */
105
+ export function extractPropertySymbols(type, checker) {
106
+ if (type.isIntersection()) {
107
+ const allProps = new Map();
108
+ for (const member of type.types) {
109
+ const memberProps = member.getProperties();
110
+ for (const prop of memberProps) {
111
+ const propName = prop.getName();
112
+ if (!allProps.has(propName)) {
113
+ allProps.set(propName, prop);
114
+ }
115
+ }
116
+ }
117
+ return [...allProps.values()];
118
+ }
119
+ const properties = type.getProperties();
120
+ if (properties.length > 0) {
121
+ return [...properties];
122
+ }
123
+ const apparentType = checker.getApparentType(type);
124
+ if (apparentType !== type) {
125
+ return [...apparentType.getProperties()];
126
+ }
127
+ return [];
128
+ }
129
+ /**
130
+ * Determines if an intersection type should be treated as an inline object.
131
+ * Returns true when:
132
+ * - Case 1: Has at least one anonymous/inline member (and optionally utility type member)
133
+ * - Case 2: All members are object-like types that should be merged
134
+ */
135
+ export function shouldTreatIntersectionAsInline(type, options = {}) {
136
+ const { checkBuiltinUtilityTypes = false } = options;
137
+ const hasResolvableMember = type.types.some((t) => isInlineObjectType(t) ||
138
+ isAnonymousObjectType(t) ||
139
+ (checkBuiltinUtilityTypes && isBuiltinUtilityType(t)));
140
+ if (hasResolvableMember) {
141
+ return true;
142
+ }
143
+ const allObjectLike = type.types.every((t) => isObjectLikeType(t));
144
+ if (allObjectLike) {
145
+ return true;
146
+ }
147
+ return false;
148
+ }
149
+ //# sourceMappingURL=typescript-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-utils.js","sourceRoot":"","sources":["../../src/shared/typescript-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Diagnostic, Diagnostics, GraphQLTypeInfo } from "../types/index.js";
2
+ export interface ExtractTypesResult {
3
+ readonly types: ReadonlyArray<GraphQLTypeInfo>;
4
+ readonly diagnostics: Diagnostics;
5
+ }
6
+ export declare function collectResults(types: ReadonlyArray<GraphQLTypeInfo>, diagnostics: ReadonlyArray<Diagnostic>): ExtractTypesResult;
7
+ //# sourceMappingURL=result-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-collector.d.ts","sourceRoot":"","sources":["../../../src/type-extractor/collector/result-collector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AA4BD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,EACrC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,GACrC,kBAAkB,CAcpB"}
@@ -0,0 +1,35 @@
1
+ import { deduplicateDiagnostics } from "../../shared/index.js";
2
+ function sortFields(fields) {
3
+ return [...fields].sort((a, b) => a.name.localeCompare(b.name));
4
+ }
5
+ function sortUnionMembers(members) {
6
+ return [...members].sort((a, b) => a.localeCompare(b));
7
+ }
8
+ function sortType(type) {
9
+ if (type.kind === "Object" && type.fields) {
10
+ return {
11
+ ...type,
12
+ fields: sortFields(type.fields),
13
+ };
14
+ }
15
+ if (type.kind === "Union" && type.unionMembers) {
16
+ return {
17
+ ...type,
18
+ unionMembers: sortUnionMembers(type.unionMembers),
19
+ };
20
+ }
21
+ return type;
22
+ }
23
+ export function collectResults(types, diagnostics) {
24
+ const sortedTypes = [...types]
25
+ .sort((a, b) => a.name.localeCompare(b.name))
26
+ .map(sortType);
27
+ const uniqueDiagnostics = deduplicateDiagnostics(diagnostics);
28
+ const errors = uniqueDiagnostics.filter((d) => d.severity === "error");
29
+ const warnings = uniqueDiagnostics.filter((d) => d.severity === "warning");
30
+ return {
31
+ types: sortedTypes,
32
+ diagnostics: { errors, warnings },
33
+ };
34
+ }
35
+ //# sourceMappingURL=result-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-collector.js","sourceRoot":"","sources":["../../../src/type-extractor/collector/result-collector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAa/D,SAAS,UAAU,CAAC,MAAgC;IAClD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA8B;IACtD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAqB;IACrC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/C,OAAO;YACL,GAAG,IAAI;YACP,YAAY,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;SAClD,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAqC,EACrC,WAAsC;IAEtC,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC;SAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEjB,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IAE3E,OAAO;QACL,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;KAClC,CAAC;AACJ,CAAC"}