@graphql-eslint/eslint-plugin 4.0.0-alpha-20230801163310-8bc4340 → 4.0.0-alpha-20230810160036-304c2c0

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 (222) hide show
  1. package/README.md +2 -0
  2. package/cjs/cache.js +10 -19
  3. package/cjs/configs/index.d.ts +42 -16
  4. package/cjs/configs/index.js +10 -19
  5. package/cjs/configs/operations-all.d.ts +4 -3
  6. package/cjs/configs/operations-all.js +5 -4
  7. package/cjs/configs/operations-recommended.d.ts +3 -1
  8. package/cjs/configs/operations-recommended.js +3 -1
  9. package/cjs/configs/schema-all.d.ts +6 -1
  10. package/cjs/configs/schema-all.js +5 -2
  11. package/cjs/configs/schema-recommended.d.ts +19 -1
  12. package/cjs/configs/schema-recommended.js +22 -2
  13. package/cjs/documents.js +17 -32
  14. package/cjs/estree-converter/converter.js +14 -27
  15. package/cjs/estree-converter/index.js +4 -7
  16. package/cjs/estree-converter/types.js +3 -5
  17. package/cjs/estree-converter/utils.d.ts +2 -3
  18. package/cjs/estree-converter/utils.js +15 -45
  19. package/cjs/flat-configs.d.ts +59 -12
  20. package/cjs/flat-configs.js +9 -14
  21. package/cjs/graphql-config.d.ts +4 -3
  22. package/cjs/graphql-config.js +23 -44
  23. package/cjs/index.d.ts +10 -4
  24. package/cjs/index.js +8 -16
  25. package/cjs/parser.d.ts +4 -3
  26. package/cjs/parser.js +38 -45
  27. package/cjs/processor.d.ts +5 -1
  28. package/cjs/processor.js +25 -57
  29. package/cjs/rules/alphabetize.d.ts +6 -16
  30. package/cjs/rules/alphabetize.js +60 -132
  31. package/cjs/rules/description-style.d.ts +4 -3
  32. package/cjs/rules/description-style.js +11 -18
  33. package/cjs/rules/graphql-js-validation.d.ts +4 -3
  34. package/cjs/rules/graphql-js-validation.js +151 -225
  35. package/cjs/rules/index.d.ts +15 -13
  36. package/cjs/rules/index.js +8 -45
  37. package/cjs/rules/input-name.d.ts +4 -3
  38. package/cjs/rules/input-name.js +43 -59
  39. package/cjs/rules/lone-executable-definition.d.ts +6 -5
  40. package/cjs/rules/lone-executable-definition.js +14 -28
  41. package/cjs/rules/match-document-filename.d.ts +4 -3
  42. package/cjs/rules/match-document-filename.js +39 -70
  43. package/cjs/rules/naming-convention.d.ts +4 -3
  44. package/cjs/rules/naming-convention.js +56 -74
  45. package/cjs/rules/no-anonymous-operations.d.ts +4 -3
  46. package/cjs/rules/no-anonymous-operations.js +11 -18
  47. package/cjs/rules/no-deprecated.d.ts +4 -3
  48. package/cjs/rules/no-deprecated.js +15 -29
  49. package/cjs/rules/no-duplicate-fields.d.ts +4 -3
  50. package/cjs/rules/no-duplicate-fields.js +13 -23
  51. package/cjs/rules/no-hashtag-description.d.ts +4 -3
  52. package/cjs/rules/no-hashtag-description.js +16 -29
  53. package/cjs/rules/no-one-place-fragments.d.ts +4 -3
  54. package/cjs/rules/no-one-place-fragments.js +17 -29
  55. package/cjs/rules/no-root-type.d.ts +4 -3
  56. package/cjs/rules/no-root-type.js +15 -25
  57. package/cjs/rules/no-scalar-result-type-on-mutation.d.ts +4 -3
  58. package/cjs/rules/no-scalar-result-type-on-mutation.js +18 -30
  59. package/cjs/rules/no-typename-prefix.d.ts +4 -3
  60. package/cjs/rules/no-typename-prefix.js +26 -33
  61. package/cjs/rules/no-unreachable-types.d.ts +4 -3
  62. package/cjs/rules/no-unreachable-types.js +25 -47
  63. package/cjs/rules/no-unused-fields.d.ts +4 -3
  64. package/cjs/rules/no-unused-fields.js +24 -49
  65. package/cjs/rules/relay-arguments.d.ts +4 -3
  66. package/cjs/rules/relay-arguments.js +20 -43
  67. package/cjs/rules/relay-connection-types.d.ts +4 -3
  68. package/cjs/rules/relay-connection-types.js +14 -45
  69. package/cjs/rules/relay-edge-types.d.ts +4 -3
  70. package/cjs/rules/relay-edge-types.js +48 -99
  71. package/cjs/rules/relay-page-info.d.ts +4 -3
  72. package/cjs/rules/relay-page-info.js +21 -44
  73. package/cjs/rules/require-deprecation-date.d.ts +4 -3
  74. package/cjs/rules/require-deprecation-date.js +15 -31
  75. package/cjs/rules/require-deprecation-reason.d.ts +4 -3
  76. package/cjs/rules/require-deprecation-reason.js +12 -20
  77. package/cjs/rules/require-description.d.ts +4 -3
  78. package/cjs/rules/require-description.js +39 -65
  79. package/cjs/rules/require-field-of-type-query-in-mutation-result.d.ts +4 -3
  80. package/cjs/rules/require-field-of-type-query-in-mutation-result.js +16 -31
  81. package/cjs/rules/require-import-fragment.d.ts +4 -3
  82. package/cjs/rules/require-import-fragment.js +22 -40
  83. package/cjs/rules/require-nullable-fields-with-oneof.d.ts +4 -3
  84. package/cjs/rules/require-nullable-fields-with-oneof.js +11 -22
  85. package/cjs/rules/require-nullable-result-in-root.d.ts +4 -3
  86. package/cjs/rules/require-nullable-result-in-root.js +34 -44
  87. package/cjs/rules/{require-id-when-available.d.ts → require-selections.d.ts} +4 -3
  88. package/cjs/rules/require-selections.js +198 -0
  89. package/cjs/rules/require-type-pattern-with-oneof.d.ts +4 -3
  90. package/cjs/rules/require-type-pattern-with-oneof.js +15 -23
  91. package/cjs/rules/selection-set-depth.d.ts +4 -3
  92. package/cjs/rules/selection-set-depth.js +18 -34
  93. package/cjs/rules/strict-id-in-types.d.ts +4 -3
  94. package/cjs/rules/strict-id-in-types.js +25 -43
  95. package/cjs/rules/{no-case-insensitive-enum-values-duplicates.d.ts → unique-enum-value-names.d.ts} +4 -3
  96. package/cjs/rules/{no-case-insensitive-enum-values-duplicates.js → unique-enum-value-names.js} +16 -21
  97. package/cjs/rules/unique-fragment-name.d.ts +3 -2
  98. package/cjs/rules/unique-fragment-name.js +24 -36
  99. package/cjs/rules/unique-operation-name.d.ts +4 -3
  100. package/cjs/rules/unique-operation-name.js +10 -12
  101. package/cjs/schema.d.ts +4 -3
  102. package/cjs/schema.js +14 -27
  103. package/cjs/siblings.d.ts +24 -8
  104. package/cjs/siblings.js +42 -82
  105. package/cjs/types.d.ts +74 -7
  106. package/cjs/types.js +3 -5
  107. package/cjs/utils.d.ts +3 -2
  108. package/cjs/utils.js +27 -44
  109. package/esm/cache.js +4 -8
  110. package/esm/{chunk-BMTV3EA2.js → chunk-U3TKCM4X.js} +1 -1
  111. package/esm/configs/index.d.mts +42 -16
  112. package/esm/configs/index.js +4 -4
  113. package/esm/configs/operations-all.d.mts +4 -3
  114. package/esm/configs/operations-all.js +6 -5
  115. package/esm/configs/operations-recommended.d.mts +3 -1
  116. package/esm/configs/operations-recommended.js +4 -2
  117. package/esm/configs/schema-all.d.mts +6 -1
  118. package/esm/configs/schema-all.js +6 -3
  119. package/esm/configs/schema-recommended.d.mts +19 -1
  120. package/esm/configs/schema-recommended.js +23 -3
  121. package/esm/configs/{relay.js → schema-relay.js} +4 -4
  122. package/esm/documents.js +10 -17
  123. package/esm/estree-converter/converter.js +9 -18
  124. package/esm/estree-converter/utils.d.mts +2 -3
  125. package/esm/estree-converter/utils.js +11 -38
  126. package/esm/flat-configs.d.mts +59 -12
  127. package/esm/flat-configs.js +4 -5
  128. package/esm/graphql-config.d.mts +4 -3
  129. package/esm/graphql-config.js +18 -34
  130. package/esm/index.d.mts +10 -4
  131. package/esm/index.js +1 -1
  132. package/esm/parser.d.mts +4 -3
  133. package/esm/parser.js +33 -27
  134. package/esm/processor.d.mts +5 -1
  135. package/esm/processor.js +21 -46
  136. package/esm/rules/alphabetize.d.mts +6 -16
  137. package/esm/rules/alphabetize.js +53 -118
  138. package/esm/rules/description-style.d.mts +4 -3
  139. package/esm/rules/description-style.js +7 -11
  140. package/esm/rules/graphql-js-validation.d.mts +4 -3
  141. package/esm/rules/graphql-js-validation.js +178 -218
  142. package/esm/rules/index.d.mts +15 -13
  143. package/esm/rules/index.js +5 -5
  144. package/esm/rules/input-name.d.mts +4 -3
  145. package/esm/rules/input-name.js +39 -52
  146. package/esm/rules/lone-executable-definition.d.mts +6 -5
  147. package/esm/rules/lone-executable-definition.js +10 -20
  148. package/esm/rules/match-document-filename.d.mts +4 -3
  149. package/esm/rules/match-document-filename.js +35 -61
  150. package/esm/rules/naming-convention.d.mts +4 -3
  151. package/esm/rules/naming-convention.js +51 -65
  152. package/esm/rules/no-anonymous-operations.d.mts +4 -3
  153. package/esm/rules/no-anonymous-operations.js +6 -9
  154. package/esm/rules/no-deprecated.d.mts +4 -3
  155. package/esm/rules/no-deprecated.js +10 -20
  156. package/esm/rules/no-duplicate-fields.d.mts +4 -3
  157. package/esm/rules/no-duplicate-fields.js +9 -16
  158. package/esm/rules/no-hashtag-description.d.mts +4 -3
  159. package/esm/rules/no-hashtag-description.js +11 -20
  160. package/esm/rules/no-one-place-fragments.d.mts +4 -3
  161. package/esm/rules/no-one-place-fragments.js +12 -19
  162. package/esm/rules/no-root-type.d.mts +4 -3
  163. package/esm/rules/no-root-type.js +11 -18
  164. package/esm/rules/no-scalar-result-type-on-mutation.d.mts +4 -3
  165. package/esm/rules/no-scalar-result-type-on-mutation.js +13 -21
  166. package/esm/rules/no-typename-prefix.d.mts +4 -3
  167. package/esm/rules/no-typename-prefix.js +22 -26
  168. package/esm/rules/no-unreachable-types.d.mts +4 -3
  169. package/esm/rules/no-unreachable-types.js +18 -33
  170. package/esm/rules/no-unused-fields.d.mts +4 -3
  171. package/esm/rules/no-unused-fields.js +19 -40
  172. package/esm/rules/relay-arguments.d.mts +4 -3
  173. package/esm/rules/relay-arguments.js +15 -34
  174. package/esm/rules/relay-connection-types.d.mts +4 -3
  175. package/esm/rules/relay-connection-types.js +10 -38
  176. package/esm/rules/relay-edge-types.d.mts +4 -3
  177. package/esm/rules/relay-edge-types.js +43 -89
  178. package/esm/rules/relay-page-info.d.mts +4 -3
  179. package/esm/rules/relay-page-info.js +16 -34
  180. package/esm/rules/require-deprecation-date.d.mts +4 -3
  181. package/esm/rules/require-deprecation-date.js +10 -22
  182. package/esm/rules/require-deprecation-reason.d.mts +4 -3
  183. package/esm/rules/require-deprecation-reason.js +7 -11
  184. package/esm/rules/require-description.d.mts +4 -3
  185. package/esm/rules/require-description.js +34 -55
  186. package/esm/rules/require-field-of-type-query-in-mutation-result.d.mts +4 -3
  187. package/esm/rules/require-field-of-type-query-in-mutation-result.js +11 -22
  188. package/esm/rules/require-import-fragment.d.mts +4 -3
  189. package/esm/rules/require-import-fragment.js +14 -26
  190. package/esm/rules/require-nullable-fields-with-oneof.d.mts +4 -3
  191. package/esm/rules/require-nullable-fields-with-oneof.js +6 -13
  192. package/esm/rules/require-nullable-result-in-root.d.mts +4 -3
  193. package/esm/rules/require-nullable-result-in-root.js +29 -35
  194. package/esm/rules/{require-id-when-available.d.mts → require-selections.d.mts} +4 -3
  195. package/esm/rules/{require-id-when-available.js → require-selections.js} +43 -80
  196. package/esm/rules/require-type-pattern-with-oneof.d.mts +4 -3
  197. package/esm/rules/require-type-pattern-with-oneof.js +11 -16
  198. package/esm/rules/selection-set-depth.d.mts +4 -3
  199. package/esm/rules/selection-set-depth.js +11 -20
  200. package/esm/rules/strict-id-in-types.d.mts +4 -3
  201. package/esm/rules/strict-id-in-types.js +20 -34
  202. package/esm/rules/{no-case-insensitive-enum-values-duplicates.d.mts → unique-enum-value-names.d.mts} +4 -3
  203. package/esm/rules/{no-case-insensitive-enum-values-duplicates.js → unique-enum-value-names.js} +8 -9
  204. package/esm/rules/unique-fragment-name.d.mts +3 -2
  205. package/esm/rules/unique-fragment-name.js +20 -27
  206. package/esm/rules/unique-operation-name.d.mts +4 -3
  207. package/esm/rules/unique-operation-name.js +6 -5
  208. package/esm/schema.d.mts +4 -3
  209. package/esm/schema.js +7 -12
  210. package/esm/siblings.d.mts +24 -8
  211. package/esm/siblings.js +37 -73
  212. package/esm/types.d.mts +74 -7
  213. package/esm/utils.d.mts +3 -2
  214. package/esm/utils.js +20 -31
  215. package/index.browser.mjs +5323 -0
  216. package/package.json +8 -13
  217. package/cjs/rules/require-id-when-available.js +0 -241
  218. package/cjs/types-8d5f4ae0.d.ts +0 -107
  219. package/esm/types-ace77d86.d.ts +0 -107
  220. /package/cjs/configs/{relay.d.ts → schema-relay.d.ts} +0 -0
  221. /package/cjs/configs/{relay.js → schema-relay.js} +0 -0
  222. /package/esm/configs/{relay.d.mts → schema-relay.d.mts} +0 -0
package/cjs/parser.js CHANGED
@@ -3,18 +3,14 @@ var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
8
7
  var __export = (target, all) => {
9
8
  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") {
9
+ __defProp(target, name, { get: all[name], enumerable: !0 });
10
+ }, __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from == "object" || typeof from == "function")
14
12
  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
- }
13
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
14
  return to;
19
15
  };
20
16
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
@@ -22,51 +18,52 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
18
  // file that has been converted to a CommonJS file using a Babel-
23
19
  // compatible transform (i.e. "__esModule" has not been set), then set
24
20
  // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
26
22
  mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
29
24
  var parser_exports = {};
30
25
  __export(parser_exports, {
31
26
  parseForESLint: () => parseForESLint
32
27
  });
33
28
  module.exports = __toCommonJS(parser_exports);
34
- var import_utils = require("@graphql-tools/utils");
35
- var import_debug = __toESM(require("debug"));
36
- var import_graphql = require("graphql");
37
- var import_estree_converter = require("./estree-converter/index.js");
38
- var import_graphql_config = require("./graphql-config.js");
39
- var import_schema = require("./schema.js");
40
- var import_siblings = require("./siblings.js");
41
- var import_utils2 = require("./utils.js");
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");
42
30
  const debug = (0, import_debug.default)("graphql-eslint:parser");
43
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
44
  function parseForESLint(code, options) {
45
- var _a, _b;
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
+ );
46
50
  try {
47
- const { filePath } = options;
48
- options.documents || (options.documents = options.operations);
49
- const { document } = (0, import_utils.parseGraphQLSDL)(filePath, code, {
50
- ...options.graphQLParserOptions,
51
- noLocation: false
52
- });
53
- const gqlConfig = (0, import_graphql_config.loadGraphQLConfig)(options);
54
- const realFilepath = filePath.replace(import_utils2.VIRTUAL_DOCUMENT_REGEX, "");
55
- const project = gqlConfig.getProjectForFile(realFilepath);
56
- let schema = null;
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
57
  try {
58
- schema = project ? (0, import_schema.getSchema)(project, options.schemaOptions) : typeof options.schema === "string" ? (0, import_graphql.buildSchema)(options.schema) : null;
58
+ schema = (0, import_schema.getSchema)(project);
59
59
  } catch (error) {
60
- if (error instanceof Error) {
61
- error.message = `Error while loading schema: ${error.message}`;
62
- }
63
- throw error;
60
+ throw error instanceof Error && (error.message = `Error while loading schema: ${error.message}`), error;
64
61
  }
65
62
  const rootTree = (0, import_estree_converter.convertToESTree)(document, schema);
66
63
  return {
67
64
  services: {
68
65
  schema,
69
- siblingOperations: (0, import_siblings.getSiblings)(project, options.documents)
66
+ siblingOperations: (0, import_siblings.getSiblings)(documents)
70
67
  },
71
68
  ast: {
72
69
  comments: (0, import_estree_converter.extractComments)(document.loc),
@@ -79,20 +76,16 @@ function parseForESLint(code, options) {
79
76
  }
80
77
  };
81
78
  } catch (error) {
82
- if (error instanceof Error) {
83
- error.message = `[graphql-eslint] ${error.message}`;
84
- }
85
- if (error instanceof import_graphql.GraphQLError) {
86
- const location = (_a = error.locations) == null ? void 0 : _a[0];
87
- const eslintError = {
88
- index: (_b = error.positions) == null ? void 0 : _b[0],
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],
89
83
  ...location && {
90
84
  lineNumber: location.line,
91
85
  column: location.column - 1
92
86
  },
93
87
  message: error.message
94
88
  };
95
- throw eslintError;
96
89
  }
97
90
  throw error;
98
91
  }
@@ -4,6 +4,10 @@ type Block = Linter.ProcessorFile & {
4
4
  lineOffset: number;
5
5
  offset: number;
6
6
  };
7
- declare const processor: Linter.Processor<Block | string>;
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
+ };
8
12
 
9
13
  export { Block, processor };
package/cjs/processor.js CHANGED
@@ -5,40 +5,28 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
6
  var __export = (target, all) => {
7
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") {
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
12
11
  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
- }
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
13
  return to;
17
14
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
19
16
  var processor_exports = {};
20
17
  __export(processor_exports, {
21
18
  processor: () => processor
22
19
  });
23
20
  module.exports = __toCommonJS(processor_exports);
24
- var import_path = require("path");
25
- var import_graphql_tag_pluck = require("@graphql-tools/graphql-tag-pluck");
26
- var import_utils = require("@graphql-tools/utils");
27
- var import_graphql_config2 = require("./graphql-config.js");
28
- var import_utils2 = require("./utils.js");
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");
29
22
  const blocksMap = /* @__PURE__ */ new Map();
30
- let onDiskConfig;
31
- let onDiskConfigLoaded = false;
32
- const RELEVANT_KEYWORDS = ["gql", "graphql", "GraphQL"];
33
- const processor = {
34
- supportsAutofix: true,
23
+ let onDiskConfig, onDiskConfigLoaded = !1;
24
+ const RELEVANT_KEYWORDS = ["gql", "graphql", "GraphQL"], processor = {
25
+ supportsAutofix: !0,
35
26
  preprocess(code, filePath) {
36
- if (!onDiskConfigLoaded) {
37
- onDiskConfig = (0, import_graphql_config2.loadOnDiskGraphQLConfig)(filePath);
38
- onDiskConfigLoaded = true;
39
- }
27
+ onDiskConfigLoaded || (onDiskConfig = (0, import_graphql_config2.loadOnDiskGraphQLConfig)(filePath), onDiskConfigLoaded = !0);
40
28
  let keywords = RELEVANT_KEYWORDS;
41
- const pluckConfig = onDiskConfig == null ? void 0 : onDiskConfig.getProjectForFile(filePath).extensions.pluckConfig;
29
+ const pluckConfig = onDiskConfig?.getProjectForFile(filePath).extensions.pluckConfig;
42
30
  if (pluckConfig) {
43
31
  const {
44
32
  modules = [],
@@ -55,38 +43,31 @@ const processor = {
55
43
  )
56
44
  ];
57
45
  }
58
- if (keywords.every((keyword) => !code.includes(keyword))) {
46
+ if (keywords.every((keyword) => !code.includes(keyword)))
59
47
  return [code];
60
- }
61
48
  try {
62
- const sources = (0, import_graphql_tag_pluck.gqlPluckFromCodeStringSync)(filePath, code, {
63
- skipIndent: true,
49
+ const blocks = (0, import_graphql_tag_pluck.gqlPluckFromCodeStringSync)(filePath, code, {
50
+ skipIndent: !0,
64
51
  ...pluckConfig
65
- });
66
- const blocks = sources.map((item) => ({
52
+ }).map((item) => ({
67
53
  filename: "document.graphql",
68
54
  text: item.body,
69
55
  lineOffset: item.locationOffset.line - 1,
70
56
  // @ts-expect-error -- `index` field exist but show ts error
71
57
  offset: item.locationOffset.index + 1
72
58
  }));
73
- blocksMap.set(filePath, blocks);
74
- return [
59
+ return blocksMap.set(filePath, blocks), [
75
60
  ...blocks,
76
61
  code
77
62
  /* source code must be provided and be last */
78
63
  ];
79
64
  } catch (error) {
80
- if (error instanceof Error) {
81
- error.message = `[graphql-eslint] Error while preprocessing "${(0, import_path.relative)(
82
- import_utils2.CWD,
83
- filePath
84
- )}" file
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
85
69
 
86
- ${error.message}`;
87
- }
88
- console.error(error);
89
- return [code];
70
+ ${error.message}`), console.error(error), [code];
90
71
  }
91
72
  },
92
73
  postprocess(messages, filePath) {
@@ -94,31 +75,18 @@ ${error.message}`;
94
75
  for (let i = 0; i < blocks.length; i += 1) {
95
76
  const { lineOffset, offset } = blocks[i];
96
77
  for (const message of messages[i] || []) {
97
- const isVueOrSvelte = /\.(vue|svelte)$/.test(filePath);
98
- if (isVueOrSvelte) {
99
- delete message.endLine;
100
- delete message.endColumn;
101
- delete message.fix;
102
- delete message.suggestions;
103
- Object.assign(message, import_utils2.REPORT_ON_FIRST_CHARACTER);
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);
104
80
  continue;
105
81
  }
106
- message.line += lineOffset;
107
- if (typeof message.endLine === "number") {
108
- message.endLine += lineOffset;
109
- }
110
- if (message.fix) {
111
- message.fix.range[0] += offset;
112
- message.fix.range[1] += offset;
113
- }
82
+ message.line += lineOffset, typeof message.endLine == "number" && (message.endLine += lineOffset), message.fix && (message.fix.range[0] += offset, message.fix.range[1] += offset);
114
83
  for (const suggestion of message.suggestions || []) {
115
84
  const [start, end] = suggestion.fix.range;
116
85
  suggestion.fix.range = [start + offset, end + offset];
117
86
  }
118
87
  }
119
88
  }
120
- const result = messages.flat();
121
- return result.sort((a, b) => a.line - b.line || a.column - b.column);
89
+ return messages.flat().sort((a, b) => a.line - b.line || a.column - b.column);
122
90
  }
123
91
  };
124
92
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,11 +1,12 @@
1
1
  import { FromSchema } from 'json-schema-to-ts';
2
- import { f as GraphQLESLintRule } from '../types-8d5f4ae0.js';
3
- import '@graphql-tools/utils';
2
+ import { GraphQLESLintRule } from '../types.js';
4
3
  import 'eslint';
5
4
  import 'estree';
6
5
  import 'graphql';
7
- import 'graphql-config';
6
+ import '../siblings.js';
7
+ import '@graphql-tools/utils';
8
8
  import '../estree-converter/types.js';
9
+ import 'graphql-config';
9
10
 
10
11
  declare const schema: {
11
12
  readonly type: "array";
@@ -26,13 +27,8 @@ declare const schema: {
26
27
  readonly minItems: 1;
27
28
  };
28
29
  readonly values: {
29
- readonly items: {
30
- readonly enum: ["EnumTypeDefinition"];
31
- };
30
+ readonly type: "boolean";
32
31
  readonly description: "Values of `enum`.";
33
- readonly type: "array";
34
- readonly uniqueItems: true;
35
- readonly minItems: 1;
36
32
  };
37
33
  readonly selections: {
38
34
  readonly items: {
@@ -44,13 +40,8 @@ declare const schema: {
44
40
  readonly minItems: 1;
45
41
  };
46
42
  readonly variables: {
47
- readonly items: {
48
- readonly enum: ["OperationDefinition"];
49
- };
43
+ readonly type: "boolean";
50
44
  readonly description: "Variables of operations `query`, `mutation` and `subscription`.";
51
- readonly type: "array";
52
- readonly uniqueItems: true;
53
- readonly minItems: 1;
54
45
  };
55
46
  readonly arguments: {
56
47
  readonly items: {
@@ -64,7 +55,6 @@ declare const schema: {
64
55
  readonly definitions: {
65
56
  readonly type: "boolean";
66
57
  readonly description: "Definitions – `type`, `interface`, `enum`, `scalar`, `input`, `union` and `directive`.";
67
- readonly default: false;
68
58
  };
69
59
  readonly groups: {
70
60
  readonly minItems: 2;