@graphql-eslint/eslint-plugin 4.0.0-alpha-20220821140530-e968cfc → 4.0.0-alpha-20230810155929-e89edf7

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 (346) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +14 -252
  3. package/cjs/cache.d.ts +12 -0
  4. package/cjs/cache.js +53 -0
  5. package/cjs/configs/index.d.ts +174 -0
  6. package/cjs/configs/index.js +40 -0
  7. package/cjs/configs/operations-all.d.ts +23 -0
  8. package/cjs/configs/operations-all.js +28 -0
  9. package/cjs/configs/operations-recommended.d.ts +54 -0
  10. package/{configs/operations-recommended.json → cjs/configs/operations-recommended.js} +19 -15
  11. package/cjs/configs/schema-all.d.ts +24 -0
  12. package/cjs/configs/schema-all.js +24 -0
  13. package/cjs/configs/schema-recommended.d.ts +67 -0
  14. package/cjs/configs/schema-recommended.js +68 -0
  15. package/cjs/configs/schema-relay.d.ts +12 -0
  16. package/{configs/relay.json → cjs/configs/schema-relay.js} +6 -4
  17. package/cjs/documents.d.ts +6 -0
  18. package/cjs/documents.js +66 -0
  19. package/cjs/estree-converter/converter.d.ts +8 -0
  20. package/cjs/estree-converter/converter.js +70 -0
  21. package/cjs/estree-converter/index.d.ts +8 -0
  22. package/cjs/estree-converter/index.js +23 -0
  23. package/cjs/estree-converter/types.d.ts +42 -0
  24. package/cjs/estree-converter/types.js +14 -0
  25. package/cjs/estree-converter/utils.d.ts +17 -0
  26. package/cjs/estree-converter/utils.js +105 -0
  27. package/cjs/flat-configs.d.ts +307 -0
  28. package/cjs/flat-configs.js +55 -0
  29. package/cjs/graphql-config.d.ts +14 -0
  30. package/cjs/graphql-config.js +65 -0
  31. package/cjs/index.d.ts +28 -0
  32. package/cjs/index.js +41 -0
  33. package/cjs/parser.d.ts +13 -0
  34. package/cjs/parser.js +96 -0
  35. package/cjs/processor.d.ts +13 -0
  36. package/cjs/processor.js +95 -0
  37. package/cjs/rules/alphabetize.d.ts +74 -0
  38. package/cjs/rules/alphabetize.js +323 -0
  39. package/cjs/rules/description-style.d.ts +29 -0
  40. package/cjs/rules/description-style.js +102 -0
  41. package/cjs/rules/graphql-js-validation.d.ts +13 -0
  42. package/cjs/rules/graphql-js-validation.js +595 -0
  43. package/cjs/rules/index.d.ts +127 -0
  44. package/cjs/rules/index.js +62 -0
  45. package/cjs/rules/input-name.d.ts +44 -0
  46. package/cjs/rules/input-name.js +154 -0
  47. package/cjs/rules/lone-executable-definition.d.ts +35 -0
  48. package/cjs/rules/lone-executable-definition.js +105 -0
  49. package/cjs/rules/match-document-filename.d.ts +81 -0
  50. package/cjs/rules/match-document-filename.js +251 -0
  51. package/cjs/rules/naming-convention.d.ts +108 -0
  52. package/cjs/rules/naming-convention.js +416 -0
  53. package/cjs/rules/no-anonymous-operations.d.ts +13 -0
  54. package/cjs/rules/no-anonymous-operations.js +91 -0
  55. package/cjs/rules/no-deprecated.d.ts +13 -0
  56. package/cjs/rules/no-deprecated.js +143 -0
  57. package/cjs/rules/no-duplicate-fields.d.ts +13 -0
  58. package/cjs/rules/no-duplicate-fields.js +136 -0
  59. package/cjs/rules/no-hashtag-description.d.ts +14 -0
  60. package/cjs/rules/no-hashtag-description.js +127 -0
  61. package/cjs/rules/no-one-place-fragments.d.ts +13 -0
  62. package/cjs/rules/no-one-place-fragments.js +101 -0
  63. package/cjs/rules/no-root-type.d.ts +34 -0
  64. package/cjs/rules/no-root-type.js +103 -0
  65. package/cjs/rules/no-scalar-result-type-on-mutation.d.ts +13 -0
  66. package/cjs/rules/no-scalar-result-type-on-mutation.js +88 -0
  67. package/cjs/rules/no-typename-prefix.d.ts +13 -0
  68. package/cjs/rules/no-typename-prefix.js +91 -0
  69. package/cjs/rules/no-unreachable-types.d.ts +13 -0
  70. package/cjs/rules/no-unreachable-types.js +177 -0
  71. package/cjs/rules/no-unused-fields.d.ts +13 -0
  72. package/cjs/rules/no-unused-fields.js +132 -0
  73. package/cjs/rules/relay-arguments.d.ts +30 -0
  74. package/cjs/rules/relay-arguments.js +126 -0
  75. package/cjs/rules/relay-connection-types.d.ts +14 -0
  76. package/cjs/rules/relay-connection-types.js +111 -0
  77. package/cjs/rules/relay-edge-types.d.ts +40 -0
  78. package/cjs/rules/relay-edge-types.js +161 -0
  79. package/cjs/rules/relay-page-info.d.ts +13 -0
  80. package/cjs/rules/relay-page-info.js +98 -0
  81. package/cjs/rules/require-deprecation-date.d.ts +27 -0
  82. package/cjs/rules/require-deprecation-date.js +148 -0
  83. package/cjs/rules/require-deprecation-reason.d.ts +13 -0
  84. package/cjs/rules/require-deprecation-reason.js +85 -0
  85. package/cjs/rules/require-description.d.ts +24 -0
  86. package/cjs/rules/require-description.js +179 -0
  87. package/cjs/rules/require-field-of-type-query-in-mutation-result.d.ts +13 -0
  88. package/cjs/rules/require-field-of-type-query-in-mutation-result.js +87 -0
  89. package/cjs/rules/require-import-fragment.d.ts +13 -0
  90. package/cjs/rules/require-import-fragment.js +148 -0
  91. package/cjs/rules/require-nullable-fields-with-oneof.d.ts +13 -0
  92. package/cjs/rules/require-nullable-fields-with-oneof.js +81 -0
  93. package/cjs/rules/require-nullable-result-in-root.d.ts +13 -0
  94. package/cjs/rules/require-nullable-result-in-root.js +99 -0
  95. package/cjs/rules/require-selections.d.ts +45 -0
  96. package/cjs/rules/require-selections.js +198 -0
  97. package/cjs/rules/require-type-pattern-with-oneof.d.ts +13 -0
  98. package/cjs/rules/require-type-pattern-with-oneof.js +83 -0
  99. package/cjs/rules/selection-set-depth.d.ts +37 -0
  100. package/cjs/rules/selection-set-depth.js +159 -0
  101. package/cjs/rules/strict-id-in-types.d.ts +66 -0
  102. package/cjs/rules/strict-id-in-types.js +168 -0
  103. package/cjs/rules/unique-enum-value-names.d.ts +13 -0
  104. package/cjs/rules/unique-enum-value-names.js +91 -0
  105. package/cjs/rules/unique-fragment-name.d.ts +14 -0
  106. package/cjs/rules/unique-fragment-name.js +106 -0
  107. package/cjs/rules/unique-operation-name.d.ts +13 -0
  108. package/cjs/rules/unique-operation-name.js +93 -0
  109. package/cjs/schema.d.ts +13 -0
  110. package/cjs/schema.js +52 -0
  111. package/{sibling-operations.d.ts → cjs/siblings.d.ts} +9 -6
  112. package/cjs/siblings.js +96 -0
  113. package/cjs/types.d.ts +75 -0
  114. package/cjs/types.js +14 -0
  115. package/cjs/utils.d.ts +45 -0
  116. package/cjs/utils.js +188 -0
  117. package/esm/cache.d.mts +12 -0
  118. package/esm/cache.js +25 -0
  119. package/esm/chunk-U3TKCM4X.js +8 -0
  120. package/esm/configs/index.d.mts +174 -0
  121. package/esm/configs/index.js +16 -0
  122. package/esm/configs/operations-all.d.mts +23 -0
  123. package/esm/configs/operations-all.js +35 -0
  124. package/esm/configs/operations-recommended.d.mts +54 -0
  125. package/esm/configs/operations-recommended.js +61 -0
  126. package/esm/configs/schema-all.d.mts +24 -0
  127. package/esm/configs/schema-all.js +31 -0
  128. package/esm/configs/schema-recommended.d.mts +67 -0
  129. package/esm/configs/schema-recommended.js +75 -0
  130. package/esm/configs/schema-relay.d.mts +12 -0
  131. package/esm/configs/schema-relay.js +18 -0
  132. package/esm/documents.d.mts +6 -0
  133. package/esm/documents.js +41 -0
  134. package/esm/estree-converter/converter.d.mts +8 -0
  135. package/esm/estree-converter/converter.js +56 -0
  136. package/esm/estree-converter/index.d.mts +8 -0
  137. package/esm/estree-converter/index.js +3 -0
  138. package/esm/estree-converter/types.d.mts +42 -0
  139. package/esm/estree-converter/types.js +0 -0
  140. package/esm/estree-converter/utils.d.mts +17 -0
  141. package/esm/estree-converter/utils.js +87 -0
  142. package/esm/flat-configs.d.mts +307 -0
  143. package/esm/flat-configs.js +36 -0
  144. package/esm/graphql-config.d.mts +14 -0
  145. package/esm/graphql-config.js +39 -0
  146. package/esm/index.d.mts +28 -0
  147. package/esm/index.js +18 -0
  148. package/esm/package.json +1 -0
  149. package/esm/parser.d.mts +13 -0
  150. package/esm/parser.js +76 -0
  151. package/esm/processor.d.mts +13 -0
  152. package/esm/processor.js +81 -0
  153. package/esm/rules/alphabetize.d.mts +74 -0
  154. package/esm/rules/alphabetize.js +299 -0
  155. package/esm/rules/description-style.d.mts +29 -0
  156. package/esm/rules/description-style.js +82 -0
  157. package/esm/rules/graphql-js-validation.d.mts +13 -0
  158. package/esm/rules/graphql-js-validation.js +618 -0
  159. package/esm/rules/index.d.mts +127 -0
  160. package/esm/rules/index.js +76 -0
  161. package/esm/rules/input-name.d.mts +44 -0
  162. package/esm/rules/input-name.js +136 -0
  163. package/esm/rules/lone-executable-definition.d.mts +35 -0
  164. package/esm/rules/lone-executable-definition.js +86 -0
  165. package/esm/rules/match-document-filename.d.mts +81 -0
  166. package/esm/rules/match-document-filename.js +237 -0
  167. package/esm/rules/naming-convention.d.mts +108 -0
  168. package/esm/rules/naming-convention.js +403 -0
  169. package/esm/rules/no-anonymous-operations.d.mts +13 -0
  170. package/esm/rules/no-anonymous-operations.js +72 -0
  171. package/esm/rules/no-deprecated.d.mts +13 -0
  172. package/esm/rules/no-deprecated.js +124 -0
  173. package/esm/rules/no-duplicate-fields.d.mts +13 -0
  174. package/esm/rules/no-duplicate-fields.js +116 -0
  175. package/esm/rules/no-hashtag-description.d.mts +14 -0
  176. package/esm/rules/no-hashtag-description.js +107 -0
  177. package/esm/rules/no-one-place-fragments.d.mts +13 -0
  178. package/esm/rules/no-one-place-fragments.js +83 -0
  179. package/esm/rules/no-root-type.d.mts +34 -0
  180. package/esm/rules/no-root-type.js +83 -0
  181. package/esm/rules/no-scalar-result-type-on-mutation.d.mts +13 -0
  182. package/esm/rules/no-scalar-result-type-on-mutation.js +69 -0
  183. package/esm/rules/no-typename-prefix.d.mts +13 -0
  184. package/esm/rules/no-typename-prefix.js +71 -0
  185. package/esm/rules/no-unreachable-types.d.mts +13 -0
  186. package/esm/rules/no-unreachable-types.js +156 -0
  187. package/esm/rules/no-unused-fields.d.mts +13 -0
  188. package/esm/rules/no-unused-fields.js +113 -0
  189. package/esm/rules/relay-arguments.d.mts +30 -0
  190. package/esm/rules/relay-arguments.js +107 -0
  191. package/esm/rules/relay-connection-types.d.mts +14 -0
  192. package/esm/rules/relay-connection-types.js +90 -0
  193. package/esm/rules/relay-edge-types.d.mts +40 -0
  194. package/esm/rules/relay-edge-types.js +148 -0
  195. package/esm/rules/relay-page-info.d.mts +13 -0
  196. package/esm/rules/relay-page-info.js +80 -0
  197. package/esm/rules/require-deprecation-date.d.mts +27 -0
  198. package/esm/rules/require-deprecation-date.js +129 -0
  199. package/esm/rules/require-deprecation-reason.d.mts +13 -0
  200. package/esm/rules/require-deprecation-reason.js +66 -0
  201. package/esm/rules/require-description.d.mts +24 -0
  202. package/esm/rules/require-description.js +165 -0
  203. package/esm/rules/require-field-of-type-query-in-mutation-result.d.mts +13 -0
  204. package/esm/rules/require-field-of-type-query-in-mutation-result.js +68 -0
  205. package/esm/rules/require-import-fragment.d.mts +13 -0
  206. package/esm/rules/require-import-fragment.js +121 -0
  207. package/esm/rules/require-nullable-fields-with-oneof.d.mts +13 -0
  208. package/esm/rules/require-nullable-fields-with-oneof.js +62 -0
  209. package/esm/rules/require-nullable-result-in-root.d.mts +13 -0
  210. package/esm/rules/require-nullable-result-in-root.js +80 -0
  211. package/esm/rules/require-selections.d.mts +45 -0
  212. package/esm/rules/require-selections.js +194 -0
  213. package/esm/rules/require-type-pattern-with-oneof.d.mts +13 -0
  214. package/esm/rules/require-type-pattern-with-oneof.js +63 -0
  215. package/esm/rules/selection-set-depth.d.mts +37 -0
  216. package/esm/rules/selection-set-depth.js +133 -0
  217. package/esm/rules/strict-id-in-types.d.mts +66 -0
  218. package/esm/rules/strict-id-in-types.js +155 -0
  219. package/esm/rules/unique-enum-value-names.d.mts +13 -0
  220. package/esm/rules/unique-enum-value-names.js +72 -0
  221. package/esm/rules/unique-fragment-name.d.mts +14 -0
  222. package/esm/rules/unique-fragment-name.js +87 -0
  223. package/esm/rules/unique-operation-name.d.mts +13 -0
  224. package/esm/rules/unique-operation-name.js +73 -0
  225. package/esm/schema.d.mts +13 -0
  226. package/esm/schema.js +27 -0
  227. package/esm/siblings.d.mts +24 -0
  228. package/esm/siblings.js +80 -0
  229. package/esm/types.d.mts +75 -0
  230. package/esm/types.js +0 -0
  231. package/esm/utils.d.mts +45 -0
  232. package/esm/utils.js +144 -0
  233. package/index.browser.mjs +5323 -0
  234. package/package.json +43 -35
  235. package/configs/base.json +0 -4
  236. package/configs/operations-all.json +0 -24
  237. package/configs/schema-all.json +0 -26
  238. package/configs/schema-recommended.json +0 -49
  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/testkit.d.ts +0 -27
  345. package/types.d.ts +0 -79
  346. package/utils.d.ts +0 -39
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var siblings_exports = {};
17
+ __export(siblings_exports, {
18
+ getSiblings: () => getSiblings
19
+ });
20
+ module.exports = __toCommonJS(siblings_exports);
21
+ var import_graphql = require("graphql"), import_utils2 = require("./utils.js");
22
+ const siblingOperationsCache = /* @__PURE__ */ new Map();
23
+ function getSiblings(documents) {
24
+ if (documents.length === 0) {
25
+ let printed = !1;
26
+ const noopWarn = () => (printed || (import_utils2.logger.warn(
27
+ "getSiblingOperations was called without any operations. Make sure to set graphql-config `documents` field to make this feature available! See https://the-guild.dev/graphql/config/docs/user/documents for more info"
28
+ ), printed = !0), []);
29
+ return {
30
+ available: !1,
31
+ getFragment: noopWarn,
32
+ getFragments: noopWarn,
33
+ getFragmentByType: noopWarn,
34
+ getFragmentsInUse: noopWarn,
35
+ getOperation: noopWarn,
36
+ getOperations: noopWarn,
37
+ getOperationByType: noopWarn
38
+ };
39
+ }
40
+ const value = siblingOperationsCache.get(documents);
41
+ if (value)
42
+ return value;
43
+ let fragmentsCache = null;
44
+ const getFragments = () => {
45
+ if (fragmentsCache === null) {
46
+ const result = [];
47
+ for (const source of documents)
48
+ for (const definition of source.document?.definitions || [])
49
+ definition.kind === import_graphql.Kind.FRAGMENT_DEFINITION && result.push({
50
+ filePath: source.location,
51
+ document: definition
52
+ });
53
+ fragmentsCache = result;
54
+ }
55
+ return fragmentsCache;
56
+ };
57
+ let cachedOperations = null;
58
+ const getOperations = () => {
59
+ if (cachedOperations === null) {
60
+ const result = [];
61
+ for (const source of documents)
62
+ for (const definition of source.document?.definitions || [])
63
+ definition.kind === import_graphql.Kind.OPERATION_DEFINITION && result.push({
64
+ filePath: source.location,
65
+ document: definition
66
+ });
67
+ cachedOperations = result;
68
+ }
69
+ return cachedOperations;
70
+ }, getFragment = (name) => getFragments().filter((f) => f.document.name.value === name), collectFragments = (selectable, recursive, collected = /* @__PURE__ */ new Map()) => ((0, import_graphql.visit)(selectable, {
71
+ FragmentSpread(spread) {
72
+ const fragmentName = spread.name.value, [fragment] = getFragment(fragmentName);
73
+ if (!fragment) {
74
+ import_utils2.logger.warn(
75
+ `Unable to locate fragment named "${fragmentName}", please make sure it's loaded using "parserOptions.operations"`
76
+ );
77
+ return;
78
+ }
79
+ collected.has(fragmentName) || (collected.set(fragmentName, fragment.document), recursive && collectFragments(fragment.document, recursive, collected));
80
+ }
81
+ }), collected), siblingOperations = {
82
+ available: !0,
83
+ getFragment,
84
+ getFragments,
85
+ getFragmentByType: (typeName) => getFragments().filter((f) => f.document.typeCondition.name.value === typeName),
86
+ getFragmentsInUse: (selectable, recursive = !0) => Array.from(collectFragments(selectable, recursive).values()),
87
+ getOperation: (name) => getOperations().filter((o) => o.document.name?.value === name),
88
+ getOperations,
89
+ getOperationByType: (type) => getOperations().filter((o) => o.document.operation === type)
90
+ };
91
+ return siblingOperationsCache.set(documents, siblingOperations), siblingOperations;
92
+ }
93
+ // Annotate the CommonJS export names for ESM import in node:
94
+ 0 && (module.exports = {
95
+ getSiblings
96
+ });
package/cjs/types.d.ts ADDED
@@ -0,0 +1,75 @@
1
+ import { Linter, Rule, AST } from 'eslint';
2
+ import * as ESTree from 'estree';
3
+ import { GraphQLSchema, ASTKindToNode } from 'graphql';
4
+ import { JSONSchema } from 'json-schema-to-ts';
5
+ import { SiblingOperations } from './siblings.js';
6
+ import { GraphQLESTreeNode } from './estree-converter/types.js';
7
+ import { IGraphQLConfig } from 'graphql-config';
8
+ import '@graphql-tools/utils';
9
+
10
+ type Schema = GraphQLSchema | null;
11
+ type Pointer = string | string[];
12
+ interface ParserOptions {
13
+ graphQLConfig?: IGraphQLConfig;
14
+ filePath: string;
15
+ }
16
+ type ParserServices = {
17
+ schema: Schema;
18
+ siblingOperations: SiblingOperations;
19
+ };
20
+ type GraphQLESLintParseResult = Linter.ESLintParseResult & {
21
+ services: ParserServices;
22
+ };
23
+ type Location = AST.SourceLocation | ESTree.Position;
24
+ type ReportDescriptorLocation = {
25
+ loc: Location;
26
+ } | {
27
+ node: {
28
+ loc: Location;
29
+ };
30
+ };
31
+ type ReportDescriptor = ReportDescriptorLocation & Rule.ReportDescriptorMessage & Rule.ReportDescriptorOptions;
32
+ type GraphQLESLintRuleContext<Options = any[]> = Omit<Rule.RuleContext, 'options' | 'parserServices' | 'report'> & {
33
+ options: Options;
34
+ parserServices: ParserServices;
35
+ report(descriptor: ReportDescriptor): void;
36
+ };
37
+ type CategoryType = 'Operations' | 'Schema';
38
+ type RuleMetaDataDocs = Required<Rule.RuleMetaData>['docs'];
39
+ type RuleDocsInfo<T> = Omit<RuleMetaDataDocs, 'category' | 'suggestion'> & {
40
+ category: CategoryType | CategoryType[];
41
+ requiresSchema?: true;
42
+ requiresSiblings?: true;
43
+ examples?: {
44
+ title: string;
45
+ code: string;
46
+ usage?: T;
47
+ }[];
48
+ configOptions?: T | {
49
+ schema?: T;
50
+ operations?: T;
51
+ };
52
+ graphQLJSRuleName?: string;
53
+ isDisabledForAllConfig?: true;
54
+ };
55
+ type GraphQLESLintRuleListener<WithTypeInfo extends boolean = false> = Record<string, any> & {
56
+ [K in keyof ASTKindToNode]?: (node: GraphQLESTreeNode<ASTKindToNode[K], WithTypeInfo>) => void;
57
+ };
58
+ type GraphQLESLintRule<Options = [], WithTypeInfo extends boolean = false> = {
59
+ meta: Omit<Rule.RuleMetaData, 'docs' | 'schema'> & {
60
+ docs?: RuleDocsInfo<Options>;
61
+ schema: Readonly<JSONSchema> | [];
62
+ };
63
+ create(context: GraphQLESLintRuleContext<Options>): GraphQLESLintRuleListener<WithTypeInfo>;
64
+ };
65
+ type ValueOf<T> = T[keyof T];
66
+ type Id<T> = {
67
+ [P in keyof T]: T[P];
68
+ } & {};
69
+ type OmitDistributive<T, K extends PropertyKey> = T extends object ? Id<OmitRecursively<T, K>> : T;
70
+ type OmitRecursively<T extends object, K extends PropertyKey> = Omit<{
71
+ [P in keyof T]: OmitDistributive<T[P], K>;
72
+ }, K>;
73
+ type ConfigName = 'operations-all' | 'operations-recommended' | 'schema-all' | 'schema-recommended' | 'schema-relay';
74
+
75
+ export { CategoryType, ConfigName, GraphQLESLintParseResult, GraphQLESLintRule, GraphQLESLintRuleContext, GraphQLESLintRuleListener, OmitRecursively, ParserOptions, ParserServices, Pointer, ReportDescriptor, RuleDocsInfo, Schema, ValueOf };
package/cjs/types.js ADDED
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from == "object" || typeof from == "function")
8
+ for (let key of __getOwnPropNames(from))
9
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ return to;
11
+ };
12
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
13
+ var types_exports = {};
14
+ module.exports = __toCommonJS(types_exports);
package/cjs/utils.d.ts ADDED
@@ -0,0 +1,45 @@
1
+ import { AST } from 'eslint';
2
+ import { Position } from 'estree';
3
+ import { GraphQLSchema, ASTNode, Kind } from 'graphql';
4
+ import { SiblingOperations } from './siblings.js';
5
+ import { GraphQLESLintRuleContext } from './types.js';
6
+ import { GraphQLESTreeNode } from './estree-converter/types.js';
7
+ import '@graphql-tools/utils';
8
+ import 'json-schema-to-ts';
9
+ import 'graphql-config';
10
+
11
+ declare function requireSiblingsOperations(ruleId: string, context: GraphQLESLintRuleContext): SiblingOperations | never;
12
+ declare function requireGraphQLSchemaFromContext(ruleId: string, context: GraphQLESLintRuleContext): GraphQLSchema | never;
13
+ declare const logger: {
14
+ error: (...args: unknown[]) => void;
15
+ warn: (...args: unknown[]) => void;
16
+ };
17
+ declare const normalizePath: (path: string) => string;
18
+ declare const VIRTUAL_DOCUMENT_REGEX: RegExp;
19
+ declare const CWD: string;
20
+ declare const getTypeName: (node: ASTNode) => string;
21
+ 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];
22
+ type CaseStyle = 'camelCase' | 'kebab-case' | 'PascalCase' | 'snake_case' | 'UPPER_CASE';
23
+ declare const pascalCase: (str: string) => string;
24
+ declare const camelCase: (str: string) => string;
25
+ declare const convertCase: (style: CaseStyle, str: string) => string;
26
+ declare function getLocation(start: Position, fieldName?: string): AST.SourceLocation;
27
+ declare const REPORT_ON_FIRST_CHARACTER: {
28
+ column: number;
29
+ line: number;
30
+ };
31
+ 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
+ declare const englishJoinWords: (words: string[]) => string;
40
+ type Truthy<T> = T extends '' | 0 | false | null | undefined ? never : T;
41
+ declare function truthy<T>(value: T): value is Truthy<T>;
42
+ declare function displayNodeName(node: GraphQLESTreeNode<ASTNode>): string;
43
+ declare function getNodeName(node: GraphQLESTreeNode<ASTNode>): string;
44
+
45
+ export { ARRAY_DEFAULT_OPTIONS, CWD, CaseStyle, REPORT_ON_FIRST_CHARACTER, TYPES_KINDS, VIRTUAL_DOCUMENT_REGEX, camelCase, convertCase, displayNodeName, englishJoinWords, getLocation, getNodeName, getTypeName, logger, normalizePath, pascalCase, requireGraphQLSchemaFromContext, requireSiblingsOperations, truthy };
package/cjs/utils.js ADDED
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: !0 });
10
+ }, __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from == "object" || typeof from == "function")
12
+ for (let key of __getOwnPropNames(from))
13
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
22
+ mod
23
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
24
+ var utils_exports = {};
25
+ __export(utils_exports, {
26
+ ARRAY_DEFAULT_OPTIONS: () => ARRAY_DEFAULT_OPTIONS,
27
+ CWD: () => CWD,
28
+ REPORT_ON_FIRST_CHARACTER: () => REPORT_ON_FIRST_CHARACTER,
29
+ TYPES_KINDS: () => TYPES_KINDS,
30
+ VIRTUAL_DOCUMENT_REGEX: () => VIRTUAL_DOCUMENT_REGEX,
31
+ camelCase: () => camelCase,
32
+ convertCase: () => convertCase,
33
+ displayNodeName: () => displayNodeName,
34
+ englishJoinWords: () => englishJoinWords,
35
+ getLocation: () => getLocation,
36
+ getNodeName: () => getNodeName,
37
+ getTypeName: () => getTypeName,
38
+ logger: () => logger,
39
+ normalizePath: () => normalizePath,
40
+ pascalCase: () => pascalCase,
41
+ requireGraphQLSchemaFromContext: () => requireGraphQLSchemaFromContext,
42
+ requireSiblingsOperations: () => requireSiblingsOperations,
43
+ truthy: () => truthy
44
+ });
45
+ module.exports = __toCommonJS(utils_exports);
46
+ var import_graphql = require("graphql"), import_lodash = __toESM(require("lodash.lowercase"));
47
+ function requireSiblingsOperations(ruleId, context) {
48
+ const { siblingOperations } = context.sourceCode.parserServices;
49
+ if (!siblingOperations.available)
50
+ throw new Error(
51
+ `Rule \`${ruleId}\` requires graphql-config \`documents\` field to be set and loaded. See https://the-guild.dev/graphql/config/docs/user/documents for more info`
52
+ );
53
+ return siblingOperations;
54
+ }
55
+ function requireGraphQLSchemaFromContext(ruleId, context) {
56
+ const { schema } = context.sourceCode.parserServices;
57
+ if (!schema)
58
+ throw new Error(
59
+ `Rule \`${ruleId}\` requires graphql-config \`schema\` field to be set and loaded. See https://the-guild.dev/graphql/config/docs/user/schema for more info`
60
+ );
61
+ return schema;
62
+ }
63
+ const chalk = {
64
+ red: (str) => `\x1B[31m${str}\x1B[39m`,
65
+ yellow: (str) => `\x1B[33m${str}\x1B[39m`
66
+ }, logger = {
67
+ error: (...args) => (
68
+ // eslint-disable-next-line no-console
69
+ console.error(chalk.red("error"), "[graphql-eslint]", ...args)
70
+ ),
71
+ warn: (...args) => (
72
+ // eslint-disable-next-line no-console
73
+ console.warn(chalk.yellow("warning"), "[graphql-eslint]", ...args)
74
+ )
75
+ }, normalizePath = (path) => (path || "").replace(/\\/g, "/"), VIRTUAL_DOCUMENT_REGEX = /\/\d+_document.graphql$/, CWD = process.cwd(), getTypeName = (node) => "type" in node ? getTypeName(node.type) : "name" in node && node.name ? node.name.value : "", TYPES_KINDS = [
76
+ import_graphql.Kind.OBJECT_TYPE_DEFINITION,
77
+ import_graphql.Kind.INTERFACE_TYPE_DEFINITION,
78
+ import_graphql.Kind.ENUM_TYPE_DEFINITION,
79
+ import_graphql.Kind.SCALAR_TYPE_DEFINITION,
80
+ import_graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION,
81
+ import_graphql.Kind.UNION_TYPE_DEFINITION
82
+ ], pascalCase = (str) => (0, import_lodash.default)(str).split(" ").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(""), camelCase = (str) => {
83
+ const result = pascalCase(str);
84
+ return result.charAt(0).toLowerCase() + result.slice(1);
85
+ }, convertCase = (style, str) => {
86
+ switch (style) {
87
+ case "camelCase":
88
+ return camelCase(str);
89
+ case "PascalCase":
90
+ return pascalCase(str);
91
+ case "snake_case":
92
+ return (0, import_lodash.default)(str).replace(/ /g, "_");
93
+ case "UPPER_CASE":
94
+ return (0, import_lodash.default)(str).replace(/ /g, "_").toUpperCase();
95
+ case "kebab-case":
96
+ return (0, import_lodash.default)(str).replace(/ /g, "-");
97
+ }
98
+ };
99
+ function getLocation(start, fieldName = "") {
100
+ const { line, column } = start;
101
+ return {
102
+ start: {
103
+ line,
104
+ column
105
+ },
106
+ end: {
107
+ line,
108
+ column: column + fieldName.length
109
+ }
110
+ };
111
+ }
112
+ const REPORT_ON_FIRST_CHARACTER = { column: 0, line: 1 }, ARRAY_DEFAULT_OPTIONS = {
113
+ type: "array",
114
+ uniqueItems: !0,
115
+ minItems: 1,
116
+ items: {
117
+ type: "string"
118
+ }
119
+ }, englishJoinWords = (words) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(words);
120
+ function truthy(value) {
121
+ return !!value;
122
+ }
123
+ const DisplayNodeNameMap = {
124
+ [import_graphql.Kind.OBJECT_TYPE_DEFINITION]: "type",
125
+ [import_graphql.Kind.OBJECT_TYPE_EXTENSION]: "type",
126
+ [import_graphql.Kind.INTERFACE_TYPE_DEFINITION]: "interface",
127
+ [import_graphql.Kind.INTERFACE_TYPE_EXTENSION]: "interface",
128
+ [import_graphql.Kind.ENUM_TYPE_DEFINITION]: "enum",
129
+ [import_graphql.Kind.ENUM_TYPE_EXTENSION]: "enum",
130
+ [import_graphql.Kind.SCALAR_TYPE_DEFINITION]: "scalar",
131
+ [import_graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION]: "input",
132
+ [import_graphql.Kind.INPUT_OBJECT_TYPE_EXTENSION]: "input",
133
+ [import_graphql.Kind.UNION_TYPE_DEFINITION]: "union",
134
+ [import_graphql.Kind.UNION_TYPE_EXTENSION]: "union",
135
+ [import_graphql.Kind.DIRECTIVE_DEFINITION]: "directive",
136
+ [import_graphql.Kind.FIELD_DEFINITION]: "field",
137
+ [import_graphql.Kind.ENUM_VALUE_DEFINITION]: "enum value",
138
+ [import_graphql.Kind.INPUT_VALUE_DEFINITION]: "input value",
139
+ [import_graphql.Kind.ARGUMENT]: "argument",
140
+ [import_graphql.Kind.VARIABLE]: "variable",
141
+ [import_graphql.Kind.FRAGMENT_DEFINITION]: "fragment",
142
+ [import_graphql.Kind.OPERATION_DEFINITION]: "operation",
143
+ [import_graphql.Kind.FIELD]: "field"
144
+ };
145
+ function displayNodeName(node) {
146
+ return `${node.kind === import_graphql.Kind.OPERATION_DEFINITION ? node.operation : DisplayNodeNameMap[node.kind]} "${"alias" in node && node.alias?.value || "name" in node && node.name?.value}"`;
147
+ }
148
+ function getNodeName(node) {
149
+ switch (node.kind) {
150
+ case import_graphql.Kind.OBJECT_TYPE_DEFINITION:
151
+ case import_graphql.Kind.OBJECT_TYPE_EXTENSION:
152
+ case import_graphql.Kind.INTERFACE_TYPE_DEFINITION:
153
+ case import_graphql.Kind.ENUM_TYPE_DEFINITION:
154
+ case import_graphql.Kind.SCALAR_TYPE_DEFINITION:
155
+ case import_graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION:
156
+ case import_graphql.Kind.UNION_TYPE_DEFINITION:
157
+ case import_graphql.Kind.DIRECTIVE_DEFINITION:
158
+ return displayNodeName(node);
159
+ case import_graphql.Kind.FIELD_DEFINITION:
160
+ case import_graphql.Kind.INPUT_VALUE_DEFINITION:
161
+ case import_graphql.Kind.ENUM_VALUE_DEFINITION:
162
+ return `${displayNodeName(node)} in ${displayNodeName(node.parent)}`;
163
+ case import_graphql.Kind.OPERATION_DEFINITION:
164
+ return node.name ? displayNodeName(node) : node.operation;
165
+ }
166
+ return "";
167
+ }
168
+ // Annotate the CommonJS export names for ESM import in node:
169
+ 0 && (module.exports = {
170
+ ARRAY_DEFAULT_OPTIONS,
171
+ CWD,
172
+ REPORT_ON_FIRST_CHARACTER,
173
+ TYPES_KINDS,
174
+ VIRTUAL_DOCUMENT_REGEX,
175
+ camelCase,
176
+ convertCase,
177
+ displayNodeName,
178
+ englishJoinWords,
179
+ getLocation,
180
+ getNodeName,
181
+ getTypeName,
182
+ logger,
183
+ normalizePath,
184
+ pascalCase,
185
+ requireGraphQLSchemaFromContext,
186
+ requireSiblingsOperations,
187
+ truthy
188
+ });
@@ -0,0 +1,12 @@
1
+ declare class ModuleCache<T, K = any> {
2
+ map: Map<K, {
3
+ lastSeen: [number, number];
4
+ result: T;
5
+ }>;
6
+ set(cacheKey: K, result: T): void;
7
+ get(cacheKey: K, settings?: {
8
+ lifetime: number;
9
+ }): T | void;
10
+ }
11
+
12
+ export { ModuleCache };
package/esm/cache.js ADDED
@@ -0,0 +1,25 @@
1
+ import "./chunk-U3TKCM4X.js";
2
+ import debugFactory from "debug";
3
+ const log = debugFactory("graphql-eslint:ModuleCache");
4
+ class ModuleCache {
5
+ map = /* @__PURE__ */ new Map();
6
+ set(cacheKey, result) {
7
+ this.map.set(cacheKey, { lastSeen: process.hrtime(), result }), log("setting entry for", cacheKey);
8
+ }
9
+ get(cacheKey, settings = {
10
+ lifetime: 10
11
+ /* seconds */
12
+ }) {
13
+ const value = this.map.get(cacheKey);
14
+ if (!value) {
15
+ log("cache miss for", cacheKey);
16
+ return;
17
+ }
18
+ const { lastSeen, result } = value;
19
+ if (process.env.NODE || process.hrtime(lastSeen)[0] < settings.lifetime)
20
+ return result;
21
+ }
22
+ }
23
+ export {
24
+ ModuleCache
25
+ };
@@ -0,0 +1,8 @@
1
+ var __getOwnPropNames = Object.getOwnPropertyNames;
2
+ var __commonJS = (cb, mod) => function() {
3
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
4
+ };
5
+
6
+ export {
7
+ __commonJS
8
+ };
@@ -0,0 +1,174 @@
1
+ declare const configs: {
2
+ 'schema-recommended': {
3
+ parser: string;
4
+ plugins: string[];
5
+ rules: {
6
+ '@graphql-eslint/description-style': string;
7
+ '@graphql-eslint/known-argument-names': string;
8
+ '@graphql-eslint/known-directives': string;
9
+ '@graphql-eslint/known-type-names': string;
10
+ '@graphql-eslint/lone-schema-definition': string;
11
+ '@graphql-eslint/naming-convention': (string | {
12
+ types: string;
13
+ FieldDefinition: string;
14
+ InputValueDefinition: string;
15
+ Argument: string;
16
+ DirectiveDefinition: string;
17
+ EnumValueDefinition: string;
18
+ 'FieldDefinition[parent.name.value=Query]': {
19
+ forbiddenPrefixes: string[];
20
+ forbiddenSuffixes: string[];
21
+ };
22
+ 'FieldDefinition[parent.name.value=Mutation]': {
23
+ forbiddenPrefixes: string[];
24
+ forbiddenSuffixes: string[];
25
+ };
26
+ 'FieldDefinition[parent.name.value=Subscription]': {
27
+ forbiddenPrefixes: string[];
28
+ forbiddenSuffixes: string[];
29
+ };
30
+ 'EnumTypeDefinition,EnumTypeExtension': {
31
+ forbiddenPrefixes: string[];
32
+ forbiddenSuffixes: string[];
33
+ };
34
+ 'InterfaceTypeDefinition,InterfaceTypeExtension': {
35
+ forbiddenPrefixes: string[];
36
+ forbiddenSuffixes: string[];
37
+ };
38
+ 'UnionTypeDefinition,UnionTypeExtension': {
39
+ forbiddenPrefixes: string[];
40
+ forbiddenSuffixes: string[];
41
+ };
42
+ 'ObjectTypeDefinition,ObjectTypeExtension': {
43
+ forbiddenPrefixes: string[];
44
+ forbiddenSuffixes: string[];
45
+ };
46
+ })[];
47
+ '@graphql-eslint/no-hashtag-description': string;
48
+ '@graphql-eslint/no-typename-prefix': string;
49
+ '@graphql-eslint/no-unreachable-types': string;
50
+ '@graphql-eslint/possible-type-extension': string;
51
+ '@graphql-eslint/provided-required-arguments': string;
52
+ '@graphql-eslint/require-deprecation-reason': string;
53
+ '@graphql-eslint/require-description': (string | {
54
+ types: boolean;
55
+ DirectiveDefinition: boolean;
56
+ rootField: boolean;
57
+ })[];
58
+ '@graphql-eslint/strict-id-in-types': string;
59
+ '@graphql-eslint/unique-directive-names': string;
60
+ '@graphql-eslint/unique-directive-names-per-location': string;
61
+ '@graphql-eslint/unique-enum-value-names': string;
62
+ '@graphql-eslint/unique-field-definition-names': string;
63
+ '@graphql-eslint/unique-operation-types': string;
64
+ '@graphql-eslint/unique-type-names': string;
65
+ };
66
+ };
67
+ 'schema-all': {
68
+ extends: string;
69
+ rules: {
70
+ '@graphql-eslint/alphabetize': (string | {
71
+ definitions: boolean;
72
+ fields: string[];
73
+ values: boolean;
74
+ arguments: string[];
75
+ groups: string[];
76
+ })[];
77
+ '@graphql-eslint/input-name': string;
78
+ '@graphql-eslint/no-root-type': (string | {
79
+ disallow: string[];
80
+ })[];
81
+ '@graphql-eslint/no-scalar-result-type-on-mutation': string;
82
+ '@graphql-eslint/require-deprecation-date': string;
83
+ '@graphql-eslint/require-field-of-type-query-in-mutation-result': string;
84
+ '@graphql-eslint/require-nullable-fields-with-oneof': string;
85
+ '@graphql-eslint/require-nullable-result-in-root': string;
86
+ '@graphql-eslint/require-type-pattern-with-oneof': string;
87
+ };
88
+ };
89
+ 'schema-relay': {
90
+ parser: string;
91
+ plugins: string[];
92
+ rules: {
93
+ '@graphql-eslint/relay-arguments': string;
94
+ '@graphql-eslint/relay-connection-types': string;
95
+ '@graphql-eslint/relay-edge-types': string;
96
+ '@graphql-eslint/relay-page-info': string;
97
+ };
98
+ };
99
+ 'operations-recommended': {
100
+ parser: string;
101
+ plugins: string[];
102
+ rules: {
103
+ '@graphql-eslint/executable-definitions': string;
104
+ '@graphql-eslint/fields-on-correct-type': string;
105
+ '@graphql-eslint/fragments-on-composite-type': string;
106
+ '@graphql-eslint/known-argument-names': string;
107
+ '@graphql-eslint/known-directives': string;
108
+ '@graphql-eslint/known-fragment-names': string;
109
+ '@graphql-eslint/known-type-names': string;
110
+ '@graphql-eslint/lone-anonymous-operation': string;
111
+ '@graphql-eslint/naming-convention': (string | {
112
+ VariableDefinition: string;
113
+ OperationDefinition: {
114
+ style: string;
115
+ forbiddenPrefixes: string[];
116
+ forbiddenSuffixes: string[];
117
+ };
118
+ FragmentDefinition: {
119
+ style: string;
120
+ forbiddenPrefixes: string[];
121
+ forbiddenSuffixes: string[];
122
+ };
123
+ })[];
124
+ '@graphql-eslint/no-anonymous-operations': string;
125
+ '@graphql-eslint/no-deprecated': string;
126
+ '@graphql-eslint/no-duplicate-fields': string;
127
+ '@graphql-eslint/no-fragment-cycles': string;
128
+ '@graphql-eslint/no-undefined-variables': string;
129
+ '@graphql-eslint/no-unused-fragments': string;
130
+ '@graphql-eslint/no-unused-variables': string;
131
+ '@graphql-eslint/one-field-subscriptions': string;
132
+ '@graphql-eslint/overlapping-fields-can-be-merged': string;
133
+ '@graphql-eslint/possible-fragment-spread': string;
134
+ '@graphql-eslint/provided-required-arguments': string;
135
+ '@graphql-eslint/require-selections': string;
136
+ '@graphql-eslint/scalar-leafs': string;
137
+ '@graphql-eslint/selection-set-depth': (string | {
138
+ maxDepth: number;
139
+ })[];
140
+ '@graphql-eslint/unique-argument-names': string;
141
+ '@graphql-eslint/unique-directive-names-per-location': string;
142
+ '@graphql-eslint/unique-fragment-name': string;
143
+ '@graphql-eslint/unique-input-field-names': string;
144
+ '@graphql-eslint/unique-operation-name': string;
145
+ '@graphql-eslint/unique-variable-names': string;
146
+ '@graphql-eslint/value-literals-of-correct-type': string;
147
+ '@graphql-eslint/variables-are-input-types': string;
148
+ '@graphql-eslint/variables-in-allowed-position': string;
149
+ };
150
+ };
151
+ 'operations-all': {
152
+ extends: string;
153
+ rules: {
154
+ '@graphql-eslint/alphabetize': (string | {
155
+ definitions: boolean;
156
+ selections: string[];
157
+ variables: boolean;
158
+ arguments: string[];
159
+ groups: string[];
160
+ })[];
161
+ '@graphql-eslint/lone-executable-definition': string;
162
+ '@graphql-eslint/match-document-filename': (string | {
163
+ query: string;
164
+ mutation: string;
165
+ subscription: string;
166
+ fragment: string;
167
+ })[];
168
+ '@graphql-eslint/no-one-place-fragments': string;
169
+ '@graphql-eslint/require-import-fragment': string;
170
+ };
171
+ };
172
+ };
173
+
174
+ export { configs };
@@ -0,0 +1,16 @@
1
+ import "../chunk-U3TKCM4X.js";
2
+ import operationsAllConfig from "./operations-all.js";
3
+ import operationsRecommendedConfig from "./operations-recommended.js";
4
+ import schemaAllConfig from "./schema-all.js";
5
+ import schemaRecommendedConfig from "./schema-recommended.js";
6
+ import relayConfig from "./schema-relay.js";
7
+ const configs = {
8
+ "schema-recommended": schemaRecommendedConfig,
9
+ "schema-all": schemaAllConfig,
10
+ "schema-relay": relayConfig,
11
+ "operations-recommended": operationsRecommendedConfig,
12
+ "operations-all": operationsAllConfig
13
+ };
14
+ export {
15
+ configs
16
+ };