@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
package/cjs/parser.js ADDED
@@ -0,0 +1,96 @@
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 parser_exports = {};
25
+ __export(parser_exports, {
26
+ parseForESLint: () => parseForESLint
27
+ });
28
+ module.exports = __toCommonJS(parser_exports);
29
+ var import_utils = require("@graphql-tools/utils"), import_debug = __toESM(require("debug")), import_graphql = require("graphql"), import_estree_converter = require("./estree-converter/index.js"), import_graphql_config = require("./graphql-config.js"), import_schema = require("./schema.js"), import_siblings = require("./siblings.js"), import_utils2 = require("./utils.js"), import_documents = require("./documents.js");
30
+ const debug = (0, import_debug.default)("graphql-eslint:parser");
31
+ debug("cwd %o", import_utils2.CWD);
32
+ const LEGACY_PARSER_OPTIONS_KEYS = [
33
+ "schema",
34
+ "documents",
35
+ "extensions",
36
+ "include",
37
+ "exclude",
38
+ "projects",
39
+ "schemaOptions",
40
+ "graphQLParserOptions",
41
+ "skipGraphQLConfig",
42
+ "operations"
43
+ ];
44
+ function parseForESLint(code, options) {
45
+ for (const key of LEGACY_PARSER_OPTIONS_KEYS)
46
+ if (key in options)
47
+ throw new Error(
48
+ `\`parserOptions.${key}\` was removed in graphql-eslint@4. Use physical graphql-config for setting schema and documents or \`parserOptions.graphQLConfig\` for programmatic usage.`
49
+ );
50
+ try {
51
+ const { filePath } = options, { document } = (0, import_utils.parseGraphQLSDL)(filePath, code, { noLocation: !1 });
52
+ let project, schema, documents;
53
+ {
54
+ const gqlConfig = (0, import_graphql_config.loadGraphQLConfig)(options), realFilepath = filePath.replace(import_utils2.VIRTUAL_DOCUMENT_REGEX, "");
55
+ project = gqlConfig.getProjectForFile(realFilepath), documents = (0, import_documents.getDocuments)(project);
56
+ }
57
+ try {
58
+ schema = (0, import_schema.getSchema)(project);
59
+ } catch (error) {
60
+ throw error instanceof Error && (error.message = `Error while loading schema: ${error.message}`), error;
61
+ }
62
+ const rootTree = (0, import_estree_converter.convertToESTree)(document, schema);
63
+ return {
64
+ services: {
65
+ schema,
66
+ siblingOperations: (0, import_siblings.getSiblings)(documents)
67
+ },
68
+ ast: {
69
+ comments: (0, import_estree_converter.extractComments)(document.loc),
70
+ tokens: (0, import_estree_converter.extractTokens)(filePath, code),
71
+ loc: rootTree.loc,
72
+ range: rootTree.range,
73
+ type: "Program",
74
+ sourceType: "script",
75
+ body: [rootTree]
76
+ }
77
+ };
78
+ } catch (error) {
79
+ if (error instanceof Error && (error.message = `[graphql-eslint] ${error.message}`), error instanceof import_graphql.GraphQLError) {
80
+ const location = error.locations?.[0];
81
+ throw {
82
+ index: error.positions?.[0],
83
+ ...location && {
84
+ lineNumber: location.line,
85
+ column: location.column - 1
86
+ },
87
+ message: error.message
88
+ };
89
+ }
90
+ throw error;
91
+ }
92
+ }
93
+ // Annotate the CommonJS export names for ESM import in node:
94
+ 0 && (module.exports = {
95
+ parseForESLint
96
+ });
@@ -0,0 +1,13 @@
1
+ import { Linter } from 'eslint';
2
+
3
+ type Block = Linter.ProcessorFile & {
4
+ lineOffset: number;
5
+ offset: number;
6
+ };
7
+ declare const processor: {
8
+ supportsAutofix: true;
9
+ preprocess(code: string, filePath: string): (string | Block)[];
10
+ postprocess(messages: Linter.LintMessage[][], filePath: string): Linter.LintMessage[];
11
+ };
12
+
13
+ export { Block, processor };
@@ -0,0 +1,95 @@
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 processor_exports = {};
17
+ __export(processor_exports, {
18
+ processor: () => processor
19
+ });
20
+ module.exports = __toCommonJS(processor_exports);
21
+ var import_node_path = require("node:path"), import_graphql_tag_pluck = require("@graphql-tools/graphql-tag-pluck"), import_utils = require("@graphql-tools/utils"), import_graphql_config2 = require("./graphql-config.js"), import_utils2 = require("./utils.js");
22
+ const blocksMap = /* @__PURE__ */ new Map();
23
+ let onDiskConfig, onDiskConfigLoaded = !1;
24
+ const RELEVANT_KEYWORDS = ["gql", "graphql", "GraphQL"], processor = {
25
+ supportsAutofix: !0,
26
+ preprocess(code, filePath) {
27
+ onDiskConfigLoaded || (onDiskConfig = (0, import_graphql_config2.loadOnDiskGraphQLConfig)(filePath), onDiskConfigLoaded = !0);
28
+ let keywords = RELEVANT_KEYWORDS;
29
+ const pluckConfig = onDiskConfig?.getProjectForFile(filePath).extensions.pluckConfig;
30
+ if (pluckConfig) {
31
+ const {
32
+ modules = [],
33
+ globalGqlIdentifierName = ["gql", "graphql"],
34
+ gqlMagicComment = "GraphQL"
35
+ } = pluckConfig;
36
+ keywords = [
37
+ ...new Set(
38
+ [
39
+ ...modules.map(({ identifier }) => identifier),
40
+ ...(0, import_utils.asArray)(globalGqlIdentifierName),
41
+ gqlMagicComment
42
+ ].filter(import_utils2.truthy)
43
+ )
44
+ ];
45
+ }
46
+ if (keywords.every((keyword) => !code.includes(keyword)))
47
+ return [code];
48
+ try {
49
+ const blocks = (0, import_graphql_tag_pluck.gqlPluckFromCodeStringSync)(filePath, code, {
50
+ skipIndent: !0,
51
+ ...pluckConfig
52
+ }).map((item) => ({
53
+ filename: "document.graphql",
54
+ text: item.body,
55
+ lineOffset: item.locationOffset.line - 1,
56
+ // @ts-expect-error -- `index` field exist but show ts error
57
+ offset: item.locationOffset.index + 1
58
+ }));
59
+ return blocksMap.set(filePath, blocks), [
60
+ ...blocks,
61
+ code
62
+ /* source code must be provided and be last */
63
+ ];
64
+ } catch (error) {
65
+ return error instanceof Error && (error.message = `[graphql-eslint] Error while preprocessing "${(0, import_node_path.relative)(
66
+ import_utils2.CWD,
67
+ filePath
68
+ )}" file
69
+
70
+ ${error.message}`), console.error(error), [code];
71
+ }
72
+ },
73
+ postprocess(messages, filePath) {
74
+ const blocks = blocksMap.get(filePath) || [];
75
+ for (let i = 0; i < blocks.length; i += 1) {
76
+ const { lineOffset, offset } = blocks[i];
77
+ for (const message of messages[i] || []) {
78
+ if (/\.(vue|svelte)$/.test(filePath)) {
79
+ delete message.endLine, delete message.endColumn, delete message.fix, delete message.suggestions, Object.assign(message, import_utils2.REPORT_ON_FIRST_CHARACTER);
80
+ continue;
81
+ }
82
+ message.line += lineOffset, typeof message.endLine == "number" && (message.endLine += lineOffset), message.fix && (message.fix.range[0] += offset, message.fix.range[1] += offset);
83
+ for (const suggestion of message.suggestions || []) {
84
+ const [start, end] = suggestion.fix.range;
85
+ suggestion.fix.range = [start + offset, end + offset];
86
+ }
87
+ }
88
+ }
89
+ return messages.flat().sort((a, b) => a.line - b.line || a.column - b.column);
90
+ }
91
+ };
92
+ // Annotate the CommonJS export names for ESM import in node:
93
+ 0 && (module.exports = {
94
+ processor
95
+ });
@@ -0,0 +1,74 @@
1
+ import { FromSchema } from 'json-schema-to-ts';
2
+ import { GraphQLESLintRule } from '../types.js';
3
+ import 'eslint';
4
+ import 'estree';
5
+ import 'graphql';
6
+ import '../siblings.js';
7
+ import '@graphql-tools/utils';
8
+ import '../estree-converter/types.js';
9
+ import 'graphql-config';
10
+
11
+ declare const schema: {
12
+ readonly type: "array";
13
+ readonly minItems: 1;
14
+ readonly maxItems: 1;
15
+ readonly items: {
16
+ readonly type: "object";
17
+ readonly additionalProperties: false;
18
+ readonly minProperties: 1;
19
+ readonly properties: {
20
+ readonly fields: {
21
+ readonly items: {
22
+ readonly enum: ("ObjectTypeDefinition" | "InterfaceTypeDefinition" | "InputObjectTypeDefinition")[];
23
+ };
24
+ readonly description: "Fields of `type`, `interface`, and `input`.";
25
+ readonly type: "array";
26
+ readonly uniqueItems: true;
27
+ readonly minItems: 1;
28
+ };
29
+ readonly values: {
30
+ readonly type: "boolean";
31
+ readonly description: "Values of `enum`.";
32
+ };
33
+ readonly selections: {
34
+ readonly items: {
35
+ readonly enum: ("OperationDefinition" | "FragmentDefinition")[];
36
+ };
37
+ readonly description: "Selections of `fragment` and operations `query`, `mutation` and `subscription`.";
38
+ readonly type: "array";
39
+ readonly uniqueItems: true;
40
+ readonly minItems: 1;
41
+ };
42
+ readonly variables: {
43
+ readonly type: "boolean";
44
+ readonly description: "Variables of operations `query`, `mutation` and `subscription`.";
45
+ };
46
+ readonly arguments: {
47
+ readonly items: {
48
+ readonly enum: ("Field" | "Directive" | "FieldDefinition" | "DirectiveDefinition")[];
49
+ };
50
+ readonly description: "Arguments of fields and directives.";
51
+ readonly type: "array";
52
+ readonly uniqueItems: true;
53
+ readonly minItems: 1;
54
+ };
55
+ readonly definitions: {
56
+ readonly type: "boolean";
57
+ readonly description: "Definitions – `type`, `interface`, `enum`, `scalar`, `input`, `union` and `directive`.";
58
+ };
59
+ readonly groups: {
60
+ readonly minItems: 2;
61
+ readonly description: "Custom order group. Example: `['id', '*', 'createdAt', 'updatedAt']` where `*` says for everything else.";
62
+ readonly type: "array";
63
+ readonly uniqueItems: true;
64
+ readonly items: {
65
+ readonly type: "string";
66
+ };
67
+ };
68
+ };
69
+ };
70
+ };
71
+ type RuleOptions = FromSchema<typeof schema>;
72
+ declare const rule: GraphQLESLintRule<RuleOptions>;
73
+
74
+ export { RuleOptions, rule };
@@ -0,0 +1,323 @@
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 alphabetize_exports = {};
25
+ __export(alphabetize_exports, {
26
+ rule: () => rule
27
+ });
28
+ module.exports = __toCommonJS(alphabetize_exports);
29
+ var import_graphql = require("graphql"), import_lodash = __toESM(require("lodash.lowercase")), import_utils = require("../utils.js");
30
+ const RULE_ID = "alphabetize", fieldsEnum = [
31
+ import_graphql.Kind.OBJECT_TYPE_DEFINITION,
32
+ import_graphql.Kind.INTERFACE_TYPE_DEFINITION,
33
+ import_graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION
34
+ ], selectionsEnum = [
35
+ import_graphql.Kind.OPERATION_DEFINITION,
36
+ import_graphql.Kind.FRAGMENT_DEFINITION
37
+ ], argumentsEnum = [
38
+ import_graphql.Kind.FIELD_DEFINITION,
39
+ import_graphql.Kind.FIELD,
40
+ import_graphql.Kind.DIRECTIVE_DEFINITION,
41
+ import_graphql.Kind.DIRECTIVE
42
+ ], schema = {
43
+ type: "array",
44
+ minItems: 1,
45
+ maxItems: 1,
46
+ items: {
47
+ type: "object",
48
+ additionalProperties: !1,
49
+ minProperties: 1,
50
+ properties: {
51
+ fields: {
52
+ ...import_utils.ARRAY_DEFAULT_OPTIONS,
53
+ items: {
54
+ enum: fieldsEnum
55
+ },
56
+ description: "Fields of `type`, `interface`, and `input`."
57
+ },
58
+ values: {
59
+ type: "boolean",
60
+ description: "Values of `enum`."
61
+ },
62
+ selections: {
63
+ ...import_utils.ARRAY_DEFAULT_OPTIONS,
64
+ items: {
65
+ enum: selectionsEnum
66
+ },
67
+ description: "Selections of `fragment` and operations `query`, `mutation` and `subscription`."
68
+ },
69
+ variables: {
70
+ type: "boolean",
71
+ description: "Variables of operations `query`, `mutation` and `subscription`."
72
+ },
73
+ arguments: {
74
+ ...import_utils.ARRAY_DEFAULT_OPTIONS,
75
+ items: {
76
+ enum: argumentsEnum
77
+ },
78
+ description: "Arguments of fields and directives."
79
+ },
80
+ definitions: {
81
+ type: "boolean",
82
+ description: "Definitions \u2013 `type`, `interface`, `enum`, `scalar`, `input`, `union` and `directive`."
83
+ },
84
+ groups: {
85
+ ...import_utils.ARRAY_DEFAULT_OPTIONS,
86
+ minItems: 2,
87
+ description: "Custom order group. Example: `['id', '*', 'createdAt', 'updatedAt']` where `*` says for everything else."
88
+ }
89
+ }
90
+ }
91
+ }, rule = {
92
+ meta: {
93
+ type: "suggestion",
94
+ fixable: "code",
95
+ docs: {
96
+ category: ["Schema", "Operations"],
97
+ description: "Enforce arrange in alphabetical order for type fields, enum values, input object fields, operation selections and more.",
98
+ url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
99
+ examples: [
100
+ {
101
+ title: "Incorrect",
102
+ usage: [{ fields: [import_graphql.Kind.OBJECT_TYPE_DEFINITION] }],
103
+ code: (
104
+ /* GraphQL */
105
+ `
106
+ type User {
107
+ password: String
108
+ firstName: String! # should be before "password"
109
+ age: Int # should be before "firstName"
110
+ lastName: String!
111
+ }
112
+ `
113
+ )
114
+ },
115
+ {
116
+ title: "Correct",
117
+ usage: [{ fields: [import_graphql.Kind.OBJECT_TYPE_DEFINITION] }],
118
+ code: (
119
+ /* GraphQL */
120
+ `
121
+ type User {
122
+ age: Int
123
+ firstName: String!
124
+ lastName: String!
125
+ password: String
126
+ }
127
+ `
128
+ )
129
+ },
130
+ {
131
+ title: "Incorrect",
132
+ usage: [{ values: !0 }],
133
+ code: (
134
+ /* GraphQL */
135
+ `
136
+ enum Role {
137
+ SUPER_ADMIN
138
+ ADMIN # should be before "SUPER_ADMIN"
139
+ USER
140
+ GOD # should be before "USER"
141
+ }
142
+ `
143
+ )
144
+ },
145
+ {
146
+ title: "Correct",
147
+ usage: [{ values: !0 }],
148
+ code: (
149
+ /* GraphQL */
150
+ `
151
+ enum Role {
152
+ ADMIN
153
+ GOD
154
+ SUPER_ADMIN
155
+ USER
156
+ }
157
+ `
158
+ )
159
+ },
160
+ {
161
+ title: "Incorrect",
162
+ usage: [{ selections: [import_graphql.Kind.OPERATION_DEFINITION] }],
163
+ code: (
164
+ /* GraphQL */
165
+ `
166
+ query {
167
+ me {
168
+ firstName
169
+ lastName
170
+ email # should be before "lastName"
171
+ }
172
+ }
173
+ `
174
+ )
175
+ },
176
+ {
177
+ title: "Correct",
178
+ usage: [{ selections: [import_graphql.Kind.OPERATION_DEFINITION] }],
179
+ code: (
180
+ /* GraphQL */
181
+ `
182
+ query {
183
+ me {
184
+ email
185
+ firstName
186
+ lastName
187
+ }
188
+ }
189
+ `
190
+ )
191
+ }
192
+ ],
193
+ configOptions: {
194
+ schema: [
195
+ {
196
+ definitions: !0,
197
+ fields: fieldsEnum,
198
+ values: !0,
199
+ arguments: argumentsEnum,
200
+ groups: ["id", "*", "createdAt", "updatedAt"]
201
+ }
202
+ ],
203
+ operations: [
204
+ {
205
+ definitions: !0,
206
+ selections: selectionsEnum,
207
+ variables: !0,
208
+ arguments: [import_graphql.Kind.FIELD, import_graphql.Kind.DIRECTIVE],
209
+ groups: ["id", "*", "createdAt", "updatedAt"]
210
+ }
211
+ ]
212
+ }
213
+ },
214
+ messages: {
215
+ [RULE_ID]: "{{ currNode }} should be before {{ prevNode }}"
216
+ },
217
+ schema
218
+ },
219
+ create(context) {
220
+ const sourceCode = context.getSourceCode();
221
+ function isNodeAndCommentOnSameLine(node, comment) {
222
+ return node.loc.end.line === comment.loc.start.line;
223
+ }
224
+ function getBeforeComments(node) {
225
+ const commentsBefore = sourceCode.getCommentsBefore(node);
226
+ if (commentsBefore.length === 0)
227
+ return [];
228
+ const tokenBefore = sourceCode.getTokenBefore(node);
229
+ if (tokenBefore)
230
+ return commentsBefore.filter((comment) => !isNodeAndCommentOnSameLine(tokenBefore, comment));
231
+ const filteredComments = [], nodeLine = node.loc.start.line;
232
+ for (let i = commentsBefore.length - 1; i >= 0; i -= 1) {
233
+ const comment = commentsBefore[i];
234
+ if (nodeLine - comment.loc.start.line - filteredComments.length > 1)
235
+ break;
236
+ filteredComments.unshift(comment);
237
+ }
238
+ return filteredComments;
239
+ }
240
+ function getRangeWithComments(node) {
241
+ node.kind === import_graphql.Kind.VARIABLE && (node = node.parent);
242
+ const [firstBeforeComment] = getBeforeComments(node), [firstAfterComment] = sourceCode.getCommentsAfter(node), from = firstBeforeComment || node, to = firstAfterComment && isNodeAndCommentOnSameLine(node, firstAfterComment) ? firstAfterComment : node;
243
+ return [from.range[0], to.range[1]];
244
+ }
245
+ function checkNodes(nodes = []) {
246
+ for (let i = 1; i < nodes.length; i += 1) {
247
+ const currNode = nodes[i], currName = "alias" in currNode && currNode.alias?.value || "name" in currNode && currNode.name?.value;
248
+ if (!currName)
249
+ continue;
250
+ const prevNode = nodes[i - 1], prevName = "alias" in prevNode && prevNode.alias?.value || "name" in prevNode && prevNode.name?.value;
251
+ if (prevName) {
252
+ const compareResult = prevName.localeCompare(currName), { groups } = opts;
253
+ let shouldSortByGroup = !1;
254
+ if (groups?.length) {
255
+ if (!groups.includes("*"))
256
+ throw new Error("`groups` option should contain `*` string.");
257
+ let indexForPrev = groups.indexOf(prevName);
258
+ indexForPrev === -1 && (indexForPrev = groups.indexOf("*"));
259
+ let indexForCurr = groups.indexOf(currName);
260
+ if (indexForCurr === -1 && (indexForCurr = groups.indexOf("*")), shouldSortByGroup = indexForPrev - indexForCurr > 0, indexForPrev < indexForCurr)
261
+ continue;
262
+ }
263
+ if (!shouldSortByGroup && !(compareResult === 1) && (!(compareResult === 0) || !prevNode.kind.endsWith("Extension") || currNode.kind.endsWith("Extension")))
264
+ continue;
265
+ }
266
+ context.report({
267
+ // @ts-expect-error can't be undefined
268
+ node: "alias" in currNode && currNode.alias || currNode.name,
269
+ messageId: RULE_ID,
270
+ data: {
271
+ currNode: (0, import_utils.displayNodeName)(currNode),
272
+ prevNode: prevName ? (0, import_utils.displayNodeName)(prevNode) : (0, import_lodash.default)(prevNode.kind)
273
+ },
274
+ *fix(fixer) {
275
+ const prevRange = getRangeWithComments(prevNode), currRange = getRangeWithComments(currNode);
276
+ yield fixer.replaceTextRange(
277
+ prevRange,
278
+ sourceCode.getText({ range: currRange })
279
+ ), yield fixer.replaceTextRange(
280
+ currRange,
281
+ sourceCode.getText({ range: prevRange })
282
+ );
283
+ }
284
+ });
285
+ }
286
+ }
287
+ const opts = context.options[0], fields = new Set(opts.fields ?? []), listeners = {}, fieldsSelector = [
288
+ fields.has(import_graphql.Kind.OBJECT_TYPE_DEFINITION) && [
289
+ import_graphql.Kind.OBJECT_TYPE_DEFINITION,
290
+ import_graphql.Kind.OBJECT_TYPE_EXTENSION
291
+ ],
292
+ fields.has(import_graphql.Kind.INTERFACE_TYPE_DEFINITION) && [
293
+ import_graphql.Kind.INTERFACE_TYPE_DEFINITION,
294
+ import_graphql.Kind.INTERFACE_TYPE_EXTENSION
295
+ ],
296
+ fields.has(import_graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION) && [
297
+ import_graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION,
298
+ import_graphql.Kind.INPUT_OBJECT_TYPE_EXTENSION
299
+ ]
300
+ ].filter(import_utils.truthy).flat().join(","), selectionsSelector = opts.selections?.join(","), argumentsSelector = opts.arguments?.join(",");
301
+ if (fieldsSelector && (listeners[fieldsSelector] = (node) => {
302
+ checkNodes(node.fields);
303
+ }), opts.values) {
304
+ const enumValuesSelector = [import_graphql.Kind.ENUM_TYPE_DEFINITION, import_graphql.Kind.ENUM_TYPE_EXTENSION].join(",");
305
+ listeners[enumValuesSelector] = (node) => {
306
+ checkNodes(node.values);
307
+ };
308
+ }
309
+ return selectionsSelector && (listeners[`:matches(${selectionsSelector}) SelectionSet`] = (node) => {
310
+ checkNodes(node.selections);
311
+ }), opts.variables && (listeners.OperationDefinition = (node) => {
312
+ checkNodes(node.variableDefinitions?.map((varDef) => varDef.variable));
313
+ }), argumentsSelector && (listeners[argumentsSelector] = (node) => {
314
+ checkNodes(node.arguments);
315
+ }), opts.definitions && (listeners.Document = (node) => {
316
+ checkNodes(node.definitions);
317
+ }), listeners;
318
+ }
319
+ };
320
+ // Annotate the CommonJS export names for ESM import in node:
321
+ 0 && (module.exports = {
322
+ rule
323
+ });
@@ -0,0 +1,29 @@
1
+ import { FromSchema } from 'json-schema-to-ts';
2
+ import { GraphQLESLintRule } from '../types.js';
3
+ import 'eslint';
4
+ import 'estree';
5
+ import 'graphql';
6
+ import '../siblings.js';
7
+ import '@graphql-tools/utils';
8
+ import '../estree-converter/types.js';
9
+ import 'graphql-config';
10
+
11
+ declare const schema: {
12
+ readonly type: "array";
13
+ readonly maxItems: 1;
14
+ readonly items: {
15
+ readonly type: "object";
16
+ readonly additionalProperties: false;
17
+ readonly minProperties: 1;
18
+ readonly properties: {
19
+ readonly style: {
20
+ readonly enum: readonly ["block", "inline"];
21
+ readonly default: "block";
22
+ };
23
+ };
24
+ };
25
+ };
26
+ type RuleOptions = FromSchema<typeof schema>;
27
+ declare const rule: GraphQLESLintRule<RuleOptions>;
28
+
29
+ export { RuleOptions, rule };