@graphql-eslint/eslint-plugin 4.0.0-alpha-20220821140530-e968cfc → 4.0.0-alpha-20230801163310-8bc4340

Sign up to get free protection for your applications and to get access to all the features.
Files changed (347) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -253
  3. package/cjs/cache.d.ts +12 -0
  4. package/cjs/cache.js +62 -0
  5. package/cjs/configs/index.d.ts +148 -0
  6. package/cjs/configs/index.js +49 -0
  7. package/cjs/configs/operations-all.d.ts +22 -0
  8. package/cjs/configs/operations-all.js +27 -0
  9. package/cjs/configs/operations-recommended.d.ts +52 -0
  10. package/{configs/operations-recommended.json → cjs/configs/operations-recommended.js} +16 -14
  11. package/cjs/configs/relay.d.ts +12 -0
  12. package/{configs/relay.json → cjs/configs/relay.js} +6 -4
  13. package/cjs/configs/schema-all.d.ts +19 -0
  14. package/cjs/configs/schema-all.js +21 -0
  15. package/cjs/configs/schema-recommended.d.ts +49 -0
  16. package/{configs/schema-recommended.json → cjs/configs/schema-recommended.js} +19 -20
  17. package/cjs/documents.d.ts +6 -0
  18. package/cjs/documents.js +81 -0
  19. package/cjs/estree-converter/converter.d.ts +8 -0
  20. package/cjs/estree-converter/converter.js +83 -0
  21. package/cjs/estree-converter/index.d.ts +8 -0
  22. package/cjs/estree-converter/index.js +26 -0
  23. package/cjs/estree-converter/types.d.ts +42 -0
  24. package/cjs/estree-converter/types.js +16 -0
  25. package/cjs/estree-converter/utils.d.ts +18 -0
  26. package/cjs/estree-converter/utils.js +135 -0
  27. package/cjs/flat-configs.d.ts +260 -0
  28. package/cjs/flat-configs.js +60 -0
  29. package/cjs/graphql-config.d.ts +13 -0
  30. package/cjs/graphql-config.js +86 -0
  31. package/cjs/index.d.ts +22 -0
  32. package/cjs/index.js +49 -0
  33. package/cjs/parser.d.ts +12 -0
  34. package/cjs/parser.js +103 -0
  35. package/cjs/processor.d.ts +9 -0
  36. package/cjs/processor.js +127 -0
  37. package/cjs/rules/alphabetize.d.ts +84 -0
  38. package/cjs/rules/alphabetize.js +395 -0
  39. package/cjs/rules/description-style.d.ts +28 -0
  40. package/cjs/rules/description-style.js +109 -0
  41. package/cjs/rules/graphql-js-validation.d.ts +12 -0
  42. package/cjs/rules/graphql-js-validation.js +669 -0
  43. package/cjs/rules/index.d.ts +125 -0
  44. package/cjs/rules/index.js +99 -0
  45. package/cjs/rules/input-name.d.ts +43 -0
  46. package/cjs/rules/input-name.js +170 -0
  47. package/cjs/rules/lone-executable-definition.d.ts +34 -0
  48. package/cjs/rules/lone-executable-definition.js +119 -0
  49. package/cjs/rules/match-document-filename.d.ts +80 -0
  50. package/cjs/rules/match-document-filename.js +282 -0
  51. package/cjs/rules/naming-convention.d.ts +107 -0
  52. package/cjs/rules/naming-convention.js +434 -0
  53. package/cjs/rules/no-anonymous-operations.d.ts +12 -0
  54. package/cjs/rules/no-anonymous-operations.js +98 -0
  55. package/cjs/rules/no-case-insensitive-enum-values-duplicates.d.ts +12 -0
  56. package/cjs/rules/no-case-insensitive-enum-values-duplicates.js +96 -0
  57. package/cjs/rules/no-deprecated.d.ts +12 -0
  58. package/cjs/rules/no-deprecated.js +157 -0
  59. package/cjs/rules/no-duplicate-fields.d.ts +12 -0
  60. package/cjs/rules/no-duplicate-fields.js +146 -0
  61. package/cjs/rules/no-hashtag-description.d.ts +13 -0
  62. package/cjs/rules/no-hashtag-description.js +140 -0
  63. package/cjs/rules/no-one-place-fragments.d.ts +12 -0
  64. package/cjs/rules/no-one-place-fragments.js +113 -0
  65. package/cjs/rules/no-root-type.d.ts +33 -0
  66. package/cjs/rules/no-root-type.js +113 -0
  67. package/cjs/rules/no-scalar-result-type-on-mutation.d.ts +12 -0
  68. package/cjs/rules/no-scalar-result-type-on-mutation.js +100 -0
  69. package/cjs/rules/no-typename-prefix.d.ts +12 -0
  70. package/cjs/rules/no-typename-prefix.js +98 -0
  71. package/cjs/rules/no-unreachable-types.d.ts +12 -0
  72. package/cjs/rules/no-unreachable-types.js +199 -0
  73. package/cjs/rules/no-unused-fields.d.ts +12 -0
  74. package/cjs/rules/no-unused-fields.js +157 -0
  75. package/cjs/rules/relay-arguments.d.ts +29 -0
  76. package/cjs/rules/relay-arguments.js +149 -0
  77. package/cjs/rules/relay-connection-types.d.ts +13 -0
  78. package/cjs/rules/relay-connection-types.js +142 -0
  79. package/cjs/rules/relay-edge-types.d.ts +39 -0
  80. package/cjs/rules/relay-edge-types.js +212 -0
  81. package/cjs/rules/relay-page-info.d.ts +12 -0
  82. package/cjs/rules/relay-page-info.js +121 -0
  83. package/cjs/rules/require-deprecation-date.d.ts +26 -0
  84. package/cjs/rules/require-deprecation-date.js +164 -0
  85. package/cjs/rules/require-deprecation-reason.d.ts +12 -0
  86. package/cjs/rules/require-deprecation-reason.js +93 -0
  87. package/cjs/rules/require-description.d.ts +23 -0
  88. package/cjs/rules/require-description.js +205 -0
  89. package/cjs/rules/require-field-of-type-query-in-mutation-result.d.ts +12 -0
  90. package/cjs/rules/require-field-of-type-query-in-mutation-result.js +102 -0
  91. package/cjs/rules/require-id-when-available.d.ts +44 -0
  92. package/cjs/rules/require-id-when-available.js +241 -0
  93. package/cjs/rules/require-import-fragment.d.ts +12 -0
  94. package/cjs/rules/require-import-fragment.js +166 -0
  95. package/cjs/rules/require-nullable-fields-with-oneof.d.ts +12 -0
  96. package/cjs/rules/require-nullable-fields-with-oneof.js +92 -0
  97. package/cjs/rules/require-nullable-result-in-root.d.ts +12 -0
  98. package/cjs/rules/require-nullable-result-in-root.js +109 -0
  99. package/cjs/rules/require-type-pattern-with-oneof.d.ts +12 -0
  100. package/cjs/rules/require-type-pattern-with-oneof.js +91 -0
  101. package/cjs/rules/selection-set-depth.d.ts +36 -0
  102. package/cjs/rules/selection-set-depth.js +175 -0
  103. package/cjs/rules/strict-id-in-types.d.ts +65 -0
  104. package/cjs/rules/strict-id-in-types.js +186 -0
  105. package/cjs/rules/unique-fragment-name.d.ts +13 -0
  106. package/cjs/rules/unique-fragment-name.js +118 -0
  107. package/cjs/rules/unique-operation-name.d.ts +12 -0
  108. package/cjs/rules/unique-operation-name.js +95 -0
  109. package/cjs/schema.d.ts +12 -0
  110. package/cjs/schema.js +65 -0
  111. package/cjs/siblings.d.ts +8 -0
  112. package/cjs/siblings.js +136 -0
  113. package/cjs/types-8d5f4ae0.d.ts +107 -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 +205 -0
  118. package/esm/cache.d.mts +12 -0
  119. package/esm/cache.js +29 -0
  120. package/esm/chunk-BMTV3EA2.js +8 -0
  121. package/esm/configs/index.d.mts +148 -0
  122. package/esm/configs/index.js +16 -0
  123. package/esm/configs/operations-all.d.mts +22 -0
  124. package/esm/configs/operations-all.js +34 -0
  125. package/esm/configs/operations-recommended.d.mts +52 -0
  126. package/esm/configs/operations-recommended.js +59 -0
  127. package/esm/configs/relay.d.mts +12 -0
  128. package/esm/configs/relay.js +18 -0
  129. package/esm/configs/schema-all.d.mts +19 -0
  130. package/esm/configs/schema-all.js +28 -0
  131. package/esm/configs/schema-recommended.d.mts +49 -0
  132. package/esm/configs/schema-recommended.js +55 -0
  133. package/esm/documents.d.mts +6 -0
  134. package/esm/documents.js +48 -0
  135. package/esm/estree-converter/converter.d.mts +8 -0
  136. package/esm/estree-converter/converter.js +65 -0
  137. package/esm/estree-converter/index.d.mts +8 -0
  138. package/esm/estree-converter/index.js +3 -0
  139. package/esm/estree-converter/types.d.mts +42 -0
  140. package/esm/estree-converter/types.js +0 -0
  141. package/esm/estree-converter/utils.d.mts +18 -0
  142. package/esm/estree-converter/utils.js +114 -0
  143. package/esm/flat-configs.d.mts +260 -0
  144. package/esm/flat-configs.js +37 -0
  145. package/esm/graphql-config.d.mts +13 -0
  146. package/esm/graphql-config.js +55 -0
  147. package/esm/index.d.mts +22 -0
  148. package/esm/index.js +18 -0
  149. package/esm/package.json +1 -0
  150. package/esm/parser.d.mts +12 -0
  151. package/esm/parser.js +70 -0
  152. package/esm/processor.d.mts +9 -0
  153. package/esm/processor.js +106 -0
  154. package/esm/rules/alphabetize.d.mts +84 -0
  155. package/esm/rules/alphabetize.js +364 -0
  156. package/esm/rules/description-style.d.mts +28 -0
  157. package/esm/rules/description-style.js +86 -0
  158. package/esm/rules/graphql-js-validation.d.mts +12 -0
  159. package/esm/rules/graphql-js-validation.js +658 -0
  160. package/esm/rules/index.d.mts +125 -0
  161. package/esm/rules/index.js +76 -0
  162. package/esm/rules/input-name.d.mts +43 -0
  163. package/esm/rules/input-name.js +149 -0
  164. package/esm/rules/lone-executable-definition.d.mts +34 -0
  165. package/esm/rules/lone-executable-definition.js +96 -0
  166. package/esm/rules/match-document-filename.d.mts +80 -0
  167. package/esm/rules/match-document-filename.js +263 -0
  168. package/esm/rules/naming-convention.d.mts +107 -0
  169. package/esm/rules/naming-convention.js +417 -0
  170. package/esm/rules/no-anonymous-operations.d.mts +12 -0
  171. package/esm/rules/no-anonymous-operations.js +75 -0
  172. package/esm/rules/no-case-insensitive-enum-values-duplicates.d.mts +12 -0
  173. package/esm/rules/no-case-insensitive-enum-values-duplicates.js +73 -0
  174. package/esm/rules/no-deprecated.d.mts +12 -0
  175. package/esm/rules/no-deprecated.js +134 -0
  176. package/esm/rules/no-duplicate-fields.d.mts +12 -0
  177. package/esm/rules/no-duplicate-fields.js +123 -0
  178. package/esm/rules/no-hashtag-description.d.mts +13 -0
  179. package/esm/rules/no-hashtag-description.js +116 -0
  180. package/esm/rules/no-one-place-fragments.d.mts +12 -0
  181. package/esm/rules/no-one-place-fragments.js +90 -0
  182. package/esm/rules/no-root-type.d.mts +33 -0
  183. package/esm/rules/no-root-type.js +90 -0
  184. package/esm/rules/no-scalar-result-type-on-mutation.d.mts +12 -0
  185. package/esm/rules/no-scalar-result-type-on-mutation.js +77 -0
  186. package/esm/rules/no-typename-prefix.d.mts +12 -0
  187. package/esm/rules/no-typename-prefix.js +75 -0
  188. package/esm/rules/no-unreachable-types.d.mts +12 -0
  189. package/esm/rules/no-unreachable-types.js +171 -0
  190. package/esm/rules/no-unused-fields.d.mts +12 -0
  191. package/esm/rules/no-unused-fields.js +134 -0
  192. package/esm/rules/relay-arguments.d.mts +29 -0
  193. package/esm/rules/relay-arguments.js +126 -0
  194. package/esm/rules/relay-connection-types.d.mts +13 -0
  195. package/esm/rules/relay-connection-types.js +118 -0
  196. package/esm/rules/relay-edge-types.d.mts +39 -0
  197. package/esm/rules/relay-edge-types.js +194 -0
  198. package/esm/rules/relay-page-info.d.mts +12 -0
  199. package/esm/rules/relay-page-info.js +98 -0
  200. package/esm/rules/require-deprecation-date.d.mts +26 -0
  201. package/esm/rules/require-deprecation-date.js +141 -0
  202. package/esm/rules/require-deprecation-reason.d.mts +12 -0
  203. package/esm/rules/require-deprecation-reason.js +70 -0
  204. package/esm/rules/require-description.d.mts +23 -0
  205. package/esm/rules/require-description.js +186 -0
  206. package/esm/rules/require-field-of-type-query-in-mutation-result.d.mts +12 -0
  207. package/esm/rules/require-field-of-type-query-in-mutation-result.js +79 -0
  208. package/esm/rules/require-id-when-available.d.mts +44 -0
  209. package/esm/rules/require-id-when-available.js +231 -0
  210. package/esm/rules/require-import-fragment.d.mts +12 -0
  211. package/esm/rules/require-import-fragment.js +133 -0
  212. package/esm/rules/require-nullable-fields-with-oneof.d.mts +12 -0
  213. package/esm/rules/require-nullable-fields-with-oneof.js +69 -0
  214. package/esm/rules/require-nullable-result-in-root.d.mts +12 -0
  215. package/esm/rules/require-nullable-result-in-root.js +86 -0
  216. package/esm/rules/require-type-pattern-with-oneof.d.mts +12 -0
  217. package/esm/rules/require-type-pattern-with-oneof.js +68 -0
  218. package/esm/rules/selection-set-depth.d.mts +36 -0
  219. package/esm/rules/selection-set-depth.js +142 -0
  220. package/esm/rules/strict-id-in-types.d.mts +65 -0
  221. package/esm/rules/strict-id-in-types.js +169 -0
  222. package/esm/rules/unique-fragment-name.d.mts +13 -0
  223. package/esm/rules/unique-fragment-name.js +94 -0
  224. package/esm/rules/unique-operation-name.d.mts +12 -0
  225. package/esm/rules/unique-operation-name.js +72 -0
  226. package/esm/schema.d.mts +12 -0
  227. package/esm/schema.js +32 -0
  228. package/esm/siblings.d.mts +8 -0
  229. package/esm/siblings.js +116 -0
  230. package/esm/types-ace77d86.d.ts +107 -0
  231. package/esm/types.d.mts +8 -0
  232. package/esm/types.js +0 -0
  233. package/esm/utils.d.mts +44 -0
  234. package/esm/utils.js +155 -0
  235. package/package.json +47 -34
  236. package/configs/base.json +0 -4
  237. package/configs/operations-all.json +0 -24
  238. package/configs/schema-all.json +0 -26
  239. package/docs/README.md +0 -75
  240. package/docs/custom-rules.md +0 -148
  241. package/docs/deprecated-rules.md +0 -21
  242. package/docs/parser-options.md +0 -85
  243. package/docs/parser.md +0 -49
  244. package/docs/rules/alphabetize.md +0 -178
  245. package/docs/rules/description-style.md +0 -54
  246. package/docs/rules/executable-definitions.md +0 -17
  247. package/docs/rules/fields-on-correct-type.md +0 -17
  248. package/docs/rules/fragments-on-composite-type.md +0 -17
  249. package/docs/rules/input-name.md +0 -76
  250. package/docs/rules/known-argument-names.md +0 -17
  251. package/docs/rules/known-directives.md +0 -44
  252. package/docs/rules/known-fragment-names.md +0 -69
  253. package/docs/rules/known-type-names.md +0 -17
  254. package/docs/rules/lone-anonymous-operation.md +0 -17
  255. package/docs/rules/lone-schema-definition.md +0 -17
  256. package/docs/rules/match-document-filename.md +0 -156
  257. package/docs/rules/naming-convention.md +0 -300
  258. package/docs/rules/no-anonymous-operations.md +0 -39
  259. package/docs/rules/no-case-insensitive-enum-values-duplicates.md +0 -43
  260. package/docs/rules/no-deprecated.md +0 -85
  261. package/docs/rules/no-duplicate-fields.md +0 -65
  262. package/docs/rules/no-fragment-cycles.md +0 -17
  263. package/docs/rules/no-hashtag-description.md +0 -59
  264. package/docs/rules/no-root-type.md +0 -53
  265. package/docs/rules/no-scalar-result-type-on-mutation.md +0 -37
  266. package/docs/rules/no-typename-prefix.md +0 -39
  267. package/docs/rules/no-undefined-variables.md +0 -17
  268. package/docs/rules/no-unreachable-types.md +0 -49
  269. package/docs/rules/no-unused-fields.md +0 -62
  270. package/docs/rules/no-unused-fragments.md +0 -17
  271. package/docs/rules/no-unused-variables.md +0 -17
  272. package/docs/rules/one-field-subscriptions.md +0 -17
  273. package/docs/rules/overlapping-fields-can-be-merged.md +0 -17
  274. package/docs/rules/possible-fragment-spread.md +0 -17
  275. package/docs/rules/possible-type-extension.md +0 -15
  276. package/docs/rules/provided-required-arguments.md +0 -17
  277. package/docs/rules/relay-arguments.md +0 -57
  278. package/docs/rules/relay-connection-types.md +0 -42
  279. package/docs/rules/relay-edge-types.md +0 -56
  280. package/docs/rules/relay-page-info.md +0 -32
  281. package/docs/rules/require-deprecation-date.md +0 -56
  282. package/docs/rules/require-deprecation-reason.md +0 -47
  283. package/docs/rules/require-description.md +0 -115
  284. package/docs/rules/require-field-of-type-query-in-mutation-result.md +0 -47
  285. package/docs/rules/require-id-when-available.md +0 -88
  286. package/docs/rules/scalar-leafs.md +0 -17
  287. package/docs/rules/selection-set-depth.md +0 -76
  288. package/docs/rules/strict-id-in-types.md +0 -130
  289. package/docs/rules/unique-argument-names.md +0 -17
  290. package/docs/rules/unique-directive-names-per-location.md +0 -17
  291. package/docs/rules/unique-directive-names.md +0 -17
  292. package/docs/rules/unique-enum-value-names.md +0 -15
  293. package/docs/rules/unique-field-definition-names.md +0 -17
  294. package/docs/rules/unique-fragment-name.md +0 -51
  295. package/docs/rules/unique-input-field-names.md +0 -17
  296. package/docs/rules/unique-operation-name.md +0 -55
  297. package/docs/rules/unique-operation-types.md +0 -17
  298. package/docs/rules/unique-type-names.md +0 -17
  299. package/docs/rules/unique-variable-names.md +0 -17
  300. package/docs/rules/value-literals-of-correct-type.md +0 -17
  301. package/docs/rules/variables-are-input-types.md +0 -17
  302. package/docs/rules/variables-in-allowed-position.md +0 -17
  303. package/estree-converter/converter.d.ts +0 -3
  304. package/estree-converter/index.d.ts +0 -3
  305. package/estree-converter/types.d.ts +0 -40
  306. package/estree-converter/utils.d.ts +0 -13
  307. package/graphql-config.d.ts +0 -3
  308. package/index.d.ts +0 -16
  309. package/index.js +0 -4653
  310. package/index.mjs +0 -4641
  311. package/parser.d.ts +0 -2
  312. package/processor.d.ts +0 -7
  313. package/rules/alphabetize.d.ts +0 -16
  314. package/rules/description-style.d.ts +0 -6
  315. package/rules/graphql-js-validation.d.ts +0 -2
  316. package/rules/index.d.ts +0 -41
  317. package/rules/input-name.d.ts +0 -9
  318. package/rules/match-document-filename.d.ts +0 -18
  319. package/rules/naming-convention.d.ts +0 -37
  320. package/rules/no-anonymous-operations.d.ts +0 -3
  321. package/rules/no-case-insensitive-enum-values-duplicates.d.ts +0 -3
  322. package/rules/no-deprecated.d.ts +0 -3
  323. package/rules/no-duplicate-fields.d.ts +0 -3
  324. package/rules/no-hashtag-description.d.ts +0 -3
  325. package/rules/no-root-type.d.ts +0 -7
  326. package/rules/no-scalar-result-type-on-mutation.d.ts +0 -3
  327. package/rules/no-typename-prefix.d.ts +0 -3
  328. package/rules/no-unreachable-types.d.ts +0 -3
  329. package/rules/no-unused-fields.d.ts +0 -3
  330. package/rules/relay-arguments.d.ts +0 -6
  331. package/rules/relay-connection-types.d.ts +0 -5
  332. package/rules/relay-edge-types.d.ts +0 -8
  333. package/rules/relay-page-info.d.ts +0 -3
  334. package/rules/require-deprecation-date.d.ts +0 -5
  335. package/rules/require-deprecation-reason.d.ts +0 -3
  336. package/rules/require-description.d.ts +0 -11
  337. package/rules/require-field-of-type-query-in-mutation-result.d.ts +0 -3
  338. package/rules/require-id-when-available.d.ts +0 -6
  339. package/rules/selection-set-depth.d.ts +0 -7
  340. package/rules/strict-id-in-types.d.ts +0 -11
  341. package/rules/unique-fragment-name.d.ts +0 -6
  342. package/rules/unique-operation-name.d.ts +0 -3
  343. package/schema.d.ts +0 -3
  344. package/sibling-operations.d.ts +0 -21
  345. package/testkit.d.ts +0 -27
  346. package/types.d.ts +0 -79
  347. package/utils.d.ts +0 -39
package/parser.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { GraphQLESLintParseResult, ParserOptions } from './types';
2
- export declare function parseForESLint(code: string, options?: ParserOptions): GraphQLESLintParseResult;
package/processor.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import type { Linter } from 'eslint';
2
- declare type Block = Linter.ProcessorFile & {
3
- lineOffset: number;
4
- offset: number;
5
- };
6
- export declare const processor: Linter.Processor<Block | string>;
7
- export {};
@@ -1,16 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare const fieldsEnum: ('ObjectTypeDefinition' | 'InterfaceTypeDefinition' | 'InputObjectTypeDefinition')[];
3
- declare const valuesEnum: ['EnumTypeDefinition'];
4
- declare const selectionsEnum: ('OperationDefinition' | 'FragmentDefinition')[];
5
- declare const variablesEnum: ['OperationDefinition'];
6
- declare const argumentsEnum: ('FieldDefinition' | 'Field' | 'DirectiveDefinition' | 'Directive')[];
7
- export declare type AlphabetizeConfig = {
8
- fields?: typeof fieldsEnum;
9
- values?: typeof valuesEnum;
10
- selections?: typeof selectionsEnum;
11
- variables?: typeof variablesEnum;
12
- arguments?: typeof argumentsEnum;
13
- definitions?: boolean;
14
- };
15
- declare const rule: GraphQLESLintRule<[AlphabetizeConfig]>;
16
- export default rule;
@@ -1,6 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare type DescriptionStyleRuleConfig = {
3
- style: 'inline' | 'block';
4
- };
5
- declare const rule: GraphQLESLintRule<[DescriptionStyleRuleConfig]>;
6
- export default rule;
@@ -1,2 +0,0 @@
1
- import type { GraphQLESLintRule } from '../types';
2
- export declare const GRAPHQL_JS_VALIDATIONS: Record<string, GraphQLESLintRule>;
package/rules/index.d.ts DELETED
@@ -1,41 +0,0 @@
1
- export declare const rules: {
2
- alphabetize: import("..").GraphQLESLintRule<[import("./alphabetize").AlphabetizeConfig], false>;
3
- 'description-style': import("..").GraphQLESLintRule<[{
4
- style: "block" | "inline";
5
- }], false>;
6
- 'input-name': import("..").GraphQLESLintRule<[{
7
- checkInputType?: boolean;
8
- caseSensitiveInputType?: boolean;
9
- checkQueries?: boolean;
10
- checkMutations?: boolean;
11
- }], false>;
12
- 'match-document-filename': import("..").GraphQLESLintRule<[import("./match-document-filename").MatchDocumentFilenameRuleConfig], false>;
13
- 'naming-convention': import("..").GraphQLESLintRule<[import("./naming-convention").NamingConventionRuleConfig], false>;
14
- 'no-anonymous-operations': import("..").GraphQLESLintRule<any[], false>;
15
- 'no-case-insensitive-enum-values-duplicates': import("..").GraphQLESLintRule<any[], false>;
16
- 'no-deprecated': import("..").GraphQLESLintRule<[], true>;
17
- 'no-duplicate-fields': import("..").GraphQLESLintRule<any[], false>;
18
- 'no-hashtag-description': import("..").GraphQLESLintRule<any[], false>;
19
- 'no-root-type': import("..").GraphQLESLintRule<[{
20
- disallow: ("mutation" | "subscription")[];
21
- }], false>;
22
- 'no-scalar-result-type-on-mutation': import("..").GraphQLESLintRule<any[], false>;
23
- 'no-typename-prefix': import("..").GraphQLESLintRule<any[], false>;
24
- 'no-unreachable-types': import("..").GraphQLESLintRule<any[], false>;
25
- 'no-unused-fields': import("..").GraphQLESLintRule<any[], false>;
26
- 'relay-arguments': import("..").GraphQLESLintRule<[import("./relay-arguments").RelayArgumentsConfig], true>;
27
- 'relay-connection-types': import("..").GraphQLESLintRule<any[], false>;
28
- 'relay-edge-types': import("..").GraphQLESLintRule<[import("./relay-edge-types").EdgeTypesConfig], true>;
29
- 'relay-page-info': import("..").GraphQLESLintRule<any[], false>;
30
- 'require-deprecation-date': import("..").GraphQLESLintRule<[{
31
- argumentName?: string;
32
- }], false>;
33
- 'require-deprecation-reason': import("..").GraphQLESLintRule<any[], false>;
34
- 'require-description': import("..").GraphQLESLintRule<[import("./require-description").RequireDescriptionRuleConfig], false>;
35
- 'require-field-of-type-query-in-mutation-result': import("..").GraphQLESLintRule<any[], false>;
36
- 'require-id-when-available': import("..").GraphQLESLintRule<[import("./require-id-when-available").RequireIdWhenAvailableRuleConfig], true>;
37
- 'selection-set-depth': import("..").GraphQLESLintRule<[import("./selection-set-depth").SelectionSetDepthRuleConfig], false>;
38
- 'strict-id-in-types': import("..").GraphQLESLintRule<[import("./strict-id-in-types").StrictIdInTypesRuleConfig], false>;
39
- 'unique-fragment-name': import("..").GraphQLESLintRule<any[], false>;
40
- 'unique-operation-name': import("..").GraphQLESLintRule<any[], false>;
41
- };
@@ -1,9 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare type InputNameRuleConfig = {
3
- checkInputType?: boolean;
4
- caseSensitiveInputType?: boolean;
5
- checkQueries?: boolean;
6
- checkMutations?: boolean;
7
- };
8
- declare const rule: GraphQLESLintRule<[InputNameRuleConfig]>;
9
- export default rule;
@@ -1,18 +0,0 @@
1
- import { CaseStyle as _CaseStyle } from '../utils';
2
- import { GraphQLESLintRule } from '../types';
3
- declare type CaseStyle = _CaseStyle | 'matchDocumentStyle';
4
- declare const ACCEPTED_EXTENSIONS: ['.gql', '.graphql'];
5
- declare type PropertySchema = {
6
- style?: CaseStyle;
7
- suffix?: string;
8
- prefix?: string;
9
- };
10
- export declare type MatchDocumentFilenameRuleConfig = {
11
- fileExtension?: typeof ACCEPTED_EXTENSIONS[number];
12
- query?: CaseStyle | PropertySchema;
13
- mutation?: CaseStyle | PropertySchema;
14
- subscription?: CaseStyle | PropertySchema;
15
- fragment?: CaseStyle | PropertySchema;
16
- };
17
- declare const rule: GraphQLESLintRule<[MatchDocumentFilenameRuleConfig]>;
18
- export default rule;
@@ -1,37 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare const KindToDisplayName: {
3
- ObjectTypeDefinition: string;
4
- InterfaceTypeDefinition: string;
5
- EnumTypeDefinition: string;
6
- ScalarTypeDefinition: string;
7
- InputObjectTypeDefinition: string;
8
- UnionTypeDefinition: string;
9
- FieldDefinition: string;
10
- InputValueDefinition: string;
11
- Argument: string;
12
- DirectiveDefinition: string;
13
- EnumValueDefinition: string;
14
- OperationDefinition: string;
15
- FragmentDefinition: string;
16
- VariableDefinition: string;
17
- };
18
- declare type AllowedKind = keyof typeof KindToDisplayName;
19
- declare type AllowedStyle = 'camelCase' | 'PascalCase' | 'snake_case' | 'UPPER_CASE';
20
- declare type PropertySchema = {
21
- style?: AllowedStyle;
22
- suffix?: string;
23
- prefix?: string;
24
- forbiddenPrefixes?: string[];
25
- forbiddenSuffixes?: string[];
26
- ignorePattern?: string;
27
- };
28
- declare type Options = AllowedStyle | PropertySchema;
29
- export declare type NamingConventionRuleConfig = {
30
- allowLeadingUnderscore?: boolean;
31
- allowTrailingUnderscore?: boolean;
32
- types?: Options;
33
- } & {
34
- [key in `${AllowedKind}${string}`]?: Options;
35
- };
36
- declare const rule: GraphQLESLintRule<[NamingConventionRuleConfig]>;
37
- export default rule;
@@ -1,3 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
@@ -1,3 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
@@ -1,3 +0,0 @@
1
- import type { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule<[], true>;
3
- export default rule;
@@ -1,3 +0,0 @@
1
- import type { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
@@ -1,3 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
@@ -1,7 +0,0 @@
1
- import type { GraphQLESLintRule } from '../types';
2
- declare const ROOT_TYPES: ('mutation' | 'subscription')[];
3
- declare type NoRootTypeConfig = {
4
- disallow: typeof ROOT_TYPES;
5
- };
6
- declare const rule: GraphQLESLintRule<[NoRootTypeConfig]>;
7
- export default rule;
@@ -1,3 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
@@ -1,3 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
@@ -1,3 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
@@ -1,3 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
@@ -1,6 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- export declare type RelayArgumentsConfig = {
3
- includeBoth?: boolean;
4
- };
5
- declare const rule: GraphQLESLintRule<[RelayArgumentsConfig], true>;
6
- export default rule;
@@ -1,5 +0,0 @@
1
- import { Kind } from 'graphql';
2
- import type { GraphQLESLintRule } from '../types';
3
- export declare const NON_OBJECT_TYPES: Kind[];
4
- declare const rule: GraphQLESLintRule;
5
- export default rule;
@@ -1,8 +0,0 @@
1
- import type { GraphQLESLintRule } from '../types';
2
- export declare type EdgeTypesConfig = {
3
- withEdgeSuffix?: boolean;
4
- shouldImplementNode?: boolean;
5
- listTypeCanWrapOnlyEdgeType?: boolean;
6
- };
7
- declare const rule: GraphQLESLintRule<[EdgeTypesConfig], true>;
8
- export default rule;
@@ -1,3 +0,0 @@
1
- import type { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
@@ -1,5 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule<[{
3
- argumentName?: string;
4
- }]>;
5
- export default rule;
@@ -1,3 +0,0 @@
1
- import type { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
@@ -1,11 +0,0 @@
1
- import { Kind } from 'graphql';
2
- import type { GraphQLESLintRule } from '../types';
3
- declare const ALLOWED_KINDS: readonly [Kind.OBJECT_TYPE_DEFINITION, Kind.INTERFACE_TYPE_DEFINITION, Kind.ENUM_TYPE_DEFINITION, Kind.SCALAR_TYPE_DEFINITION, Kind.INPUT_OBJECT_TYPE_DEFINITION, Kind.UNION_TYPE_DEFINITION, Kind.DIRECTIVE_DEFINITION, Kind.FIELD_DEFINITION, Kind.INPUT_VALUE_DEFINITION, Kind.ENUM_VALUE_DEFINITION, Kind.OPERATION_DEFINITION];
4
- declare type AllowedKind = typeof ALLOWED_KINDS[number];
5
- export declare type RequireDescriptionRuleConfig = {
6
- types?: boolean;
7
- } & {
8
- [key in AllowedKind]?: boolean;
9
- };
10
- declare const rule: GraphQLESLintRule<[RequireDescriptionRuleConfig]>;
11
- export default rule;
@@ -1,3 +0,0 @@
1
- import type { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
@@ -1,6 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- export declare type RequireIdWhenAvailableRuleConfig = {
3
- fieldName: string | string[];
4
- };
5
- declare const rule: GraphQLESLintRule<[RequireIdWhenAvailableRuleConfig], true>;
6
- export default rule;
@@ -1,7 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- export declare type SelectionSetDepthRuleConfig = {
3
- maxDepth: number;
4
- ignore?: string[];
5
- };
6
- declare const rule: GraphQLESLintRule<[SelectionSetDepthRuleConfig]>;
7
- export default rule;
@@ -1,11 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- export declare type StrictIdInTypesRuleConfig = {
3
- acceptedIdNames?: string[];
4
- acceptedIdTypes?: string[];
5
- exceptions?: {
6
- types?: string[];
7
- suffixes?: string[];
8
- };
9
- };
10
- declare const rule: GraphQLESLintRule<[StrictIdInTypesRuleConfig]>;
11
- export default rule;
@@ -1,6 +0,0 @@
1
- import { ExecutableDefinitionNode } from 'graphql';
2
- import { GraphQLESLintRule, GraphQLESLintRuleContext } from '../types';
3
- import { GraphQLESTreeNode } from '../estree-converter';
4
- export declare const checkNode: (context: GraphQLESLintRuleContext, node: GraphQLESTreeNode<ExecutableDefinitionNode>, ruleId: string) => void;
5
- declare const rule: GraphQLESLintRule;
6
- export default rule;
@@ -1,3 +0,0 @@
1
- import { GraphQLESLintRule } from '../types';
2
- declare const rule: GraphQLESLintRule;
3
- export default rule;
package/schema.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { GraphQLProjectConfig } from 'graphql-config';
2
- import type { ParserOptions, Schema } from './types';
3
- export declare function getSchema(projectForFile: GraphQLProjectConfig, options?: ParserOptions): Schema;
@@ -1,21 +0,0 @@
1
- import { FragmentDefinitionNode, OperationDefinitionNode, SelectionSetNode, OperationTypeNode } from 'graphql';
2
- import { GraphQLProjectConfig } from 'graphql-config';
3
- export declare type FragmentSource = {
4
- filePath: string;
5
- document: FragmentDefinitionNode;
6
- };
7
- export declare type OperationSource = {
8
- filePath: string;
9
- document: OperationDefinitionNode;
10
- };
11
- export declare 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 getSiblingOperations(projectForFile: GraphQLProjectConfig): SiblingOperations;
package/testkit.d.ts DELETED
@@ -1,27 +0,0 @@
1
- import { RuleTester } from 'eslint';
2
- import type { ASTKindToNode } from 'graphql';
3
- import type { GraphQLESTreeNode } from './estree-converter';
4
- import type { GraphQLESLintRule, ParserOptions } from './types';
5
- export declare type GraphQLESLintRuleListener<WithTypeInfo extends boolean = false> = {
6
- [K in keyof ASTKindToNode]?: (node: GraphQLESTreeNode<ASTKindToNode[K], WithTypeInfo>) => void;
7
- } & Record<string, any>;
8
- export declare type GraphQLValidTestCase<Options> = Omit<RuleTester.ValidTestCase, 'options' | 'parserOptions'> & {
9
- options?: Options;
10
- parserOptions?: ParserOptions;
11
- };
12
- export declare type GraphQLInvalidTestCase<T> = GraphQLValidTestCase<T> & {
13
- errors: number | (RuleTester.TestCaseError | string)[];
14
- output?: string | null;
15
- };
16
- export declare class GraphQLRuleTester extends RuleTester {
17
- config: {
18
- parser: string;
19
- parserOptions: ParserOptions;
20
- };
21
- constructor(parserOptions?: ParserOptions);
22
- fromMockFile(path: string): string;
23
- runGraphQLTests<Options, WithTypeInfo extends boolean = false>(ruleId: string, rule: GraphQLESLintRule<Options, WithTypeInfo>, tests: {
24
- valid: (string | GraphQLValidTestCase<Options>)[];
25
- invalid: GraphQLInvalidTestCase<Options>[];
26
- }): void;
27
- }
package/types.d.ts DELETED
@@ -1,79 +0,0 @@
1
- import type { Rule, AST, Linter } from 'eslint';
2
- import type * as ESTree from 'estree';
3
- import type { GraphQLSchema } from 'graphql';
4
- import type { IExtensions, IGraphQLProject } from 'graphql-config';
5
- import type { GraphQLParseOptions } from '@graphql-tools/utils';
6
- import type { GraphQLESLintRuleListener } from './testkit';
7
- import type { SiblingOperations } from './sibling-operations';
8
- export declare type Schema = GraphQLSchema | Error | null;
9
- export declare type Pointer = string | string[];
10
- export interface ParserOptions {
11
- schema?: Pointer | Record<string, {
12
- headers: Record<string, string>;
13
- }>;
14
- documents?: Pointer;
15
- operations?: Pointer;
16
- extensions?: IExtensions;
17
- include?: Pointer;
18
- exclude?: Pointer;
19
- projects?: Record<string, IGraphQLProject>;
20
- schemaOptions?: Omit<GraphQLParseOptions, 'assumeValidSDL'> & {
21
- headers: Record<string, string>;
22
- };
23
- graphQLParserOptions?: Omit<GraphQLParseOptions, 'noLocation'>;
24
- skipGraphQLConfig?: boolean;
25
- filePath?: string;
26
- }
27
- export declare type ParserServices = {
28
- schema: Schema;
29
- siblingOperations: SiblingOperations;
30
- };
31
- export declare type GraphQLESLintParseResult = Linter.ESLintParseResult & {
32
- services: ParserServices;
33
- };
34
- declare type Location = AST.SourceLocation | ESTree.Position;
35
- declare type ReportDescriptorLocation = {
36
- node: {
37
- loc: Location;
38
- };
39
- } | {
40
- loc: Location;
41
- };
42
- export declare type ReportDescriptor = Rule.ReportDescriptorMessage & Rule.ReportDescriptorOptions & ReportDescriptorLocation;
43
- export declare type GraphQLESLintRuleContext<Options = any[]> = Omit<Rule.RuleContext, 'parserServices' | 'report' | 'options'> & {
44
- options: Options;
45
- report(descriptor: ReportDescriptor): void;
46
- parserServices?: ParserServices;
47
- };
48
- export declare type CategoryType = 'Schema' | 'Operations';
49
- export declare type RuleDocsInfo<T> = {
50
- docs: Omit<Rule.RuleMetaData['docs'], 'category'> & {
51
- category: CategoryType | CategoryType[];
52
- requiresSchema?: true;
53
- requiresSiblings?: true;
54
- examples?: {
55
- title: string;
56
- code: string;
57
- usage?: T;
58
- }[];
59
- configOptions?: T | {
60
- schema?: T;
61
- operations?: T;
62
- };
63
- graphQLJSRuleName?: string;
64
- isDisabledForAllConfig?: true;
65
- };
66
- };
67
- export declare type GraphQLESLintRule<Options = any[], WithTypeInfo extends boolean = false> = {
68
- create(context: GraphQLESLintRuleContext<Options>): GraphQLESLintRuleListener<WithTypeInfo>;
69
- meta: Omit<Rule.RuleMetaData, 'docs'> & RuleDocsInfo<Options>;
70
- };
71
- export declare type ValueOf<T> = T[keyof T];
72
- declare type Id<T> = {} & {
73
- [P in keyof T]: T[P];
74
- };
75
- declare type OmitDistributive<T, K extends PropertyKey> = T extends object ? Id<OmitRecursively<T, K>> : T;
76
- export declare type OmitRecursively<T extends object, K extends PropertyKey> = Omit<{
77
- [P in keyof T]: OmitDistributive<T[P], K>;
78
- }, K>;
79
- export {};
package/utils.d.ts DELETED
@@ -1,39 +0,0 @@
1
- import type { GraphQLSchema } from 'graphql';
2
- import { Kind } from 'graphql';
3
- import type { AST } from 'eslint';
4
- import type { Position } from 'estree';
5
- import type { GraphQLESLintRuleContext } from './types';
6
- import type { SiblingOperations } from './sibling-operations';
7
- export declare function requireSiblingsOperations(ruleId: string, context: GraphQLESLintRuleContext): SiblingOperations | never;
8
- export declare function requireGraphQLSchemaFromContext(ruleId: string, context: GraphQLESLintRuleContext): GraphQLSchema | never;
9
- export declare const logger: {
10
- error: (...args: any[]) => void;
11
- warn: (...args: any[]) => void;
12
- };
13
- export declare const normalizePath: (path: string) => string;
14
- /**
15
- * https://github.com/prettier/eslint-plugin-prettier/blob/76bd45ece6d56eb52f75db6b4a1efdd2efb56392/eslint-plugin-prettier.js#L71
16
- * Given a filepath, get the nearest path that is a regular file.
17
- * The filepath provided by eslint may be a virtual filepath rather than a file
18
- * on disk. This attempts to transform a virtual path into an on-disk path
19
- */
20
- export declare const getOnDiskFilepath: (filepath: string) => string;
21
- export declare const getTypeName: (node: any) => string;
22
- export declare const TYPES_KINDS: readonly [Kind.OBJECT_TYPE_DEFINITION, Kind.INTERFACE_TYPE_DEFINITION, Kind.ENUM_TYPE_DEFINITION, Kind.SCALAR_TYPE_DEFINITION, Kind.INPUT_OBJECT_TYPE_DEFINITION, Kind.UNION_TYPE_DEFINITION];
23
- export declare type CaseStyle = 'camelCase' | 'PascalCase' | 'snake_case' | 'UPPER_CASE' | 'kebab-case';
24
- export declare const camelCase: (str: string) => string;
25
- export declare const convertCase: (style: CaseStyle, str: string) => string;
26
- export declare function getLocation(start: Position, fieldName?: string): AST.SourceLocation;
27
- export declare const REPORT_ON_FIRST_CHARACTER: {
28
- column: number;
29
- line: number;
30
- };
31
- export declare const ARRAY_DEFAULT_OPTIONS: {
32
- readonly type: "array";
33
- readonly uniqueItems: true;
34
- readonly minItems: 1;
35
- readonly items: {
36
- readonly type: "string";
37
- };
38
- };
39
- export declare const englishJoinWords: (words: any) => string;