@graphql-eslint/eslint-plugin 4.0.0-alpha.0 → 4.0.0-alpha.10

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 (275) hide show
  1. package/README.md +1 -1
  2. package/{esm/cache.d.mts → cjs/cache.d.cts} +1 -1
  3. package/cjs/cache.js +8 -36
  4. package/cjs/chunk-UIAXBAMD.js +8 -0
  5. package/cjs/configs/index.d.cts +24 -0
  6. package/cjs/configs/index.js +35 -38
  7. package/cjs/configs/operations-all.js +33 -26
  8. package/cjs/configs/operations-recommended.js +59 -52
  9. package/cjs/configs/schema-all.js +29 -22
  10. package/cjs/configs/schema-recommended.js +73 -66
  11. package/cjs/configs/schema-relay.js +17 -10
  12. package/cjs/documents.js +18 -38
  13. package/{esm/estree-converter/converter.d.mts → cjs/estree-converter/converter.d.cts} +1 -1
  14. package/cjs/estree-converter/converter.js +16 -30
  15. package/cjs/estree-converter/index.d.cts +8 -0
  16. package/cjs/estree-converter/index.js +3 -23
  17. package/{esm/estree-converter/types.d.mts → cjs/estree-converter/types.d.cts} +1 -1
  18. package/cjs/estree-converter/types.js +1 -14
  19. package/{esm/estree-converter/utils.d.mts → cjs/estree-converter/utils.d.cts} +3 -3
  20. package/cjs/estree-converter/utils.js +22 -40
  21. package/{esm/graphql-config.d.mts → cjs/graphql-config.d.cts} +3 -3
  22. package/cjs/graphql-config.js +16 -42
  23. package/cjs/index.d.cts +184 -0
  24. package/cjs/index.js +24 -41
  25. package/cjs/meta.d.cts +3 -0
  26. package/cjs/meta.js +5 -0
  27. package/cjs/package.json +1 -0
  28. package/{esm/parser.d.mts → cjs/parser.d.cts} +12 -5
  29. package/cjs/parser.js +35 -46
  30. package/{esm/processor.d.mts → cjs/processor.d.cts} +5 -1
  31. package/cjs/processor.js +25 -34
  32. package/cjs/rules/{alphabetize.d.ts → alphabetize/index.d.cts} +6 -6
  33. package/cjs/rules/{alphabetize.js → alphabetize/index.js} +69 -77
  34. package/{esm/rules/description-style.d.mts → cjs/rules/description-style/index.d.cts} +5 -5
  35. package/cjs/rules/{description-style.js → description-style/index.js} +7 -27
  36. package/{esm/rules/graphql-js-validation.d.mts → cjs/rules/graphql-js-validation.d.cts} +4 -4
  37. package/cjs/rules/graphql-js-validation.js +93 -70
  38. package/{esm/rules/index.d.mts → cjs/rules/index.d.cts} +11 -12
  39. package/cjs/rules/index.js +74 -60
  40. package/cjs/rules/{input-name.d.ts → input-name/index.d.cts} +8 -6
  41. package/cjs/rules/{input-name.js → input-name/index.js} +10 -28
  42. package/cjs/rules/{lone-executable-definition.d.ts → lone-executable-definition/index.d.cts} +5 -5
  43. package/cjs/rules/{lone-executable-definition.js → lone-executable-definition/index.js} +13 -32
  44. package/cjs/rules/{match-document-filename.d.ts → match-document-filename/index.d.cts} +6 -6
  45. package/cjs/rules/{match-document-filename.js → match-document-filename/index.js} +21 -35
  46. package/{esm/rules/naming-convention.d.mts → cjs/rules/naming-convention/index.d.cts} +8 -6
  47. package/cjs/rules/{naming-convention.js → naming-convention/index.js} +41 -54
  48. package/cjs/rules/no-anonymous-operations/index.d.cts +13 -0
  49. package/cjs/rules/{no-anonymous-operations.js → no-anonymous-operations/index.js} +9 -28
  50. package/{esm/rules/no-deprecated.d.mts → cjs/rules/no-deprecated/index.d.cts} +4 -4
  51. package/cjs/rules/{no-deprecated.js → no-deprecated/index.js} +11 -30
  52. package/cjs/rules/no-duplicate-fields/index.d.cts +13 -0
  53. package/cjs/rules/{no-duplicate-fields.js → no-duplicate-fields/index.js} +8 -28
  54. package/cjs/rules/{no-hashtag-description.d.ts → no-hashtag-description/index.d.cts} +4 -4
  55. package/cjs/rules/{no-hashtag-description.js → no-hashtag-description/index.js} +11 -31
  56. package/cjs/rules/no-one-place-fragments/index.d.cts +13 -0
  57. package/cjs/rules/{no-one-place-fragments.js → no-one-place-fragments/index.js} +11 -29
  58. package/cjs/rules/{no-root-type.d.ts → no-root-type/index.d.cts} +5 -5
  59. package/cjs/rules/{no-root-type.js → no-root-type/index.js} +9 -29
  60. package/cjs/rules/no-scalar-result-type-on-mutation/index.d.cts +13 -0
  61. package/cjs/rules/no-scalar-result-type-on-mutation/index.js +69 -0
  62. package/cjs/rules/no-typename-prefix/index.d.cts +13 -0
  63. package/cjs/rules/{no-typename-prefix.js → no-typename-prefix/index.js} +5 -25
  64. package/cjs/rules/no-unreachable-types/index.d.cts +13 -0
  65. package/cjs/rules/no-unreachable-types/index.js +155 -0
  66. package/cjs/rules/no-unused-fields/index.d.cts +13 -0
  67. package/cjs/rules/{no-unused-fields.js → no-unused-fields/index.js} +16 -34
  68. package/{esm/rules/relay-arguments.d.mts → cjs/rules/relay-arguments/index.d.cts} +5 -5
  69. package/cjs/rules/{relay-arguments.js → relay-arguments/index.js} +11 -30
  70. package/{esm/rules/relay-connection-types.d.mts → cjs/rules/relay-connection-types/index.d.cts} +4 -4
  71. package/cjs/rules/{relay-connection-types.js → relay-connection-types/index.js} +19 -40
  72. package/cjs/rules/{relay-edge-types.d.ts → relay-edge-types/index.d.cts} +8 -6
  73. package/cjs/rules/{relay-edge-types.js → relay-edge-types/index.js} +31 -44
  74. package/cjs/rules/relay-page-info/index.d.cts +13 -0
  75. package/cjs/rules/{relay-page-info.js → relay-page-info/index.js} +13 -31
  76. package/{esm/rules/require-deprecation-date.d.mts → cjs/rules/require-deprecation-date/index.d.cts} +5 -5
  77. package/cjs/rules/{require-deprecation-date.js → require-deprecation-date/index.js} +13 -32
  78. package/cjs/rules/require-deprecation-reason/index.d.cts +13 -0
  79. package/cjs/rules/require-deprecation-reason/index.js +66 -0
  80. package/{esm/rules/require-description.d.mts → cjs/rules/require-description/index.d.cts} +5 -5
  81. package/cjs/rules/{require-description.js → require-description/index.js} +30 -44
  82. package/cjs/rules/require-field-of-type-query-in-mutation-result/index.d.cts +13 -0
  83. package/cjs/rules/{require-field-of-type-query-in-mutation-result.js → require-field-of-type-query-in-mutation-result/index.js} +10 -29
  84. package/cjs/rules/require-import-fragment/index.d.cts +13 -0
  85. package/cjs/rules/{require-import-fragment.js → require-import-fragment/index.js} +20 -46
  86. package/cjs/rules/require-nullable-fields-with-oneof/index.d.cts +13 -0
  87. package/cjs/rules/require-nullable-fields-with-oneof/index.js +62 -0
  88. package/cjs/rules/require-nullable-result-in-root/index.d.cts +13 -0
  89. package/cjs/rules/{require-nullable-result-in-root.js → require-nullable-result-in-root/index.js} +12 -31
  90. package/{esm/rules/require-selections.d.mts → cjs/rules/require-selections/index.d.cts} +5 -5
  91. package/cjs/rules/{require-selections.js → require-selections/index.js} +47 -45
  92. package/cjs/rules/require-type-pattern-with-oneof/index.d.cts +13 -0
  93. package/cjs/rules/require-type-pattern-with-oneof/index.js +63 -0
  94. package/{esm/rules/selection-set-depth.d.mts → cjs/rules/selection-set-depth/index.d.cts} +5 -5
  95. package/cjs/rules/{selection-set-depth.js → selection-set-depth/index.js} +16 -42
  96. package/cjs/rules/{strict-id-in-types.d.ts → strict-id-in-types/index.d.cts} +8 -6
  97. package/cjs/rules/{strict-id-in-types.js → strict-id-in-types/index.js} +26 -39
  98. package/cjs/rules/unique-enum-value-names/index.d.cts +13 -0
  99. package/cjs/rules/{unique-enum-value-names.js → unique-enum-value-names/index.js} +10 -29
  100. package/{esm/rules/unique-fragment-name.d.mts → cjs/rules/unique-fragment-name/index.d.cts} +4 -4
  101. package/cjs/rules/unique-fragment-name/index.js +87 -0
  102. package/cjs/rules/unique-operation-name/index.d.cts +13 -0
  103. package/cjs/rules/{unique-operation-name.js → unique-operation-name/index.js} +7 -27
  104. package/{esm/schema.d.mts → cjs/schema.d.cts} +3 -3
  105. package/cjs/schema.js +11 -36
  106. package/{esm/siblings.d.mts → cjs/siblings.d.cts} +2 -2
  107. package/cjs/siblings.js +17 -33
  108. package/{esm/types.d.mts → cjs/types.d.cts} +5 -4
  109. package/cjs/types.js +1 -14
  110. package/{esm/utils.d.mts → cjs/utils.d.cts} +6 -6
  111. package/cjs/utils.js +94 -115
  112. package/{cjs → esm}/cache.d.ts +1 -1
  113. package/esm/cache.js +1 -1
  114. package/esm/configs/index.d.ts +24 -0
  115. package/esm/configs/index.js +23 -2
  116. package/esm/configs/operations-all.js +2 -2
  117. package/esm/configs/operations-recommended.js +1 -1
  118. package/esm/configs/schema-all.js +1 -1
  119. package/esm/configs/schema-recommended.js +1 -1
  120. package/esm/configs/schema-relay.js +1 -1
  121. package/esm/documents.js +9 -4
  122. package/esm/estree-converter/converter.js +1 -1
  123. package/{cjs → esm}/estree-converter/index.d.ts +2 -2
  124. package/{cjs → esm}/estree-converter/types.d.ts +1 -1
  125. package/{cjs → esm}/estree-converter/utils.d.ts +3 -3
  126. package/esm/estree-converter/utils.js +1 -1
  127. package/esm/graphql-config.js +3 -3
  128. package/esm/index.d.ts +184 -0
  129. package/esm/index.js +11 -5
  130. package/esm/meta.d.ts +3 -0
  131. package/esm/meta.js +5 -0
  132. package/{cjs → esm}/parser.d.ts +10 -3
  133. package/esm/parser.js +13 -4
  134. package/{cjs → esm}/processor.d.ts +5 -1
  135. package/esm/processor.js +6 -1
  136. package/esm/rules/{alphabetize.d.mts → alphabetize/index.d.ts} +6 -6
  137. package/esm/rules/{alphabetize.js → alphabetize/index.js} +26 -10
  138. package/{cjs/rules/description-style.d.ts → esm/rules/description-style/index.d.ts} +5 -5
  139. package/esm/rules/{description-style.js → description-style/index.js} +2 -2
  140. package/esm/rules/graphql-js-validation.js +1 -1
  141. package/{cjs → esm}/rules/index.d.ts +9 -10
  142. package/esm/rules/index.js +35 -35
  143. package/esm/rules/{input-name.d.mts → input-name/index.d.ts} +8 -6
  144. package/esm/rules/{input-name.js → input-name/index.js} +1 -1
  145. package/esm/rules/{lone-executable-definition.d.mts → lone-executable-definition/index.d.ts} +5 -5
  146. package/esm/rules/{lone-executable-definition.js → lone-executable-definition/index.js} +2 -2
  147. package/esm/rules/{match-document-filename.d.mts → match-document-filename/index.d.ts} +6 -6
  148. package/esm/rules/{match-document-filename.js → match-document-filename/index.js} +4 -4
  149. package/{cjs/rules/naming-convention.d.ts → esm/rules/naming-convention/index.d.ts} +8 -6
  150. package/esm/rules/{naming-convention.js → naming-convention/index.js} +2 -2
  151. package/{cjs/rules/no-one-place-fragments.d.ts → esm/rules/no-anonymous-operations/index.d.ts} +4 -4
  152. package/esm/rules/{no-anonymous-operations.js → no-anonymous-operations/index.js} +2 -2
  153. package/{cjs/rules/no-deprecated.d.ts → esm/rules/no-deprecated/index.d.ts} +4 -4
  154. package/esm/rules/{no-deprecated.js → no-deprecated/index.js} +2 -2
  155. package/{cjs/rules/no-scalar-result-type-on-mutation.d.ts → esm/rules/no-duplicate-fields/index.d.ts} +4 -4
  156. package/esm/rules/{no-duplicate-fields.js → no-duplicate-fields/index.js} +1 -1
  157. package/esm/rules/{no-hashtag-description.d.mts → no-hashtag-description/index.d.ts} +4 -4
  158. package/esm/rules/{no-hashtag-description.js → no-hashtag-description/index.js} +2 -2
  159. package/{cjs/rules/no-anonymous-operations.d.ts → esm/rules/no-one-place-fragments/index.d.ts} +4 -4
  160. package/esm/rules/{no-one-place-fragments.js → no-one-place-fragments/index.js} +2 -2
  161. package/esm/rules/{no-root-type.d.mts → no-root-type/index.d.ts} +5 -5
  162. package/esm/rules/{no-root-type.js → no-root-type/index.js} +2 -2
  163. package/{cjs/rules/no-duplicate-fields.d.ts → esm/rules/no-scalar-result-type-on-mutation/index.d.ts} +4 -4
  164. package/esm/rules/{no-scalar-result-type-on-mutation.js → no-scalar-result-type-on-mutation/index.js} +2 -2
  165. package/esm/rules/no-typename-prefix/index.d.ts +13 -0
  166. package/esm/rules/{no-typename-prefix.js → no-typename-prefix/index.js} +1 -1
  167. package/esm/rules/no-unreachable-types/index.d.ts +13 -0
  168. package/esm/rules/{no-unreachable-types.js → no-unreachable-types/index.js} +9 -10
  169. package/esm/rules/no-unused-fields/index.d.ts +13 -0
  170. package/esm/rules/{no-unused-fields.js → no-unused-fields/index.js} +8 -7
  171. package/{cjs/rules/relay-arguments.d.ts → esm/rules/relay-arguments/index.d.ts} +5 -5
  172. package/esm/rules/{relay-arguments.js → relay-arguments/index.js} +2 -2
  173. package/{cjs/rules/relay-connection-types.d.ts → esm/rules/relay-connection-types/index.d.ts} +4 -4
  174. package/esm/rules/{relay-connection-types.js → relay-connection-types/index.js} +1 -1
  175. package/esm/rules/{relay-edge-types.d.mts → relay-edge-types/index.d.ts} +8 -6
  176. package/esm/rules/{relay-edge-types.js → relay-edge-types/index.js} +4 -4
  177. package/esm/rules/relay-page-info/index.d.ts +13 -0
  178. package/esm/rules/{relay-page-info.js → relay-page-info/index.js} +4 -4
  179. package/{cjs/rules/require-deprecation-date.d.ts → esm/rules/require-deprecation-date/index.d.ts} +5 -5
  180. package/esm/rules/{require-deprecation-date.js → require-deprecation-date/index.js} +3 -3
  181. package/esm/rules/require-deprecation-reason/index.d.ts +13 -0
  182. package/esm/rules/{require-deprecation-reason.js → require-deprecation-reason/index.js} +3 -3
  183. package/{cjs/rules/require-description.d.ts → esm/rules/require-description/index.d.ts} +5 -5
  184. package/esm/rules/{require-description.js → require-description/index.js} +3 -3
  185. package/esm/rules/require-field-of-type-query-in-mutation-result/index.d.ts +13 -0
  186. package/esm/rules/{require-field-of-type-query-in-mutation-result.js → require-field-of-type-query-in-mutation-result/index.js} +2 -2
  187. package/esm/rules/require-import-fragment/index.d.ts +13 -0
  188. package/esm/rules/{require-import-fragment.js → require-import-fragment/index.js} +13 -12
  189. package/esm/rules/require-nullable-fields-with-oneof/index.d.ts +13 -0
  190. package/esm/rules/{require-nullable-fields-with-oneof.js → require-nullable-fields-with-oneof/index.js} +2 -2
  191. package/esm/rules/require-nullable-result-in-root/index.d.ts +13 -0
  192. package/esm/rules/{require-nullable-result-in-root.js → require-nullable-result-in-root/index.js} +2 -2
  193. package/{cjs/rules/require-selections.d.ts → esm/rules/require-selections/index.d.ts} +5 -5
  194. package/esm/rules/{require-selections.js → require-selections/index.js} +14 -8
  195. package/esm/rules/require-type-pattern-with-oneof/index.d.ts +13 -0
  196. package/esm/rules/{require-type-pattern-with-oneof.js → require-type-pattern-with-oneof/index.js} +2 -2
  197. package/{cjs/rules/selection-set-depth.d.ts → esm/rules/selection-set-depth/index.d.ts} +5 -5
  198. package/esm/rules/{selection-set-depth.js → selection-set-depth/index.js} +3 -3
  199. package/esm/rules/{strict-id-in-types.d.mts → strict-id-in-types/index.d.ts} +8 -6
  200. package/esm/rules/{strict-id-in-types.js → strict-id-in-types/index.js} +2 -2
  201. package/esm/rules/unique-enum-value-names/index.d.ts +13 -0
  202. package/esm/rules/{unique-enum-value-names.js → unique-enum-value-names/index.js} +2 -2
  203. package/{cjs/rules/unique-fragment-name.d.ts → esm/rules/unique-fragment-name/index.d.ts} +4 -4
  204. package/esm/rules/{unique-fragment-name.js → unique-fragment-name/index.js} +3 -3
  205. package/esm/rules/unique-operation-name/index.d.ts +13 -0
  206. package/esm/rules/{unique-operation-name.js → unique-operation-name/index.js} +2 -2
  207. package/esm/schema.js +1 -1
  208. package/{cjs → esm}/siblings.d.ts +2 -2
  209. package/esm/siblings.js +1 -1
  210. package/{cjs → esm}/types.d.ts +4 -3
  211. package/{cjs → esm}/utils.d.ts +4 -4
  212. package/esm/utils.js +40 -17
  213. package/{index.browser.mjs → index.browser.js} +846 -790
  214. package/package.json +9 -13
  215. package/cjs/configs/index.d.ts +0 -174
  216. package/cjs/flat-configs.d.ts +0 -307
  217. package/cjs/flat-configs.js +0 -55
  218. package/cjs/index.d.ts +0 -27
  219. package/cjs/rules/no-scalar-result-type-on-mutation.js +0 -88
  220. package/cjs/rules/no-typename-prefix.d.ts +0 -13
  221. package/cjs/rules/no-unreachable-types.d.ts +0 -13
  222. package/cjs/rules/no-unreachable-types.js +0 -177
  223. package/cjs/rules/no-unused-fields.d.ts +0 -13
  224. package/cjs/rules/relay-page-info.d.ts +0 -13
  225. package/cjs/rules/require-deprecation-reason.d.ts +0 -13
  226. package/cjs/rules/require-deprecation-reason.js +0 -85
  227. package/cjs/rules/require-field-of-type-query-in-mutation-result.d.ts +0 -13
  228. package/cjs/rules/require-import-fragment.d.ts +0 -13
  229. package/cjs/rules/require-nullable-fields-with-oneof.d.ts +0 -13
  230. package/cjs/rules/require-nullable-fields-with-oneof.js +0 -81
  231. package/cjs/rules/require-nullable-result-in-root.d.ts +0 -13
  232. package/cjs/rules/require-type-pattern-with-oneof.d.ts +0 -13
  233. package/cjs/rules/require-type-pattern-with-oneof.js +0 -83
  234. package/cjs/rules/unique-enum-value-names.d.ts +0 -13
  235. package/cjs/rules/unique-fragment-name.js +0 -106
  236. package/cjs/rules/unique-operation-name.d.ts +0 -13
  237. package/esm/configs/index.d.mts +0 -174
  238. package/esm/estree-converter/index.d.mts +0 -8
  239. package/esm/flat-configs.d.mts +0 -307
  240. package/esm/flat-configs.js +0 -36
  241. package/esm/index.d.mts +0 -27
  242. package/esm/package.json +0 -1
  243. package/esm/rules/no-anonymous-operations.d.mts +0 -13
  244. package/esm/rules/no-duplicate-fields.d.mts +0 -13
  245. package/esm/rules/no-one-place-fragments.d.mts +0 -13
  246. package/esm/rules/no-scalar-result-type-on-mutation.d.mts +0 -13
  247. package/esm/rules/no-typename-prefix.d.mts +0 -13
  248. package/esm/rules/no-unreachable-types.d.mts +0 -13
  249. package/esm/rules/no-unused-fields.d.mts +0 -13
  250. package/esm/rules/relay-page-info.d.mts +0 -13
  251. package/esm/rules/require-deprecation-reason.d.mts +0 -13
  252. package/esm/rules/require-field-of-type-query-in-mutation-result.d.mts +0 -13
  253. package/esm/rules/require-import-fragment.d.mts +0 -13
  254. package/esm/rules/require-nullable-fields-with-oneof.d.mts +0 -13
  255. package/esm/rules/require-nullable-result-in-root.d.mts +0 -13
  256. package/esm/rules/require-type-pattern-with-oneof.d.mts +0 -13
  257. package/esm/rules/unique-enum-value-names.d.mts +0 -13
  258. package/esm/rules/unique-operation-name.d.mts +0 -13
  259. package/cjs/configs/{operations-all.d.ts → operations-all.d.cts} +0 -0
  260. package/cjs/configs/{operations-recommended.d.ts → operations-recommended.d.cts} +0 -0
  261. package/cjs/configs/{schema-all.d.ts → schema-all.d.cts} +0 -0
  262. package/cjs/configs/{schema-recommended.d.ts → schema-recommended.d.cts} +0 -0
  263. package/cjs/configs/{schema-relay.d.ts → schema-relay.d.cts} +0 -0
  264. package/{esm/documents.d.mts → cjs/documents.d.cts} +1 -1
  265. package/esm/{chunk-U3TKCM4X.js → chunk-UIAXBAMD.js} +0 -0
  266. package/esm/configs/{operations-all.d.mts → operations-all.d.ts} +0 -0
  267. package/esm/configs/{operations-recommended.d.mts → operations-recommended.d.ts} +0 -0
  268. package/esm/configs/{schema-all.d.mts → schema-all.d.ts} +0 -0
  269. package/esm/configs/{schema-recommended.d.mts → schema-recommended.d.ts} +0 -0
  270. package/esm/configs/{schema-relay.d.mts → schema-relay.d.ts} +0 -0
  271. package/{cjs → esm}/documents.d.ts +1 -1
  272. package/{cjs → esm}/estree-converter/converter.d.ts +0 -0
  273. package/{cjs → esm}/graphql-config.d.ts +1 -1
  274. package/{cjs → esm}/rules/graphql-js-validation.d.ts +2 -2
  275. package/{cjs → esm}/schema.d.ts +1 -1
@@ -1,25 +1,7 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
- var require_field_of_type_query_in_mutation_result_exports = {};
17
- __export(require_field_of_type_query_in_mutation_result_exports, {
18
- rule: () => rule
19
- });
20
- module.exports = __toCommonJS(require_field_of_type_query_in_mutation_result_exports);
21
- var import_graphql = require("graphql"), import_utils = require("../utils.js");
22
- const RULE_ID = "require-field-of-type-query-in-mutation-result", rule = {
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }require('../../chunk-UIAXBAMD.js');
2
+ var _graphql = require('graphql');
3
+ var _utilsjs = require('../../utils.js');
4
+ const RULE_ID = "require-field-of-type-query-in-mutation-result", rule = exports.rule = {
23
5
  meta: {
24
6
  type: "suggestion",
25
7
  docs: {
@@ -66,13 +48,13 @@ const RULE_ID = "require-field-of-type-query-in-mutation-result", rule = {
66
48
  schema: []
67
49
  },
68
50
  create(context) {
69
- const schema = (0, import_utils.requireGraphQLSchemaFromContext)(RULE_ID, context), mutationType = schema.getMutationType(), queryType = schema.getQueryType();
51
+ const schema = _utilsjs.requireGraphQLSchemaFromContext.call(void 0, RULE_ID, context), mutationType = schema.getMutationType(), queryType = schema.getQueryType();
70
52
  return !mutationType || !queryType ? {} : {
71
53
  [`:matches(ObjectTypeDefinition, ObjectTypeExtension)[name.value=${mutationType.name}] > FieldDefinition > .gqlType Name`](node) {
72
54
  const typeName = node.value, graphQLType = schema.getType(typeName);
73
- if ((0, import_graphql.isObjectType)(graphQLType)) {
55
+ if (_graphql.isObjectType.call(void 0, graphQLType)) {
74
56
  const { fields } = graphQLType.astNode;
75
- fields?.some((field) => (0, import_utils.getTypeName)(field) === queryType.name) || context.report({
57
+ _optionalChain([fields, 'optionalAccess', _ => _.some, 'call', _2 => _2((field) => _utilsjs.getTypeName.call(void 0, field) === queryType.name)]) || context.report({
76
58
  node,
77
59
  message: `Mutation result type "${graphQLType.name}" must contain field of type "${queryType.name}"`
78
60
  });
@@ -81,7 +63,6 @@ const RULE_ID = "require-field-of-type-query-in-mutation-result", rule = {
81
63
  };
82
64
  }
83
65
  };
84
- // Annotate the CommonJS export names for ESM import in node:
85
- 0 && (module.exports = {
86
- rule
87
- });
66
+
67
+
68
+ exports.rule = rule;
@@ -0,0 +1,13 @@
1
+ import { GraphQLESLintRule } from '../../types.cjs';
2
+ import 'eslint';
3
+ import 'estree';
4
+ import 'graphql';
5
+ import 'graphql-config';
6
+ import 'json-schema-to-ts';
7
+ import '../../estree-converter/types.cjs';
8
+ import '../../siblings.cjs';
9
+ import '@graphql-tools/utils';
10
+
11
+ declare const rule: GraphQLESLintRule;
12
+
13
+ export { rule };
@@ -1,33 +1,7 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: !0 });
10
- }, __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from == "object" || typeof from == "function")
12
- for (let key of __getOwnPropNames(from))
13
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- return to;
15
- };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
22
- mod
23
- )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
24
- var require_import_fragment_exports = {};
25
- __export(require_import_fragment_exports, {
26
- rule: () => rule
27
- });
28
- module.exports = __toCommonJS(require_import_fragment_exports);
29
- var import_node_path = __toESM(require("node:path")), import_utils = require("../utils.js");
30
- const RULE_ID = "require-import-fragment", SUGGESTION_ID = "add-import-expression", rule = {
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }require('../../chunk-UIAXBAMD.js');
2
+ var _nodepath = require('node:path'); var _nodepath2 = _interopRequireDefault(_nodepath);
3
+ var _utilsjs = require('../../utils.js');
4
+ const RULE_ID = "require-import-fragment", SUGGESTION_ID = "add-import-expression", rule = exports.rule = {
31
5
  meta: {
32
6
  type: "suggestion",
33
7
  docs: {
@@ -101,29 +75,30 @@ const RULE_ID = "require-import-fragment", SUGGESTION_ID = "add-import-expressio
101
75
  schema: []
102
76
  },
103
77
  create(context) {
104
- const comments = context.getSourceCode().getAllComments(), siblings = (0, import_utils.requireSiblingsOperations)(RULE_ID, context), filePath = context.filename;
78
+ const comments = context.getSourceCode().getAllComments(), siblings = _utilsjs.requireSiblingsOperations.call(void 0, RULE_ID, context), filePath = context.filename;
105
79
  return {
106
80
  "FragmentSpread > .name"(node) {
107
81
  const fragmentName = node.value, fragmentsFromSiblings = siblings.getFragment(fragmentName);
108
82
  for (const comment of comments) {
109
83
  if (comment.type !== "Line" || !new RegExp(
110
84
  `^\\s*import\\s+(${fragmentName}\\s+from\\s+)?['"]`
111
- ).test(comment.value))
112
- continue;
113
- const extractedImportPath = comment.value.match(/(["'])((?:\1|.)*?)\1/)?.[2];
114
- if (!extractedImportPath)
115
- continue;
116
- const importPath = import_node_path.default.join(import_node_path.default.dirname(filePath), extractedImportPath);
85
+ ).test(comment.value)) continue;
86
+ const extractedImportPath = _optionalChain([comment, 'access', _ => _.value, 'access', _2 => _2.match, 'call', _3 => _3(/(["'])((?:\1|.)*?)\1/), 'optionalAccess', _4 => _4[2]]);
87
+ if (!extractedImportPath) continue;
88
+ const importPath = _nodepath2.default.join(filePath, "..", extractedImportPath);
117
89
  if (fragmentsFromSiblings.some(
118
90
  (source) => source.filePath === importPath
119
- ))
120
- return;
91
+ )) return;
121
92
  }
122
93
  if (fragmentsFromSiblings.some(
123
94
  (source) => source.filePath === filePath
124
- ))
125
- return;
126
- const suggestedFilePaths = fragmentsFromSiblings.length ? fragmentsFromSiblings.map((o) => import_node_path.default.relative(import_node_path.default.dirname(filePath), o.filePath)) : ["CHANGE_ME.graphql"];
95
+ )) return;
96
+ const suggestedFilePaths = fragmentsFromSiblings.length ? fragmentsFromSiblings.map(
97
+ (o) => (
98
+ // Use always forward slash for suggested import path
99
+ _utilsjs.slash.call(void 0, _nodepath2.default.relative(_nodepath2.default.dirname(filePath), o.filePath))
100
+ )
101
+ ) : ["CHANGE_ME.graphql"];
127
102
  context.report({
128
103
  node,
129
104
  messageId: RULE_ID,
@@ -142,7 +117,6 @@ const RULE_ID = "require-import-fragment", SUGGESTION_ID = "add-import-expressio
142
117
  };
143
118
  }
144
119
  };
145
- // Annotate the CommonJS export names for ESM import in node:
146
- 0 && (module.exports = {
147
- rule
148
- });
120
+
121
+
122
+ exports.rule = rule;
@@ -0,0 +1,13 @@
1
+ import { GraphQLESLintRule } from '../../types.cjs';
2
+ import 'eslint';
3
+ import 'estree';
4
+ import 'graphql';
5
+ import 'graphql-config';
6
+ import 'json-schema-to-ts';
7
+ import '../../estree-converter/types.cjs';
8
+ import '../../siblings.cjs';
9
+ import '@graphql-tools/utils';
10
+
11
+ declare const rule: GraphQLESLintRule;
12
+
13
+ export { rule };
@@ -0,0 +1,62 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-UIAXBAMD.js');
2
+ var _graphql = require('graphql');
3
+ var _utilsjs = require('../../utils.js');
4
+ const RULE_ID = "require-nullable-fields-with-oneof", rule = exports.rule = {
5
+ meta: {
6
+ type: "suggestion",
7
+ docs: {
8
+ category: "Schema",
9
+ description: "Require `input` or `type` fields to be non-nullable with `@oneOf` directive.",
10
+ url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
11
+ examples: [
12
+ {
13
+ title: "Incorrect",
14
+ code: (
15
+ /* GraphQL */
16
+ `
17
+ input Input @oneOf {
18
+ foo: String!
19
+ b: Int
20
+ }
21
+ `
22
+ )
23
+ },
24
+ {
25
+ title: "Correct",
26
+ code: (
27
+ /* GraphQL */
28
+ `
29
+ input Input @oneOf {
30
+ foo: String
31
+ bar: Int
32
+ }
33
+ `
34
+ )
35
+ }
36
+ ]
37
+ },
38
+ messages: {
39
+ [RULE_ID]: '{{ nodeName }} must be nullable when "@oneOf" is in use'
40
+ },
41
+ schema: []
42
+ },
43
+ create(context) {
44
+ return {
45
+ "Directive[name.value=oneOf]"({ parent }) {
46
+ if ([
47
+ _graphql.Kind.OBJECT_TYPE_DEFINITION,
48
+ _graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION
49
+ ].includes(parent.kind))
50
+ for (const field of parent.fields || [])
51
+ field.gqlType.kind === _graphql.Kind.NON_NULL_TYPE && context.report({
52
+ node: field.name,
53
+ messageId: RULE_ID,
54
+ data: { nodeName: _utilsjs.getNodeName.call(void 0, field) }
55
+ });
56
+ }
57
+ };
58
+ }
59
+ };
60
+
61
+
62
+ exports.rule = rule;
@@ -0,0 +1,13 @@
1
+ import { GraphQLESLintRule } from '../../types.cjs';
2
+ import 'eslint';
3
+ import 'estree';
4
+ import 'graphql';
5
+ import 'graphql-config';
6
+ import 'json-schema-to-ts';
7
+ import '../../estree-converter/types.cjs';
8
+ import '../../siblings.cjs';
9
+ import '@graphql-tools/utils';
10
+
11
+ declare const rule: GraphQLESLintRule;
12
+
13
+ export { rule };
@@ -1,25 +1,7 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
- var require_nullable_result_in_root_exports = {};
17
- __export(require_nullable_result_in_root_exports, {
18
- rule: () => rule
19
- });
20
- module.exports = __toCommonJS(require_nullable_result_in_root_exports);
21
- var import_graphql = require("graphql"), import_utils = require("../utils.js");
22
- const RULE_ID = "require-nullable-result-in-root", rule = {
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }require('../../chunk-UIAXBAMD.js');
2
+ var _graphql = require('graphql');
3
+ var _utilsjs = require('../../utils.js');
4
+ const RULE_ID = "require-nullable-result-in-root", rule = exports.rule = {
23
5
  meta: {
24
6
  type: "suggestion",
25
7
  hasSuggestions: !0,
@@ -61,22 +43,22 @@ const RULE_ID = "require-nullable-result-in-root", rule = {
61
43
  schema: []
62
44
  },
63
45
  create(context) {
64
- const schema = (0, import_utils.requireGraphQLSchemaFromContext)(RULE_ID, context), rootTypeNames = new Set(
65
- [schema.getQueryType(), schema.getMutationType()].filter(import_utils.truthy).map((type) => type.name)
46
+ const schema = _utilsjs.requireGraphQLSchemaFromContext.call(void 0, RULE_ID, context), rootTypeNames = new Set(
47
+ [schema.getQueryType(), schema.getMutationType()].filter(_utilsjs.truthy).map((type) => type.name)
66
48
  ), sourceCode = context.getSourceCode();
67
49
  return {
68
50
  "ObjectTypeDefinition,ObjectTypeExtension"(node) {
69
51
  if (rootTypeNames.has(node.name.value))
70
52
  for (const field of node.fields || []) {
71
- if (field.gqlType.type !== import_graphql.Kind.NON_NULL_TYPE || field.gqlType.gqlType.type !== import_graphql.Kind.NAMED_TYPE)
53
+ if (field.gqlType.type !== _graphql.Kind.NON_NULL_TYPE || field.gqlType.gqlType.type !== _graphql.Kind.NAMED_TYPE)
72
54
  continue;
73
- const name = field.gqlType.gqlType.name.value, type = schema.getType(name), resultType = type?.astNode ? (0, import_utils.getNodeName)(type.astNode) : type?.name;
55
+ const name = field.gqlType.gqlType.name.value, type = schema.getType(name), resultType = _optionalChain([type, 'optionalAccess', _ => _.astNode]) ? _utilsjs.getNodeName.call(void 0, type.astNode) : _optionalChain([type, 'optionalAccess', _2 => _2.name]);
74
56
  context.report({
75
57
  node: field.gqlType,
76
58
  messageId: RULE_ID,
77
59
  data: {
78
60
  resultType: resultType || "",
79
- rootType: (0, import_utils.getNodeName)(node)
61
+ rootType: _utilsjs.getNodeName.call(void 0, node)
80
62
  },
81
63
  suggest: [
82
64
  {
@@ -93,7 +75,6 @@ const RULE_ID = "require-nullable-result-in-root", rule = {
93
75
  };
94
76
  }
95
77
  };
96
- // Annotate the CommonJS export names for ESM import in node:
97
- 0 && (module.exports = {
98
- rule
99
- });
78
+
79
+
80
+ exports.rule = rule;
@@ -1,12 +1,12 @@
1
1
  import { FromSchema } from 'json-schema-to-ts';
2
- import { GraphQLESLintRule } from '../types.mjs';
2
+ import { GraphQLESLintRule } from '../../types.cjs';
3
3
  import 'eslint';
4
4
  import 'estree';
5
5
  import 'graphql';
6
- import '../siblings.mjs';
7
- import '@graphql-tools/utils';
8
- import '../estree-converter/types.mjs';
9
6
  import 'graphql-config';
7
+ import '../../estree-converter/types.cjs';
8
+ import '../../siblings.cjs';
9
+ import '@graphql-tools/utils';
10
10
 
11
11
  declare const schema: {
12
12
  readonly definitions: {
@@ -42,4 +42,4 @@ declare const schema: {
42
42
  type RuleOptions = FromSchema<typeof schema>;
43
43
  declare const rule: GraphQLESLintRule<RuleOptions, true>;
44
44
 
45
- export { RuleOptions, rule };
45
+ export { type RuleOptions, rule };
@@ -1,30 +1,27 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
- var require_selections_exports = {};
17
- __export(require_selections_exports, {
18
- rule: () => rule
19
- });
20
- module.exports = __toCommonJS(require_selections_exports);
21
- var import_utils = require("@graphql-tools/utils"), import_graphql = require("graphql"), import_estree_converter = require("../estree-converter/index.js"), import_utils2 = require("../utils.js");
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-UIAXBAMD.js');
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+ var _graphql = require('graphql');
11
+ var _utils = require('@graphql-tools/utils');
12
+ var _indexjs = require('../../estree-converter/index.js');
13
+
14
+
15
+
16
+
17
+
18
+ var _utilsjs = require('../../utils.js');
22
19
  const RULE_ID = "require-selections", DEFAULT_ID_FIELD_NAME = "id", schema = {
23
20
  definitions: {
24
21
  asString: {
25
22
  type: "string"
26
23
  },
27
- asArray: import_utils2.ARRAY_DEFAULT_OPTIONS
24
+ asArray: _utilsjs.ARRAY_DEFAULT_OPTIONS
28
25
  },
29
26
  type: "array",
30
27
  maxItems: 1,
@@ -38,7 +35,7 @@ const RULE_ID = "require-selections", DEFAULT_ID_FIELD_NAME = "id", schema = {
38
35
  }
39
36
  }
40
37
  }
41
- }, rule = {
38
+ }, rule = exports.rule = {
42
39
  meta: {
43
40
  type: "suggestion",
44
41
  hasSuggestions: !0,
@@ -107,18 +104,18 @@ Include it in your selection set{{ addition }}.`
107
104
  schema
108
105
  },
109
106
  create(context) {
110
- const schema2 = (0, import_utils2.requireGraphQLSchemaFromContext)(RULE_ID, context), siblings = (0, import_utils2.requireSiblingsOperations)(RULE_ID, context), { fieldName = DEFAULT_ID_FIELD_NAME } = context.options[0] || {}, idNames = (0, import_utils.asArray)(fieldName), selector = "OperationDefinition SelectionSet[parent.kind!=/(^OperationDefinition|InlineFragment)$/]", typeInfo = new import_graphql.TypeInfo(schema2);
107
+ const schema2 = _utilsjs.requireGraphQLSchemaFromContext.call(void 0, RULE_ID, context), siblings = _utilsjs.requireSiblingsOperations.call(void 0, RULE_ID, context), { fieldName = DEFAULT_ID_FIELD_NAME } = context.options[0] || {}, idNames = _utils.asArray.call(void 0, fieldName), selector = "OperationDefinition SelectionSet[parent.kind!=/(^OperationDefinition|InlineFragment)$/]", typeInfo = new (0, _graphql.TypeInfo)(schema2);
111
108
  function checkFragments(node) {
112
109
  for (const selection of node.selections) {
113
- if (selection.kind !== import_graphql.Kind.FRAGMENT_SPREAD)
110
+ if (selection.kind !== _graphql.Kind.FRAGMENT_SPREAD)
114
111
  continue;
115
112
  const [foundSpread] = siblings.getFragment(selection.name.value);
116
113
  if (!foundSpread)
117
114
  continue;
118
- const checkedFragmentSpreads = /* @__PURE__ */ new Set(), visitor = (0, import_graphql.visitWithTypeInfo)(typeInfo, {
115
+ const checkedFragmentSpreads = /* @__PURE__ */ new Set(), visitor = _graphql.visitWithTypeInfo.call(void 0, typeInfo, {
119
116
  SelectionSet(node2, key, _parent) {
120
117
  const parent = _parent;
121
- parent.kind === import_graphql.Kind.FRAGMENT_DEFINITION ? checkedFragmentSpreads.add(parent.name.value) : parent.kind !== import_graphql.Kind.INLINE_FRAGMENT && checkSelections(
118
+ parent.kind === _graphql.Kind.FRAGMENT_DEFINITION ? checkedFragmentSpreads.add(parent.name.value) : parent.kind !== _graphql.Kind.INLINE_FRAGMENT && checkSelections(
122
119
  node2,
123
120
  typeInfo.getType(),
124
121
  selection.loc.start,
@@ -127,31 +124,37 @@ Include it in your selection set{{ addition }}.`
127
124
  );
128
125
  }
129
126
  });
130
- (0, import_graphql.visit)(foundSpread.document, visitor);
127
+ _graphql.visit.call(void 0, foundSpread.document, visitor);
131
128
  }
132
129
  }
133
130
  function checkSelections(node, type, loc, parent, checkedFragmentSpreads = /* @__PURE__ */ new Set()) {
134
- const rawType = (0, import_estree_converter.getBaseType)(type);
135
- if (rawType instanceof import_graphql.GraphQLObjectType || rawType instanceof import_graphql.GraphQLInterfaceType)
131
+ const rawType = _indexjs.getBaseType.call(void 0, type);
132
+ if (rawType instanceof _graphql.GraphQLObjectType || rawType instanceof _graphql.GraphQLInterfaceType)
136
133
  checkFields(rawType);
137
- else if (rawType instanceof import_graphql.GraphQLUnionType) {
138
- for (const selection of node.selections)
139
- if (selection.kind === import_graphql.Kind.INLINE_FRAGMENT) {
140
- const t = rawType.getTypes().find((t2) => t2.name === selection.typeCondition.name.value);
134
+ else if (rawType instanceof _graphql.GraphQLUnionType)
135
+ for (const selection of node.selections) {
136
+ const types = rawType.getTypes();
137
+ if (selection.kind === _graphql.Kind.INLINE_FRAGMENT) {
138
+ const t = types.find((t2) => t2.name === selection.typeCondition.name.value);
141
139
  t && checkFields(t);
140
+ } else if (selection.kind === _graphql.Kind.FRAGMENT_SPREAD) {
141
+ const [foundSpread] = siblings.getFragment(selection.name.value);
142
+ if (!foundSpread) return;
143
+ const fragmentSpread = foundSpread.document, t = fragmentSpread.typeCondition.name.value === rawType.name ? rawType : types.find((t2) => t2.name === fragmentSpread.typeCondition.name.value);
144
+ checkedFragmentSpreads.add(fragmentSpread.name.value), checkSelections(fragmentSpread.selectionSet, t, loc, parent, checkedFragmentSpreads);
142
145
  }
143
- }
146
+ }
144
147
  function checkFields(rawType2) {
145
148
  const fields = rawType2.getFields();
146
149
  if (!idNames.some((name) => fields[name]))
147
150
  return;
148
151
  function hasIdField({ selections }) {
149
152
  return selections.some((selection) => {
150
- if (selection.kind === import_graphql.Kind.FIELD)
153
+ if (selection.kind === _graphql.Kind.FIELD)
151
154
  return selection.alias && idNames.includes(selection.alias.value) ? !0 : idNames.includes(selection.name.value);
152
- if (selection.kind === import_graphql.Kind.INLINE_FRAGMENT)
155
+ if (selection.kind === _graphql.Kind.INLINE_FRAGMENT)
153
156
  return hasIdField(selection.selectionSet);
154
- if (selection.kind === import_graphql.Kind.FRAGMENT_SPREAD) {
157
+ if (selection.kind === _graphql.Kind.FRAGMENT_SPREAD) {
155
158
  const [foundSpread] = siblings.getFragment(selection.name.value);
156
159
  if (foundSpread) {
157
160
  const fragmentSpread = foundSpread.document;
@@ -164,9 +167,9 @@ Include it in your selection set{{ addition }}.`
164
167
  const hasId = hasIdField(node);
165
168
  if (checkFragments(node), hasId)
166
169
  return;
167
- const pluralSuffix = idNames.length > 1 ? "s" : "", fieldName2 = (0, import_utils2.englishJoinWords)(
170
+ const pluralSuffix = idNames.length > 1 ? "s" : "", fieldName2 = _utilsjs.englishJoinWords.call(void 0,
168
171
  idNames.map((name) => `\`${(parent.alias || parent.name).value}.${name}\``)
169
- ), addition = checkedFragmentSpreads.size === 0 ? "" : ` or add to used fragment${checkedFragmentSpreads.size > 1 ? "s" : ""} ${(0, import_utils2.englishJoinWords)([...checkedFragmentSpreads].map((name) => `\`${name}\``))}`, problem = {
172
+ ), addition = checkedFragmentSpreads.size === 0 ? "" : ` or add to used fragment${checkedFragmentSpreads.size > 1 ? "s" : ""} ${_utilsjs.englishJoinWords.call(void 0, [...checkedFragmentSpreads].map((name) => `\`${name}\``))}`, problem = {
170
173
  loc,
171
174
  messageId: RULE_ID,
172
175
  data: {
@@ -179,7 +182,7 @@ Include it in your selection set{{ addition }}.`
179
182
  desc: `Add \`${idName}\` selection`,
180
183
  fix: (fixer) => {
181
184
  let insertNode = node.selections[0];
182
- return insertNode = insertNode.kind === import_graphql.Kind.INLINE_FRAGMENT ? insertNode.selectionSet.selections[0] : insertNode, fixer.insertTextBefore(insertNode, `${idName} `);
185
+ return insertNode = insertNode.kind === _graphql.Kind.INLINE_FRAGMENT ? insertNode.selectionSet.selections[0] : insertNode, fixer.insertTextBefore(insertNode, `${idName} `);
183
186
  }
184
187
  }))), context.report(problem);
185
188
  }
@@ -192,7 +195,6 @@ Include it in your selection set{{ addition }}.`
192
195
  };
193
196
  }
194
197
  };
195
- // Annotate the CommonJS export names for ESM import in node:
196
- 0 && (module.exports = {
197
- rule
198
- });
198
+
199
+
200
+ exports.rule = rule;
@@ -0,0 +1,13 @@
1
+ import { GraphQLESLintRule } from '../../types.cjs';
2
+ import 'eslint';
3
+ import 'estree';
4
+ import 'graphql';
5
+ import 'graphql-config';
6
+ import 'json-schema-to-ts';
7
+ import '../../estree-converter/types.cjs';
8
+ import '../../siblings.cjs';
9
+ import '@graphql-tools/utils';
10
+
11
+ declare const rule: GraphQLESLintRule;
12
+
13
+ export { rule };
@@ -0,0 +1,63 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }require('../../chunk-UIAXBAMD.js');
2
+ var _utilsjs = require('../../utils.js');
3
+ const RULE_ID = "require-type-pattern-with-oneof", rule = exports.rule = {
4
+ meta: {
5
+ type: "suggestion",
6
+ docs: {
7
+ category: "Schema",
8
+ description: "Enforce types with `@oneOf` directive have `error` and `ok` fields.",
9
+ url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
10
+ examples: [
11
+ {
12
+ title: "Correct",
13
+ code: (
14
+ /* GraphQL */
15
+ `
16
+ type Mutation {
17
+ doSomething: DoSomethingMutationResult!
18
+ }
19
+
20
+ interface Error {
21
+ message: String!
22
+ }
23
+
24
+ type DoSomethingMutationResult @oneOf {
25
+ ok: DoSomethingSuccess
26
+ error: Error
27
+ }
28
+
29
+ type DoSomethingSuccess {
30
+ # ...
31
+ }
32
+ `
33
+ )
34
+ }
35
+ ]
36
+ },
37
+ messages: {
38
+ [RULE_ID]: '{{ nodeName }} is defined as output with "@oneOf" and must be defined with "{{ fieldName }}" field'
39
+ },
40
+ schema: []
41
+ },
42
+ create(context) {
43
+ return {
44
+ "Directive[name.value=oneOf][parent.kind=ObjectTypeDefinition]"({
45
+ parent
46
+ }) {
47
+ const requiredFields = ["error", "ok"];
48
+ for (const fieldName of requiredFields)
49
+ _optionalChain([parent, 'access', _ => _.fields, 'optionalAccess', _2 => _2.some, 'call', _3 => _3((field) => field.name.value === fieldName)]) || context.report({
50
+ node: parent.name,
51
+ messageId: RULE_ID,
52
+ data: {
53
+ nodeName: _utilsjs.displayNodeName.call(void 0, parent),
54
+ fieldName
55
+ }
56
+ });
57
+ }
58
+ };
59
+ }
60
+ };
61
+
62
+
63
+ exports.rule = rule;
@@ -1,12 +1,12 @@
1
1
  import { FromSchema } from 'json-schema-to-ts';
2
- import { GraphQLESLintRule } from '../types.mjs';
2
+ import { GraphQLESLintRule } from '../../types.cjs';
3
3
  import 'eslint';
4
4
  import 'estree';
5
5
  import 'graphql';
6
- import '../siblings.mjs';
7
- import '@graphql-tools/utils';
8
- import '../estree-converter/types.mjs';
9
6
  import 'graphql-config';
7
+ import '../../estree-converter/types.cjs';
8
+ import '../../siblings.cjs';
9
+ import '@graphql-tools/utils';
10
10
 
11
11
  declare const schema: {
12
12
  readonly type: "array";
@@ -34,4 +34,4 @@ declare const schema: {
34
34
  type RuleOptions = FromSchema<typeof schema>;
35
35
  declare const rule: GraphQLESLintRule<RuleOptions>;
36
36
 
37
- export { RuleOptions, rule };
37
+ export { type RuleOptions, rule };