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

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 (302) hide show
  1. package/{typings → cjs}/cache.d.ts +3 -1
  2. package/cjs/cache.js +57 -26
  3. package/{typings → cjs}/configs/index.d.ts +3 -1
  4. package/cjs/configs/index.js +47 -14
  5. package/{typings → cjs}/configs/operations-all.d.ts +2 -1
  6. package/cjs/configs/operations-all.js +47 -30
  7. package/{typings → cjs}/configs/operations-recommended.d.ts +2 -1
  8. package/cjs/configs/operations-recommended.js +72 -55
  9. package/{typings → cjs}/configs/relay.d.ts +2 -1
  10. package/cjs/configs/relay.js +31 -11
  11. package/{typings → cjs}/configs/schema-all.d.ts +2 -1
  12. package/cjs/configs/schema-all.js +41 -24
  13. package/{typings → cjs}/configs/schema-recommended.d.ts +2 -1
  14. package/cjs/configs/schema-recommended.js +68 -51
  15. package/{typings → cjs}/documents.d.ts +4 -1
  16. package/cjs/documents.js +74 -43
  17. package/cjs/estree-converter/converter.d.ts +8 -0
  18. package/cjs/estree-converter/converter.js +80 -59
  19. package/cjs/estree-converter/index.d.ts +8 -0
  20. package/cjs/estree-converter/index.js +25 -5
  21. package/{typings → cjs}/estree-converter/types.d.ts +7 -5
  22. package/cjs/estree-converter/types.js +16 -0
  23. package/cjs/estree-converter/utils.d.ts +18 -0
  24. package/cjs/estree-converter/utils.js +119 -95
  25. package/{typings → cjs}/flat-configs.d.ts +12 -1
  26. package/cjs/flat-configs.js +56 -32
  27. package/cjs/graphql-config.d.ts +13 -0
  28. package/cjs/graphql-config.js +78 -47
  29. package/cjs/index.d.ts +22 -0
  30. package/cjs/index.js +50 -18
  31. package/cjs/parser.d.ts +12 -0
  32. package/cjs/parser.js +96 -76
  33. package/cjs/processor.d.ts +9 -0
  34. package/cjs/processor.js +119 -88
  35. package/{typings → cjs}/rules/alphabetize.d.ts +12 -4
  36. package/cjs/rules/alphabetize.js +337 -295
  37. package/{typings → cjs}/rules/description-style.d.ts +12 -4
  38. package/cjs/rules/description-style.js +96 -66
  39. package/cjs/rules/graphql-js-validation.d.ts +12 -0
  40. package/cjs/rules/graphql-js-validation.js +595 -433
  41. package/cjs/rules/index.d.ts +125 -0
  42. package/cjs/rules/index.js +97 -76
  43. package/{typings → cjs}/rules/input-name.d.ts +12 -4
  44. package/cjs/rules/input-name.js +153 -123
  45. package/{typings → cjs}/rules/lone-executable-definition.d.ts +12 -4
  46. package/cjs/rules/lone-executable-definition.js +101 -72
  47. package/{typings → cjs}/rules/match-document-filename.d.ts +14 -6
  48. package/cjs/rules/match-document-filename.js +229 -182
  49. package/{typings → cjs}/rules/naming-convention.d.ts +12 -4
  50. package/cjs/rules/naming-convention.js +380 -316
  51. package/cjs/rules/no-anonymous-operations.d.ts +12 -0
  52. package/cjs/rules/no-anonymous-operations.js +88 -57
  53. package/cjs/rules/no-case-insensitive-enum-values-duplicates.d.ts +12 -0
  54. package/cjs/rules/no-case-insensitive-enum-values-duplicates.js +82 -50
  55. package/cjs/rules/no-deprecated.d.ts +12 -0
  56. package/cjs/rules/no-deprecated.js +106 -75
  57. package/cjs/rules/no-duplicate-fields.d.ts +12 -0
  58. package/cjs/rules/no-duplicate-fields.js +116 -82
  59. package/cjs/rules/no-hashtag-description.d.ts +13 -0
  60. package/cjs/rules/no-hashtag-description.js +119 -82
  61. package/cjs/rules/no-one-place-fragments.d.ts +12 -0
  62. package/cjs/rules/no-one-place-fragments.js +88 -58
  63. package/{typings → cjs}/rules/no-root-type.d.ts +12 -4
  64. package/cjs/rules/no-root-type.js +101 -74
  65. package/cjs/rules/no-scalar-result-type-on-mutation.d.ts +12 -0
  66. package/cjs/rules/no-scalar-result-type-on-mutation.js +90 -60
  67. package/cjs/rules/no-typename-prefix.d.ts +12 -0
  68. package/cjs/rules/no-typename-prefix.js +88 -55
  69. package/cjs/rules/no-unreachable-types.d.ts +12 -0
  70. package/cjs/rules/no-unreachable-types.js +169 -134
  71. package/cjs/rules/no-unused-fields.d.ts +12 -0
  72. package/cjs/rules/no-unused-fields.js +117 -92
  73. package/{typings → cjs}/rules/relay-arguments.d.ts +12 -4
  74. package/cjs/rules/relay-arguments.js +136 -110
  75. package/cjs/rules/relay-connection-types.d.ts +13 -0
  76. package/cjs/rules/relay-connection-types.js +123 -94
  77. package/{typings → cjs}/rules/relay-edge-types.d.ts +12 -4
  78. package/cjs/rules/relay-edge-types.js +196 -179
  79. package/cjs/rules/relay-page-info.d.ts +12 -0
  80. package/cjs/rules/relay-page-info.js +108 -89
  81. package/{typings → cjs}/rules/require-deprecation-date.d.ts +12 -4
  82. package/cjs/rules/require-deprecation-date.js +143 -112
  83. package/cjs/rules/require-deprecation-reason.d.ts +12 -0
  84. package/cjs/rules/require-deprecation-reason.js +80 -46
  85. package/{typings → cjs}/rules/require-description.d.ts +13 -5
  86. package/cjs/rules/require-description.js +170 -132
  87. package/cjs/rules/require-field-of-type-query-in-mutation-result.d.ts +12 -0
  88. package/cjs/rules/require-field-of-type-query-in-mutation-result.js +81 -51
  89. package/{typings → cjs}/rules/require-id-when-available.d.ts +12 -4
  90. package/cjs/rules/require-id-when-available.js +196 -173
  91. package/cjs/rules/require-import-fragment.d.ts +12 -0
  92. package/cjs/rules/require-import-fragment.js +138 -88
  93. package/cjs/rules/require-nullable-fields-with-oneof.d.ts +12 -0
  94. package/cjs/rules/require-nullable-fields-with-oneof.js +80 -50
  95. package/cjs/rules/require-nullable-result-in-root.d.ts +12 -0
  96. package/cjs/rules/require-nullable-result-in-root.js +97 -68
  97. package/cjs/rules/require-type-pattern-with-oneof.d.ts +12 -0
  98. package/cjs/rules/require-type-pattern-with-oneof.js +70 -42
  99. package/{typings → cjs}/rules/selection-set-depth.d.ts +12 -4
  100. package/cjs/rules/selection-set-depth.js +147 -107
  101. package/{typings → cjs}/rules/strict-id-in-types.d.ts +12 -4
  102. package/cjs/rules/strict-id-in-types.js +143 -122
  103. package/cjs/rules/unique-fragment-name.d.ts +13 -0
  104. package/cjs/rules/unique-fragment-name.js +88 -62
  105. package/cjs/rules/unique-operation-name.d.ts +12 -0
  106. package/cjs/rules/unique-operation-name.js +65 -35
  107. package/cjs/schema.d.ts +12 -0
  108. package/cjs/schema.js +62 -30
  109. package/cjs/siblings.d.ts +8 -0
  110. package/cjs/siblings.js +124 -106
  111. package/cjs/testkit.d.ts +8 -0
  112. package/cjs/testkit.js +165 -144
  113. package/cjs/types-e3367e3c.d.ts +129 -0
  114. package/cjs/types.d.ts +8 -0
  115. package/cjs/types.js +16 -0
  116. package/cjs/utils.d.ts +44 -0
  117. package/cjs/utils.js +181 -124
  118. package/{typings/cache.d.cts → esm/cache.d.mts} +3 -1
  119. package/esm/cache.js +25 -23
  120. package/{typings/configs/index.d.cts → esm/configs/index.d.mts} +3 -1
  121. package/esm/configs/index.js +14 -11
  122. package/{typings/configs/operations-all.d.cts → esm/configs/operations-all.d.mts} +2 -1
  123. package/esm/configs/operations-all.js +28 -28
  124. package/{typings/configs/operations-recommended.d.cts → esm/configs/operations-recommended.d.mts} +2 -1
  125. package/esm/configs/operations-recommended.js +53 -53
  126. package/{typings/configs/relay.d.cts → esm/configs/relay.d.mts} +2 -1
  127. package/esm/configs/relay.js +12 -9
  128. package/{typings/configs/schema-all.d.cts → esm/configs/schema-all.d.mts} +2 -1
  129. package/esm/configs/schema-all.js +22 -22
  130. package/{typings/configs/schema-recommended.d.cts → esm/configs/schema-recommended.d.mts} +2 -1
  131. package/esm/configs/schema-recommended.js +49 -49
  132. package/{typings/documents.d.cts → esm/documents.d.mts} +4 -1
  133. package/esm/documents.js +41 -39
  134. package/esm/estree-converter/converter.d.mts +8 -0
  135. package/esm/estree-converter/converter.js +63 -57
  136. package/esm/estree-converter/index.d.mts +8 -0
  137. package/esm/estree-converter/index.js +3 -3
  138. package/{typings/estree-converter/types.d.cts → esm/estree-converter/types.d.mts} +7 -5
  139. package/esm/estree-converter/utils.d.mts +18 -0
  140. package/esm/estree-converter/utils.js +102 -93
  141. package/{typings/flat-configs.d.cts → esm/flat-configs.d.mts} +13 -2
  142. package/esm/flat-configs.js +33 -30
  143. package/esm/graphql-config.d.mts +13 -0
  144. package/esm/graphql-config.js +49 -44
  145. package/esm/index.d.mts +22 -0
  146. package/esm/index.js +18 -9
  147. package/esm/package.json +1 -1
  148. package/esm/parser.d.mts +12 -0
  149. package/esm/parser.js +64 -73
  150. package/esm/processor.d.mts +9 -0
  151. package/esm/processor.js +98 -86
  152. package/{typings/rules/alphabetize.d.cts → esm/rules/alphabetize.d.mts} +12 -4
  153. package/esm/rules/alphabetize.js +304 -290
  154. package/{typings/rules/description-style.d.cts → esm/rules/description-style.d.mts} +12 -4
  155. package/esm/rules/description-style.js +73 -64
  156. package/esm/rules/graphql-js-validation.d.mts +12 -0
  157. package/esm/rules/graphql-js-validation.js +580 -429
  158. package/esm/rules/index.d.mts +125 -0
  159. package/esm/rules/index.js +74 -74
  160. package/{typings/rules/input-name.d.cts → esm/rules/input-name.d.mts} +12 -4
  161. package/esm/rules/input-name.js +132 -121
  162. package/{typings/rules/lone-executable-definition.d.cts → esm/rules/lone-executable-definition.d.mts} +12 -4
  163. package/esm/rules/lone-executable-definition.js +78 -70
  164. package/{typings/rules/match-document-filename.d.cts → esm/rules/match-document-filename.d.mts} +14 -6
  165. package/esm/rules/match-document-filename.js +210 -180
  166. package/{typings/rules/naming-convention.d.cts → esm/rules/naming-convention.d.mts} +12 -4
  167. package/esm/rules/naming-convention.js +363 -314
  168. package/esm/rules/no-anonymous-operations.d.mts +12 -0
  169. package/esm/rules/no-anonymous-operations.js +65 -55
  170. package/esm/rules/no-case-insensitive-enum-values-duplicates.d.mts +12 -0
  171. package/esm/rules/no-case-insensitive-enum-values-duplicates.js +59 -48
  172. package/esm/rules/no-deprecated.d.mts +12 -0
  173. package/esm/rules/no-deprecated.js +83 -73
  174. package/esm/rules/no-duplicate-fields.d.mts +12 -0
  175. package/esm/rules/no-duplicate-fields.js +93 -80
  176. package/esm/rules/no-hashtag-description.d.mts +13 -0
  177. package/esm/rules/no-hashtag-description.js +95 -80
  178. package/esm/rules/no-one-place-fragments.d.mts +12 -0
  179. package/esm/rules/no-one-place-fragments.js +65 -56
  180. package/{typings/rules/no-root-type.d.cts → esm/rules/no-root-type.d.mts} +12 -4
  181. package/esm/rules/no-root-type.js +78 -72
  182. package/esm/rules/no-scalar-result-type-on-mutation.d.mts +12 -0
  183. package/esm/rules/no-scalar-result-type-on-mutation.js +67 -58
  184. package/esm/rules/no-typename-prefix.d.mts +12 -0
  185. package/esm/rules/no-typename-prefix.js +65 -53
  186. package/esm/rules/no-unreachable-types.d.mts +12 -0
  187. package/esm/rules/no-unreachable-types.js +141 -131
  188. package/esm/rules/no-unused-fields.d.mts +12 -0
  189. package/esm/rules/no-unused-fields.js +94 -90
  190. package/{typings/rules/relay-arguments.d.cts → esm/rules/relay-arguments.d.mts} +12 -4
  191. package/esm/rules/relay-arguments.js +113 -108
  192. package/esm/rules/relay-connection-types.d.mts +13 -0
  193. package/esm/rules/relay-connection-types.js +98 -91
  194. package/{typings/rules/relay-edge-types.d.cts → esm/rules/relay-edge-types.d.mts} +12 -4
  195. package/esm/rules/relay-edge-types.js +178 -177
  196. package/esm/rules/relay-page-info.d.mts +12 -0
  197. package/esm/rules/relay-page-info.js +84 -86
  198. package/{typings/rules/require-deprecation-date.d.cts → esm/rules/require-deprecation-date.d.mts} +12 -4
  199. package/esm/rules/require-deprecation-date.js +120 -110
  200. package/esm/rules/require-deprecation-reason.d.mts +12 -0
  201. package/esm/rules/require-deprecation-reason.js +57 -44
  202. package/{typings/rules/require-description.d.cts → esm/rules/require-description.d.mts} +13 -5
  203. package/esm/rules/require-description.js +151 -130
  204. package/esm/rules/require-field-of-type-query-in-mutation-result.d.mts +12 -0
  205. package/esm/rules/require-field-of-type-query-in-mutation-result.js +58 -49
  206. package/{typings/rules/require-id-when-available.d.cts → esm/rules/require-id-when-available.d.mts} +12 -4
  207. package/esm/rules/require-id-when-available.js +186 -171
  208. package/esm/rules/require-import-fragment.d.mts +12 -0
  209. package/esm/rules/require-import-fragment.js +105 -85
  210. package/esm/rules/require-nullable-fields-with-oneof.d.mts +12 -0
  211. package/esm/rules/require-nullable-fields-with-oneof.js +57 -48
  212. package/esm/rules/require-nullable-result-in-root.d.mts +12 -0
  213. package/esm/rules/require-nullable-result-in-root.js +74 -66
  214. package/esm/rules/require-type-pattern-with-oneof.d.mts +12 -0
  215. package/esm/rules/require-type-pattern-with-oneof.js +47 -40
  216. package/{typings/rules/selection-set-depth.d.cts → esm/rules/selection-set-depth.d.mts} +12 -4
  217. package/esm/rules/selection-set-depth.js +114 -104
  218. package/{typings/rules/strict-id-in-types.d.cts → esm/rules/strict-id-in-types.d.mts} +12 -4
  219. package/esm/rules/strict-id-in-types.js +125 -119
  220. package/esm/rules/unique-fragment-name.d.mts +13 -0
  221. package/esm/rules/unique-fragment-name.js +65 -60
  222. package/esm/rules/unique-operation-name.d.mts +12 -0
  223. package/esm/rules/unique-operation-name.js +42 -33
  224. package/esm/schema.d.mts +12 -0
  225. package/esm/schema.js +29 -26
  226. package/esm/siblings.d.mts +8 -0
  227. package/esm/siblings.js +105 -104
  228. package/esm/testkit.d.mts +8 -0
  229. package/esm/testkit.js +132 -141
  230. package/esm/types-2e1afd7c.d.ts +129 -0
  231. package/esm/types.d.mts +8 -0
  232. package/esm/utils.d.mts +44 -0
  233. package/esm/utils.js +138 -116
  234. package/package.json +40 -30
  235. package/typings/estree-converter/converter.d.cts +0 -3
  236. package/typings/estree-converter/converter.d.ts +0 -3
  237. package/typings/estree-converter/index.d.cts +0 -3
  238. package/typings/estree-converter/index.d.ts +0 -3
  239. package/typings/estree-converter/utils.d.cts +0 -13
  240. package/typings/estree-converter/utils.d.ts +0 -13
  241. package/typings/graphql-config.d.cts +0 -4
  242. package/typings/graphql-config.d.ts +0 -4
  243. package/typings/index.d.cts +0 -10
  244. package/typings/index.d.ts +0 -10
  245. package/typings/parser.d.cts +0 -2
  246. package/typings/parser.d.ts +0 -2
  247. package/typings/processor.d.cts +0 -6
  248. package/typings/processor.d.ts +0 -6
  249. package/typings/rules/graphql-js-validation.d.cts +0 -2
  250. package/typings/rules/graphql-js-validation.d.ts +0 -2
  251. package/typings/rules/index.d.cts +0 -111
  252. package/typings/rules/index.d.ts +0 -111
  253. package/typings/rules/no-anonymous-operations.d.cts +0 -2
  254. package/typings/rules/no-anonymous-operations.d.ts +0 -2
  255. package/typings/rules/no-case-insensitive-enum-values-duplicates.d.cts +0 -2
  256. package/typings/rules/no-case-insensitive-enum-values-duplicates.d.ts +0 -2
  257. package/typings/rules/no-deprecated.d.cts +0 -2
  258. package/typings/rules/no-deprecated.d.ts +0 -2
  259. package/typings/rules/no-duplicate-fields.d.cts +0 -2
  260. package/typings/rules/no-duplicate-fields.d.ts +0 -2
  261. package/typings/rules/no-hashtag-description.d.cts +0 -3
  262. package/typings/rules/no-hashtag-description.d.ts +0 -3
  263. package/typings/rules/no-one-place-fragments.d.cts +0 -2
  264. package/typings/rules/no-one-place-fragments.d.ts +0 -2
  265. package/typings/rules/no-scalar-result-type-on-mutation.d.cts +0 -2
  266. package/typings/rules/no-scalar-result-type-on-mutation.d.ts +0 -2
  267. package/typings/rules/no-typename-prefix.d.cts +0 -2
  268. package/typings/rules/no-typename-prefix.d.ts +0 -2
  269. package/typings/rules/no-unreachable-types.d.cts +0 -2
  270. package/typings/rules/no-unreachable-types.d.ts +0 -2
  271. package/typings/rules/no-unused-fields.d.cts +0 -2
  272. package/typings/rules/no-unused-fields.d.ts +0 -2
  273. package/typings/rules/relay-connection-types.d.cts +0 -4
  274. package/typings/rules/relay-connection-types.d.ts +0 -4
  275. package/typings/rules/relay-page-info.d.cts +0 -2
  276. package/typings/rules/relay-page-info.d.ts +0 -2
  277. package/typings/rules/require-deprecation-reason.d.cts +0 -2
  278. package/typings/rules/require-deprecation-reason.d.ts +0 -2
  279. package/typings/rules/require-field-of-type-query-in-mutation-result.d.cts +0 -2
  280. package/typings/rules/require-field-of-type-query-in-mutation-result.d.ts +0 -2
  281. package/typings/rules/require-import-fragment.d.cts +0 -2
  282. package/typings/rules/require-import-fragment.d.ts +0 -2
  283. package/typings/rules/require-nullable-fields-with-oneof.d.cts +0 -2
  284. package/typings/rules/require-nullable-fields-with-oneof.d.ts +0 -2
  285. package/typings/rules/require-nullable-result-in-root.d.cts +0 -2
  286. package/typings/rules/require-nullable-result-in-root.d.ts +0 -2
  287. package/typings/rules/require-type-pattern-with-oneof.d.cts +0 -2
  288. package/typings/rules/require-type-pattern-with-oneof.d.ts +0 -2
  289. package/typings/rules/unique-fragment-name.d.cts +0 -5
  290. package/typings/rules/unique-fragment-name.d.ts +0 -5
  291. package/typings/rules/unique-operation-name.d.cts +0 -2
  292. package/typings/rules/unique-operation-name.d.ts +0 -2
  293. package/typings/schema.d.cts +0 -3
  294. package/typings/schema.d.ts +0 -3
  295. package/typings/siblings.d.cts +0 -22
  296. package/typings/siblings.d.ts +0 -22
  297. package/typings/testkit.d.cts +0 -29
  298. package/typings/testkit.d.ts +0 -29
  299. package/typings/types.d.cts +0 -83
  300. package/typings/types.d.ts +0 -83
  301. package/typings/utils.d.cts +0 -40
  302. package/typings/utils.d.ts +0 -40
@@ -0,0 +1,12 @@
1
+ import { i as GraphQLESLintRule } from '../types-e3367e3c.js';
2
+ import '@graphql-tools/utils';
3
+ import 'eslint';
4
+ import 'estree';
5
+ import 'graphql';
6
+ import 'graphql-config';
7
+ import 'json-schema-to-ts';
8
+ import '../estree-converter/types.js';
9
+
10
+ declare const rule: GraphQLESLintRule;
11
+
12
+ export { rule };
@@ -1,67 +1,98 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rule = void 0;
4
- const graphql_1 = require("graphql");
5
- const utils_js_1 = require("../utils.js");
6
- const RULE_ID = 'no-anonymous-operations';
7
- exports.rule = {
8
- meta: {
9
- type: 'suggestion',
10
- hasSuggestions: true,
11
- docs: {
12
- category: 'Operations',
13
- description: 'Require name for your GraphQL operations. This is useful since most GraphQL client libraries are using the operation name for caching purposes.',
14
- recommended: true,
15
- url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
16
- examples: [
17
- {
18
- title: 'Incorrect',
19
- code: /* GraphQL */ `
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var no_anonymous_operations_exports = {};
20
+ __export(no_anonymous_operations_exports, {
21
+ rule: () => rule
22
+ });
23
+ module.exports = __toCommonJS(no_anonymous_operations_exports);
24
+ var import_graphql = require("graphql");
25
+ var import_utils = require("../utils.js");
26
+ const RULE_ID = "no-anonymous-operations";
27
+ const rule = {
28
+ meta: {
29
+ type: "suggestion",
30
+ hasSuggestions: true,
31
+ docs: {
32
+ category: "Operations",
33
+ description: "Require name for your GraphQL operations. This is useful since most GraphQL client libraries are using the operation name for caching purposes.",
34
+ recommended: true,
35
+ url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
36
+ examples: [
37
+ {
38
+ title: "Incorrect",
39
+ code: (
40
+ /* GraphQL */
41
+ `
20
42
  query {
21
43
  # ...
22
44
  }
23
- `,
24
- },
25
- {
26
- title: 'Correct',
27
- code: /* GraphQL */ `
45
+ `
46
+ )
47
+ },
48
+ {
49
+ title: "Correct",
50
+ code: (
51
+ /* GraphQL */
52
+ `
28
53
  query user {
29
54
  # ...
30
55
  }
31
- `,
32
- },
33
- ],
34
- },
35
- messages: {
36
- [RULE_ID]: 'Anonymous GraphQL operations are forbidden. Make sure to name your {{ operation }}!',
37
- },
38
- schema: [],
56
+ `
57
+ )
58
+ }
59
+ ]
39
60
  },
40
- create(context) {
41
- return {
42
- 'OperationDefinition[name=undefined]'(node) {
43
- const [firstSelection] = node.selectionSet.selections;
44
- const suggestedName = firstSelection.kind === graphql_1.Kind.FIELD
45
- ? (firstSelection.alias || firstSelection.name).value
46
- : node.operation;
47
- context.report({
48
- loc: (0, utils_js_1.getLocation)(node.loc.start, node.operation),
49
- messageId: RULE_ID,
50
- data: {
51
- operation: node.operation,
52
- },
53
- suggest: [
54
- {
55
- desc: `Rename to \`${suggestedName}\``,
56
- fix(fixer) {
57
- const sourceCode = context.getSourceCode();
58
- const hasQueryKeyword = sourceCode.getText({ range: [node.range[0], node.range[0] + 1] }) !== '{';
59
- return fixer.insertTextAfterRange([node.range[0], node.range[0] + (hasQueryKeyword ? node.operation.length : 0)], `${hasQueryKeyword ? '' : 'query'} ${suggestedName}${hasQueryKeyword ? '' : ' '}`);
60
- },
61
- },
62
- ],
63
- });
64
- },
65
- };
61
+ messages: {
62
+ [RULE_ID]: "Anonymous GraphQL operations are forbidden. Make sure to name your {{ operation }}!"
66
63
  },
64
+ schema: []
65
+ },
66
+ create(context) {
67
+ return {
68
+ "OperationDefinition[name=undefined]"(node) {
69
+ const [firstSelection] = node.selectionSet.selections;
70
+ const suggestedName = firstSelection.kind === import_graphql.Kind.FIELD ? (firstSelection.alias || firstSelection.name).value : node.operation;
71
+ context.report({
72
+ loc: (0, import_utils.getLocation)(node.loc.start, node.operation),
73
+ messageId: RULE_ID,
74
+ data: {
75
+ operation: node.operation
76
+ },
77
+ suggest: [
78
+ {
79
+ desc: `Rename to \`${suggestedName}\``,
80
+ fix(fixer) {
81
+ const sourceCode = context.getSourceCode();
82
+ const hasQueryKeyword = sourceCode.getText({ range: [node.range[0], node.range[0] + 1] }) !== "{";
83
+ return fixer.insertTextAfterRange(
84
+ [node.range[0], node.range[0] + (hasQueryKeyword ? node.operation.length : 0)],
85
+ `${hasQueryKeyword ? "" : "query"} ${suggestedName}${hasQueryKeyword ? "" : " "}`
86
+ );
87
+ }
88
+ }
89
+ ]
90
+ });
91
+ }
92
+ };
93
+ }
67
94
  };
95
+ // Annotate the CommonJS export names for ESM import in node:
96
+ 0 && (module.exports = {
97
+ rule
98
+ });
@@ -0,0 +1,12 @@
1
+ import { i as GraphQLESLintRule } from '../types-e3367e3c.js';
2
+ import '@graphql-tools/utils';
3
+ import 'eslint';
4
+ import 'estree';
5
+ import 'graphql';
6
+ import 'graphql-config';
7
+ import 'json-schema-to-ts';
8
+ import '../estree-converter/types.js';
9
+
10
+ declare const rule: GraphQLESLintRule;
11
+
12
+ export { rule };
@@ -1,63 +1,95 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rule = void 0;
4
- const graphql_1 = require("graphql");
5
- const utils_js_1 = require("../utils.js");
6
- exports.rule = {
7
- meta: {
8
- type: 'suggestion',
9
- hasSuggestions: true,
10
- docs: {
11
- url: 'https://the-guild.dev/graphql/eslint/rules/no-case-insensitive-enum-values-duplicates',
12
- category: 'Schema',
13
- recommended: true,
14
- description: 'Disallow case-insensitive enum values duplicates.',
15
- examples: [
16
- {
17
- title: 'Incorrect',
18
- code: /* GraphQL */ `
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var no_case_insensitive_enum_values_duplicates_exports = {};
20
+ __export(no_case_insensitive_enum_values_duplicates_exports, {
21
+ rule: () => rule
22
+ });
23
+ module.exports = __toCommonJS(no_case_insensitive_enum_values_duplicates_exports);
24
+ var import_graphql = require("graphql");
25
+ var import_utils = require("../utils.js");
26
+ const rule = {
27
+ meta: {
28
+ type: "suggestion",
29
+ hasSuggestions: true,
30
+ docs: {
31
+ url: "https://the-guild.dev/graphql/eslint/rules/no-case-insensitive-enum-values-duplicates",
32
+ category: "Schema",
33
+ recommended: true,
34
+ description: "Disallow case-insensitive enum values duplicates.",
35
+ examples: [
36
+ {
37
+ title: "Incorrect",
38
+ code: (
39
+ /* GraphQL */
40
+ `
19
41
  enum MyEnum {
20
42
  Value
21
43
  VALUE
22
44
  ValuE
23
45
  }
24
- `,
25
- },
26
- {
27
- title: 'Correct',
28
- code: /* GraphQL */ `
46
+ `
47
+ )
48
+ },
49
+ {
50
+ title: "Correct",
51
+ code: (
52
+ /* GraphQL */
53
+ `
29
54
  enum MyEnum {
30
55
  Value1
31
56
  Value2
32
57
  Value3
33
58
  }
34
- `,
35
- },
36
- ],
37
- },
38
- schema: [],
39
- },
40
- create(context) {
41
- const selector = [graphql_1.Kind.ENUM_TYPE_DEFINITION, graphql_1.Kind.ENUM_TYPE_EXTENSION].join(',');
42
- return {
43
- [selector](node) {
44
- var _a;
45
- const duplicates = (_a = node.values) === null || _a === void 0 ? void 0 : _a.filter((item, index, array) => array.findIndex(v => v.name.value.toLowerCase() === item.name.value.toLowerCase()) !==
46
- index);
47
- for (const duplicate of duplicates || []) {
48
- const enumName = duplicate.name.value;
49
- context.report({
50
- node: duplicate.name,
51
- message: `Unexpected case-insensitive enum values duplicates for ${(0, utils_js_1.getNodeName)(duplicate)}`,
52
- suggest: [
53
- {
54
- desc: `Remove \`${enumName}\` enum value`,
55
- fix: fixer => fixer.remove(duplicate),
56
- },
57
- ],
58
- });
59
- }
60
- },
61
- };
59
+ `
60
+ )
61
+ }
62
+ ]
62
63
  },
64
+ schema: []
65
+ },
66
+ create(context) {
67
+ const selector = [import_graphql.Kind.ENUM_TYPE_DEFINITION, import_graphql.Kind.ENUM_TYPE_EXTENSION].join(",");
68
+ return {
69
+ [selector](node) {
70
+ const duplicates = node.values?.filter(
71
+ (item, index, array) => array.findIndex((v) => v.name.value.toLowerCase() === item.name.value.toLowerCase()) !== index
72
+ );
73
+ for (const duplicate of duplicates || []) {
74
+ const enumName = duplicate.name.value;
75
+ context.report({
76
+ node: duplicate.name,
77
+ message: `Unexpected case-insensitive enum values duplicates for ${(0, import_utils.getNodeName)(
78
+ duplicate
79
+ )}`,
80
+ suggest: [
81
+ {
82
+ desc: `Remove \`${enumName}\` enum value`,
83
+ fix: (fixer) => fixer.remove(duplicate)
84
+ }
85
+ ]
86
+ });
87
+ }
88
+ }
89
+ };
90
+ }
63
91
  };
92
+ // Annotate the CommonJS export names for ESM import in node:
93
+ 0 && (module.exports = {
94
+ rule
95
+ });
@@ -0,0 +1,12 @@
1
+ import { i as GraphQLESLintRule } from '../types-e3367e3c.js';
2
+ import '@graphql-tools/utils';
3
+ import 'eslint';
4
+ import 'estree';
5
+ import 'graphql';
6
+ import 'graphql-config';
7
+ import 'json-schema-to-ts';
8
+ import '../estree-converter/types.js';
9
+
10
+ declare const rule: GraphQLESLintRule<[], true>;
11
+
12
+ export { rule };
@@ -1,22 +1,44 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rule = void 0;
4
- const graphql_1 = require("graphql");
5
- const utils_js_1 = require("../utils.js");
6
- const RULE_ID = 'no-deprecated';
7
- exports.rule = {
8
- meta: {
9
- type: 'suggestion',
10
- hasSuggestions: true,
11
- docs: {
12
- category: 'Operations',
13
- description: 'Enforce that deprecated fields or enum values are not in use by operations.',
14
- url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
15
- requiresSchema: true,
16
- examples: [
17
- {
18
- title: 'Incorrect (field)',
19
- code: /* GraphQL */ `
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var no_deprecated_exports = {};
20
+ __export(no_deprecated_exports, {
21
+ rule: () => rule
22
+ });
23
+ module.exports = __toCommonJS(no_deprecated_exports);
24
+ var import_graphql = require("graphql");
25
+ var import_utils = require("../utils.js");
26
+ const RULE_ID = "no-deprecated";
27
+ const rule = {
28
+ meta: {
29
+ type: "suggestion",
30
+ hasSuggestions: true,
31
+ docs: {
32
+ category: "Operations",
33
+ description: "Enforce that deprecated fields or enum values are not in use by operations.",
34
+ url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
35
+ requiresSchema: true,
36
+ examples: [
37
+ {
38
+ title: "Incorrect (field)",
39
+ code: (
40
+ /* GraphQL */
41
+ `
20
42
  # In your schema
21
43
  type User {
22
44
  id: ID!
@@ -30,11 +52,14 @@ exports.rule = {
30
52
  name # This is deprecated, so you'll get an error
31
53
  }
32
54
  }
33
- `,
34
- },
35
- {
36
- title: 'Incorrect (enum value)',
37
- code: /* GraphQL */ `
55
+ `
56
+ )
57
+ },
58
+ {
59
+ title: "Incorrect (enum value)",
60
+ code: (
61
+ /* GraphQL */
62
+ `
38
63
  # In your schema
39
64
  type Mutation {
40
65
  changeSomething(type: SomeType): Boolean!
@@ -53,11 +78,14 @@ exports.rule = {
53
78
  ...
54
79
  }
55
80
  }
56
- `,
57
- },
58
- {
59
- title: 'Correct',
60
- code: /* GraphQL */ `
81
+ `
82
+ )
83
+ },
84
+ {
85
+ title: "Correct",
86
+ code: (
87
+ /* GraphQL */
88
+ `
61
89
  # In your schema
62
90
  type User {
63
91
  id: ID!
@@ -72,53 +100,56 @@ exports.rule = {
72
100
  fullName
73
101
  }
74
102
  }
75
- `,
76
- },
77
- ],
78
- recommended: true,
79
- },
80
- messages: {
81
- [RULE_ID]: 'This {{ type }} is marked as deprecated in your GraphQL schema (reason: {{ reason }})',
82
- },
83
- schema: [],
84
- },
85
- create(context) {
86
- (0, utils_js_1.requireGraphQLSchemaFromContext)(RULE_ID, context);
87
- function report(node, reason) {
88
- const nodeName = node.kind === graphql_1.Kind.ENUM ? node.value : node.name.value;
89
- const nodeType = node.kind === graphql_1.Kind.ENUM ? 'enum value' : 'field';
90
- context.report({
91
- node,
92
- messageId: RULE_ID,
93
- data: {
94
- type: nodeType,
95
- reason,
96
- },
97
- suggest: [
98
- {
99
- desc: `Remove \`${nodeName}\` ${nodeType}`,
100
- fix: fixer => fixer.remove(node),
101
- },
102
- ],
103
- });
103
+ `
104
+ )
104
105
  }
105
- return {
106
- EnumValue(node) {
107
- var _a;
108
- const typeInfo = node.typeInfo();
109
- const reason = (_a = typeInfo.enumValue) === null || _a === void 0 ? void 0 : _a.deprecationReason;
110
- if (reason) {
111
- report(node, reason);
112
- }
113
- },
114
- Field(node) {
115
- var _a;
116
- const typeInfo = node.typeInfo();
117
- const reason = (_a = typeInfo.fieldDef) === null || _a === void 0 ? void 0 : _a.deprecationReason;
118
- if (reason) {
119
- report(node, reason);
120
- }
121
- },
122
- };
106
+ ],
107
+ recommended: true
108
+ },
109
+ messages: {
110
+ [RULE_ID]: "This {{ type }} is marked as deprecated in your GraphQL schema (reason: {{ reason }})"
123
111
  },
112
+ schema: []
113
+ },
114
+ create(context) {
115
+ (0, import_utils.requireGraphQLSchemaFromContext)(RULE_ID, context);
116
+ function report(node, reason) {
117
+ const nodeName = node.kind === import_graphql.Kind.ENUM ? node.value : node.name.value;
118
+ const nodeType = node.kind === import_graphql.Kind.ENUM ? "enum value" : "field";
119
+ context.report({
120
+ node,
121
+ messageId: RULE_ID,
122
+ data: {
123
+ type: nodeType,
124
+ reason
125
+ },
126
+ suggest: [
127
+ {
128
+ desc: `Remove \`${nodeName}\` ${nodeType}`,
129
+ fix: (fixer) => fixer.remove(node)
130
+ }
131
+ ]
132
+ });
133
+ }
134
+ return {
135
+ EnumValue(node) {
136
+ const typeInfo = node.typeInfo();
137
+ const reason = typeInfo.enumValue?.deprecationReason;
138
+ if (reason) {
139
+ report(node, reason);
140
+ }
141
+ },
142
+ Field(node) {
143
+ const typeInfo = node.typeInfo();
144
+ const reason = typeInfo.fieldDef?.deprecationReason;
145
+ if (reason) {
146
+ report(node, reason);
147
+ }
148
+ }
149
+ };
150
+ }
124
151
  };
152
+ // Annotate the CommonJS export names for ESM import in node:
153
+ 0 && (module.exports = {
154
+ rule
155
+ });
@@ -0,0 +1,12 @@
1
+ import { i as GraphQLESLintRule } from '../types-e3367e3c.js';
2
+ import '@graphql-tools/utils';
3
+ import 'eslint';
4
+ import 'estree';
5
+ import 'graphql';
6
+ import 'graphql-config';
7
+ import 'json-schema-to-ts';
8
+ import '../estree-converter/types.js';
9
+
10
+ declare const rule: GraphQLESLintRule;
11
+
12
+ export { rule };