@graphql-eslint/eslint-plugin 4.0.0-alpha.1 → 4.0.0-alpha.11

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 (266) hide show
  1. package/README.md +2 -0
  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/cjs/estree-converter/types.js +1 -14
  18. package/{esm/estree-converter/utils.d.mts → cjs/estree-converter/utils.d.cts} +3 -3
  19. package/cjs/estree-converter/utils.js +22 -40
  20. package/{esm/graphql-config.d.mts → cjs/graphql-config.d.cts} +3 -3
  21. package/cjs/graphql-config.js +16 -42
  22. package/cjs/index.d.cts +186 -0
  23. package/cjs/index.js +24 -41
  24. package/cjs/meta.d.cts +3 -0
  25. package/cjs/meta.js +5 -0
  26. package/cjs/package.json +1 -0
  27. package/{esm/parser.d.mts → cjs/parser.d.cts} +11 -4
  28. package/cjs/parser.js +35 -46
  29. package/{esm/processor.d.mts → cjs/processor.d.cts} +4 -0
  30. package/cjs/processor.js +25 -34
  31. package/{esm/rules/alphabetize.d.mts → cjs/rules/alphabetize/index.d.cts} +4 -4
  32. package/cjs/rules/{alphabetize.js → alphabetize/index.js} +69 -77
  33. package/{esm/rules/description-style.d.mts → cjs/rules/description-style/index.d.cts} +3 -3
  34. package/cjs/rules/{description-style.js → description-style/index.js} +7 -27
  35. package/{esm/rules/graphql-js-validation.d.mts → cjs/rules/graphql-js-validation.d.cts} +3 -3
  36. package/cjs/rules/graphql-js-validation.js +93 -70
  37. package/cjs/rules/{index.d.ts → index.d.cts} +17 -15
  38. package/cjs/rules/index.js +74 -60
  39. package/cjs/rules/{input-name.d.ts → input-name/index.d.cts} +6 -4
  40. package/cjs/rules/{input-name.js → input-name/index.js} +10 -28
  41. package/cjs/rules/{lone-executable-definition.d.ts → lone-executable-definition/index.d.cts} +3 -3
  42. package/cjs/rules/{lone-executable-definition.js → lone-executable-definition/index.js} +13 -32
  43. package/cjs/rules/{match-document-filename.d.ts → match-document-filename/index.d.cts} +4 -4
  44. package/cjs/rules/{match-document-filename.js → match-document-filename/index.js} +21 -35
  45. package/{esm/rules/naming-convention.d.mts → cjs/rules/naming-convention/index.d.cts} +6 -4
  46. package/cjs/rules/{naming-convention.js → naming-convention/index.js} +41 -54
  47. package/cjs/rules/no-anonymous-operations/index.d.cts +13 -0
  48. package/cjs/rules/{no-anonymous-operations.js → no-anonymous-operations/index.js} +9 -28
  49. package/{esm/rules/no-deprecated.d.mts → cjs/rules/no-deprecated/index.d.cts} +3 -3
  50. package/cjs/rules/{no-deprecated.js → no-deprecated/index.js} +11 -30
  51. package/cjs/rules/no-duplicate-fields/index.d.cts +13 -0
  52. package/cjs/rules/{no-duplicate-fields.js → no-duplicate-fields/index.js} +8 -28
  53. package/cjs/rules/{no-hashtag-description.d.ts → no-hashtag-description/index.d.cts} +3 -3
  54. package/cjs/rules/{no-hashtag-description.js → no-hashtag-description/index.js} +11 -31
  55. package/cjs/rules/no-one-place-fragments/index.d.cts +13 -0
  56. package/cjs/rules/{no-one-place-fragments.js → no-one-place-fragments/index.js} +11 -29
  57. package/cjs/rules/{no-root-type.d.ts → no-root-type/index.d.cts} +3 -3
  58. package/cjs/rules/{no-root-type.js → no-root-type/index.js} +9 -29
  59. package/cjs/rules/no-scalar-result-type-on-mutation/index.d.cts +13 -0
  60. package/cjs/rules/no-scalar-result-type-on-mutation/index.js +69 -0
  61. package/cjs/rules/no-typename-prefix/index.d.cts +13 -0
  62. package/cjs/rules/{no-typename-prefix.js → no-typename-prefix/index.js} +5 -25
  63. package/cjs/rules/no-unreachable-types/index.d.cts +13 -0
  64. package/cjs/rules/no-unreachable-types/index.js +155 -0
  65. package/cjs/rules/no-unused-fields/index.d.cts +34 -0
  66. package/cjs/rules/no-unused-fields/index.js +224 -0
  67. package/{esm/rules/relay-arguments.d.mts → cjs/rules/relay-arguments/index.d.cts} +3 -3
  68. package/cjs/rules/{relay-arguments.js → relay-arguments/index.js} +11 -30
  69. package/{esm/rules/relay-connection-types.d.mts → cjs/rules/relay-connection-types/index.d.cts} +3 -3
  70. package/cjs/rules/{relay-connection-types.js → relay-connection-types/index.js} +19 -40
  71. package/cjs/rules/{relay-edge-types.d.ts → relay-edge-types/index.d.cts} +6 -4
  72. package/cjs/rules/{relay-edge-types.js → relay-edge-types/index.js} +31 -44
  73. package/cjs/rules/relay-page-info/index.d.cts +13 -0
  74. package/cjs/rules/{relay-page-info.js → relay-page-info/index.js} +13 -31
  75. package/{esm/rules/require-deprecation-date.d.mts → cjs/rules/require-deprecation-date/index.d.cts} +3 -3
  76. package/cjs/rules/{require-deprecation-date.js → require-deprecation-date/index.js} +13 -32
  77. package/cjs/rules/require-deprecation-reason/index.d.cts +13 -0
  78. package/cjs/rules/require-deprecation-reason/index.js +66 -0
  79. package/{esm/rules/require-description.d.mts → cjs/rules/require-description/index.d.cts} +3 -3
  80. package/cjs/rules/{require-description.js → require-description/index.js} +30 -44
  81. package/cjs/rules/require-field-of-type-query-in-mutation-result/index.d.cts +13 -0
  82. package/cjs/rules/{require-field-of-type-query-in-mutation-result.js → require-field-of-type-query-in-mutation-result/index.js} +10 -29
  83. package/cjs/rules/require-import-fragment/index.d.cts +13 -0
  84. package/cjs/rules/{require-import-fragment.js → require-import-fragment/index.js} +16 -38
  85. package/cjs/rules/require-nullable-fields-with-oneof/index.d.cts +13 -0
  86. package/cjs/rules/require-nullable-fields-with-oneof/index.js +62 -0
  87. package/cjs/rules/require-nullable-result-in-root/index.d.cts +13 -0
  88. package/cjs/rules/{require-nullable-result-in-root.js → require-nullable-result-in-root/index.js} +12 -31
  89. package/{esm/rules/require-selections.d.mts → cjs/rules/require-selections/index.d.cts} +3 -3
  90. package/cjs/rules/{require-selections.js → require-selections/index.js} +47 -45
  91. package/cjs/rules/require-type-pattern-with-oneof/index.d.cts +13 -0
  92. package/cjs/rules/require-type-pattern-with-oneof/index.js +63 -0
  93. package/{esm/rules/selection-set-depth.d.mts → cjs/rules/selection-set-depth/index.d.cts} +3 -3
  94. package/cjs/rules/{selection-set-depth.js → selection-set-depth/index.js} +16 -42
  95. package/cjs/rules/{strict-id-in-types.d.ts → strict-id-in-types/index.d.cts} +6 -4
  96. package/cjs/rules/{strict-id-in-types.js → strict-id-in-types/index.js} +26 -39
  97. package/cjs/rules/unique-enum-value-names/index.d.cts +13 -0
  98. package/cjs/rules/{unique-enum-value-names.js → unique-enum-value-names/index.js} +10 -29
  99. package/{esm/rules/unique-fragment-name.d.mts → cjs/rules/unique-fragment-name/index.d.cts} +3 -3
  100. package/cjs/rules/unique-fragment-name/index.js +87 -0
  101. package/cjs/rules/unique-operation-name/index.d.cts +13 -0
  102. package/cjs/rules/{unique-operation-name.js → unique-operation-name/index.js} +7 -27
  103. package/{esm/schema.d.mts → cjs/schema.d.cts} +3 -3
  104. package/cjs/schema.js +11 -36
  105. package/cjs/siblings.js +17 -33
  106. package/{esm/types.d.mts → cjs/types.d.cts} +2 -2
  107. package/cjs/types.js +1 -14
  108. package/{esm/utils.d.mts → cjs/utils.d.cts} +5 -5
  109. package/cjs/utils.js +94 -115
  110. package/{cjs → esm}/cache.d.ts +1 -1
  111. package/esm/configs/index.d.ts +24 -0
  112. package/esm/configs/index.js +22 -1
  113. package/esm/configs/operations-all.js +1 -1
  114. package/esm/documents.js +8 -3
  115. package/{cjs → esm}/estree-converter/index.d.ts +2 -2
  116. package/{cjs → esm}/estree-converter/utils.d.ts +3 -3
  117. package/esm/graphql-config.js +1 -1
  118. package/esm/index.d.ts +186 -0
  119. package/esm/index.js +10 -4
  120. package/esm/meta.d.ts +3 -0
  121. package/esm/meta.js +5 -0
  122. package/{cjs → esm}/parser.d.ts +8 -1
  123. package/esm/parser.js +10 -1
  124. package/{cjs → esm}/processor.d.ts +4 -0
  125. package/esm/processor.js +5 -0
  126. package/{cjs/rules/alphabetize.d.ts → esm/rules/alphabetize/index.d.ts} +5 -5
  127. package/esm/rules/{alphabetize.js → alphabetize/index.js} +26 -10
  128. package/{cjs/rules/description-style.d.ts → esm/rules/description-style/index.d.ts} +3 -3
  129. package/esm/rules/{description-style.js → description-style/index.js} +2 -2
  130. package/esm/rules/{index.d.mts → index.d.ts} +11 -9
  131. package/esm/rules/index.js +34 -34
  132. package/esm/rules/{input-name.d.mts → input-name/index.d.ts} +6 -4
  133. package/esm/rules/{input-name.js → input-name/index.js} +1 -1
  134. package/esm/rules/{lone-executable-definition.d.mts → lone-executable-definition/index.d.ts} +3 -3
  135. package/esm/rules/{lone-executable-definition.js → lone-executable-definition/index.js} +2 -2
  136. package/esm/rules/{match-document-filename.d.mts → match-document-filename/index.d.ts} +4 -4
  137. package/esm/rules/{match-document-filename.js → match-document-filename/index.js} +4 -4
  138. package/{cjs/rules/naming-convention.d.ts → esm/rules/naming-convention/index.d.ts} +6 -4
  139. package/esm/rules/{naming-convention.js → naming-convention/index.js} +2 -2
  140. package/{cjs/rules/no-one-place-fragments.d.ts → esm/rules/no-anonymous-operations/index.d.ts} +3 -3
  141. package/esm/rules/{no-anonymous-operations.js → no-anonymous-operations/index.js} +2 -2
  142. package/{cjs/rules/no-deprecated.d.ts → esm/rules/no-deprecated/index.d.ts} +3 -3
  143. package/esm/rules/{no-deprecated.js → no-deprecated/index.js} +2 -2
  144. package/{cjs/rules/no-scalar-result-type-on-mutation.d.ts → esm/rules/no-duplicate-fields/index.d.ts} +3 -3
  145. package/esm/rules/{no-duplicate-fields.js → no-duplicate-fields/index.js} +1 -1
  146. package/esm/rules/{no-hashtag-description.d.mts → no-hashtag-description/index.d.ts} +3 -3
  147. package/esm/rules/{no-hashtag-description.js → no-hashtag-description/index.js} +2 -2
  148. package/{cjs/rules/no-anonymous-operations.d.ts → esm/rules/no-one-place-fragments/index.d.ts} +3 -3
  149. package/esm/rules/{no-one-place-fragments.js → no-one-place-fragments/index.js} +2 -2
  150. package/esm/rules/{no-root-type.d.mts → no-root-type/index.d.ts} +3 -3
  151. package/esm/rules/{no-root-type.js → no-root-type/index.js} +2 -2
  152. package/{cjs/rules/no-duplicate-fields.d.ts → esm/rules/no-scalar-result-type-on-mutation/index.d.ts} +3 -3
  153. package/esm/rules/{no-scalar-result-type-on-mutation.js → no-scalar-result-type-on-mutation/index.js} +2 -2
  154. package/esm/rules/no-typename-prefix/index.d.ts +13 -0
  155. package/esm/rules/{no-typename-prefix.js → no-typename-prefix/index.js} +1 -1
  156. package/esm/rules/no-unreachable-types/index.d.ts +13 -0
  157. package/esm/rules/{no-unreachable-types.js → no-unreachable-types/index.js} +8 -8
  158. package/esm/rules/no-unused-fields/index.d.ts +34 -0
  159. package/esm/rules/no-unused-fields/index.js +224 -0
  160. package/{cjs/rules/relay-arguments.d.ts → esm/rules/relay-arguments/index.d.ts} +3 -3
  161. package/esm/rules/{relay-arguments.js → relay-arguments/index.js} +2 -2
  162. package/{cjs/rules/relay-connection-types.d.ts → esm/rules/relay-connection-types/index.d.ts} +3 -3
  163. package/esm/rules/{relay-connection-types.js → relay-connection-types/index.js} +1 -1
  164. package/esm/rules/{relay-edge-types.d.mts → relay-edge-types/index.d.ts} +6 -4
  165. package/esm/rules/{relay-edge-types.js → relay-edge-types/index.js} +3 -3
  166. package/esm/rules/relay-page-info/index.d.ts +13 -0
  167. package/esm/rules/{relay-page-info.js → relay-page-info/index.js} +4 -4
  168. package/{cjs/rules/require-deprecation-date.d.ts → esm/rules/require-deprecation-date/index.d.ts} +3 -3
  169. package/esm/rules/{require-deprecation-date.js → require-deprecation-date/index.js} +3 -3
  170. package/esm/rules/require-deprecation-reason/index.d.ts +13 -0
  171. package/esm/rules/{require-deprecation-reason.js → require-deprecation-reason/index.js} +3 -3
  172. package/{cjs/rules/require-description.d.ts → esm/rules/require-description/index.d.ts} +3 -3
  173. package/esm/rules/{require-description.js → require-description/index.js} +2 -2
  174. package/esm/rules/require-field-of-type-query-in-mutation-result/index.d.ts +13 -0
  175. package/esm/rules/{require-field-of-type-query-in-mutation-result.js → require-field-of-type-query-in-mutation-result/index.js} +2 -2
  176. package/esm/rules/require-import-fragment/index.d.ts +13 -0
  177. package/esm/rules/{require-import-fragment.js → require-import-fragment/index.js} +9 -4
  178. package/esm/rules/require-nullable-fields-with-oneof/index.d.ts +13 -0
  179. package/esm/rules/{require-nullable-fields-with-oneof.js → require-nullable-fields-with-oneof/index.js} +2 -2
  180. package/esm/rules/require-nullable-result-in-root/index.d.ts +13 -0
  181. package/esm/rules/{require-nullable-result-in-root.js → require-nullable-result-in-root/index.js} +2 -2
  182. package/{cjs/rules/require-selections.d.ts → esm/rules/require-selections/index.d.ts} +3 -3
  183. package/esm/rules/{require-selections.js → require-selections/index.js} +13 -7
  184. package/esm/rules/require-type-pattern-with-oneof/index.d.ts +13 -0
  185. package/esm/rules/{require-type-pattern-with-oneof.js → require-type-pattern-with-oneof/index.js} +2 -2
  186. package/{cjs/rules/selection-set-depth.d.ts → esm/rules/selection-set-depth/index.d.ts} +3 -3
  187. package/esm/rules/{selection-set-depth.js → selection-set-depth/index.js} +3 -3
  188. package/esm/rules/{strict-id-in-types.d.mts → strict-id-in-types/index.d.ts} +6 -4
  189. package/esm/rules/{strict-id-in-types.js → strict-id-in-types/index.js} +2 -2
  190. package/esm/rules/unique-enum-value-names/index.d.ts +13 -0
  191. package/esm/rules/{unique-enum-value-names.js → unique-enum-value-names/index.js} +2 -2
  192. package/{cjs/rules/unique-fragment-name.d.ts → esm/rules/unique-fragment-name/index.d.ts} +3 -3
  193. package/esm/rules/{unique-fragment-name.js → unique-fragment-name/index.js} +3 -3
  194. package/esm/rules/unique-operation-name/index.d.ts +13 -0
  195. package/esm/rules/{unique-operation-name.js → unique-operation-name/index.js} +2 -2
  196. package/{cjs → esm}/utils.d.ts +2 -2
  197. package/esm/utils.js +39 -16
  198. package/{index.browser.mjs → index.browser.js} +352 -181
  199. package/package.json +7 -11
  200. package/cjs/configs/index.d.ts +0 -174
  201. package/cjs/flat-configs.d.ts +0 -307
  202. package/cjs/flat-configs.js +0 -55
  203. package/cjs/index.d.ts +0 -26
  204. package/cjs/rules/no-scalar-result-type-on-mutation.js +0 -88
  205. package/cjs/rules/no-typename-prefix.d.ts +0 -13
  206. package/cjs/rules/no-unreachable-types.d.ts +0 -13
  207. package/cjs/rules/no-unreachable-types.js +0 -176
  208. package/cjs/rules/no-unused-fields.d.ts +0 -13
  209. package/cjs/rules/no-unused-fields.js +0 -132
  210. package/cjs/rules/relay-page-info.d.ts +0 -13
  211. package/cjs/rules/require-deprecation-reason.d.ts +0 -13
  212. package/cjs/rules/require-deprecation-reason.js +0 -85
  213. package/cjs/rules/require-field-of-type-query-in-mutation-result.d.ts +0 -13
  214. package/cjs/rules/require-import-fragment.d.ts +0 -13
  215. package/cjs/rules/require-nullable-fields-with-oneof.d.ts +0 -13
  216. package/cjs/rules/require-nullable-fields-with-oneof.js +0 -81
  217. package/cjs/rules/require-nullable-result-in-root.d.ts +0 -13
  218. package/cjs/rules/require-type-pattern-with-oneof.d.ts +0 -13
  219. package/cjs/rules/require-type-pattern-with-oneof.js +0 -83
  220. package/cjs/rules/unique-enum-value-names.d.ts +0 -13
  221. package/cjs/rules/unique-fragment-name.js +0 -106
  222. package/cjs/rules/unique-operation-name.d.ts +0 -13
  223. package/esm/configs/index.d.mts +0 -174
  224. package/esm/estree-converter/index.d.mts +0 -8
  225. package/esm/flat-configs.d.mts +0 -307
  226. package/esm/flat-configs.js +0 -36
  227. package/esm/index.d.mts +0 -26
  228. package/esm/package.json +0 -1
  229. package/esm/rules/no-anonymous-operations.d.mts +0 -13
  230. package/esm/rules/no-duplicate-fields.d.mts +0 -13
  231. package/esm/rules/no-one-place-fragments.d.mts +0 -13
  232. package/esm/rules/no-scalar-result-type-on-mutation.d.mts +0 -13
  233. package/esm/rules/no-typename-prefix.d.mts +0 -13
  234. package/esm/rules/no-unreachable-types.d.mts +0 -13
  235. package/esm/rules/no-unused-fields.d.mts +0 -13
  236. package/esm/rules/no-unused-fields.js +0 -113
  237. package/esm/rules/relay-page-info.d.mts +0 -13
  238. package/esm/rules/require-deprecation-reason.d.mts +0 -13
  239. package/esm/rules/require-field-of-type-query-in-mutation-result.d.mts +0 -13
  240. package/esm/rules/require-import-fragment.d.mts +0 -13
  241. package/esm/rules/require-nullable-fields-with-oneof.d.mts +0 -13
  242. package/esm/rules/require-nullable-result-in-root.d.mts +0 -13
  243. package/esm/rules/require-type-pattern-with-oneof.d.mts +0 -13
  244. package/esm/rules/unique-enum-value-names.d.mts +0 -13
  245. package/esm/rules/unique-operation-name.d.mts +0 -13
  246. /package/cjs/configs/{operations-all.d.ts → operations-all.d.cts} +0 -0
  247. /package/cjs/configs/{operations-recommended.d.ts → operations-recommended.d.cts} +0 -0
  248. /package/cjs/configs/{schema-all.d.ts → schema-all.d.cts} +0 -0
  249. /package/cjs/configs/{schema-recommended.d.ts → schema-recommended.d.cts} +0 -0
  250. /package/cjs/configs/{schema-relay.d.ts → schema-relay.d.cts} +0 -0
  251. /package/cjs/{documents.d.ts → documents.d.cts} +0 -0
  252. /package/cjs/estree-converter/{types.d.ts → types.d.cts} +0 -0
  253. /package/cjs/{siblings.d.ts → siblings.d.cts} +0 -0
  254. /package/esm/configs/{operations-all.d.mts → operations-all.d.ts} +0 -0
  255. /package/esm/configs/{operations-recommended.d.mts → operations-recommended.d.ts} +0 -0
  256. /package/esm/configs/{schema-all.d.mts → schema-all.d.ts} +0 -0
  257. /package/esm/configs/{schema-recommended.d.mts → schema-recommended.d.ts} +0 -0
  258. /package/esm/configs/{schema-relay.d.mts → schema-relay.d.ts} +0 -0
  259. /package/esm/{documents.d.mts → documents.d.ts} +0 -0
  260. /package/{cjs → esm}/estree-converter/converter.d.ts +0 -0
  261. /package/esm/estree-converter/{types.d.mts → types.d.ts} +0 -0
  262. /package/{cjs → esm}/graphql-config.d.ts +0 -0
  263. /package/{cjs → esm}/rules/graphql-js-validation.d.ts +0 -0
  264. /package/{cjs → esm}/schema.d.ts +0 -0
  265. /package/esm/{siblings.d.mts → siblings.d.ts} +0 -0
  266. /package/{cjs → esm}/types.d.ts +0 -0
@@ -1,88 +0,0 @@
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 no_scalar_result_type_on_mutation_exports = {};
17
- __export(no_scalar_result_type_on_mutation_exports, {
18
- rule: () => rule
19
- });
20
- module.exports = __toCommonJS(no_scalar_result_type_on_mutation_exports);
21
- var import_graphql = require("graphql"), import_utils = require("../utils.js");
22
- const RULE_ID = "no-scalar-result-type-on-mutation", rule = {
23
- meta: {
24
- type: "suggestion",
25
- hasSuggestions: !0,
26
- docs: {
27
- category: "Schema",
28
- description: "Avoid scalar result type on mutation type to make sure to return a valid state.",
29
- url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
30
- requiresSchema: !0,
31
- examples: [
32
- {
33
- title: "Incorrect",
34
- code: (
35
- /* GraphQL */
36
- `
37
- type Mutation {
38
- createUser: Boolean
39
- }
40
- `
41
- )
42
- },
43
- {
44
- title: "Correct",
45
- code: (
46
- /* GraphQL */
47
- `
48
- type Mutation {
49
- createUser: User!
50
- }
51
- `
52
- )
53
- }
54
- ]
55
- },
56
- schema: []
57
- },
58
- create(context) {
59
- const schema = (0, import_utils.requireGraphQLSchemaFromContext)(RULE_ID, context), mutationType = schema.getMutationType();
60
- return mutationType ? {
61
- [[
62
- `:matches(ObjectTypeDefinition, ObjectTypeExtension)[name.value=${mutationType.name}]`,
63
- "> FieldDefinition > .gqlType Name"
64
- ].join(" ")](node) {
65
- const typeName = node.value, graphQLType = schema.getType(typeName);
66
- if ((0, import_graphql.isScalarType)(graphQLType)) {
67
- let fieldDef = node.parent;
68
- for (; fieldDef.kind !== import_graphql.Kind.FIELD_DEFINITION; )
69
- fieldDef = fieldDef.parent;
70
- context.report({
71
- node,
72
- message: `Unexpected scalar result type \`${typeName}\` for ${(0, import_utils.getNodeName)(fieldDef)}`,
73
- suggest: [
74
- {
75
- desc: `Remove \`${typeName}\``,
76
- fix: (fixer) => fixer.remove(node)
77
- }
78
- ]
79
- });
80
- }
81
- }
82
- } : {};
83
- }
84
- };
85
- // Annotate the CommonJS export names for ESM import in node:
86
- 0 && (module.exports = {
87
- rule
88
- });
@@ -1,13 +0,0 @@
1
- import { GraphQLESLintRule } from '../types.js';
2
- import 'eslint';
3
- import 'estree';
4
- import 'graphql';
5
- import 'graphql-config';
6
- import 'json-schema-to-ts';
7
- import '../estree-converter/types.js';
8
- import '../siblings.js';
9
- import '@graphql-tools/utils';
10
-
11
- declare const rule: GraphQLESLintRule;
12
-
13
- export { rule };
@@ -1,13 +0,0 @@
1
- import { GraphQLESLintRule } from '../types.js';
2
- import 'eslint';
3
- import 'estree';
4
- import 'graphql';
5
- import 'graphql-config';
6
- import 'json-schema-to-ts';
7
- import '../estree-converter/types.js';
8
- import '../siblings.js';
9
- import '@graphql-tools/utils';
10
-
11
- declare const rule: GraphQLESLintRule;
12
-
13
- export { rule };
@@ -1,176 +0,0 @@
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 no_unreachable_types_exports = {};
25
- __export(no_unreachable_types_exports, {
26
- rule: () => rule
27
- });
28
- module.exports = __toCommonJS(no_unreachable_types_exports);
29
- var import_graphql = require("graphql"), import_lodash = __toESM(require("lodash.lowercase")), import_utils = require("../utils.js");
30
- const RULE_ID = "no-unreachable-types", KINDS = [
31
- import_graphql.Kind.DIRECTIVE_DEFINITION,
32
- import_graphql.Kind.OBJECT_TYPE_DEFINITION,
33
- import_graphql.Kind.OBJECT_TYPE_EXTENSION,
34
- import_graphql.Kind.INTERFACE_TYPE_DEFINITION,
35
- import_graphql.Kind.INTERFACE_TYPE_EXTENSION,
36
- import_graphql.Kind.SCALAR_TYPE_DEFINITION,
37
- import_graphql.Kind.SCALAR_TYPE_EXTENSION,
38
- import_graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION,
39
- import_graphql.Kind.INPUT_OBJECT_TYPE_EXTENSION,
40
- import_graphql.Kind.UNION_TYPE_DEFINITION,
41
- import_graphql.Kind.UNION_TYPE_EXTENSION,
42
- import_graphql.Kind.ENUM_TYPE_DEFINITION,
43
- import_graphql.Kind.ENUM_TYPE_EXTENSION
44
- ];
45
- let reachableTypesCache;
46
- const RequestDirectiveLocations = /* @__PURE__ */ new Set([
47
- import_graphql.DirectiveLocation.QUERY,
48
- import_graphql.DirectiveLocation.MUTATION,
49
- import_graphql.DirectiveLocation.SUBSCRIPTION,
50
- import_graphql.DirectiveLocation.FIELD,
51
- import_graphql.DirectiveLocation.FRAGMENT_DEFINITION,
52
- import_graphql.DirectiveLocation.FRAGMENT_SPREAD,
53
- import_graphql.DirectiveLocation.INLINE_FRAGMENT,
54
- import_graphql.DirectiveLocation.VARIABLE_DEFINITION
55
- ]);
56
- function getReachableTypes(schema) {
57
- if (reachableTypesCache)
58
- return reachableTypesCache;
59
- const reachableTypes = /* @__PURE__ */ new Set(), collect = (node) => {
60
- const typeName = (0, import_utils.getTypeName)(node);
61
- if (reachableTypes.has(typeName))
62
- return;
63
- reachableTypes.add(typeName);
64
- const type = schema.getType(typeName) || schema.getDirective(typeName);
65
- if ((0, import_graphql.isInterfaceType)(type)) {
66
- const { objects, interfaces } = schema.getImplementations(type);
67
- for (const { astNode } of [...objects, ...interfaces])
68
- (0, import_graphql.visit)(astNode, visitor);
69
- } else type?.astNode && (0, import_graphql.visit)(type.astNode, visitor);
70
- }, visitor = {
71
- InterfaceTypeDefinition: collect,
72
- ObjectTypeDefinition: collect,
73
- InputValueDefinition: collect,
74
- UnionTypeDefinition: collect,
75
- FieldDefinition: collect,
76
- Directive: collect,
77
- NamedType: collect
78
- };
79
- for (const type of [
80
- schema,
81
- // visiting SchemaDefinition node
82
- schema.getQueryType(),
83
- schema.getMutationType(),
84
- schema.getSubscriptionType()
85
- ])
86
- type?.astNode && (0, import_graphql.visit)(type.astNode, visitor);
87
- for (const node of schema.getDirectives())
88
- if (node.locations.some((location) => RequestDirectiveLocations.has(location))) {
89
- reachableTypes.add(node.name);
90
- for (const arg of node.args) {
91
- const argTypeName = "name" in arg.type && arg.type.name;
92
- argTypeName && reachableTypes.add(argTypeName);
93
- }
94
- }
95
- return reachableTypesCache = reachableTypes, reachableTypesCache;
96
- }
97
- const rule = {
98
- meta: {
99
- messages: {
100
- [RULE_ID]: "{{ type }} `{{ typeName }}` is unreachable."
101
- },
102
- docs: {
103
- description: "Requires all types to be reachable at some level by root level fields.",
104
- category: "Schema",
105
- url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
106
- requiresSchema: !0,
107
- examples: [
108
- {
109
- title: "Incorrect",
110
- code: (
111
- /* GraphQL */
112
- `
113
- type User {
114
- id: ID!
115
- name: String
116
- }
117
-
118
- type Query {
119
- me: String
120
- }
121
- `
122
- )
123
- },
124
- {
125
- title: "Correct",
126
- code: (
127
- /* GraphQL */
128
- `
129
- type User {
130
- id: ID!
131
- name: String
132
- }
133
-
134
- type Query {
135
- me: User
136
- }
137
- `
138
- )
139
- }
140
- ],
141
- recommended: !0
142
- },
143
- type: "suggestion",
144
- schema: [],
145
- hasSuggestions: !0
146
- },
147
- create(context) {
148
- const schema = (0, import_utils.requireGraphQLSchemaFromContext)(RULE_ID, context), reachableTypes = getReachableTypes(schema);
149
- return {
150
- [`:matches(${KINDS}) > .name`](node) {
151
- const typeName = node.value;
152
- if (!reachableTypes.has(typeName)) {
153
- const type = (0, import_lodash.default)(node.parent.kind.replace(/(Extension|Definition)$/, ""));
154
- context.report({
155
- node,
156
- messageId: RULE_ID,
157
- data: {
158
- type: type[0].toUpperCase() + type.slice(1),
159
- typeName
160
- },
161
- suggest: [
162
- {
163
- desc: `Remove \`${typeName}\``,
164
- fix: (fixer) => fixer.remove(node.parent)
165
- }
166
- ]
167
- });
168
- }
169
- }
170
- };
171
- }
172
- };
173
- // Annotate the CommonJS export names for ESM import in node:
174
- 0 && (module.exports = {
175
- rule
176
- });
@@ -1,13 +0,0 @@
1
- import { GraphQLESLintRule } from '../types.js';
2
- import 'eslint';
3
- import 'estree';
4
- import 'graphql';
5
- import 'graphql-config';
6
- import 'json-schema-to-ts';
7
- import '../estree-converter/types.js';
8
- import '../siblings.js';
9
- import '@graphql-tools/utils';
10
-
11
- declare const rule: GraphQLESLintRule;
12
-
13
- export { rule };
@@ -1,132 +0,0 @@
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 no_unused_fields_exports = {};
17
- __export(no_unused_fields_exports, {
18
- rule: () => rule
19
- });
20
- module.exports = __toCommonJS(no_unused_fields_exports);
21
- var import_graphql = require("graphql"), import_utils = require("../utils.js");
22
- const RULE_ID = "no-unused-fields";
23
- let usedFieldsCache;
24
- function getUsedFields(schema, operations) {
25
- if (usedFieldsCache)
26
- return usedFieldsCache;
27
- const usedFields = /* @__PURE__ */ Object.create(null), typeInfo = new import_graphql.TypeInfo(schema), visitor = (0, import_graphql.visitWithTypeInfo)(typeInfo, {
28
- Field(node) {
29
- if (!typeInfo.getFieldDef())
30
- return !1;
31
- const parentTypeName = typeInfo.getParentType().name, fieldName = node.name.value;
32
- usedFields[parentTypeName] ??= /* @__PURE__ */ new Set(), usedFields[parentTypeName].add(fieldName);
33
- }
34
- }), allDocuments = [...operations.getOperations(), ...operations.getFragments()];
35
- for (const { document } of allDocuments)
36
- (0, import_graphql.visit)(document, visitor);
37
- return usedFieldsCache = usedFields, usedFieldsCache;
38
- }
39
- const rule = {
40
- meta: {
41
- messages: {
42
- [RULE_ID]: 'Field "{{fieldName}}" is unused'
43
- },
44
- docs: {
45
- description: "Requires all fields to be used at some level by siblings operations.",
46
- category: "Schema",
47
- url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
48
- requiresSiblings: !0,
49
- requiresSchema: !0,
50
- // Requires documents to be set
51
- isDisabledForAllConfig: !0,
52
- examples: [
53
- {
54
- title: "Incorrect",
55
- code: (
56
- /* GraphQL */
57
- `
58
- type User {
59
- id: ID!
60
- name: String
61
- someUnusedField: String
62
- }
63
-
64
- type Query {
65
- me: User
66
- }
67
-
68
- query {
69
- me {
70
- id
71
- name
72
- }
73
- }
74
- `
75
- )
76
- },
77
- {
78
- title: "Correct",
79
- code: (
80
- /* GraphQL */
81
- `
82
- type User {
83
- id: ID!
84
- name: String
85
- }
86
-
87
- type Query {
88
- me: User
89
- }
90
-
91
- query {
92
- me {
93
- id
94
- name
95
- }
96
- }
97
- `
98
- )
99
- }
100
- ]
101
- },
102
- type: "suggestion",
103
- schema: [],
104
- hasSuggestions: !0
105
- },
106
- create(context) {
107
- const schema = (0, import_utils.requireGraphQLSchemaFromContext)(RULE_ID, context), siblingsOperations = (0, import_utils.requireSiblingsOperations)(RULE_ID, context), usedFields = getUsedFields(schema, siblingsOperations);
108
- return {
109
- FieldDefinition(node) {
110
- const fieldName = node.name.value, parentTypeName = node.parent.name.value;
111
- usedFields[parentTypeName]?.has(fieldName) || context.report({
112
- node: node.name,
113
- messageId: RULE_ID,
114
- data: { fieldName },
115
- suggest: [
116
- {
117
- desc: `Remove \`${fieldName}\` field`,
118
- fix(fixer) {
119
- const sourceCode = context.getSourceCode(), tokenBefore = sourceCode.getTokenBefore(node), tokenAfter = sourceCode.getTokenAfter(node), isEmptyType = tokenBefore.type === "{" && tokenAfter.type === "}";
120
- return fixer.remove(isEmptyType ? node.parent : node);
121
- }
122
- }
123
- ]
124
- });
125
- }
126
- };
127
- }
128
- };
129
- // Annotate the CommonJS export names for ESM import in node:
130
- 0 && (module.exports = {
131
- rule
132
- });
@@ -1,13 +0,0 @@
1
- import { GraphQLESLintRule } from '../types.js';
2
- import 'eslint';
3
- import 'estree';
4
- import 'graphql';
5
- import 'graphql-config';
6
- import 'json-schema-to-ts';
7
- import '../estree-converter/types.js';
8
- import '../siblings.js';
9
- import '@graphql-tools/utils';
10
-
11
- declare const rule: GraphQLESLintRule;
12
-
13
- export { rule };
@@ -1,13 +0,0 @@
1
- import { GraphQLESLintRule } from '../types.js';
2
- import 'eslint';
3
- import 'estree';
4
- import 'graphql';
5
- import 'graphql-config';
6
- import 'json-schema-to-ts';
7
- import '../estree-converter/types.js';
8
- import '../siblings.js';
9
- import '@graphql-tools/utils';
10
-
11
- declare const rule: GraphQLESLintRule;
12
-
13
- export { rule };
@@ -1,85 +0,0 @@
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_deprecation_reason_exports = {};
17
- __export(require_deprecation_reason_exports, {
18
- rule: () => rule
19
- });
20
- module.exports = __toCommonJS(require_deprecation_reason_exports);
21
- var import_estree_converter = require("../estree-converter/index.js"), import_utils = require("../utils.js");
22
- const rule = {
23
- meta: {
24
- docs: {
25
- description: "Require all deprecation directives to specify a reason.",
26
- category: "Schema",
27
- url: "https://the-guild.dev/graphql/eslint/rules/require-deprecation-reason",
28
- recommended: !0,
29
- examples: [
30
- {
31
- title: "Incorrect",
32
- code: (
33
- /* GraphQL */
34
- `
35
- type MyType {
36
- name: String @deprecated
37
- }
38
- `
39
- )
40
- },
41
- {
42
- title: "Incorrect",
43
- code: (
44
- /* GraphQL */
45
- `
46
- type MyType {
47
- name: String @deprecated(reason: "")
48
- }
49
- `
50
- )
51
- },
52
- {
53
- title: "Correct",
54
- code: (
55
- /* GraphQL */
56
- `
57
- type MyType {
58
- name: String @deprecated(reason: "no longer relevant, please use fullName field")
59
- }
60
- `
61
- )
62
- }
63
- ]
64
- },
65
- type: "suggestion",
66
- schema: []
67
- },
68
- create(context) {
69
- return {
70
- "Directive[name.value=deprecated]"(node) {
71
- const reasonArgument = node.arguments?.find(
72
- (arg) => arg.name.value === "reason"
73
- );
74
- reasonArgument && String((0, import_estree_converter.valueFromNode)(reasonArgument.value)).trim() || context.report({
75
- node: node.name,
76
- message: `Deprecation reason is required for ${(0, import_utils.getNodeName)(node.parent)}.`
77
- });
78
- }
79
- };
80
- }
81
- };
82
- // Annotate the CommonJS export names for ESM import in node:
83
- 0 && (module.exports = {
84
- rule
85
- });
@@ -1,13 +0,0 @@
1
- import { GraphQLESLintRule } from '../types.js';
2
- import 'eslint';
3
- import 'estree';
4
- import 'graphql';
5
- import 'graphql-config';
6
- import 'json-schema-to-ts';
7
- import '../estree-converter/types.js';
8
- import '../siblings.js';
9
- import '@graphql-tools/utils';
10
-
11
- declare const rule: GraphQLESLintRule;
12
-
13
- export { rule };
@@ -1,13 +0,0 @@
1
- import { GraphQLESLintRule } from '../types.js';
2
- import 'eslint';
3
- import 'estree';
4
- import 'graphql';
5
- import 'graphql-config';
6
- import 'json-schema-to-ts';
7
- import '../estree-converter/types.js';
8
- import '../siblings.js';
9
- import '@graphql-tools/utils';
10
-
11
- declare const rule: GraphQLESLintRule;
12
-
13
- export { rule };
@@ -1,13 +0,0 @@
1
- import { GraphQLESLintRule } from '../types.js';
2
- import 'eslint';
3
- import 'estree';
4
- import 'graphql';
5
- import 'graphql-config';
6
- import 'json-schema-to-ts';
7
- import '../estree-converter/types.js';
8
- import '../siblings.js';
9
- import '@graphql-tools/utils';
10
-
11
- declare const rule: GraphQLESLintRule;
12
-
13
- export { rule };
@@ -1,81 +0,0 @@
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_fields_with_oneof_exports = {};
17
- __export(require_nullable_fields_with_oneof_exports, {
18
- rule: () => rule
19
- });
20
- module.exports = __toCommonJS(require_nullable_fields_with_oneof_exports);
21
- var import_graphql = require("graphql"), import_utils = require("../utils.js");
22
- const RULE_ID = "require-nullable-fields-with-oneof", rule = {
23
- meta: {
24
- type: "suggestion",
25
- docs: {
26
- category: "Schema",
27
- description: "Require `input` or `type` fields to be non-nullable with `@oneOf` directive.",
28
- url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
29
- examples: [
30
- {
31
- title: "Incorrect",
32
- code: (
33
- /* GraphQL */
34
- `
35
- input Input @oneOf {
36
- foo: String!
37
- b: Int
38
- }
39
- `
40
- )
41
- },
42
- {
43
- title: "Correct",
44
- code: (
45
- /* GraphQL */
46
- `
47
- input Input @oneOf {
48
- foo: String
49
- bar: Int
50
- }
51
- `
52
- )
53
- }
54
- ]
55
- },
56
- messages: {
57
- [RULE_ID]: '{{ nodeName }} must be nullable when "@oneOf" is in use'
58
- },
59
- schema: []
60
- },
61
- create(context) {
62
- return {
63
- "Directive[name.value=oneOf]"({ parent }) {
64
- if ([
65
- import_graphql.Kind.OBJECT_TYPE_DEFINITION,
66
- import_graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION
67
- ].includes(parent.kind))
68
- for (const field of parent.fields || [])
69
- field.gqlType.kind === import_graphql.Kind.NON_NULL_TYPE && context.report({
70
- node: field.name,
71
- messageId: RULE_ID,
72
- data: { nodeName: (0, import_utils.getNodeName)(field) }
73
- });
74
- }
75
- };
76
- }
77
- };
78
- // Annotate the CommonJS export names for ESM import in node:
79
- 0 && (module.exports = {
80
- rule
81
- });