@graphql-eslint/eslint-plugin 3.19.3 → 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
@@ -1,111 +1,135 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertLocation = exports.extractComments = exports.extractTokens = exports.convertToken = exports.getBaseType = exports.valueFromNode = void 0;
4
- const graphql_1 = require("graphql");
5
- const valueFromASTUntyped_js_1 = require("graphql/utilities/valueFromASTUntyped.js");
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 utils_exports = {};
20
+ __export(utils_exports, {
21
+ convertLocation: () => convertLocation,
22
+ convertToken: () => convertToken,
23
+ extractComments: () => extractComments,
24
+ extractTokens: () => extractTokens,
25
+ getBaseType: () => getBaseType,
26
+ valueFromNode: () => valueFromNode
27
+ });
28
+ module.exports = __toCommonJS(utils_exports);
29
+ var import_graphql = require("graphql");
30
+ var import_valueFromASTUntyped = require("graphql/utilities/valueFromASTUntyped.js");
6
31
  const valueFromNode = (...args) => {
7
- return (0, valueFromASTUntyped_js_1.valueFromASTUntyped)(...args);
32
+ return (0, import_valueFromASTUntyped.valueFromASTUntyped)(...args);
8
33
  };
9
- exports.valueFromNode = valueFromNode;
10
34
  function getBaseType(type) {
11
- if ((0, graphql_1.isNonNullType)(type) || (0, graphql_1.isListType)(type)) {
12
- return getBaseType(type.ofType);
13
- }
14
- return type;
35
+ if ((0, import_graphql.isNonNullType)(type) || (0, import_graphql.isListType)(type)) {
36
+ return getBaseType(type.ofType);
37
+ }
38
+ return type;
15
39
  }
16
- exports.getBaseType = getBaseType;
17
40
  function convertToken(token, type) {
18
- const { line, column, end, start, value } = token;
19
- return {
20
- type,
21
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- TODO: remove `!` when drop support of graphql@15
22
- value: value,
23
- /*
24
- * ESLint has 0-based column number
25
- * https://eslint.org/docs/developer-guide/working-with-rules#contextreport
26
- */
27
- loc: {
28
- start: {
29
- line,
30
- column: column - 1,
31
- },
32
- end: {
33
- line,
34
- column: column - 1 + (end - start),
35
- },
36
- },
37
- range: [start, end],
38
- };
41
+ const { line, column, end, start, value } = token;
42
+ return {
43
+ type,
44
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- TODO: remove `!` when drop support of graphql@15
45
+ value,
46
+ /*
47
+ * ESLint has 0-based column number
48
+ * https://eslint.org/docs/developer-guide/working-with-rules#contextreport
49
+ */
50
+ loc: {
51
+ start: {
52
+ line,
53
+ column: column - 1
54
+ },
55
+ end: {
56
+ line,
57
+ column: column - 1 + (end - start)
58
+ }
59
+ },
60
+ range: [start, end]
61
+ };
39
62
  }
40
- exports.convertToken = convertToken;
41
63
  function getLexer(source) {
42
- // GraphQL v14
43
- const gqlLanguage = require('graphql/language');
44
- if (gqlLanguage === null || gqlLanguage === void 0 ? void 0 : gqlLanguage.createLexer) {
45
- return gqlLanguage.createLexer(source, {});
46
- }
47
- // GraphQL v15
48
- const { Lexer: LexerCls } = require('graphql');
49
- if (LexerCls && typeof LexerCls === 'function') {
50
- return new LexerCls(source);
51
- }
52
- throw new Error('Unsupported GraphQL version! Please make sure to use GraphQL v14 or newer!');
64
+ const gqlLanguage = require("graphql/language");
65
+ if (gqlLanguage?.createLexer) {
66
+ return gqlLanguage.createLexer(source, {});
67
+ }
68
+ const { Lexer: LexerCls } = require("graphql");
69
+ if (LexerCls && typeof LexerCls === "function") {
70
+ return new LexerCls(source);
71
+ }
72
+ throw new Error("Unsupported GraphQL version! Please make sure to use GraphQL v14 or newer!");
53
73
  }
54
74
  function extractTokens(filePath, code) {
55
- const source = new graphql_1.Source(code, filePath);
56
- const lexer = getLexer(source);
57
- const tokens = [];
58
- let token = lexer.advance();
59
- while (token && token.kind !== graphql_1.TokenKind.EOF) {
60
- const result = convertToken(token, token.kind);
61
- tokens.push(result);
62
- token = lexer.advance();
63
- }
64
- return tokens;
75
+ const source = new import_graphql.Source(code, filePath);
76
+ const lexer = getLexer(source);
77
+ const tokens = [];
78
+ let token = lexer.advance();
79
+ while (token && token.kind !== import_graphql.TokenKind.EOF) {
80
+ const result = convertToken(token, token.kind);
81
+ tokens.push(result);
82
+ token = lexer.advance();
83
+ }
84
+ return tokens;
65
85
  }
66
- exports.extractTokens = extractTokens;
67
86
  function extractComments(loc) {
68
- if (!loc) {
69
- return [];
70
- }
71
- const comments = [];
72
- let token = loc.startToken;
73
- while (token) {
74
- if (token.kind === graphql_1.TokenKind.COMMENT) {
75
- const comment = convertToken(token,
76
- // `eslint-disable` directive works only with `Block` type comment
77
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- TODO: remove `!` when drop support of graphql@15
78
- token.value.trimStart().startsWith('eslint') ? 'Block' : 'Line');
79
- comments.push(comment);
80
- }
81
- token = token.next;
87
+ if (!loc) {
88
+ return [];
89
+ }
90
+ const comments = [];
91
+ let token = loc.startToken;
92
+ while (token) {
93
+ if (token.kind === import_graphql.TokenKind.COMMENT) {
94
+ const comment = convertToken(
95
+ token,
96
+ // `eslint-disable` directive works only with `Block` type comment
97
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- TODO: remove `!` when drop support of graphql@15
98
+ token.value.trimStart().startsWith("eslint") ? "Block" : "Line"
99
+ );
100
+ comments.push(comment);
82
101
  }
83
- return comments;
102
+ token = token.next;
103
+ }
104
+ return comments;
84
105
  }
85
- exports.extractComments = extractComments;
86
106
  function convertLocation(location) {
87
- const { startToken, endToken, source, start, end } = location;
88
- /*
89
- * ESLint has 0-based column number
90
- * https://eslint.org/docs/developer-guide/working-with-rules#contextreport
91
- */
92
- const loc = {
93
- start: {
94
- /*
95
- * Kind.Document has startToken: { line: 0, column: 0 }, we set line as 1 and column as 0
96
- */
97
- line: startToken.line === 0 ? 1 : startToken.line,
98
- column: startToken.column === 0 ? 0 : startToken.column - 1,
99
- },
100
- end: {
101
- line: endToken.line,
102
- column: endToken.column - 1,
103
- },
104
- source: source.body,
105
- };
106
- if (loc.start.column === loc.end.column) {
107
- loc.end.column += end - start;
108
- }
109
- return loc;
107
+ const { startToken, endToken, source, start, end } = location;
108
+ const loc = {
109
+ start: {
110
+ /*
111
+ * Kind.Document has startToken: { line: 0, column: 0 }, we set line as 1 and column as 0
112
+ */
113
+ line: startToken.line === 0 ? 1 : startToken.line,
114
+ column: startToken.column === 0 ? 0 : startToken.column - 1
115
+ },
116
+ end: {
117
+ line: endToken.line,
118
+ column: endToken.column - 1
119
+ },
120
+ source: source.body
121
+ };
122
+ if (loc.start.column === loc.end.column) {
123
+ loc.end.column += end - start;
124
+ }
125
+ return loc;
110
126
  }
111
- exports.convertLocation = convertLocation;
127
+ // Annotate the CommonJS export names for ESM import in node:
128
+ 0 && (module.exports = {
129
+ convertLocation,
130
+ convertToken,
131
+ extractComments,
132
+ extractTokens,
133
+ getBaseType,
134
+ valueFromNode
135
+ });
@@ -1,5 +1,14 @@
1
1
  import { parseForESLint } from './parser.js';
2
- export declare const flatConfigs: {
2
+ import './types-e3367e3c.js';
3
+ import '@graphql-tools/utils';
4
+ import 'eslint';
5
+ import 'estree';
6
+ import 'graphql';
7
+ import 'graphql-config';
8
+ import 'json-schema-to-ts';
9
+ import './estree-converter/types.js';
10
+
11
+ declare const flatConfigs: {
3
12
  'operations-all': {
4
13
  languageOptions: {
5
14
  parser: {
@@ -247,3 +256,5 @@ export declare const flatConfigs: {
247
256
  };
248
257
  };
249
258
  };
259
+
260
+ export { flatConfigs };
@@ -1,36 +1,60 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.flatConfigs = void 0;
4
- const index_js_1 = require("./configs/index.js");
5
- const parser_js_1 = require("./parser.js");
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 flat_configs_exports = {};
20
+ __export(flat_configs_exports, {
21
+ flatConfigs: () => flatConfigs
22
+ });
23
+ module.exports = __toCommonJS(flat_configs_exports);
24
+ var import_configs = require("./configs/index.js");
25
+ var import_parser = require("./parser.js");
6
26
  const languageOptions = {
7
- parser: { parseForESLint: parser_js_1.parseForESLint },
27
+ parser: { parseForESLint: import_parser.parseForESLint }
8
28
  };
9
- exports.flatConfigs = {
10
- 'operations-all': {
11
- languageOptions,
12
- rules: {
13
- ...index_js_1.configs['operations-recommended'].rules,
14
- ...index_js_1.configs['operations-all'].rules,
15
- },
16
- },
17
- 'operations-recommended': {
18
- languageOptions,
19
- rules: index_js_1.configs['operations-recommended'].rules,
20
- },
21
- relay: {
22
- languageOptions,
23
- rules: index_js_1.configs.relay.rules,
24
- },
25
- 'schema-all': {
26
- languageOptions,
27
- rules: {
28
- ...index_js_1.configs['schema-recommended'].rules,
29
- ...index_js_1.configs['schema-all'].rules,
30
- },
31
- },
32
- 'schema-recommended': {
33
- languageOptions,
34
- rules: index_js_1.configs['schema-recommended'].rules,
35
- },
29
+ const flatConfigs = {
30
+ "operations-all": {
31
+ languageOptions,
32
+ rules: {
33
+ ...import_configs.configs["operations-recommended"].rules,
34
+ ...import_configs.configs["operations-all"].rules
35
+ }
36
+ },
37
+ "operations-recommended": {
38
+ languageOptions,
39
+ rules: import_configs.configs["operations-recommended"].rules
40
+ },
41
+ relay: {
42
+ languageOptions,
43
+ rules: import_configs.configs.relay.rules
44
+ },
45
+ "schema-all": {
46
+ languageOptions,
47
+ rules: {
48
+ ...import_configs.configs["schema-recommended"].rules,
49
+ ...import_configs.configs["schema-all"].rules
50
+ }
51
+ },
52
+ "schema-recommended": {
53
+ languageOptions,
54
+ rules: import_configs.configs["schema-recommended"].rules
55
+ }
36
56
  };
57
+ // Annotate the CommonJS export names for ESM import in node:
58
+ 0 && (module.exports = {
59
+ flatConfigs
60
+ });
@@ -0,0 +1,13 @@
1
+ import { GraphQLConfig } from 'graphql-config';
2
+ import { P as ParserOptions } from './types-e3367e3c.js';
3
+ import '@graphql-tools/utils';
4
+ import 'eslint';
5
+ import 'estree';
6
+ import 'graphql';
7
+ import 'json-schema-to-ts';
8
+ import './estree-converter/types.js';
9
+
10
+ declare function loadOnDiskGraphQLConfig(filePath: string): GraphQLConfig;
11
+ declare function loadGraphQLConfig(options: ParserOptions): GraphQLConfig;
12
+
13
+ export { loadGraphQLConfig, loadOnDiskGraphQLConfig };
@@ -1,55 +1,86 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadGraphQLConfig = exports.loadOnDiskGraphQLConfig = void 0;
4
- const tslib_1 = require("tslib");
5
- const path_1 = require("path");
6
- const code_file_loader_1 = require("@graphql-tools/code-file-loader");
7
- const debug_1 = tslib_1.__importDefault(require("debug"));
8
- const graphql_config_1 = require("graphql-config");
9
- const debug = (0, debug_1.default)('graphql-eslint:graphql-config');
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;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var graphql_config_exports = {};
30
+ __export(graphql_config_exports, {
31
+ loadGraphQLConfig: () => loadGraphQLConfig,
32
+ loadOnDiskGraphQLConfig: () => loadOnDiskGraphQLConfig
33
+ });
34
+ module.exports = __toCommonJS(graphql_config_exports);
35
+ var import_path = require("path");
36
+ var import_code_file_loader = require("@graphql-tools/code-file-loader");
37
+ var import_debug = __toESM(require("debug"));
38
+ var import_graphql_config = require("graphql-config");
39
+ const debug = (0, import_debug.default)("graphql-eslint:graphql-config");
10
40
  let graphQLConfig;
11
41
  function loadOnDiskGraphQLConfig(filePath) {
12
- return (0, graphql_config_1.loadConfigSync)({
13
- // load config relative to the file being linted
14
- rootDir: (0, path_1.dirname)(filePath),
15
- throwOnEmpty: false,
16
- throwOnMissing: false,
17
- extensions: [codeFileLoaderExtension],
18
- });
42
+ return (0, import_graphql_config.loadConfigSync)({
43
+ // load config relative to the file being linted
44
+ rootDir: (0, import_path.dirname)(filePath),
45
+ throwOnEmpty: false,
46
+ throwOnMissing: false,
47
+ extensions: [codeFileLoaderExtension]
48
+ });
19
49
  }
20
- exports.loadOnDiskGraphQLConfig = loadOnDiskGraphQLConfig;
21
50
  function loadGraphQLConfig(options) {
22
- // We don't want cache config on test environment
23
- // Otherwise schema and documents will be same for all tests
24
- if (process.env.NODE_ENV !== 'test' && graphQLConfig) {
25
- return graphQLConfig;
26
- }
27
- const onDiskConfig = !options.skipGraphQLConfig && loadOnDiskGraphQLConfig(options.filePath);
28
- debug('options.skipGraphQLConfig: %o', options.skipGraphQLConfig);
29
- if (onDiskConfig) {
30
- debug('Graphql-config path %o', onDiskConfig.filepath);
31
- }
32
- const configOptions = options.projects
33
- ? { projects: options.projects }
34
- : {
35
- schema: (options.schema || ''),
36
- documents: options.documents,
37
- extensions: options.extensions,
38
- include: options.include,
39
- exclude: options.exclude,
40
- };
41
- graphQLConfig =
42
- onDiskConfig ||
43
- new graphql_config_1.GraphQLConfig({
44
- config: configOptions,
45
- filepath: 'virtual-config',
46
- }, [codeFileLoaderExtension]);
51
+ if (process.env.NODE_ENV !== "test" && graphQLConfig) {
47
52
  return graphQLConfig;
53
+ }
54
+ const onDiskConfig = !options.skipGraphQLConfig && loadOnDiskGraphQLConfig(options.filePath);
55
+ debug("options.skipGraphQLConfig: %o", options.skipGraphQLConfig);
56
+ if (onDiskConfig) {
57
+ debug("Graphql-config path %o", onDiskConfig.filepath);
58
+ }
59
+ const configOptions = options.projects ? { projects: options.projects } : {
60
+ schema: options.schema || "",
61
+ // if `schema` is `undefined` will throw error `Project 'default' not found`
62
+ documents: options.documents,
63
+ extensions: options.extensions,
64
+ include: options.include,
65
+ exclude: options.exclude
66
+ };
67
+ graphQLConfig = onDiskConfig || new import_graphql_config.GraphQLConfig(
68
+ {
69
+ config: configOptions,
70
+ filepath: "virtual-config"
71
+ },
72
+ [codeFileLoaderExtension]
73
+ );
74
+ return graphQLConfig;
48
75
  }
49
- exports.loadGraphQLConfig = loadGraphQLConfig;
50
- const codeFileLoaderExtension = api => {
51
- const { schema, documents } = api.loaders;
52
- schema.register(new code_file_loader_1.CodeFileLoader());
53
- documents.register(new code_file_loader_1.CodeFileLoader());
54
- return { name: 'graphql-eslint-loaders' };
76
+ const codeFileLoaderExtension = (api) => {
77
+ const { schema, documents } = api.loaders;
78
+ schema.register(new import_code_file_loader.CodeFileLoader());
79
+ documents.register(new import_code_file_loader.CodeFileLoader());
80
+ return { name: "graphql-eslint-loaders" };
55
81
  };
82
+ // Annotate the CommonJS export names for ESM import in node:
83
+ 0 && (module.exports = {
84
+ loadGraphQLConfig,
85
+ loadOnDiskGraphQLConfig
86
+ });
package/cjs/index.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import * as eslint from 'eslint';
2
+ import { Block } from './processor.js';
3
+ export { parseForESLint } from './parser.js';
4
+ export { rules } from './rules/index.js';
5
+ export { C as CategoryType, f as GraphQLESLintParseResult, i as GraphQLESLintRule, g as GraphQLESLintRuleContext, G as GraphQLESLintRuleListener, b as GraphQLInvalidTestCase, c as GraphQLRuleTester, a as GraphQLValidTestCase, O as OmitRecursively, P as ParserOptions, e as ParserServices, d as Pointer, R as ReportDescriptor, h as RuleDocsInfo, S as Schema, V as ValueOf } from './types-e3367e3c.js';
6
+ export { requireGraphQLSchemaFromContext, requireSiblingsOperations } from './utils.js';
7
+ export { configs } from './configs/index.js';
8
+ export { flatConfigs } from './flat-configs.js';
9
+ import './rules/require-description.js';
10
+ import 'graphql';
11
+ import 'json-schema-to-ts/lib/types/type-utils/writable.js';
12
+ import '@graphql-tools/utils';
13
+ import 'estree';
14
+ import 'graphql-config';
15
+ import 'json-schema-to-ts';
16
+ import './estree-converter/types.js';
17
+
18
+ declare const processors: {
19
+ graphql: eslint.Linter.Processor<string | Block>;
20
+ };
21
+
22
+ export { processors };
package/cjs/index.js CHANGED
@@ -1,19 +1,51 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.flatConfigs = exports.configs = exports.processors = exports.requireSiblingsOperations = exports.requireGraphQLSchemaFromContext = exports.rules = exports.parseForESLint = void 0;
4
- const tslib_1 = require("tslib");
5
- const processor_js_1 = require("./processor.js");
6
- var parser_js_1 = require("./parser.js");
7
- Object.defineProperty(exports, "parseForESLint", { enumerable: true, get: function () { return parser_js_1.parseForESLint; } });
8
- var index_js_1 = require("./rules/index.js");
9
- Object.defineProperty(exports, "rules", { enumerable: true, get: function () { return index_js_1.rules; } });
10
- tslib_1.__exportStar(require("./testkit.js"), exports);
11
- tslib_1.__exportStar(require("./types.js"), exports);
12
- var utils_js_1 = require("./utils.js");
13
- Object.defineProperty(exports, "requireGraphQLSchemaFromContext", { enumerable: true, get: function () { return utils_js_1.requireGraphQLSchemaFromContext; } });
14
- Object.defineProperty(exports, "requireSiblingsOperations", { enumerable: true, get: function () { return utils_js_1.requireSiblingsOperations; } });
15
- exports.processors = { graphql: processor_js_1.processor };
16
- var index_js_2 = require("./configs/index.js");
17
- Object.defineProperty(exports, "configs", { enumerable: true, get: function () { return index_js_2.configs; } });
18
- var flat_configs_js_1 = require("./flat-configs.js");
19
- Object.defineProperty(exports, "flatConfigs", { enumerable: true, get: function () { return flat_configs_js_1.flatConfigs; } });
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var src_exports = {};
21
+ __export(src_exports, {
22
+ configs: () => import_configs.configs,
23
+ flatConfigs: () => import_flat_configs.flatConfigs,
24
+ parseForESLint: () => import_parser.parseForESLint,
25
+ processors: () => processors,
26
+ requireGraphQLSchemaFromContext: () => import_utils.requireGraphQLSchemaFromContext,
27
+ requireSiblingsOperations: () => import_utils.requireSiblingsOperations,
28
+ rules: () => import_rules.rules
29
+ });
30
+ module.exports = __toCommonJS(src_exports);
31
+ var import_processor = require("./processor.js");
32
+ var import_parser = require("./parser.js");
33
+ var import_rules = require("./rules/index.js");
34
+ __reExport(src_exports, require("./testkit.js"), module.exports);
35
+ __reExport(src_exports, require("./types.js"), module.exports);
36
+ var import_utils = require("./utils.js");
37
+ var import_configs = require("./configs/index.js");
38
+ var import_flat_configs = require("./flat-configs.js");
39
+ const processors = { graphql: import_processor.processor };
40
+ // Annotate the CommonJS export names for ESM import in node:
41
+ 0 && (module.exports = {
42
+ configs,
43
+ flatConfigs,
44
+ parseForESLint,
45
+ processors,
46
+ requireGraphQLSchemaFromContext,
47
+ requireSiblingsOperations,
48
+ rules,
49
+ ...require("./testkit.js"),
50
+ ...require("./types.js")
51
+ });
@@ -0,0 +1,12 @@
1
+ import { P as ParserOptions, f as GraphQLESLintParseResult } 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 function parseForESLint(code: string, options: ParserOptions): GraphQLESLintParseResult;
11
+
12
+ export { parseForESLint };