@graphql-eslint/eslint-plugin 3.19.3 → 3.20.0-alpha-20230703154330-0d51273

Sign up to get free protection for your applications and to get access to all the features.
Files changed (302) hide show
  1. package/{typings → cjs}/cache.d.ts +3 -1
  2. package/cjs/cache.js +57 -26
  3. package/{typings → cjs}/configs/index.d.ts +3 -1
  4. package/cjs/configs/index.js +47 -14
  5. package/{typings → cjs}/configs/operations-all.d.ts +2 -1
  6. package/cjs/configs/operations-all.js +47 -30
  7. package/{typings → cjs}/configs/operations-recommended.d.ts +2 -1
  8. package/cjs/configs/operations-recommended.js +72 -55
  9. package/{typings → cjs}/configs/relay.d.ts +2 -1
  10. package/cjs/configs/relay.js +31 -11
  11. package/{typings → cjs}/configs/schema-all.d.ts +2 -1
  12. package/cjs/configs/schema-all.js +41 -24
  13. package/{typings → cjs}/configs/schema-recommended.d.ts +2 -1
  14. package/cjs/configs/schema-recommended.js +68 -51
  15. package/{typings → cjs}/documents.d.ts +4 -1
  16. package/cjs/documents.js +74 -43
  17. package/cjs/estree-converter/converter.d.ts +8 -0
  18. package/cjs/estree-converter/converter.js +80 -59
  19. package/cjs/estree-converter/index.d.ts +8 -0
  20. package/cjs/estree-converter/index.js +25 -5
  21. package/{typings → cjs}/estree-converter/types.d.ts +7 -5
  22. package/cjs/estree-converter/types.js +16 -0
  23. package/cjs/estree-converter/utils.d.ts +18 -0
  24. package/cjs/estree-converter/utils.js +119 -95
  25. package/{typings → cjs}/flat-configs.d.ts +12 -1
  26. package/cjs/flat-configs.js +56 -32
  27. package/cjs/graphql-config.d.ts +13 -0
  28. package/cjs/graphql-config.js +78 -47
  29. package/cjs/index.d.ts +22 -0
  30. package/cjs/index.js +50 -18
  31. package/cjs/parser.d.ts +12 -0
  32. package/cjs/parser.js +96 -76
  33. package/cjs/processor.d.ts +9 -0
  34. package/cjs/processor.js +119 -88
  35. package/{typings → cjs}/rules/alphabetize.d.ts +12 -4
  36. package/cjs/rules/alphabetize.js +337 -295
  37. package/{typings → cjs}/rules/description-style.d.ts +12 -4
  38. package/cjs/rules/description-style.js +96 -66
  39. package/cjs/rules/graphql-js-validation.d.ts +12 -0
  40. package/cjs/rules/graphql-js-validation.js +595 -433
  41. package/cjs/rules/index.d.ts +125 -0
  42. package/cjs/rules/index.js +97 -76
  43. package/{typings → cjs}/rules/input-name.d.ts +12 -4
  44. package/cjs/rules/input-name.js +153 -123
  45. package/{typings → cjs}/rules/lone-executable-definition.d.ts +12 -4
  46. package/cjs/rules/lone-executable-definition.js +101 -72
  47. package/{typings → cjs}/rules/match-document-filename.d.ts +14 -6
  48. package/cjs/rules/match-document-filename.js +229 -182
  49. package/{typings → cjs}/rules/naming-convention.d.ts +12 -4
  50. package/cjs/rules/naming-convention.js +380 -316
  51. package/cjs/rules/no-anonymous-operations.d.ts +12 -0
  52. package/cjs/rules/no-anonymous-operations.js +88 -57
  53. package/cjs/rules/no-case-insensitive-enum-values-duplicates.d.ts +12 -0
  54. package/cjs/rules/no-case-insensitive-enum-values-duplicates.js +82 -50
  55. package/cjs/rules/no-deprecated.d.ts +12 -0
  56. package/cjs/rules/no-deprecated.js +106 -75
  57. package/cjs/rules/no-duplicate-fields.d.ts +12 -0
  58. package/cjs/rules/no-duplicate-fields.js +116 -82
  59. package/cjs/rules/no-hashtag-description.d.ts +13 -0
  60. package/cjs/rules/no-hashtag-description.js +119 -82
  61. package/cjs/rules/no-one-place-fragments.d.ts +12 -0
  62. package/cjs/rules/no-one-place-fragments.js +88 -58
  63. package/{typings → cjs}/rules/no-root-type.d.ts +12 -4
  64. package/cjs/rules/no-root-type.js +101 -74
  65. package/cjs/rules/no-scalar-result-type-on-mutation.d.ts +12 -0
  66. package/cjs/rules/no-scalar-result-type-on-mutation.js +90 -60
  67. package/cjs/rules/no-typename-prefix.d.ts +12 -0
  68. package/cjs/rules/no-typename-prefix.js +88 -55
  69. package/cjs/rules/no-unreachable-types.d.ts +12 -0
  70. package/cjs/rules/no-unreachable-types.js +169 -134
  71. package/cjs/rules/no-unused-fields.d.ts +12 -0
  72. package/cjs/rules/no-unused-fields.js +117 -92
  73. package/{typings → cjs}/rules/relay-arguments.d.ts +12 -4
  74. package/cjs/rules/relay-arguments.js +136 -110
  75. package/cjs/rules/relay-connection-types.d.ts +13 -0
  76. package/cjs/rules/relay-connection-types.js +123 -94
  77. package/{typings → cjs}/rules/relay-edge-types.d.ts +12 -4
  78. package/cjs/rules/relay-edge-types.js +196 -179
  79. package/cjs/rules/relay-page-info.d.ts +12 -0
  80. package/cjs/rules/relay-page-info.js +108 -89
  81. package/{typings → cjs}/rules/require-deprecation-date.d.ts +12 -4
  82. package/cjs/rules/require-deprecation-date.js +143 -112
  83. package/cjs/rules/require-deprecation-reason.d.ts +12 -0
  84. package/cjs/rules/require-deprecation-reason.js +80 -46
  85. package/{typings → cjs}/rules/require-description.d.ts +13 -5
  86. package/cjs/rules/require-description.js +170 -132
  87. package/cjs/rules/require-field-of-type-query-in-mutation-result.d.ts +12 -0
  88. package/cjs/rules/require-field-of-type-query-in-mutation-result.js +81 -51
  89. package/{typings → cjs}/rules/require-id-when-available.d.ts +12 -4
  90. package/cjs/rules/require-id-when-available.js +196 -173
  91. package/cjs/rules/require-import-fragment.d.ts +12 -0
  92. package/cjs/rules/require-import-fragment.js +138 -88
  93. package/cjs/rules/require-nullable-fields-with-oneof.d.ts +12 -0
  94. package/cjs/rules/require-nullable-fields-with-oneof.js +80 -50
  95. package/cjs/rules/require-nullable-result-in-root.d.ts +12 -0
  96. package/cjs/rules/require-nullable-result-in-root.js +97 -68
  97. package/cjs/rules/require-type-pattern-with-oneof.d.ts +12 -0
  98. package/cjs/rules/require-type-pattern-with-oneof.js +70 -42
  99. package/{typings → cjs}/rules/selection-set-depth.d.ts +12 -4
  100. package/cjs/rules/selection-set-depth.js +147 -107
  101. package/{typings → cjs}/rules/strict-id-in-types.d.ts +12 -4
  102. package/cjs/rules/strict-id-in-types.js +143 -122
  103. package/cjs/rules/unique-fragment-name.d.ts +13 -0
  104. package/cjs/rules/unique-fragment-name.js +88 -62
  105. package/cjs/rules/unique-operation-name.d.ts +12 -0
  106. package/cjs/rules/unique-operation-name.js +65 -35
  107. package/cjs/schema.d.ts +12 -0
  108. package/cjs/schema.js +62 -30
  109. package/cjs/siblings.d.ts +8 -0
  110. package/cjs/siblings.js +124 -106
  111. package/cjs/testkit.d.ts +8 -0
  112. package/cjs/testkit.js +165 -144
  113. package/cjs/types-e3367e3c.d.ts +129 -0
  114. package/cjs/types.d.ts +8 -0
  115. package/cjs/types.js +16 -0
  116. package/cjs/utils.d.ts +44 -0
  117. package/cjs/utils.js +181 -124
  118. package/{typings/cache.d.cts → esm/cache.d.mts} +3 -1
  119. package/esm/cache.js +25 -23
  120. package/{typings/configs/index.d.cts → esm/configs/index.d.mts} +3 -1
  121. package/esm/configs/index.js +14 -11
  122. package/{typings/configs/operations-all.d.cts → esm/configs/operations-all.d.mts} +2 -1
  123. package/esm/configs/operations-all.js +28 -28
  124. package/{typings/configs/operations-recommended.d.cts → esm/configs/operations-recommended.d.mts} +2 -1
  125. package/esm/configs/operations-recommended.js +53 -53
  126. package/{typings/configs/relay.d.cts → esm/configs/relay.d.mts} +2 -1
  127. package/esm/configs/relay.js +12 -9
  128. package/{typings/configs/schema-all.d.cts → esm/configs/schema-all.d.mts} +2 -1
  129. package/esm/configs/schema-all.js +22 -22
  130. package/{typings/configs/schema-recommended.d.cts → esm/configs/schema-recommended.d.mts} +2 -1
  131. package/esm/configs/schema-recommended.js +49 -49
  132. package/{typings/documents.d.cts → esm/documents.d.mts} +4 -1
  133. package/esm/documents.js +41 -39
  134. package/esm/estree-converter/converter.d.mts +8 -0
  135. package/esm/estree-converter/converter.js +63 -57
  136. package/esm/estree-converter/index.d.mts +8 -0
  137. package/esm/estree-converter/index.js +3 -3
  138. package/{typings/estree-converter/types.d.cts → esm/estree-converter/types.d.mts} +7 -5
  139. package/esm/estree-converter/utils.d.mts +18 -0
  140. package/esm/estree-converter/utils.js +102 -93
  141. package/{typings/flat-configs.d.cts → esm/flat-configs.d.mts} +13 -2
  142. package/esm/flat-configs.js +33 -30
  143. package/esm/graphql-config.d.mts +13 -0
  144. package/esm/graphql-config.js +49 -44
  145. package/esm/index.d.mts +22 -0
  146. package/esm/index.js +18 -9
  147. package/esm/package.json +1 -1
  148. package/esm/parser.d.mts +12 -0
  149. package/esm/parser.js +64 -73
  150. package/esm/processor.d.mts +9 -0
  151. package/esm/processor.js +98 -86
  152. package/{typings/rules/alphabetize.d.cts → esm/rules/alphabetize.d.mts} +12 -4
  153. package/esm/rules/alphabetize.js +304 -290
  154. package/{typings/rules/description-style.d.cts → esm/rules/description-style.d.mts} +12 -4
  155. package/esm/rules/description-style.js +73 -64
  156. package/esm/rules/graphql-js-validation.d.mts +12 -0
  157. package/esm/rules/graphql-js-validation.js +580 -429
  158. package/esm/rules/index.d.mts +125 -0
  159. package/esm/rules/index.js +74 -74
  160. package/{typings/rules/input-name.d.cts → esm/rules/input-name.d.mts} +12 -4
  161. package/esm/rules/input-name.js +132 -121
  162. package/{typings/rules/lone-executable-definition.d.cts → esm/rules/lone-executable-definition.d.mts} +12 -4
  163. package/esm/rules/lone-executable-definition.js +78 -70
  164. package/{typings/rules/match-document-filename.d.cts → esm/rules/match-document-filename.d.mts} +14 -6
  165. package/esm/rules/match-document-filename.js +210 -180
  166. package/{typings/rules/naming-convention.d.cts → esm/rules/naming-convention.d.mts} +12 -4
  167. package/esm/rules/naming-convention.js +363 -314
  168. package/esm/rules/no-anonymous-operations.d.mts +12 -0
  169. package/esm/rules/no-anonymous-operations.js +65 -55
  170. package/esm/rules/no-case-insensitive-enum-values-duplicates.d.mts +12 -0
  171. package/esm/rules/no-case-insensitive-enum-values-duplicates.js +59 -48
  172. package/esm/rules/no-deprecated.d.mts +12 -0
  173. package/esm/rules/no-deprecated.js +83 -73
  174. package/esm/rules/no-duplicate-fields.d.mts +12 -0
  175. package/esm/rules/no-duplicate-fields.js +93 -80
  176. package/esm/rules/no-hashtag-description.d.mts +13 -0
  177. package/esm/rules/no-hashtag-description.js +95 -80
  178. package/esm/rules/no-one-place-fragments.d.mts +12 -0
  179. package/esm/rules/no-one-place-fragments.js +65 -56
  180. package/{typings/rules/no-root-type.d.cts → esm/rules/no-root-type.d.mts} +12 -4
  181. package/esm/rules/no-root-type.js +78 -72
  182. package/esm/rules/no-scalar-result-type-on-mutation.d.mts +12 -0
  183. package/esm/rules/no-scalar-result-type-on-mutation.js +67 -58
  184. package/esm/rules/no-typename-prefix.d.mts +12 -0
  185. package/esm/rules/no-typename-prefix.js +65 -53
  186. package/esm/rules/no-unreachable-types.d.mts +12 -0
  187. package/esm/rules/no-unreachable-types.js +141 -131
  188. package/esm/rules/no-unused-fields.d.mts +12 -0
  189. package/esm/rules/no-unused-fields.js +94 -90
  190. package/{typings/rules/relay-arguments.d.cts → esm/rules/relay-arguments.d.mts} +12 -4
  191. package/esm/rules/relay-arguments.js +113 -108
  192. package/esm/rules/relay-connection-types.d.mts +13 -0
  193. package/esm/rules/relay-connection-types.js +98 -91
  194. package/{typings/rules/relay-edge-types.d.cts → esm/rules/relay-edge-types.d.mts} +12 -4
  195. package/esm/rules/relay-edge-types.js +178 -177
  196. package/esm/rules/relay-page-info.d.mts +12 -0
  197. package/esm/rules/relay-page-info.js +84 -86
  198. package/{typings/rules/require-deprecation-date.d.cts → esm/rules/require-deprecation-date.d.mts} +12 -4
  199. package/esm/rules/require-deprecation-date.js +120 -110
  200. package/esm/rules/require-deprecation-reason.d.mts +12 -0
  201. package/esm/rules/require-deprecation-reason.js +57 -44
  202. package/{typings/rules/require-description.d.cts → esm/rules/require-description.d.mts} +13 -5
  203. package/esm/rules/require-description.js +151 -130
  204. package/esm/rules/require-field-of-type-query-in-mutation-result.d.mts +12 -0
  205. package/esm/rules/require-field-of-type-query-in-mutation-result.js +58 -49
  206. package/{typings/rules/require-id-when-available.d.cts → esm/rules/require-id-when-available.d.mts} +12 -4
  207. package/esm/rules/require-id-when-available.js +186 -171
  208. package/esm/rules/require-import-fragment.d.mts +12 -0
  209. package/esm/rules/require-import-fragment.js +105 -85
  210. package/esm/rules/require-nullable-fields-with-oneof.d.mts +12 -0
  211. package/esm/rules/require-nullable-fields-with-oneof.js +57 -48
  212. package/esm/rules/require-nullable-result-in-root.d.mts +12 -0
  213. package/esm/rules/require-nullable-result-in-root.js +74 -66
  214. package/esm/rules/require-type-pattern-with-oneof.d.mts +12 -0
  215. package/esm/rules/require-type-pattern-with-oneof.js +47 -40
  216. package/{typings/rules/selection-set-depth.d.cts → esm/rules/selection-set-depth.d.mts} +12 -4
  217. package/esm/rules/selection-set-depth.js +114 -104
  218. package/{typings/rules/strict-id-in-types.d.cts → esm/rules/strict-id-in-types.d.mts} +12 -4
  219. package/esm/rules/strict-id-in-types.js +125 -119
  220. package/esm/rules/unique-fragment-name.d.mts +13 -0
  221. package/esm/rules/unique-fragment-name.js +65 -60
  222. package/esm/rules/unique-operation-name.d.mts +12 -0
  223. package/esm/rules/unique-operation-name.js +42 -33
  224. package/esm/schema.d.mts +12 -0
  225. package/esm/schema.js +29 -26
  226. package/esm/siblings.d.mts +8 -0
  227. package/esm/siblings.js +105 -104
  228. package/esm/testkit.d.mts +8 -0
  229. package/esm/testkit.js +132 -141
  230. package/esm/types-2e1afd7c.d.ts +129 -0
  231. package/esm/types.d.mts +8 -0
  232. package/esm/utils.d.mts +44 -0
  233. package/esm/utils.js +138 -116
  234. package/package.json +40 -30
  235. package/typings/estree-converter/converter.d.cts +0 -3
  236. package/typings/estree-converter/converter.d.ts +0 -3
  237. package/typings/estree-converter/index.d.cts +0 -3
  238. package/typings/estree-converter/index.d.ts +0 -3
  239. package/typings/estree-converter/utils.d.cts +0 -13
  240. package/typings/estree-converter/utils.d.ts +0 -13
  241. package/typings/graphql-config.d.cts +0 -4
  242. package/typings/graphql-config.d.ts +0 -4
  243. package/typings/index.d.cts +0 -10
  244. package/typings/index.d.ts +0 -10
  245. package/typings/parser.d.cts +0 -2
  246. package/typings/parser.d.ts +0 -2
  247. package/typings/processor.d.cts +0 -6
  248. package/typings/processor.d.ts +0 -6
  249. package/typings/rules/graphql-js-validation.d.cts +0 -2
  250. package/typings/rules/graphql-js-validation.d.ts +0 -2
  251. package/typings/rules/index.d.cts +0 -111
  252. package/typings/rules/index.d.ts +0 -111
  253. package/typings/rules/no-anonymous-operations.d.cts +0 -2
  254. package/typings/rules/no-anonymous-operations.d.ts +0 -2
  255. package/typings/rules/no-case-insensitive-enum-values-duplicates.d.cts +0 -2
  256. package/typings/rules/no-case-insensitive-enum-values-duplicates.d.ts +0 -2
  257. package/typings/rules/no-deprecated.d.cts +0 -2
  258. package/typings/rules/no-deprecated.d.ts +0 -2
  259. package/typings/rules/no-duplicate-fields.d.cts +0 -2
  260. package/typings/rules/no-duplicate-fields.d.ts +0 -2
  261. package/typings/rules/no-hashtag-description.d.cts +0 -3
  262. package/typings/rules/no-hashtag-description.d.ts +0 -3
  263. package/typings/rules/no-one-place-fragments.d.cts +0 -2
  264. package/typings/rules/no-one-place-fragments.d.ts +0 -2
  265. package/typings/rules/no-scalar-result-type-on-mutation.d.cts +0 -2
  266. package/typings/rules/no-scalar-result-type-on-mutation.d.ts +0 -2
  267. package/typings/rules/no-typename-prefix.d.cts +0 -2
  268. package/typings/rules/no-typename-prefix.d.ts +0 -2
  269. package/typings/rules/no-unreachable-types.d.cts +0 -2
  270. package/typings/rules/no-unreachable-types.d.ts +0 -2
  271. package/typings/rules/no-unused-fields.d.cts +0 -2
  272. package/typings/rules/no-unused-fields.d.ts +0 -2
  273. package/typings/rules/relay-connection-types.d.cts +0 -4
  274. package/typings/rules/relay-connection-types.d.ts +0 -4
  275. package/typings/rules/relay-page-info.d.cts +0 -2
  276. package/typings/rules/relay-page-info.d.ts +0 -2
  277. package/typings/rules/require-deprecation-reason.d.cts +0 -2
  278. package/typings/rules/require-deprecation-reason.d.ts +0 -2
  279. package/typings/rules/require-field-of-type-query-in-mutation-result.d.cts +0 -2
  280. package/typings/rules/require-field-of-type-query-in-mutation-result.d.ts +0 -2
  281. package/typings/rules/require-import-fragment.d.cts +0 -2
  282. package/typings/rules/require-import-fragment.d.ts +0 -2
  283. package/typings/rules/require-nullable-fields-with-oneof.d.cts +0 -2
  284. package/typings/rules/require-nullable-fields-with-oneof.d.ts +0 -2
  285. package/typings/rules/require-nullable-result-in-root.d.cts +0 -2
  286. package/typings/rules/require-nullable-result-in-root.d.ts +0 -2
  287. package/typings/rules/require-type-pattern-with-oneof.d.cts +0 -2
  288. package/typings/rules/require-type-pattern-with-oneof.d.ts +0 -2
  289. package/typings/rules/unique-fragment-name.d.cts +0 -5
  290. package/typings/rules/unique-fragment-name.d.ts +0 -5
  291. package/typings/rules/unique-operation-name.d.cts +0 -2
  292. package/typings/rules/unique-operation-name.d.ts +0 -2
  293. package/typings/schema.d.cts +0 -3
  294. package/typings/schema.d.ts +0 -3
  295. package/typings/siblings.d.cts +0 -22
  296. package/typings/siblings.d.ts +0 -22
  297. package/typings/testkit.d.cts +0 -29
  298. package/typings/testkit.d.ts +0 -29
  299. package/typings/types.d.cts +0 -83
  300. package/typings/types.d.ts +0 -83
  301. package/typings/utils.d.cts +0 -40
  302. package/typings/utils.d.ts +0 -40
@@ -0,0 +1,125 @@
1
+ import { RuleOptions } from './require-description.js';
2
+ import { CaseStyle } from '../utils.js';
3
+ import { i as GraphQLESLintRule } from '../types-e3367e3c.js';
4
+ import * as json_schema_to_ts_lib_types_type_utils_writable_js from 'json-schema-to-ts/lib/types/type-utils/writable.js';
5
+ import 'graphql';
6
+ import 'eslint';
7
+ import 'estree';
8
+ import '../estree-converter/types.js';
9
+ import '@graphql-tools/utils';
10
+ import 'graphql-config';
11
+ import 'json-schema-to-ts';
12
+
13
+ declare const rules: {
14
+ alphabetize: GraphQLESLintRule<{
15
+ definitions?: boolean | undefined;
16
+ selections?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<"OperationDefinition" | "FragmentDefinition">[] | undefined;
17
+ arguments?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<"Field" | "Directive" | "FieldDefinition" | "DirectiveDefinition">[] | undefined;
18
+ values?: "EnumTypeDefinition"[] | undefined;
19
+ fields?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<"ObjectTypeDefinition" | "InterfaceTypeDefinition" | "InputObjectTypeDefinition">[] | undefined;
20
+ variables?: "OperationDefinition"[] | undefined;
21
+ groups?: string[] | undefined;
22
+ }[]>;
23
+ 'description-style': GraphQLESLintRule<{
24
+ style?: "block" | "inline" | undefined;
25
+ }[]>;
26
+ 'input-name': GraphQLESLintRule<{
27
+ checkInputType?: boolean | undefined;
28
+ caseSensitiveInputType?: boolean | undefined;
29
+ checkQueries?: boolean | undefined;
30
+ checkMutations?: boolean | undefined;
31
+ }[]>;
32
+ 'lone-executable-definition': GraphQLESLintRule<{
33
+ ignore?: ("fragment" | "query" | "mutation" | "subscription")[] | undefined;
34
+ }[]>;
35
+ 'match-document-filename': GraphQLESLintRule<{
36
+ fragment?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<CaseStyle | "matchDocumentStyle"> | {
37
+ style?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<CaseStyle | "matchDocumentStyle"> | undefined;
38
+ suffix?: string | undefined;
39
+ prefix?: string | undefined;
40
+ } | undefined;
41
+ query?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<CaseStyle | "matchDocumentStyle"> | {
42
+ style?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<CaseStyle | "matchDocumentStyle"> | undefined;
43
+ suffix?: string | undefined;
44
+ prefix?: string | undefined;
45
+ } | undefined;
46
+ mutation?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<CaseStyle | "matchDocumentStyle"> | {
47
+ style?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<CaseStyle | "matchDocumentStyle"> | undefined;
48
+ suffix?: string | undefined;
49
+ prefix?: string | undefined;
50
+ } | undefined;
51
+ subscription?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<CaseStyle | "matchDocumentStyle"> | {
52
+ style?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<CaseStyle | "matchDocumentStyle"> | undefined;
53
+ suffix?: string | undefined;
54
+ prefix?: string | undefined;
55
+ } | undefined;
56
+ fileExtension?: ".gql" | ".graphql" | undefined;
57
+ }[]>;
58
+ 'naming-convention': GraphQLESLintRule<{
59
+ [x: string]: unknown;
60
+ types?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<"camelCase" | "PascalCase" | "snake_case" | "UPPER_CASE"> | {
61
+ style?: json_schema_to_ts_lib_types_type_utils_writable_js.DeepWritable<"camelCase" | "PascalCase" | "snake_case" | "UPPER_CASE"> | undefined;
62
+ suffix?: string | undefined;
63
+ prefix?: string | undefined;
64
+ forbiddenPrefixes?: string[] | undefined;
65
+ forbiddenSuffixes?: string[] | undefined;
66
+ requiredPrefixes?: string[] | undefined;
67
+ requiredSuffixes?: string[] | undefined;
68
+ ignorePattern?: string | undefined;
69
+ } | undefined;
70
+ allowLeadingUnderscore?: boolean | undefined;
71
+ allowTrailingUnderscore?: boolean | undefined;
72
+ }[]>;
73
+ 'no-anonymous-operations': GraphQLESLintRule;
74
+ 'no-case-insensitive-enum-values-duplicates': GraphQLESLintRule;
75
+ 'no-deprecated': GraphQLESLintRule<[], true>;
76
+ 'no-duplicate-fields': GraphQLESLintRule;
77
+ 'no-hashtag-description': GraphQLESLintRule;
78
+ 'no-one-place-fragments': GraphQLESLintRule;
79
+ 'no-root-type': GraphQLESLintRule<{
80
+ disallow: ("mutation" | "subscription")[];
81
+ }[]>;
82
+ 'no-scalar-result-type-on-mutation': GraphQLESLintRule;
83
+ 'no-typename-prefix': GraphQLESLintRule;
84
+ 'no-unreachable-types': GraphQLESLintRule;
85
+ 'no-unused-fields': GraphQLESLintRule;
86
+ 'relay-arguments': GraphQLESLintRule<{
87
+ includeBoth?: boolean | undefined;
88
+ }[], true>;
89
+ 'relay-connection-types': GraphQLESLintRule;
90
+ 'relay-edge-types': GraphQLESLintRule<{
91
+ withEdgeSuffix?: boolean | undefined;
92
+ shouldImplementNode?: boolean | undefined;
93
+ listTypeCanWrapOnlyEdgeType?: boolean | undefined;
94
+ }[], true>;
95
+ 'relay-page-info': GraphQLESLintRule;
96
+ 'require-deprecation-date': GraphQLESLintRule<{
97
+ argumentName?: string | undefined;
98
+ }[]>;
99
+ 'require-deprecation-reason': GraphQLESLintRule;
100
+ 'require-description': GraphQLESLintRule<RuleOptions>;
101
+ 'require-field-of-type-query-in-mutation-result': GraphQLESLintRule;
102
+ 'require-id-when-available': GraphQLESLintRule<{
103
+ fieldName?: string | string[] | undefined;
104
+ }[], true>;
105
+ 'require-import-fragment': GraphQLESLintRule;
106
+ 'require-nullable-fields-with-oneof': GraphQLESLintRule;
107
+ 'require-nullable-result-in-root': GraphQLESLintRule;
108
+ 'require-type-pattern-with-oneof': GraphQLESLintRule;
109
+ 'selection-set-depth': GraphQLESLintRule<{
110
+ ignore?: string[] | undefined;
111
+ maxDepth: number;
112
+ }[]>;
113
+ 'strict-id-in-types': GraphQLESLintRule<{
114
+ acceptedIdNames?: string[] | undefined;
115
+ acceptedIdTypes?: string[] | undefined;
116
+ exceptions?: {
117
+ types?: string[] | undefined;
118
+ suffixes?: string[] | undefined;
119
+ } | undefined;
120
+ }[]>;
121
+ 'unique-fragment-name': GraphQLESLintRule;
122
+ 'unique-operation-name': GraphQLESLintRule;
123
+ };
124
+
125
+ export { rules };
@@ -1,78 +1,99 @@
1
1
  "use strict";
2
- /*
3
- * 🚨 IMPORTANT! Do not manually modify this file. Run: `yarn generate-configs`
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.rules = void 0;
7
- const graphql_js_validation_js_1 = require("./graphql-js-validation.js");
8
- const alphabetize_js_1 = require("./alphabetize.js");
9
- const description_style_js_1 = require("./description-style.js");
10
- const input_name_js_1 = require("./input-name.js");
11
- const lone_executable_definition_js_1 = require("./lone-executable-definition.js");
12
- const match_document_filename_js_1 = require("./match-document-filename.js");
13
- const naming_convention_js_1 = require("./naming-convention.js");
14
- const no_anonymous_operations_js_1 = require("./no-anonymous-operations.js");
15
- const no_case_insensitive_enum_values_duplicates_js_1 = require("./no-case-insensitive-enum-values-duplicates.js");
16
- const no_deprecated_js_1 = require("./no-deprecated.js");
17
- const no_duplicate_fields_js_1 = require("./no-duplicate-fields.js");
18
- const no_hashtag_description_js_1 = require("./no-hashtag-description.js");
19
- const no_one_place_fragments_js_1 = require("./no-one-place-fragments.js");
20
- const no_root_type_js_1 = require("./no-root-type.js");
21
- const no_scalar_result_type_on_mutation_js_1 = require("./no-scalar-result-type-on-mutation.js");
22
- const no_typename_prefix_js_1 = require("./no-typename-prefix.js");
23
- const no_unreachable_types_js_1 = require("./no-unreachable-types.js");
24
- const no_unused_fields_js_1 = require("./no-unused-fields.js");
25
- const relay_arguments_js_1 = require("./relay-arguments.js");
26
- const relay_connection_types_js_1 = require("./relay-connection-types.js");
27
- const relay_edge_types_js_1 = require("./relay-edge-types.js");
28
- const relay_page_info_js_1 = require("./relay-page-info.js");
29
- const require_deprecation_date_js_1 = require("./require-deprecation-date.js");
30
- const require_deprecation_reason_js_1 = require("./require-deprecation-reason.js");
31
- const require_description_js_1 = require("./require-description.js");
32
- const require_field_of_type_query_in_mutation_result_js_1 = require("./require-field-of-type-query-in-mutation-result.js");
33
- const require_id_when_available_js_1 = require("./require-id-when-available.js");
34
- const require_import_fragment_js_1 = require("./require-import-fragment.js");
35
- const require_nullable_fields_with_oneof_js_1 = require("./require-nullable-fields-with-oneof.js");
36
- const require_nullable_result_in_root_js_1 = require("./require-nullable-result-in-root.js");
37
- const require_type_pattern_with_oneof_js_1 = require("./require-type-pattern-with-oneof.js");
38
- const selection_set_depth_js_1 = require("./selection-set-depth.js");
39
- const strict_id_in_types_js_1 = require("./strict-id-in-types.js");
40
- const unique_fragment_name_js_1 = require("./unique-fragment-name.js");
41
- const unique_operation_name_js_1 = require("./unique-operation-name.js");
42
- exports.rules = {
43
- ...graphql_js_validation_js_1.GRAPHQL_JS_VALIDATIONS,
44
- alphabetize: alphabetize_js_1.rule,
45
- 'description-style': description_style_js_1.rule,
46
- 'input-name': input_name_js_1.rule,
47
- 'lone-executable-definition': lone_executable_definition_js_1.rule,
48
- 'match-document-filename': match_document_filename_js_1.rule,
49
- 'naming-convention': naming_convention_js_1.rule,
50
- 'no-anonymous-operations': no_anonymous_operations_js_1.rule,
51
- 'no-case-insensitive-enum-values-duplicates': no_case_insensitive_enum_values_duplicates_js_1.rule,
52
- 'no-deprecated': no_deprecated_js_1.rule,
53
- 'no-duplicate-fields': no_duplicate_fields_js_1.rule,
54
- 'no-hashtag-description': no_hashtag_description_js_1.rule,
55
- 'no-one-place-fragments': no_one_place_fragments_js_1.rule,
56
- 'no-root-type': no_root_type_js_1.rule,
57
- 'no-scalar-result-type-on-mutation': no_scalar_result_type_on_mutation_js_1.rule,
58
- 'no-typename-prefix': no_typename_prefix_js_1.rule,
59
- 'no-unreachable-types': no_unreachable_types_js_1.rule,
60
- 'no-unused-fields': no_unused_fields_js_1.rule,
61
- 'relay-arguments': relay_arguments_js_1.rule,
62
- 'relay-connection-types': relay_connection_types_js_1.rule,
63
- 'relay-edge-types': relay_edge_types_js_1.rule,
64
- 'relay-page-info': relay_page_info_js_1.rule,
65
- 'require-deprecation-date': require_deprecation_date_js_1.rule,
66
- 'require-deprecation-reason': require_deprecation_reason_js_1.rule,
67
- 'require-description': require_description_js_1.rule,
68
- 'require-field-of-type-query-in-mutation-result': require_field_of_type_query_in_mutation_result_js_1.rule,
69
- 'require-id-when-available': require_id_when_available_js_1.rule,
70
- 'require-import-fragment': require_import_fragment_js_1.rule,
71
- 'require-nullable-fields-with-oneof': require_nullable_fields_with_oneof_js_1.rule,
72
- 'require-nullable-result-in-root': require_nullable_result_in_root_js_1.rule,
73
- 'require-type-pattern-with-oneof': require_type_pattern_with_oneof_js_1.rule,
74
- 'selection-set-depth': selection_set_depth_js_1.rule,
75
- 'strict-id-in-types': strict_id_in_types_js_1.rule,
76
- 'unique-fragment-name': unique_fragment_name_js_1.rule,
77
- 'unique-operation-name': unique_operation_name_js_1.rule,
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: true });
78
9
  };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var rules_exports = {};
20
+ __export(rules_exports, {
21
+ rules: () => rules
22
+ });
23
+ module.exports = __toCommonJS(rules_exports);
24
+ var import_graphql_js_validation = require("./graphql-js-validation.js");
25
+ var import_alphabetize = require("./alphabetize.js");
26
+ var import_description_style = require("./description-style.js");
27
+ var import_input_name = require("./input-name.js");
28
+ var import_lone_executable_definition = require("./lone-executable-definition.js");
29
+ var import_match_document_filename = require("./match-document-filename.js");
30
+ var import_naming_convention = require("./naming-convention.js");
31
+ var import_no_anonymous_operations = require("./no-anonymous-operations.js");
32
+ var import_no_case_insensitive_enum_values_duplicates = require("./no-case-insensitive-enum-values-duplicates.js");
33
+ var import_no_deprecated = require("./no-deprecated.js");
34
+ var import_no_duplicate_fields = require("./no-duplicate-fields.js");
35
+ var import_no_hashtag_description = require("./no-hashtag-description.js");
36
+ var import_no_one_place_fragments = require("./no-one-place-fragments.js");
37
+ var import_no_root_type = require("./no-root-type.js");
38
+ var import_no_scalar_result_type_on_mutation = require("./no-scalar-result-type-on-mutation.js");
39
+ var import_no_typename_prefix = require("./no-typename-prefix.js");
40
+ var import_no_unreachable_types = require("./no-unreachable-types.js");
41
+ var import_no_unused_fields = require("./no-unused-fields.js");
42
+ var import_relay_arguments = require("./relay-arguments.js");
43
+ var import_relay_connection_types = require("./relay-connection-types.js");
44
+ var import_relay_edge_types = require("./relay-edge-types.js");
45
+ var import_relay_page_info = require("./relay-page-info.js");
46
+ var import_require_deprecation_date = require("./require-deprecation-date.js");
47
+ var import_require_deprecation_reason = require("./require-deprecation-reason.js");
48
+ var import_require_description = require("./require-description.js");
49
+ var import_require_field_of_type_query_in_mutation_result = require("./require-field-of-type-query-in-mutation-result.js");
50
+ var import_require_id_when_available = require("./require-id-when-available.js");
51
+ var import_require_import_fragment = require("./require-import-fragment.js");
52
+ var import_require_nullable_fields_with_oneof = require("./require-nullable-fields-with-oneof.js");
53
+ var import_require_nullable_result_in_root = require("./require-nullable-result-in-root.js");
54
+ var import_require_type_pattern_with_oneof = require("./require-type-pattern-with-oneof.js");
55
+ var import_selection_set_depth = require("./selection-set-depth.js");
56
+ var import_strict_id_in_types = require("./strict-id-in-types.js");
57
+ var import_unique_fragment_name = require("./unique-fragment-name.js");
58
+ var import_unique_operation_name = require("./unique-operation-name.js");
59
+ const rules = {
60
+ ...import_graphql_js_validation.GRAPHQL_JS_VALIDATIONS,
61
+ alphabetize: import_alphabetize.rule,
62
+ "description-style": import_description_style.rule,
63
+ "input-name": import_input_name.rule,
64
+ "lone-executable-definition": import_lone_executable_definition.rule,
65
+ "match-document-filename": import_match_document_filename.rule,
66
+ "naming-convention": import_naming_convention.rule,
67
+ "no-anonymous-operations": import_no_anonymous_operations.rule,
68
+ "no-case-insensitive-enum-values-duplicates": import_no_case_insensitive_enum_values_duplicates.rule,
69
+ "no-deprecated": import_no_deprecated.rule,
70
+ "no-duplicate-fields": import_no_duplicate_fields.rule,
71
+ "no-hashtag-description": import_no_hashtag_description.rule,
72
+ "no-one-place-fragments": import_no_one_place_fragments.rule,
73
+ "no-root-type": import_no_root_type.rule,
74
+ "no-scalar-result-type-on-mutation": import_no_scalar_result_type_on_mutation.rule,
75
+ "no-typename-prefix": import_no_typename_prefix.rule,
76
+ "no-unreachable-types": import_no_unreachable_types.rule,
77
+ "no-unused-fields": import_no_unused_fields.rule,
78
+ "relay-arguments": import_relay_arguments.rule,
79
+ "relay-connection-types": import_relay_connection_types.rule,
80
+ "relay-edge-types": import_relay_edge_types.rule,
81
+ "relay-page-info": import_relay_page_info.rule,
82
+ "require-deprecation-date": import_require_deprecation_date.rule,
83
+ "require-deprecation-reason": import_require_deprecation_reason.rule,
84
+ "require-description": import_require_description.rule,
85
+ "require-field-of-type-query-in-mutation-result": import_require_field_of_type_query_in_mutation_result.rule,
86
+ "require-id-when-available": import_require_id_when_available.rule,
87
+ "require-import-fragment": import_require_import_fragment.rule,
88
+ "require-nullable-fields-with-oneof": import_require_nullable_fields_with_oneof.rule,
89
+ "require-nullable-result-in-root": import_require_nullable_result_in_root.rule,
90
+ "require-type-pattern-with-oneof": import_require_type_pattern_with_oneof.rule,
91
+ "selection-set-depth": import_selection_set_depth.rule,
92
+ "strict-id-in-types": import_strict_id_in_types.rule,
93
+ "unique-fragment-name": import_unique_fragment_name.rule,
94
+ "unique-operation-name": import_unique_operation_name.rule
95
+ };
96
+ // Annotate the CommonJS export names for ESM import in node:
97
+ 0 && (module.exports = {
98
+ rules
99
+ });
@@ -1,5 +1,12 @@
1
1
  import { FromSchema } from 'json-schema-to-ts';
2
- import { GraphQLESLintRule } from '../types.js';
2
+ import { i as GraphQLESLintRule } from '../types-e3367e3c.js';
3
+ import '@graphql-tools/utils';
4
+ import 'eslint';
5
+ import 'estree';
6
+ import 'graphql';
7
+ import 'graphql-config';
8
+ import '../estree-converter/types.js';
9
+
3
10
  declare const schema: {
4
11
  readonly type: "array";
5
12
  readonly maxItems: 1;
@@ -30,6 +37,7 @@ declare const schema: {
30
37
  };
31
38
  };
32
39
  };
33
- export type RuleOptions = FromSchema<typeof schema>;
34
- export declare const rule: GraphQLESLintRule<RuleOptions>;
35
- export {};
40
+ type RuleOptions = FromSchema<typeof schema>;
41
+ declare const rule: GraphQLESLintRule<RuleOptions>;
42
+
43
+ export { RuleOptions, rule };
@@ -1,140 +1,170 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rule = void 0;
4
- const graphql_1 = require("graphql");
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: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var input_name_exports = {};
20
+ __export(input_name_exports, {
21
+ rule: () => rule
22
+ });
23
+ module.exports = __toCommonJS(input_name_exports);
24
+ var import_graphql = require("graphql");
5
25
  const schema = {
6
- type: 'array',
7
- maxItems: 1,
8
- items: {
9
- type: 'object',
10
- additionalProperties: false,
11
- properties: {
12
- checkInputType: {
13
- type: 'boolean',
14
- default: false,
15
- description: 'Check that the input type name follows the convention \\<mutationName>Input',
16
- },
17
- caseSensitiveInputType: {
18
- type: 'boolean',
19
- default: true,
20
- description: 'Allow for case discrepancies in the input type name',
21
- },
22
- checkQueries: {
23
- type: 'boolean',
24
- default: false,
25
- description: 'Apply the rule to Queries',
26
- },
27
- checkMutations: {
28
- type: 'boolean',
29
- default: true,
30
- description: 'Apply the rule to Mutations',
31
- },
32
- },
33
- },
26
+ type: "array",
27
+ maxItems: 1,
28
+ items: {
29
+ type: "object",
30
+ additionalProperties: false,
31
+ properties: {
32
+ checkInputType: {
33
+ type: "boolean",
34
+ default: false,
35
+ description: "Check that the input type name follows the convention \\<mutationName>Input"
36
+ },
37
+ caseSensitiveInputType: {
38
+ type: "boolean",
39
+ default: true,
40
+ description: "Allow for case discrepancies in the input type name"
41
+ },
42
+ checkQueries: {
43
+ type: "boolean",
44
+ default: false,
45
+ description: "Apply the rule to Queries"
46
+ },
47
+ checkMutations: {
48
+ type: "boolean",
49
+ default: true,
50
+ description: "Apply the rule to Mutations"
51
+ }
52
+ }
53
+ }
34
54
  };
35
- const isObjectType = (node) =>
36
- // TODO: remove `as any` when drop support of graphql@15
37
- [graphql_1.Kind.OBJECT_TYPE_DEFINITION, graphql_1.Kind.OBJECT_TYPE_EXTENSION].includes(node.type);
38
- const isQueryType = (node) => isObjectType(node) && node.name.value === 'Query';
39
- const isMutationType = (node) => isObjectType(node) && node.name.value === 'Mutation';
40
- exports.rule = {
41
- meta: {
42
- type: 'suggestion',
43
- hasSuggestions: true,
44
- docs: {
45
- description: 'Require mutation argument to be always called "input" and input type to be called Mutation name + "Input".\nUsing the same name for all input parameters will make your schemas easier to consume and more predictable. Using the same name as mutation for InputType will make it easier to find mutations that InputType belongs to.',
46
- category: 'Schema',
47
- url: 'https://the-guild.dev/graphql/eslint/rules/input-name',
48
- examples: [
49
- {
50
- title: 'Incorrect',
51
- usage: [{ checkInputType: true }],
52
- code: /* GraphQL */ `
55
+ const isObjectType = (node) => (
56
+ // TODO: remove `as any` when drop support of graphql@15
57
+ [import_graphql.Kind.OBJECT_TYPE_DEFINITION, import_graphql.Kind.OBJECT_TYPE_EXTENSION].includes(node.type)
58
+ );
59
+ const isQueryType = (node) => isObjectType(node) && node.name.value === "Query";
60
+ const isMutationType = (node) => isObjectType(node) && node.name.value === "Mutation";
61
+ const rule = {
62
+ meta: {
63
+ type: "suggestion",
64
+ hasSuggestions: true,
65
+ docs: {
66
+ description: 'Require mutation argument to be always called "input" and input type to be called Mutation name + "Input".\nUsing the same name for all input parameters will make your schemas easier to consume and more predictable. Using the same name as mutation for InputType will make it easier to find mutations that InputType belongs to.',
67
+ category: "Schema",
68
+ url: "https://the-guild.dev/graphql/eslint/rules/input-name",
69
+ examples: [
70
+ {
71
+ title: "Incorrect",
72
+ usage: [{ checkInputType: true }],
73
+ code: (
74
+ /* GraphQL */
75
+ `
53
76
  type Mutation {
54
77
  SetMessage(message: InputMessage): String
55
78
  }
56
- `,
57
- },
58
- {
59
- title: 'Correct (with `checkInputType`)',
60
- usage: [{ checkInputType: true }],
61
- code: /* GraphQL */ `
79
+ `
80
+ )
81
+ },
82
+ {
83
+ title: "Correct (with `checkInputType`)",
84
+ usage: [{ checkInputType: true }],
85
+ code: (
86
+ /* GraphQL */
87
+ `
62
88
  type Mutation {
63
89
  SetMessage(input: SetMessageInput): String
64
90
  }
65
- `,
66
- },
67
- {
68
- title: 'Correct (without `checkInputType`)',
69
- usage: [{ checkInputType: false }],
70
- code: /* GraphQL */ `
91
+ `
92
+ )
93
+ },
94
+ {
95
+ title: "Correct (without `checkInputType`)",
96
+ usage: [{ checkInputType: false }],
97
+ code: (
98
+ /* GraphQL */
99
+ `
71
100
  type Mutation {
72
101
  SetMessage(input: AnyInputTypeName): String
73
102
  }
74
- `,
75
- },
76
- ],
77
- },
78
- schema,
103
+ `
104
+ )
105
+ }
106
+ ]
79
107
  },
80
- create(context) {
81
- const options = {
82
- checkInputType: false,
83
- caseSensitiveInputType: true,
84
- checkMutations: true,
85
- ...context.options[0],
86
- };
87
- const shouldCheckType = (node) => (options.checkMutations && isMutationType(node)) ||
88
- (options.checkQueries && isQueryType(node)) ||
89
- false;
90
- const listeners = {
91
- 'FieldDefinition > InputValueDefinition[name.value!=input] > Name'(node) {
92
- const fieldDef = node.parent.parent;
93
- if (shouldCheckType(fieldDef.parent)) {
94
- const inputName = node.value;
95
- context.report({
96
- node,
97
- message: `Input "${inputName}" should be named "input" for "${fieldDef.parent.name.value}.${fieldDef.name.value}"`,
98
- suggest: [
99
- {
100
- desc: 'Rename to `input`',
101
- fix: fixer => fixer.replaceText(node, 'input'),
102
- },
103
- ],
104
- });
105
- }
106
- },
108
+ schema
109
+ },
110
+ create(context) {
111
+ const options = {
112
+ checkInputType: false,
113
+ caseSensitiveInputType: true,
114
+ checkMutations: true,
115
+ ...context.options[0]
116
+ };
117
+ const shouldCheckType = (node) => options.checkMutations && isMutationType(node) || options.checkQueries && isQueryType(node) || false;
118
+ const listeners = {
119
+ "FieldDefinition > InputValueDefinition[name.value!=input] > Name"(node) {
120
+ const fieldDef = node.parent.parent;
121
+ if (shouldCheckType(fieldDef.parent)) {
122
+ const inputName = node.value;
123
+ context.report({
124
+ node,
125
+ message: `Input "${inputName}" should be named "input" for "${fieldDef.parent.name.value}.${fieldDef.name.value}"`,
126
+ suggest: [
127
+ {
128
+ desc: "Rename to `input`",
129
+ fix: (fixer) => fixer.replaceText(node, "input")
130
+ }
131
+ ]
132
+ });
133
+ }
134
+ }
135
+ };
136
+ if (options.checkInputType) {
137
+ listeners["FieldDefinition > InputValueDefinition NamedType"] = (node) => {
138
+ const findInputType = (item) => {
139
+ let currentNode = item;
140
+ while (currentNode.type !== import_graphql.Kind.INPUT_VALUE_DEFINITION) {
141
+ currentNode = currentNode.parent;
142
+ }
143
+ return currentNode;
107
144
  };
108
- if (options.checkInputType) {
109
- listeners['FieldDefinition > InputValueDefinition NamedType'] = (node) => {
110
- const findInputType = (item) => {
111
- let currentNode = item;
112
- while (currentNode.type !== graphql_1.Kind.INPUT_VALUE_DEFINITION) {
113
- // @ts-expect-error TODO try fix type error
114
- currentNode = currentNode.parent;
115
- }
116
- return currentNode;
117
- };
118
- const inputValueNode = findInputType(node);
119
- if (shouldCheckType(inputValueNode.parent.parent)) {
120
- const mutationName = `${inputValueNode.parent.name.value}Input`;
121
- const name = node.name.value;
122
- if ((options.caseSensitiveInputType && node.name.value !== mutationName) ||
123
- name.toLowerCase() !== mutationName.toLowerCase()) {
124
- context.report({
125
- node: node.name,
126
- message: `Input type \`${name}\` name should be \`${mutationName}\`.`,
127
- suggest: [
128
- {
129
- desc: `Rename to \`${mutationName}\``,
130
- fix: fixer => fixer.replaceText(node, mutationName),
131
- },
132
- ],
133
- });
134
- }
145
+ const inputValueNode = findInputType(node);
146
+ if (shouldCheckType(inputValueNode.parent.parent)) {
147
+ const mutationName = `${inputValueNode.parent.name.value}Input`;
148
+ const name = node.name.value;
149
+ if (options.caseSensitiveInputType && node.name.value !== mutationName || name.toLowerCase() !== mutationName.toLowerCase()) {
150
+ context.report({
151
+ node: node.name,
152
+ message: `Input type \`${name}\` name should be \`${mutationName}\`.`,
153
+ suggest: [
154
+ {
155
+ desc: `Rename to \`${mutationName}\``,
156
+ fix: (fixer) => fixer.replaceText(node, mutationName)
135
157
  }
136
- };
158
+ ]
159
+ });
160
+ }
137
161
  }
138
- return listeners;
139
- },
162
+ };
163
+ }
164
+ return listeners;
165
+ }
140
166
  };
167
+ // Annotate the CommonJS export names for ESM import in node:
168
+ 0 && (module.exports = {
169
+ rule
170
+ });
@@ -1,5 +1,12 @@
1
1
  import { FromSchema } from 'json-schema-to-ts';
2
- import { GraphQLESLintRule } from '../types.js';
2
+ import { i as GraphQLESLintRule } from '../types-e3367e3c.js';
3
+ import '@graphql-tools/utils';
4
+ import 'eslint';
5
+ import 'estree';
6
+ import 'graphql';
7
+ import 'graphql-config';
8
+ import '../estree-converter/types.js';
9
+
3
10
  declare const schema: {
4
11
  readonly type: "array";
5
12
  readonly maxItems: 1;
@@ -21,6 +28,7 @@ declare const schema: {
21
28
  };
22
29
  };
23
30
  };
24
- export type RuleOptions = FromSchema<typeof schema>;
25
- export declare const rule: GraphQLESLintRule<RuleOptions>;
26
- export {};
31
+ type RuleOptions = FromSchema<typeof schema>;
32
+ declare const rule: GraphQLESLintRule<RuleOptions>;
33
+
34
+ export { RuleOptions, rule };