@graphql-eslint/eslint-plugin 3.14.0-alpha-20221221142641-4e1a924 → 3.14.0-alpha-20221222012949-5caade4

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 (231) hide show
  1. package/README.md +309 -0
  2. package/cjs/cache.js +30 -0
  3. package/cjs/configs/base.js +7 -0
  4. package/cjs/configs/index.js +16 -0
  5. package/cjs/configs/operations-all.js +31 -0
  6. package/cjs/configs/operations-recommended.js +56 -0
  7. package/cjs/configs/relay.js +12 -0
  8. package/cjs/configs/schema-all.js +23 -0
  9. package/cjs/configs/schema-recommended.js +52 -0
  10. package/cjs/documents.js +149 -0
  11. package/cjs/estree-converter/converter.js +62 -0
  12. package/cjs/estree-converter/index.js +6 -0
  13. package/cjs/estree-converter/types.js +2 -0
  14. package/cjs/estree-converter/utils.js +109 -0
  15. package/cjs/graphql-config.js +55 -0
  16. package/cjs/index.js +17 -0
  17. package/cjs/parser.js +61 -0
  18. package/cjs/processor.js +78 -0
  19. package/cjs/rules/alphabetize.js +348 -0
  20. package/cjs/rules/description-style.js +78 -0
  21. package/cjs/rules/graphql-js-validation.js +499 -0
  22. package/cjs/rules/index.js +68 -0
  23. package/cjs/rules/input-name.js +136 -0
  24. package/cjs/rules/lone-executable-definition.js +88 -0
  25. package/cjs/rules/match-document-filename.js +235 -0
  26. package/cjs/rules/naming-convention.js +310 -0
  27. package/cjs/rules/no-anonymous-operations.js +67 -0
  28. package/cjs/rules/no-case-insensitive-enum-values-duplicates.js +61 -0
  29. package/cjs/rules/no-deprecated.js +124 -0
  30. package/cjs/rules/no-duplicate-fields.js +112 -0
  31. package/cjs/rules/no-hashtag-description.js +89 -0
  32. package/cjs/rules/no-root-type.js +86 -0
  33. package/cjs/rules/no-scalar-result-type-on-mutation.js +66 -0
  34. package/cjs/rules/no-typename-prefix.js +65 -0
  35. package/cjs/rules/no-unreachable-types.js +158 -0
  36. package/cjs/rules/no-unused-fields.js +130 -0
  37. package/cjs/rules/relay-arguments.js +121 -0
  38. package/cjs/rules/relay-connection-types.js +107 -0
  39. package/cjs/rules/relay-edge-types.js +189 -0
  40. package/cjs/rules/relay-page-info.js +100 -0
  41. package/cjs/rules/require-deprecation-date.js +123 -0
  42. package/cjs/rules/require-deprecation-reason.js +56 -0
  43. package/cjs/rules/require-description.js +193 -0
  44. package/cjs/rules/require-field-of-type-query-in-mutation-result.js +72 -0
  45. package/cjs/rules/require-id-when-available.js +199 -0
  46. package/cjs/rules/selection-set-depth.js +135 -0
  47. package/cjs/rules/strict-id-in-types.js +162 -0
  48. package/cjs/rules/unique-fragment-name.js +90 -0
  49. package/cjs/rules/unique-operation-name.js +65 -0
  50. package/cjs/schema.js +42 -0
  51. package/cjs/testkit.js +183 -0
  52. package/cjs/types.js +2 -0
  53. package/cjs/utils.js +96 -0
  54. package/docs/README.md +82 -0
  55. package/docs/custom-rules.md +184 -0
  56. package/docs/deprecated-rules.md +24 -0
  57. package/docs/parser-options.md +95 -0
  58. package/docs/parser.md +67 -0
  59. package/docs/rules/alphabetize.md +194 -0
  60. package/docs/rules/description-style.md +57 -0
  61. package/docs/rules/executable-definitions.md +20 -0
  62. package/docs/rules/fields-on-correct-type.md +23 -0
  63. package/docs/rules/fragments-on-composite-type.md +20 -0
  64. package/docs/rules/input-name.md +80 -0
  65. package/docs/rules/known-argument-names.md +23 -0
  66. package/docs/rules/known-directives.md +48 -0
  67. package/docs/rules/known-fragment-names.md +72 -0
  68. package/docs/rules/known-type-names.md +24 -0
  69. package/docs/rules/lone-anonymous-operation.md +20 -0
  70. package/docs/rules/lone-executable-definition.md +59 -0
  71. package/docs/rules/lone-schema-definition.md +19 -0
  72. package/docs/rules/match-document-filename.md +181 -0
  73. package/docs/rules/naming-convention.md +320 -0
  74. package/docs/rules/no-anonymous-operations.md +43 -0
  75. package/docs/rules/no-case-insensitive-enum-values-duplicates.md +46 -0
  76. package/docs/rules/no-deprecated.md +88 -0
  77. package/docs/rules/no-duplicate-fields.md +69 -0
  78. package/docs/rules/no-fragment-cycles.md +19 -0
  79. package/docs/rules/no-hashtag-description.md +62 -0
  80. package/docs/rules/no-root-type.md +55 -0
  81. package/docs/rules/no-scalar-result-type-on-mutation.md +39 -0
  82. package/docs/rules/no-typename-prefix.md +42 -0
  83. package/docs/rules/no-undefined-variables.md +20 -0
  84. package/docs/rules/no-unreachable-types.md +52 -0
  85. package/docs/rules/no-unused-fields.md +64 -0
  86. package/docs/rules/no-unused-fragments.md +20 -0
  87. package/docs/rules/no-unused-variables.md +20 -0
  88. package/docs/rules/one-field-subscriptions.md +19 -0
  89. package/docs/rules/overlapping-fields-can-be-merged.md +20 -0
  90. package/docs/rules/possible-fragment-spread.md +21 -0
  91. package/docs/rules/possible-type-extension.md +19 -0
  92. package/docs/rules/provided-required-arguments.md +21 -0
  93. package/docs/rules/relay-arguments.md +59 -0
  94. package/docs/rules/relay-connection-types.md +43 -0
  95. package/docs/rules/relay-edge-types.md +60 -0
  96. package/docs/rules/relay-page-info.md +34 -0
  97. package/docs/rules/require-deprecation-date.md +59 -0
  98. package/docs/rules/require-deprecation-reason.md +49 -0
  99. package/docs/rules/require-description.md +147 -0
  100. package/docs/rules/require-field-of-type-query-in-mutation-result.md +50 -0
  101. package/docs/rules/require-id-when-available.md +91 -0
  102. package/docs/rules/scalar-leafs.md +23 -0
  103. package/docs/rules/selection-set-depth.md +86 -0
  104. package/docs/rules/strict-id-in-types.md +129 -0
  105. package/docs/rules/unique-argument-names.md +19 -0
  106. package/docs/rules/unique-directive-names-per-location.md +21 -0
  107. package/docs/rules/unique-directive-names.md +19 -0
  108. package/docs/rules/unique-enum-value-names.md +16 -0
  109. package/docs/rules/unique-field-definition-names.md +19 -0
  110. package/docs/rules/unique-fragment-name.md +52 -0
  111. package/docs/rules/unique-input-field-names.md +19 -0
  112. package/docs/rules/unique-operation-name.md +56 -0
  113. package/docs/rules/unique-operation-types.md +19 -0
  114. package/docs/rules/unique-type-names.md +19 -0
  115. package/docs/rules/unique-variable-names.md +19 -0
  116. package/docs/rules/value-literals-of-correct-type.md +22 -0
  117. package/docs/rules/variables-are-input-types.md +20 -0
  118. package/docs/rules/variables-in-allowed-position.md +19 -0
  119. package/package.json +8 -11
  120. package/{cache.d.ts → typings/cache.d.cts} +0 -0
  121. package/typings/cache.d.ts +10 -0
  122. package/typings/configs/base.d.cts +5 -0
  123. package/typings/configs/base.d.ts +5 -0
  124. package/typings/configs/index.d.cts +139 -0
  125. package/typings/configs/index.d.ts +139 -0
  126. package/typings/configs/operations-all.d.cts +20 -0
  127. package/typings/configs/operations-all.d.ts +20 -0
  128. package/typings/configs/operations-recommended.d.cts +50 -0
  129. package/typings/configs/operations-recommended.d.ts +50 -0
  130. package/typings/configs/relay.d.cts +10 -0
  131. package/typings/configs/relay.d.ts +10 -0
  132. package/typings/configs/schema-all.d.cts +15 -0
  133. package/typings/configs/schema-all.d.ts +15 -0
  134. package/typings/configs/schema-recommended.d.cts +47 -0
  135. package/typings/configs/schema-recommended.d.ts +47 -0
  136. package/{documents.d.ts → typings/documents.d.cts} +0 -0
  137. package/typings/documents.d.ts +21 -0
  138. package/{estree-converter/converter.d.ts → typings/estree-converter/converter.d.cts} +0 -0
  139. package/typings/estree-converter/converter.d.ts +3 -0
  140. package/{estree-converter/index.d.ts → typings/estree-converter/index.d.cts} +0 -0
  141. package/typings/estree-converter/index.d.ts +3 -0
  142. package/{estree-converter/types.d.ts → typings/estree-converter/types.d.cts} +0 -0
  143. package/typings/estree-converter/types.d.ts +40 -0
  144. package/{estree-converter/utils.d.ts → typings/estree-converter/utils.d.cts} +0 -0
  145. package/typings/estree-converter/utils.d.ts +13 -0
  146. package/{graphql-config.d.ts → typings/graphql-config.d.cts} +0 -0
  147. package/typings/graphql-config.d.ts +4 -0
  148. package/typings/index.d.cts +9 -0
  149. package/{index.d.ts → typings/index.d.ts} +1 -5
  150. package/{parser.d.ts → typings/parser.d.cts} +0 -0
  151. package/typings/parser.d.ts +2 -0
  152. package/{processor.d.ts → typings/processor.d.cts} +0 -0
  153. package/typings/processor.d.ts +6 -0
  154. package/{rules/alphabetize.d.ts → typings/rules/alphabetize.d.cts} +0 -0
  155. package/typings/rules/alphabetize.d.ts +76 -0
  156. package/{rules/description-style.d.ts → typings/rules/description-style.d.cts} +0 -0
  157. package/typings/rules/description-style.d.ts +20 -0
  158. package/{rules/graphql-js-validation.d.ts → typings/rules/graphql-js-validation.d.cts} +0 -0
  159. package/typings/rules/graphql-js-validation.d.ts +2 -0
  160. package/{rules/index.d.ts → typings/rules/index.d.cts} +0 -0
  161. package/typings/rules/index.d.ts +104 -0
  162. package/{rules/input-name.d.ts → typings/rules/input-name.d.cts} +0 -0
  163. package/typings/rules/input-name.d.ts +35 -0
  164. package/{rules/lone-executable-definition.d.ts → typings/rules/lone-executable-definition.d.cts} +0 -0
  165. package/typings/rules/lone-executable-definition.d.ts +26 -0
  166. package/{rules/match-document-filename.d.ts → typings/rules/match-document-filename.d.cts} +0 -0
  167. package/typings/rules/match-document-filename.d.ts +72 -0
  168. package/{rules/naming-convention.d.ts → typings/rules/naming-convention.d.cts} +0 -0
  169. package/typings/rules/naming-convention.d.ts +83 -0
  170. package/{rules/no-anonymous-operations.d.ts → typings/rules/no-anonymous-operations.d.cts} +0 -0
  171. package/{rules/no-case-insensitive-enum-values-duplicates.d.ts → typings/rules/no-anonymous-operations.d.ts} +0 -0
  172. package/{rules/no-hashtag-description.d.ts → typings/rules/no-case-insensitive-enum-values-duplicates.d.cts} +0 -0
  173. package/{rules/no-scalar-result-type-on-mutation.d.ts → typings/rules/no-case-insensitive-enum-values-duplicates.d.ts} +0 -0
  174. package/{rules/no-deprecated.d.ts → typings/rules/no-deprecated.d.cts} +0 -0
  175. package/typings/rules/no-deprecated.d.ts +2 -0
  176. package/{rules/no-duplicate-fields.d.ts → typings/rules/no-duplicate-fields.d.cts} +0 -0
  177. package/{rules/relay-page-info.d.ts → typings/rules/no-duplicate-fields.d.ts} +0 -0
  178. package/{rules/no-typename-prefix.d.ts → typings/rules/no-hashtag-description.d.cts} +0 -0
  179. package/{rules/no-unreachable-types.d.ts → typings/rules/no-hashtag-description.d.ts} +0 -0
  180. package/{rules/no-root-type.d.ts → typings/rules/no-root-type.d.cts} +0 -0
  181. package/typings/rules/no-root-type.d.ts +25 -0
  182. package/{rules/no-unused-fields.d.ts → typings/rules/no-scalar-result-type-on-mutation.d.cts} +0 -0
  183. package/{rules/unique-operation-name.d.ts → typings/rules/no-scalar-result-type-on-mutation.d.ts} +0 -0
  184. package/typings/rules/no-typename-prefix.d.cts +2 -0
  185. package/typings/rules/no-typename-prefix.d.ts +2 -0
  186. package/typings/rules/no-unreachable-types.d.cts +2 -0
  187. package/typings/rules/no-unreachable-types.d.ts +2 -0
  188. package/typings/rules/no-unused-fields.d.cts +2 -0
  189. package/typings/rules/no-unused-fields.d.ts +2 -0
  190. package/{rules/relay-arguments.d.ts → typings/rules/relay-arguments.d.cts} +0 -0
  191. package/typings/rules/relay-arguments.d.ts +21 -0
  192. package/{rules/relay-connection-types.d.ts → typings/rules/relay-connection-types.d.cts} +0 -0
  193. package/typings/rules/relay-connection-types.d.ts +4 -0
  194. package/{rules/relay-edge-types.d.ts → typings/rules/relay-edge-types.d.cts} +0 -0
  195. package/typings/rules/relay-edge-types.d.ts +31 -0
  196. package/{rules/require-deprecation-reason.d.ts → typings/rules/relay-page-info.d.cts} +0 -0
  197. package/{rules/require-field-of-type-query-in-mutation-result.d.ts → typings/rules/relay-page-info.d.ts} +0 -0
  198. package/{rules/require-deprecation-date.d.ts → typings/rules/require-deprecation-date.d.cts} +0 -0
  199. package/typings/rules/require-deprecation-date.d.ts +18 -0
  200. package/typings/rules/require-deprecation-reason.d.cts +2 -0
  201. package/typings/rules/require-deprecation-reason.d.ts +2 -0
  202. package/{rules/require-description.d.ts → typings/rules/require-description.d.cts} +0 -0
  203. package/typings/rules/require-description.d.ts +14 -0
  204. package/typings/rules/require-field-of-type-query-in-mutation-result.d.cts +2 -0
  205. package/typings/rules/require-field-of-type-query-in-mutation-result.d.ts +2 -0
  206. package/{rules/require-id-when-available.d.ts → typings/rules/require-id-when-available.d.cts} +0 -0
  207. package/typings/rules/require-id-when-available.d.ts +36 -0
  208. package/{rules/selection-set-depth.d.ts → typings/rules/selection-set-depth.d.cts} +0 -0
  209. package/typings/rules/selection-set-depth.d.ts +28 -0
  210. package/{rules/strict-id-in-types.d.ts → typings/rules/strict-id-in-types.d.cts} +0 -0
  211. package/typings/rules/strict-id-in-types.d.ts +57 -0
  212. package/{rules/unique-fragment-name.d.ts → typings/rules/unique-fragment-name.d.cts} +0 -0
  213. package/typings/rules/unique-fragment-name.d.ts +5 -0
  214. package/typings/rules/unique-operation-name.d.cts +2 -0
  215. package/typings/rules/unique-operation-name.d.ts +2 -0
  216. package/{schema.d.ts → typings/schema.d.cts} +0 -0
  217. package/typings/schema.d.ts +3 -0
  218. package/{testkit.d.ts → typings/testkit.d.cts} +0 -0
  219. package/typings/testkit.d.ts +27 -0
  220. package/{types.d.ts → typings/types.d.cts} +0 -0
  221. package/typings/types.d.ts +81 -0
  222. package/{utils.d.ts → typings/utils.d.cts} +0 -0
  223. package/typings/utils.d.ts +34 -0
  224. package/configs/base.json +0 -4
  225. package/configs/operations-all.json +0 -25
  226. package/configs/operations-recommended.json +0 -50
  227. package/configs/relay.json +0 -9
  228. package/configs/schema-all.json +0 -17
  229. package/configs/schema-recommended.json +0 -49
  230. package/index.js +0 -4995
  231. package/index.mjs +0 -4983
@@ -0,0 +1,50 @@
1
+ declare const _default: {
2
+ extends: string;
3
+ rules: {
4
+ '@graphql-eslint/executable-definitions': string;
5
+ '@graphql-eslint/fields-on-correct-type': string;
6
+ '@graphql-eslint/fragments-on-composite-type': string;
7
+ '@graphql-eslint/known-argument-names': string;
8
+ '@graphql-eslint/known-directives': string;
9
+ '@graphql-eslint/known-fragment-names': string;
10
+ '@graphql-eslint/known-type-names': string;
11
+ '@graphql-eslint/lone-anonymous-operation': string;
12
+ '@graphql-eslint/naming-convention': (string | {
13
+ VariableDefinition: string;
14
+ OperationDefinition: {
15
+ style: string;
16
+ forbiddenPrefixes: string[];
17
+ forbiddenSuffixes: string[];
18
+ };
19
+ FragmentDefinition: {
20
+ style: string;
21
+ forbiddenPrefixes: string[];
22
+ forbiddenSuffixes: string[];
23
+ };
24
+ })[];
25
+ '@graphql-eslint/no-anonymous-operations': string;
26
+ '@graphql-eslint/no-deprecated': string;
27
+ '@graphql-eslint/no-duplicate-fields': string;
28
+ '@graphql-eslint/no-fragment-cycles': string;
29
+ '@graphql-eslint/no-undefined-variables': string;
30
+ '@graphql-eslint/no-unused-fragments': string;
31
+ '@graphql-eslint/no-unused-variables': string;
32
+ '@graphql-eslint/one-field-subscriptions': string;
33
+ '@graphql-eslint/overlapping-fields-can-be-merged': string;
34
+ '@graphql-eslint/possible-fragment-spread': string;
35
+ '@graphql-eslint/provided-required-arguments': string;
36
+ '@graphql-eslint/require-id-when-available': string;
37
+ '@graphql-eslint/scalar-leafs': string;
38
+ '@graphql-eslint/selection-set-depth': (string | {
39
+ maxDepth: number;
40
+ })[];
41
+ '@graphql-eslint/unique-argument-names': string;
42
+ '@graphql-eslint/unique-directive-names-per-location': string;
43
+ '@graphql-eslint/unique-input-field-names': string;
44
+ '@graphql-eslint/unique-variable-names': string;
45
+ '@graphql-eslint/value-literals-of-correct-type': string;
46
+ '@graphql-eslint/variables-are-input-types': string;
47
+ '@graphql-eslint/variables-in-allowed-position': string;
48
+ };
49
+ };
50
+ export default _default;
@@ -0,0 +1,10 @@
1
+ declare const _default: {
2
+ extends: string;
3
+ rules: {
4
+ '@graphql-eslint/relay-arguments': string;
5
+ '@graphql-eslint/relay-connection-types': string;
6
+ '@graphql-eslint/relay-edge-types': string;
7
+ '@graphql-eslint/relay-page-info': string;
8
+ };
9
+ };
10
+ export default _default;
@@ -0,0 +1,10 @@
1
+ declare const _default: {
2
+ extends: string;
3
+ rules: {
4
+ '@graphql-eslint/relay-arguments': string;
5
+ '@graphql-eslint/relay-connection-types': string;
6
+ '@graphql-eslint/relay-edge-types': string;
7
+ '@graphql-eslint/relay-page-info': string;
8
+ };
9
+ };
10
+ export default _default;
@@ -0,0 +1,15 @@
1
+ declare const _default: {
2
+ extends: string[];
3
+ rules: {
4
+ '@graphql-eslint/alphabetize': (string | {
5
+ fields: string[];
6
+ values: string[];
7
+ arguments: string[];
8
+ })[];
9
+ '@graphql-eslint/input-name': string;
10
+ '@graphql-eslint/no-scalar-result-type-on-mutation': string;
11
+ '@graphql-eslint/require-deprecation-date': string;
12
+ '@graphql-eslint/require-field-of-type-query-in-mutation-result': string;
13
+ };
14
+ };
15
+ export default _default;
@@ -0,0 +1,15 @@
1
+ declare const _default: {
2
+ extends: string[];
3
+ rules: {
4
+ '@graphql-eslint/alphabetize': (string | {
5
+ fields: string[];
6
+ values: string[];
7
+ arguments: string[];
8
+ })[];
9
+ '@graphql-eslint/input-name': string;
10
+ '@graphql-eslint/no-scalar-result-type-on-mutation': string;
11
+ '@graphql-eslint/require-deprecation-date': string;
12
+ '@graphql-eslint/require-field-of-type-query-in-mutation-result': string;
13
+ };
14
+ };
15
+ export default _default;
@@ -0,0 +1,47 @@
1
+ declare const _default: {
2
+ extends: string;
3
+ rules: {
4
+ '@graphql-eslint/description-style': string;
5
+ '@graphql-eslint/known-argument-names': string;
6
+ '@graphql-eslint/known-directives': string;
7
+ '@graphql-eslint/known-type-names': string;
8
+ '@graphql-eslint/lone-schema-definition': string;
9
+ '@graphql-eslint/naming-convention': (string | {
10
+ types: string;
11
+ FieldDefinition: string;
12
+ InputValueDefinition: string;
13
+ Argument: string;
14
+ DirectiveDefinition: string;
15
+ EnumValueDefinition: string;
16
+ 'FieldDefinition[parent.name.value=Query]': {
17
+ forbiddenPrefixes: string[];
18
+ forbiddenSuffixes: string[];
19
+ };
20
+ 'FieldDefinition[parent.name.value=Mutation]': {
21
+ forbiddenPrefixes: string[];
22
+ forbiddenSuffixes: string[];
23
+ };
24
+ 'FieldDefinition[parent.name.value=Subscription]': {
25
+ forbiddenPrefixes: string[];
26
+ forbiddenSuffixes: string[];
27
+ };
28
+ })[];
29
+ '@graphql-eslint/no-case-insensitive-enum-values-duplicates': string;
30
+ '@graphql-eslint/no-hashtag-description': string;
31
+ '@graphql-eslint/no-typename-prefix': string;
32
+ '@graphql-eslint/no-unreachable-types': string;
33
+ '@graphql-eslint/provided-required-arguments': string;
34
+ '@graphql-eslint/require-deprecation-reason': string;
35
+ '@graphql-eslint/require-description': (string | {
36
+ types: boolean;
37
+ DirectiveDefinition: boolean;
38
+ })[];
39
+ '@graphql-eslint/strict-id-in-types': string;
40
+ '@graphql-eslint/unique-directive-names': string;
41
+ '@graphql-eslint/unique-directive-names-per-location': string;
42
+ '@graphql-eslint/unique-field-definition-names': string;
43
+ '@graphql-eslint/unique-operation-types': string;
44
+ '@graphql-eslint/unique-type-names': string;
45
+ };
46
+ };
47
+ export default _default;
@@ -0,0 +1,47 @@
1
+ declare const _default: {
2
+ extends: string;
3
+ rules: {
4
+ '@graphql-eslint/description-style': string;
5
+ '@graphql-eslint/known-argument-names': string;
6
+ '@graphql-eslint/known-directives': string;
7
+ '@graphql-eslint/known-type-names': string;
8
+ '@graphql-eslint/lone-schema-definition': string;
9
+ '@graphql-eslint/naming-convention': (string | {
10
+ types: string;
11
+ FieldDefinition: string;
12
+ InputValueDefinition: string;
13
+ Argument: string;
14
+ DirectiveDefinition: string;
15
+ EnumValueDefinition: string;
16
+ 'FieldDefinition[parent.name.value=Query]': {
17
+ forbiddenPrefixes: string[];
18
+ forbiddenSuffixes: string[];
19
+ };
20
+ 'FieldDefinition[parent.name.value=Mutation]': {
21
+ forbiddenPrefixes: string[];
22
+ forbiddenSuffixes: string[];
23
+ };
24
+ 'FieldDefinition[parent.name.value=Subscription]': {
25
+ forbiddenPrefixes: string[];
26
+ forbiddenSuffixes: string[];
27
+ };
28
+ })[];
29
+ '@graphql-eslint/no-case-insensitive-enum-values-duplicates': string;
30
+ '@graphql-eslint/no-hashtag-description': string;
31
+ '@graphql-eslint/no-typename-prefix': string;
32
+ '@graphql-eslint/no-unreachable-types': string;
33
+ '@graphql-eslint/provided-required-arguments': string;
34
+ '@graphql-eslint/require-deprecation-reason': string;
35
+ '@graphql-eslint/require-description': (string | {
36
+ types: boolean;
37
+ DirectiveDefinition: boolean;
38
+ })[];
39
+ '@graphql-eslint/strict-id-in-types': string;
40
+ '@graphql-eslint/unique-directive-names': string;
41
+ '@graphql-eslint/unique-directive-names-per-location': string;
42
+ '@graphql-eslint/unique-field-definition-names': string;
43
+ '@graphql-eslint/unique-operation-types': string;
44
+ '@graphql-eslint/unique-type-names': string;
45
+ };
46
+ };
47
+ export default _default;
File without changes
@@ -0,0 +1,21 @@
1
+ import { FragmentDefinitionNode, OperationDefinitionNode, SelectionSetNode, OperationTypeNode } from 'graphql';
2
+ import { GraphQLProjectConfig } from 'graphql-config';
3
+ export type FragmentSource = {
4
+ filePath: string;
5
+ document: FragmentDefinitionNode;
6
+ };
7
+ export type OperationSource = {
8
+ filePath: string;
9
+ document: OperationDefinitionNode;
10
+ };
11
+ export type SiblingOperations = {
12
+ available: boolean;
13
+ getFragment(fragmentName: string): FragmentSource[];
14
+ getFragments(): FragmentSource[];
15
+ getFragmentByType(typeName: string): FragmentSource[];
16
+ getFragmentsInUse(baseOperation: OperationDefinitionNode | FragmentDefinitionNode | SelectionSetNode, recursive?: boolean): FragmentDefinitionNode[];
17
+ getOperation(operationName: string): OperationSource[];
18
+ getOperations(): OperationSource[];
19
+ getOperationByType(operationType: OperationTypeNode): OperationSource[];
20
+ };
21
+ export declare function getDocuments(project: GraphQLProjectConfig): SiblingOperations;
@@ -0,0 +1,3 @@
1
+ import { DocumentNode, GraphQLSchema } from 'graphql';
2
+ import type { GraphQLESTreeNode } from './types';
3
+ export declare function convertToESTree<T extends DocumentNode>(node: T, schema?: GraphQLSchema): GraphQLESTreeNode<T, false>;
@@ -0,0 +1,3 @@
1
+ export * from './converter';
2
+ export * from './types';
3
+ export * from './utils';
@@ -0,0 +1,40 @@
1
+ import type { ASTNode, TypeInfo, TypeNode, DocumentNode, ExecutableDefinitionNode, NameNode, TypeDefinitionNode, FieldDefinitionNode, ObjectTypeExtensionNode, ObjectTypeDefinitionNode, InterfaceTypeDefinitionNode, InterfaceTypeExtensionNode, SelectionSetNode, SelectionNode, DefinitionNode, TypeExtensionNode, DirectiveDefinitionNode, VariableNode, FieldNode, FragmentSpreadNode, EnumValueDefinitionNode, ArgumentNode, NamedTypeNode, EnumTypeDefinitionNode, EnumTypeExtensionNode, InputValueDefinitionNode, InputObjectTypeDefinitionNode, InputObjectTypeExtensionNode, InlineFragmentNode, VariableDefinitionNode, ListTypeNode, NonNullTypeNode, OperationTypeDefinitionNode } from 'graphql';
2
+ import type { SourceLocation, Comment } from 'estree';
3
+ import type { AST } from 'eslint';
4
+ type SafeGraphQLType<T extends ASTNode> = T extends {
5
+ type: TypeNode;
6
+ } ? Omit<T, 'loc' | 'type'> & {
7
+ gqlType: T['type'];
8
+ } : Omit<T, 'loc'>;
9
+ type Writeable<T> = {
10
+ -readonly [K in keyof T]: T[K];
11
+ };
12
+ export type TypeInformation = {
13
+ argument: ReturnType<TypeInfo['getArgument']>;
14
+ defaultValue: ReturnType<TypeInfo['getDefaultValue']>;
15
+ directive: ReturnType<TypeInfo['getDirective']>;
16
+ enumValue: ReturnType<TypeInfo['getEnumValue']>;
17
+ fieldDef: ReturnType<TypeInfo['getFieldDef']>;
18
+ inputType: ReturnType<TypeInfo['getInputType']>;
19
+ parentInputType: ReturnType<TypeInfo['getParentInputType']>;
20
+ parentType: ReturnType<TypeInfo['getParentType']>;
21
+ gqlType: ReturnType<TypeInfo['getType']>;
22
+ };
23
+ type NodeWithName = TypeDefinitionNode | TypeExtensionNode | ExecutableDefinitionNode | DirectiveDefinitionNode | FieldDefinitionNode | EnumValueDefinitionNode | FieldNode | FragmentSpreadNode | VariableNode | ArgumentNode | NamedTypeNode;
24
+ type NodeWithType = FieldDefinitionNode | InputValueDefinitionNode | OperationTypeDefinitionNode | NonNullTypeNode | ListTypeNode | VariableDefinitionNode;
25
+ type ParentNode<T> = T extends DocumentNode ? AST.Program : T extends DefinitionNode ? DocumentNode : T extends EnumValueDefinitionNode ? EnumTypeDefinitionNode | EnumTypeExtensionNode : T extends InputValueDefinitionNode ? InputObjectTypeDefinitionNode | InputObjectTypeExtensionNode | FieldDefinitionNode | DirectiveDefinitionNode : T extends FieldDefinitionNode ? ObjectTypeDefinitionNode | ObjectTypeExtensionNode | InterfaceTypeDefinitionNode | InterfaceTypeExtensionNode : T extends SelectionSetNode ? ExecutableDefinitionNode | FieldNode | InlineFragmentNode : T extends SelectionNode ? SelectionSetNode : T extends TypeNode ? NodeWithType : T extends NameNode ? NodeWithName : unknown;
26
+ type Node<T extends ASTNode, WithTypeInfo extends boolean> = Writeable<SafeGraphQLType<T>> & {
27
+ type: T['kind'];
28
+ loc: SourceLocation;
29
+ range: AST.Range;
30
+ leadingComments: Comment[];
31
+ typeInfo: () => WithTypeInfo extends true ? TypeInformation : Record<string, never>;
32
+ rawNode: () => T;
33
+ parent: ParentNode<T>;
34
+ };
35
+ export type GraphQLESTreeNode<T, W extends boolean = false> = T extends ASTNode ? {
36
+ [K in keyof Node<T, W>]: Node<T, W>[K] extends ReadonlyArray<infer ArrayItem> ? GraphQLESTreeNode<ArrayItem, W>[] : GraphQLESTreeNode<Node<T, W>[K], W>;
37
+ } : T extends AST.Program ? T & {
38
+ parent: null;
39
+ } : T;
40
+ export {};
@@ -0,0 +1,13 @@
1
+ import { Location, GraphQLOutputType, GraphQLNamedType, Token } from 'graphql';
2
+ import type { Comment, SourceLocation } from 'estree';
3
+ import type { AST } from 'eslint';
4
+ export declare const valueFromNode: (valueNode: import("graphql").ValueNode, variables?: import("graphql/jsutils/ObjMap").ObjMap<unknown>) => any;
5
+ export declare function getBaseType(type: GraphQLOutputType): GraphQLNamedType;
6
+ type TokenKindValue = '<SOF>' | '!' | '$' | '&' | '(' | ')' | '...' | ':' | '=' | '@' | '[' | ']' | '{' | '|' | '}' | 'Name' | 'Int' | 'Float' | 'String' | 'BlockString' | 'Comment';
7
+ export declare function convertToken<T extends 'Line' | 'Block' | TokenKindValue>(token: Token, type: T): Omit<AST.Token, 'type'> & {
8
+ type: T;
9
+ };
10
+ export declare function extractTokens(filePath: string, code: string): AST.Token[];
11
+ export declare function extractComments(loc: Location): Comment[];
12
+ export declare function convertLocation(location: Location): SourceLocation;
13
+ export {};
@@ -0,0 +1,4 @@
1
+ import { GraphQLConfig } from 'graphql-config';
2
+ import { ParserOptions } from './types';
3
+ export declare function loadOnDiskGraphQLConfig(filePath: string): GraphQLConfig;
4
+ export declare function loadGraphQLConfig(options: ParserOptions): GraphQLConfig;
@@ -0,0 +1,9 @@
1
+ export { rules } from './rules';
2
+ export { parseForESLint } from './parser';
3
+ export * from './testkit';
4
+ export * from './types';
5
+ export { requireGraphQLSchemaFromContext, requireSiblingsOperations } from './utils';
6
+ export declare const processors: {
7
+ graphql: import("eslint").Linter.Processor<string | import("./processor").Block>;
8
+ };
9
+ export { configs } from './configs';
@@ -6,8 +6,4 @@ export { requireGraphQLSchemaFromContext, requireSiblingsOperations } from './ut
6
6
  export declare const processors: {
7
7
  graphql: import("eslint").Linter.Processor<string | import("./processor").Block>;
8
8
  };
9
- export declare const configs: {
10
- [k: string]: {
11
- extends: string;
12
- };
13
- };
9
+ export { configs } from './configs';
File without changes
@@ -0,0 +1,2 @@
1
+ import { GraphQLESLintParseResult, ParserOptions } from './types';
2
+ export declare function parseForESLint(code: string, options: ParserOptions): GraphQLESLintParseResult;
File without changes
@@ -0,0 +1,6 @@
1
+ import { Linter } from 'eslint';
2
+ export type Block = Linter.ProcessorFile & {
3
+ lineOffset: number;
4
+ offset: number;
5
+ };
6
+ export declare const processor: Linter.Processor<Block | string>;
@@ -0,0 +1,76 @@
1
+ import { GraphQLESLintRule } from '../types';
2
+ import { FromSchema } from 'json-schema-to-ts';
3
+ declare const schema: {
4
+ readonly type: "array";
5
+ readonly minItems: 1;
6
+ readonly maxItems: 1;
7
+ readonly items: {
8
+ readonly type: "object";
9
+ readonly additionalProperties: false;
10
+ readonly minProperties: 1;
11
+ readonly properties: {
12
+ readonly fields: {
13
+ readonly items: {
14
+ readonly enum: ("ObjectTypeDefinition" | "InterfaceTypeDefinition" | "InputObjectTypeDefinition")[];
15
+ };
16
+ readonly description: "Fields of `type`, `interface`, and `input`.";
17
+ readonly type: "array";
18
+ readonly uniqueItems: true;
19
+ readonly minItems: 1;
20
+ };
21
+ readonly values: {
22
+ readonly items: {
23
+ readonly enum: ["EnumTypeDefinition"];
24
+ };
25
+ readonly description: "Values of `enum`.";
26
+ readonly type: "array";
27
+ readonly uniqueItems: true;
28
+ readonly minItems: 1;
29
+ };
30
+ readonly selections: {
31
+ readonly items: {
32
+ readonly enum: ("OperationDefinition" | "FragmentDefinition")[];
33
+ };
34
+ readonly description: "Selections of `fragment` and operations `query`, `mutation` and `subscription`.";
35
+ readonly type: "array";
36
+ readonly uniqueItems: true;
37
+ readonly minItems: 1;
38
+ };
39
+ readonly variables: {
40
+ readonly items: {
41
+ readonly enum: ["OperationDefinition"];
42
+ };
43
+ readonly description: "Variables of operations `query`, `mutation` and `subscription`.";
44
+ readonly type: "array";
45
+ readonly uniqueItems: true;
46
+ readonly minItems: 1;
47
+ };
48
+ readonly arguments: {
49
+ readonly items: {
50
+ readonly enum: ("Field" | "Directive" | "FieldDefinition" | "DirectiveDefinition")[];
51
+ };
52
+ readonly description: "Arguments of fields and directives.";
53
+ readonly type: "array";
54
+ readonly uniqueItems: true;
55
+ readonly minItems: 1;
56
+ };
57
+ readonly definitions: {
58
+ readonly type: "boolean";
59
+ readonly description: "Definitions – `type`, `interface`, `enum`, `scalar`, `input`, `union` and `directive`.";
60
+ readonly default: false;
61
+ };
62
+ readonly groups: {
63
+ readonly minItems: 2;
64
+ readonly description: "Custom order group. Example: `['id', '*', 'createdAt', 'updatedAt']` where `*` says for everything else.";
65
+ readonly type: "array";
66
+ readonly uniqueItems: true;
67
+ readonly items: {
68
+ readonly type: "string";
69
+ };
70
+ };
71
+ };
72
+ };
73
+ };
74
+ export type RuleOptions = FromSchema<typeof schema>;
75
+ export declare const rule: GraphQLESLintRule<RuleOptions>;
76
+ export {};
@@ -0,0 +1,20 @@
1
+ import { GraphQLESLintRule } from '../types';
2
+ import { FromSchema } from 'json-schema-to-ts';
3
+ declare const schema: {
4
+ readonly type: "array";
5
+ readonly maxItems: 1;
6
+ readonly items: {
7
+ readonly type: "object";
8
+ readonly additionalProperties: false;
9
+ readonly minProperties: 1;
10
+ readonly properties: {
11
+ readonly style: {
12
+ readonly enum: readonly ["block", "inline"];
13
+ readonly default: "block";
14
+ };
15
+ };
16
+ };
17
+ };
18
+ export type RuleOptions = FromSchema<typeof schema>;
19
+ export declare const rule: GraphQLESLintRule<RuleOptions>;
20
+ export {};
@@ -0,0 +1,2 @@
1
+ import { GraphQLESLintRule } from '../types';
2
+ export declare const GRAPHQL_JS_VALIDATIONS: Record<string, GraphQLESLintRule>;
File without changes
@@ -0,0 +1,104 @@
1
+ export declare const rules: {
2
+ alphabetize: import("..").GraphQLESLintRule<{
3
+ definitions?: boolean;
4
+ selections?: import("json-schema-to-ts/lib/types/type-utils").Writable<"OperationDefinition" | "FragmentDefinition">[];
5
+ arguments?: import("json-schema-to-ts/lib/types/type-utils").Writable<"Field" | "Directive" | "FieldDefinition" | "DirectiveDefinition">[];
6
+ values?: "EnumTypeDefinition"[];
7
+ fields?: import("json-schema-to-ts/lib/types/type-utils").Writable<"ObjectTypeDefinition" | "InterfaceTypeDefinition" | "InputObjectTypeDefinition">[];
8
+ variables?: "OperationDefinition"[];
9
+ groups?: string[];
10
+ }[], false>;
11
+ 'description-style': import("..").GraphQLESLintRule<{
12
+ style?: "block" | "inline";
13
+ }[], false>;
14
+ 'input-name': import("..").GraphQLESLintRule<{
15
+ checkInputType?: boolean;
16
+ caseSensitiveInputType?: boolean;
17
+ checkQueries?: boolean;
18
+ checkMutations?: boolean;
19
+ }[], false>;
20
+ 'lone-executable-definition': import("..").GraphQLESLintRule<{
21
+ ignore?: ("fragment" | "query" | "mutation" | "subscription")[];
22
+ }[], false>;
23
+ 'match-document-filename': import("..").GraphQLESLintRule<{
24
+ fragment?: import("json-schema-to-ts/lib/types/type-utils").Writable<import("../utils").CaseStyle | "matchDocumentStyle"> | {
25
+ style?: import("json-schema-to-ts/lib/types/type-utils").Writable<import("../utils").CaseStyle | "matchDocumentStyle">;
26
+ suffix?: string;
27
+ prefix?: string;
28
+ };
29
+ query?: import("json-schema-to-ts/lib/types/type-utils").Writable<import("../utils").CaseStyle | "matchDocumentStyle"> | {
30
+ style?: import("json-schema-to-ts/lib/types/type-utils").Writable<import("../utils").CaseStyle | "matchDocumentStyle">;
31
+ suffix?: string;
32
+ prefix?: string;
33
+ };
34
+ mutation?: import("json-schema-to-ts/lib/types/type-utils").Writable<import("../utils").CaseStyle | "matchDocumentStyle"> | {
35
+ style?: import("json-schema-to-ts/lib/types/type-utils").Writable<import("../utils").CaseStyle | "matchDocumentStyle">;
36
+ suffix?: string;
37
+ prefix?: string;
38
+ };
39
+ subscription?: import("json-schema-to-ts/lib/types/type-utils").Writable<import("../utils").CaseStyle | "matchDocumentStyle"> | {
40
+ style?: import("json-schema-to-ts/lib/types/type-utils").Writable<import("../utils").CaseStyle | "matchDocumentStyle">;
41
+ suffix?: string;
42
+ prefix?: string;
43
+ };
44
+ fileExtension?: ".gql" | ".graphql";
45
+ }[], false>;
46
+ 'naming-convention': import("..").GraphQLESLintRule<{
47
+ [x: string]: unknown;
48
+ types?: import("json-schema-to-ts/lib/types/type-utils").Writable<"camelCase" | "PascalCase" | "snake_case" | "UPPER_CASE"> | {
49
+ style?: import("json-schema-to-ts/lib/types/type-utils").Writable<"camelCase" | "PascalCase" | "snake_case" | "UPPER_CASE">;
50
+ suffix?: string;
51
+ prefix?: string;
52
+ forbiddenPrefixes?: string[];
53
+ forbiddenSuffixes?: string[];
54
+ ignorePattern?: string;
55
+ };
56
+ allowLeadingUnderscore?: boolean;
57
+ allowTrailingUnderscore?: boolean;
58
+ }[], false>;
59
+ 'no-anonymous-operations': import("..").GraphQLESLintRule<any[], false>;
60
+ 'no-case-insensitive-enum-values-duplicates': import("..").GraphQLESLintRule<any[], false>;
61
+ 'no-deprecated': import("..").GraphQLESLintRule<[], true>;
62
+ 'no-duplicate-fields': import("..").GraphQLESLintRule<any[], false>;
63
+ 'no-hashtag-description': import("..").GraphQLESLintRule<any[], false>;
64
+ 'no-root-type': import("..").GraphQLESLintRule<{
65
+ disallow: ("mutation" | "subscription")[];
66
+ }[], false>;
67
+ 'no-scalar-result-type-on-mutation': import("..").GraphQLESLintRule<any[], false>;
68
+ 'no-typename-prefix': import("..").GraphQLESLintRule<any[], false>;
69
+ 'no-unreachable-types': import("..").GraphQLESLintRule<any[], false>;
70
+ 'no-unused-fields': import("..").GraphQLESLintRule<any[], false>;
71
+ 'relay-arguments': import("..").GraphQLESLintRule<{
72
+ includeBoth?: boolean;
73
+ }[], true>;
74
+ 'relay-connection-types': import("..").GraphQLESLintRule<any[], false>;
75
+ 'relay-edge-types': import("..").GraphQLESLintRule<{
76
+ withEdgeSuffix?: boolean;
77
+ shouldImplementNode?: boolean;
78
+ listTypeCanWrapOnlyEdgeType?: boolean;
79
+ }[], true>;
80
+ 'relay-page-info': import("..").GraphQLESLintRule<any[], false>;
81
+ 'require-deprecation-date': import("..").GraphQLESLintRule<{
82
+ argumentName?: string;
83
+ }[], false>;
84
+ 'require-deprecation-reason': import("..").GraphQLESLintRule<any[], false>;
85
+ 'require-description': import("..").GraphQLESLintRule<import("./require-description").RuleOptions, false>;
86
+ 'require-field-of-type-query-in-mutation-result': import("..").GraphQLESLintRule<any[], false>;
87
+ 'require-id-when-available': import("..").GraphQLESLintRule<{
88
+ fieldName?: string | string[];
89
+ }[], true>;
90
+ 'selection-set-depth': import("..").GraphQLESLintRule<{
91
+ ignore?: string[];
92
+ maxDepth: number;
93
+ }[], false>;
94
+ 'strict-id-in-types': import("..").GraphQLESLintRule<{
95
+ acceptedIdNames?: string[];
96
+ acceptedIdTypes?: string[];
97
+ exceptions?: {
98
+ types?: string[];
99
+ suffixes?: string[];
100
+ };
101
+ }[], false>;
102
+ 'unique-fragment-name': import("..").GraphQLESLintRule<any[], false>;
103
+ 'unique-operation-name': import("..").GraphQLESLintRule<any[], false>;
104
+ };
@@ -0,0 +1,35 @@
1
+ import { GraphQLESLintRule } from '../types';
2
+ import { FromSchema } from 'json-schema-to-ts';
3
+ declare const schema: {
4
+ readonly type: "array";
5
+ readonly maxItems: 1;
6
+ readonly items: {
7
+ readonly type: "object";
8
+ readonly additionalProperties: false;
9
+ readonly properties: {
10
+ readonly checkInputType: {
11
+ readonly type: "boolean";
12
+ readonly default: false;
13
+ readonly description: "Check that the input type name follows the convention <mutationName>Input";
14
+ };
15
+ readonly caseSensitiveInputType: {
16
+ readonly type: "boolean";
17
+ readonly default: true;
18
+ readonly description: "Allow for case discrepancies in the input type name";
19
+ };
20
+ readonly checkQueries: {
21
+ readonly type: "boolean";
22
+ readonly default: false;
23
+ readonly description: "Apply the rule to Queries";
24
+ };
25
+ readonly checkMutations: {
26
+ readonly type: "boolean";
27
+ readonly default: true;
28
+ readonly description: "Apply the rule to Mutations";
29
+ };
30
+ };
31
+ };
32
+ };
33
+ export type RuleOptions = FromSchema<typeof schema>;
34
+ export declare const rule: GraphQLESLintRule<RuleOptions>;
35
+ export {};
@@ -0,0 +1,26 @@
1
+ import { GraphQLESLintRule } from '../types';
2
+ import { FromSchema } from 'json-schema-to-ts';
3
+ declare const schema: {
4
+ readonly type: "array";
5
+ readonly maxItems: 1;
6
+ readonly items: {
7
+ readonly type: "object";
8
+ readonly minProperties: 1;
9
+ readonly additionalProperties: false;
10
+ readonly properties: {
11
+ readonly ignore: {
12
+ readonly maxItems: 3;
13
+ readonly items: {
14
+ readonly enum: readonly ["fragment", "query", "mutation", "subscription"];
15
+ };
16
+ readonly description: "Allow certain definitions to be placed alongside others.";
17
+ readonly type: "array";
18
+ readonly uniqueItems: true;
19
+ readonly minItems: 1;
20
+ };
21
+ };
22
+ };
23
+ };
24
+ export type RuleOptions = FromSchema<typeof schema>;
25
+ export declare const rule: GraphQLESLintRule<RuleOptions>;
26
+ export {};