@graphql-eslint/eslint-plugin 4.0.0-alpha.2 → 4.0.0-alpha.4

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.
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![GraphQLConf 2024 Banner: September 10-12, San Francisco. Hosted by the GraphQL Foundation](https://github.com/user-attachments/assets/bdb8cd5d-5186-4ece-b06b-b00a499b7868)](https://graphql.org/conf/2024/?utm_source=github&utm_medium=graphql_eslint&utm_campaign=readme)
2
+
1
3
  # GraphQL-ESLint
2
4
 
3
5
  [![npm version](https://badge.fury.io/js/%40graphql-eslint%2Feslint-plugin.svg)](https://badge.fury.io/js/%40graphql-eslint%2Feslint-plugin)
@@ -4,6 +4,11 @@ declare const configs: {
4
4
  'schema-relay': any;
5
5
  'operations-recommended': any;
6
6
  'operations-all': any;
7
+ 'flat/schema-recommended': any;
8
+ 'flat/schema-all': any;
9
+ 'flat/schema-relay': any;
10
+ 'flat/operations-recommended': any;
11
+ 'flat/operations-all': any;
7
12
  };
8
13
 
9
14
  export { configs };
@@ -32,7 +32,18 @@ const configs = {
32
32
  "schema-all": import_schema_all.default,
33
33
  "schema-relay": import_schema_relay.default,
34
34
  "operations-recommended": import_operations_recommended.default,
35
- "operations-all": import_operations_all.default
35
+ "operations-all": import_operations_all.default,
36
+ "flat/schema-recommended": import_schema_recommended.default.rules,
37
+ "flat/schema-all": {
38
+ ...import_schema_recommended.default.rules,
39
+ ...import_schema_all.default.rules
40
+ },
41
+ "flat/schema-relay": import_schema_relay.default.rules,
42
+ "flat/operations-recommended": import_operations_recommended.default.rules,
43
+ "flat/operations-all": {
44
+ ...import_operations_recommended.default.rules,
45
+ ...import_operations_all.default.rules
46
+ }
36
47
  };
37
48
  // Annotate the CommonJS export names for ESM import in node:
38
49
  0 && (module.exports = {
package/cjs/index.d.cts CHANGED
@@ -5,7 +5,6 @@ export { rules } from './rules/index.cjs';
5
5
  export { CategoryType, ConfigName, GraphQLESLintParseResult, GraphQLESLintRule, GraphQLESLintRuleContext, GraphQLESLintRuleListener, OmitRecursively, ParserOptions, ParserServices, Pointer, ReportDescriptor, RuleDocsInfo, Schema, ValueOf } from './types.cjs';
6
6
  export { requireGraphQLSchemaFromContext, requireSiblingsOperations } from './utils.cjs';
7
7
  export { configs } from './configs/index.cjs';
8
- export { flatConfigs } from './flat-configs.cjs';
9
8
  export { GraphQLESTreeNode } from './estree-converter/types.cjs';
10
9
  import './rules/require-description.cjs';
11
10
  import 'graphql';
package/cjs/index.js CHANGED
@@ -16,7 +16,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0
16
16
  var src_exports = {};
17
17
  __export(src_exports, {
18
18
  configs: () => import_configs.configs,
19
- flatConfigs: () => import_flat_configs.flatConfigs,
20
19
  parseForESLint: () => import_parser.parseForESLint,
21
20
  parser: () => import_parser.parser,
22
21
  processors: () => processors,
@@ -27,12 +26,11 @@ __export(src_exports, {
27
26
  module.exports = __toCommonJS(src_exports);
28
27
  var import_processor = require("./processor.js"), import_parser = require("./parser.js"), import_rules = require("./rules/index.js");
29
28
  __reExport(src_exports, require("./types.js"), module.exports);
30
- var import_utils = require("./utils.js"), import_configs = require("./configs/index.js"), import_flat_configs = require("./flat-configs.js");
29
+ var import_utils = require("./utils.js"), import_configs = require("./configs/index.js");
31
30
  const processors = { graphql: import_processor.processor };
32
31
  // Annotate the CommonJS export names for ESM import in node:
33
32
  0 && (module.exports = {
34
33
  configs,
35
- flatConfigs,
36
34
  parseForESLint,
37
35
  parser,
38
36
  processors,
package/cjs/meta.d.cts CHANGED
@@ -1,4 +1,3 @@
1
- declare const name: string;
2
1
  declare const version: string;
3
2
 
4
- export { name, version };
3
+ export { version };
package/cjs/meta.js CHANGED
@@ -5,8 +5,8 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name2 in all)
9
- __defProp(target, name2, { get: all[name2], enumerable: !0 });
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: !0 });
10
10
  }, __copyProps = (to, from, except, desc) => {
11
11
  if (from && typeof from == "object" || typeof from == "function")
12
12
  for (let key of __getOwnPropNames(from))
@@ -23,14 +23,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
23
23
  )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
24
24
  var meta_exports = {};
25
25
  __export(meta_exports, {
26
- name: () => name,
27
26
  version: () => version
28
27
  });
29
28
  module.exports = __toCommonJS(meta_exports);
30
29
  var import_package = __toESM(require("../package.json"), 1);
31
- const { name, version } = import_package.default;
30
+ const { version } = import_package.default;
32
31
  // Annotate the CommonJS export names for ESM import in node:
33
32
  0 && (module.exports = {
34
- name,
35
33
  version
36
34
  });
@@ -38,22 +38,22 @@ declare const rules: {
38
38
  suffix?: string | undefined;
39
39
  prefix?: string | undefined;
40
40
  } | undefined;
41
- mutation?: (CaseStyle | "matchDocumentStyle") | {
41
+ fileExtension?: ".gql" | ".graphql" | undefined;
42
+ query?: (CaseStyle | "matchDocumentStyle") | {
42
43
  style?: (CaseStyle | "matchDocumentStyle") | undefined;
43
44
  suffix?: string | undefined;
44
45
  prefix?: string | undefined;
45
46
  } | undefined;
46
- subscription?: (CaseStyle | "matchDocumentStyle") | {
47
+ mutation?: (CaseStyle | "matchDocumentStyle") | {
47
48
  style?: (CaseStyle | "matchDocumentStyle") | undefined;
48
49
  suffix?: string | undefined;
49
50
  prefix?: string | undefined;
50
51
  } | undefined;
51
- query?: (CaseStyle | "matchDocumentStyle") | {
52
+ subscription?: (CaseStyle | "matchDocumentStyle") | {
52
53
  style?: (CaseStyle | "matchDocumentStyle") | undefined;
53
54
  suffix?: string | undefined;
54
55
  prefix?: string | undefined;
55
56
  } | undefined;
56
- fileExtension?: ".gql" | ".graphql" | undefined;
57
57
  }[]>;
58
58
  'naming-convention': GraphQLESLintRule<{
59
59
  [x: string]: unknown;
@@ -4,6 +4,11 @@ declare const configs: {
4
4
  'schema-relay': any;
5
5
  'operations-recommended': any;
6
6
  'operations-all': any;
7
+ 'flat/schema-recommended': any;
8
+ 'flat/schema-all': any;
9
+ 'flat/schema-relay': any;
10
+ 'flat/operations-recommended': any;
11
+ 'flat/operations-all': any;
7
12
  };
8
13
 
9
14
  export { configs };
@@ -9,7 +9,18 @@ const configs = {
9
9
  "schema-all": schemaAllConfig,
10
10
  "schema-relay": relayConfig,
11
11
  "operations-recommended": operationsRecommendedConfig,
12
- "operations-all": operationsAllConfig
12
+ "operations-all": operationsAllConfig,
13
+ "flat/schema-recommended": schemaRecommendedConfig.rules,
14
+ "flat/schema-all": {
15
+ ...schemaRecommendedConfig.rules,
16
+ ...schemaAllConfig.rules
17
+ },
18
+ "flat/schema-relay": relayConfig.rules,
19
+ "flat/operations-recommended": operationsRecommendedConfig.rules,
20
+ "flat/operations-all": {
21
+ ...operationsRecommendedConfig.rules,
22
+ ...operationsAllConfig.rules
23
+ }
13
24
  };
14
25
  export {
15
26
  configs
package/esm/index.d.ts CHANGED
@@ -5,7 +5,6 @@ export { rules } from './rules/index.js';
5
5
  export { CategoryType, ConfigName, GraphQLESLintParseResult, GraphQLESLintRule, GraphQLESLintRuleContext, GraphQLESLintRuleListener, OmitRecursively, ParserOptions, ParserServices, Pointer, ReportDescriptor, RuleDocsInfo, Schema, ValueOf } from './types.js';
6
6
  export { requireGraphQLSchemaFromContext, requireSiblingsOperations } from './utils.js';
7
7
  export { configs } from './configs/index.js';
8
- export { flatConfigs } from './flat-configs.js';
9
8
  export { GraphQLESTreeNode } from './estree-converter/types.js';
10
9
  import './rules/require-description.js';
11
10
  import 'graphql';
package/esm/index.js CHANGED
@@ -6,10 +6,8 @@ export * from "./types.js";
6
6
  import { requireGraphQLSchemaFromContext, requireSiblingsOperations } from "./utils.js";
7
7
  const processors = { graphql: processor };
8
8
  import { configs } from "./configs/index.js";
9
- import { flatConfigs } from "./flat-configs.js";
10
9
  export {
11
10
  configs,
12
- flatConfigs,
13
11
  parseForESLint,
14
12
  parser,
15
13
  processors,
package/esm/meta.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- declare const name: string;
2
1
  declare const version: string;
3
2
 
4
- export { name, version };
3
+ export { version };
package/esm/meta.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import "./chunk-UIAXBAMD.js";
2
- import packageJson from "../package.json" assert { type: "json" };
3
- const { name, version } = packageJson;
2
+ import packageJson from "../package.json" with { type: "json" };
3
+ const { version } = packageJson;
4
4
  export {
5
- name,
6
5
  version
7
6
  };
@@ -38,22 +38,22 @@ declare const rules: {
38
38
  suffix?: string | undefined;
39
39
  prefix?: string | undefined;
40
40
  } | undefined;
41
- mutation?: (CaseStyle | "matchDocumentStyle") | {
41
+ fileExtension?: ".gql" | ".graphql" | undefined;
42
+ query?: (CaseStyle | "matchDocumentStyle") | {
42
43
  style?: (CaseStyle | "matchDocumentStyle") | undefined;
43
44
  suffix?: string | undefined;
44
45
  prefix?: string | undefined;
45
46
  } | undefined;
46
- subscription?: (CaseStyle | "matchDocumentStyle") | {
47
+ mutation?: (CaseStyle | "matchDocumentStyle") | {
47
48
  style?: (CaseStyle | "matchDocumentStyle") | undefined;
48
49
  suffix?: string | undefined;
49
50
  prefix?: string | undefined;
50
51
  } | undefined;
51
- query?: (CaseStyle | "matchDocumentStyle") | {
52
+ subscription?: (CaseStyle | "matchDocumentStyle") | {
52
53
  style?: (CaseStyle | "matchDocumentStyle") | undefined;
53
54
  suffix?: string | undefined;
54
55
  prefix?: string | undefined;
55
56
  } | undefined;
56
- fileExtension?: ".gql" | ".graphql" | undefined;
57
57
  }[]>;
58
58
  'naming-convention': GraphQLESLintRule<{
59
59
  [x: string]: unknown;
package/index.browser.js CHANGED
@@ -246,20 +246,11 @@ import debugFactory from "debug";
246
246
  var log = debugFactory("graphql-eslint:ModuleCache"), ModuleCache = class {
247
247
  map = /* @__PURE__ */ new Map();
248
248
  set(cacheKey, result) {
249
- this.map.set(cacheKey, { lastSeen: process.hrtime(), result }), log("setting entry for", cacheKey);
250
249
  }
251
250
  get(cacheKey, settings = {
252
251
  lifetime: 10
253
252
  /* seconds */
254
253
  }) {
255
- let value = this.map.get(cacheKey);
256
- if (!value) {
257
- log("cache miss for", cacheKey);
258
- return;
259
- }
260
- let { lastSeen, result } = value;
261
- if (process.env.NODE || process.hrtime(lastSeen)[0] < settings.lifetime)
262
- return result;
263
254
  }
264
255
  };
265
256
 
@@ -399,7 +390,7 @@ function convertToESTree(node, schema15) {
399
390
  // package.json
400
391
  var package_default = {
401
392
  name: "@graphql-eslint/eslint-plugin",
402
- version: "4.0.0-alpha.2",
393
+ version: "4.0.0-alpha.4",
403
394
  type: "module",
404
395
  description: "GraphQL plugin for ESLint",
405
396
  repository: "https://github.com/B2o5T/graphql-eslint",
@@ -444,11 +435,11 @@ var package_default = {
444
435
  },
445
436
  dependencies: {
446
437
  "@graphql-tools/code-file-loader": "^8.0.0",
447
- "@graphql-tools/graphql-tag-pluck": "^8.0.0",
438
+ "@graphql-tools/graphql-tag-pluck": "8.3.2",
448
439
  "@graphql-tools/utils": "^10.0.0",
449
440
  debug: "^4.3.4",
450
441
  "fast-glob": "^3.2.12",
451
- "graphql-config": "^5.0.0",
442
+ "graphql-config": "^5.1.0",
452
443
  "graphql-depth-limit": "^1.1.0",
453
444
  "lodash.lowercase": "^4.3.0"
454
445
  },
@@ -462,7 +453,7 @@ var package_default = {
462
453
  "@types/lodash.lowercase": "4.3.9",
463
454
  graphql: "16.9.0",
464
455
  "json-schema-to-ts": "2.12.0",
465
- "vite-tsconfig-paths": "^4.3.2"
456
+ "vite-tsconfig-paths": "^5.0.0"
466
457
  },
467
458
  publishConfig: {
468
459
  directory: "dist",
@@ -472,7 +463,7 @@ var package_default = {
472
463
  };
473
464
 
474
465
  // src/meta.ts
475
- var { name, version } = package_default;
466
+ var { version } = package_default;
476
467
 
477
468
  // src/siblings.ts
478
469
  import {
@@ -650,7 +641,7 @@ function getSiblings(documents) {
650
641
  cachedOperations = result;
651
642
  }
652
643
  return cachedOperations;
653
- }, getFragment = (name2) => getFragments().filter((f) => f.document.name.value === name2), collectFragments = (selectable, recursive, collected = /* @__PURE__ */ new Map()) => (visit2(selectable, {
644
+ }, getFragment = (name) => getFragments().filter((f) => f.document.name.value === name), collectFragments = (selectable, recursive, collected = /* @__PURE__ */ new Map()) => (visit2(selectable, {
654
645
  FragmentSpread(spread) {
655
646
  let fragmentName = spread.name.value, [fragment] = getFragment(fragmentName);
656
647
  if (!fragment) {
@@ -667,7 +658,7 @@ function getSiblings(documents) {
667
658
  getFragments,
668
659
  getFragmentByType: (typeName) => getFragments().filter((f) => f.document.typeCondition.name.value === typeName),
669
660
  getFragmentsInUse: (selectable, recursive = !0) => Array.from(collectFragments(selectable, recursive).values()),
670
- getOperation: (name2) => getOperations().filter((o) => o.document.name?.value === name2),
661
+ getOperation: (name) => getOperations().filter((o) => o.document.name?.value === name),
671
662
  getOperations,
672
663
  getOperationByType: (type) => getOperations().filter((o) => o.document.operation === type)
673
664
  };
@@ -1185,10 +1176,10 @@ function validateDocument({
1185
1176
  loc,
1186
1177
  message: error.message,
1187
1178
  suggest: hasDidYouMeanSuggestions ? matches.map((match) => {
1188
- let { name: name2 } = match.groups;
1179
+ let { name } = match.groups;
1189
1180
  return {
1190
- desc: `Rename to \`${name2}\``,
1191
- fix: (fixer) => fixer.replaceText(token, name2)
1181
+ desc: `Rename to \`${name}\``,
1182
+ fix: (fixer) => fixer.replaceText(token, name)
1192
1183
  };
1193
1184
  }) : []
1194
1185
  });
@@ -1212,7 +1203,7 @@ var getFragmentDefsAndFragmentSpreads = (node) => {
1212
1203
  }), { fragmentDefs, fragmentSpreads };
1213
1204
  }, getMissingFragments = (node) => {
1214
1205
  let { fragmentDefs, fragmentSpreads } = getFragmentDefsAndFragmentSpreads(node);
1215
- return [...fragmentSpreads].filter((name2) => !fragmentDefs.has(name2));
1206
+ return [...fragmentSpreads].filter((name) => !fragmentDefs.has(name));
1216
1207
  }, handleMissingFragments = ({ ruleId, context, node }) => {
1217
1208
  let missingFragments = getMissingFragments(node);
1218
1209
  if (missingFragments.length > 0) {
@@ -1849,10 +1840,10 @@ Using the same name for all input parameters will make your schemas easier to co
1849
1840
  return currentNode;
1850
1841
  })(node);
1851
1842
  if (shouldCheckType(inputValueNode.parent.parent)) {
1852
- let mutationName = `${inputValueNode.parent.name.value}Input`, name2 = node.name.value;
1853
- (options.caseSensitiveInputType && node.name.value !== mutationName || name2.toLowerCase() !== mutationName.toLowerCase()) && context.report({
1843
+ let mutationName = `${inputValueNode.parent.name.value}Input`, name = node.name.value;
1844
+ (options.caseSensitiveInputType && node.name.value !== mutationName || name.toLowerCase() !== mutationName.toLowerCase()) && context.report({
1854
1845
  node: node.name,
1855
- message: `Input type \`${name2}\` name should be \`${mutationName}\`.`,
1846
+ message: `Input type \`${name}\` name should be \`${mutationName}\`.`,
1856
1847
  suggest: [
1857
1848
  {
1858
1849
  desc: `Rename to \`${mutationName}\``,
@@ -1935,11 +1926,11 @@ var RULE_ID2 = "lone-executable-definition", definitionTypes = ["fragment", ...O
1935
1926
  },
1936
1927
  "Document:exit"() {
1937
1928
  for (let { node, type } of definitions.slice(1)) {
1938
- let name2 = pascalCase(type), definitionName = node.name?.value;
1939
- definitionName && (name2 += ` "${definitionName}"`), context.report({
1929
+ let name = pascalCase(type), definitionName = node.name?.value;
1930
+ definitionName && (name += ` "${definitionName}"`), context.report({
1940
1931
  loc: node.name?.loc || getLocation(node.loc.start, type),
1941
1932
  messageId: RULE_ID2,
1942
- data: { name: name2 }
1933
+ data: { name }
1943
1934
  });
1944
1935
  }
1945
1936
  }
@@ -2506,51 +2497,51 @@ ${TYPES_KINDS.map((kind) => `- \`${kind}\``).join(`
2506
2497
  report(node, `${nodeType} "${nodeName}" should ${errorMessage}`, suggestedNames);
2507
2498
  }
2508
2499
  function getError() {
2509
- let name2 = nodeName.replace(/(^_+)|(_+$)/g, "");
2510
- if (ignorePattern && new RegExp(ignorePattern, "u").test(name2))
2500
+ let name = nodeName.replace(/(^_+)|(_+$)/g, "");
2501
+ if (ignorePattern && new RegExp(ignorePattern, "u").test(name))
2511
2502
  return;
2512
- if (prefix && !name2.startsWith(prefix))
2503
+ if (prefix && !name.startsWith(prefix))
2513
2504
  return {
2514
2505
  errorMessage: `have "${prefix}" prefix`,
2515
- renameToNames: [prefix + name2]
2506
+ renameToNames: [prefix + name]
2516
2507
  };
2517
- if (suffix && !name2.endsWith(suffix))
2508
+ if (suffix && !name.endsWith(suffix))
2518
2509
  return {
2519
2510
  errorMessage: `have "${suffix}" suffix`,
2520
- renameToNames: [name2 + suffix]
2511
+ renameToNames: [name + suffix]
2521
2512
  };
2522
- let forbiddenPrefix = forbiddenPrefixes?.find((prefix2) => name2.startsWith(prefix2));
2513
+ let forbiddenPrefix = forbiddenPrefixes?.find((prefix2) => name.startsWith(prefix2));
2523
2514
  if (forbiddenPrefix)
2524
2515
  return {
2525
2516
  errorMessage: `not have "${forbiddenPrefix}" prefix`,
2526
- renameToNames: [name2.replace(new RegExp(`^${forbiddenPrefix}`), "")]
2517
+ renameToNames: [name.replace(new RegExp(`^${forbiddenPrefix}`), "")]
2527
2518
  };
2528
- let forbiddenSuffix = forbiddenSuffixes?.find((suffix2) => name2.endsWith(suffix2));
2519
+ let forbiddenSuffix = forbiddenSuffixes?.find((suffix2) => name.endsWith(suffix2));
2529
2520
  if (forbiddenSuffix)
2530
2521
  return {
2531
2522
  errorMessage: `not have "${forbiddenSuffix}" suffix`,
2532
- renameToNames: [name2.replace(new RegExp(`${forbiddenSuffix}$`), "")]
2523
+ renameToNames: [name.replace(new RegExp(`${forbiddenSuffix}$`), "")]
2533
2524
  };
2534
- if (requiredPrefixes && !requiredPrefixes.some((requiredPrefix) => name2.startsWith(requiredPrefix)))
2525
+ if (requiredPrefixes && !requiredPrefixes.some((requiredPrefix) => name.startsWith(requiredPrefix)))
2535
2526
  return {
2536
2527
  errorMessage: `have one of the following prefixes: ${englishJoinWords(
2537
2528
  requiredPrefixes
2538
2529
  )}`,
2539
- renameToNames: style ? requiredPrefixes.map((prefix2) => convertCase(style, `${prefix2} ${name2}`)) : requiredPrefixes.map((prefix2) => `${prefix2}${name2}`)
2530
+ renameToNames: style ? requiredPrefixes.map((prefix2) => convertCase(style, `${prefix2} ${name}`)) : requiredPrefixes.map((prefix2) => `${prefix2}${name}`)
2540
2531
  };
2541
- if (requiredSuffixes && !requiredSuffixes.some((requiredSuffix) => name2.endsWith(requiredSuffix)))
2532
+ if (requiredSuffixes && !requiredSuffixes.some((requiredSuffix) => name.endsWith(requiredSuffix)))
2542
2533
  return {
2543
2534
  errorMessage: `have one of the following suffixes: ${englishJoinWords(
2544
2535
  requiredSuffixes
2545
2536
  )}`,
2546
- renameToNames: style ? requiredSuffixes.map((suffix2) => convertCase(style, `${name2} ${suffix2}`)) : requiredSuffixes.map((suffix2) => `${name2}${suffix2}`)
2537
+ renameToNames: style ? requiredSuffixes.map((suffix2) => convertCase(style, `${name} ${suffix2}`)) : requiredSuffixes.map((suffix2) => `${name}${suffix2}`)
2547
2538
  };
2548
2539
  if (!style)
2549
2540
  return;
2550
- if (!StyleToRegex[style].test(name2))
2541
+ if (!StyleToRegex[style].test(name))
2551
2542
  return {
2552
2543
  errorMessage: `be in ${style} format`,
2553
- renameToNames: [convertCase(style, name2)]
2544
+ renameToNames: [convertCase(style, name)]
2554
2545
  };
2555
2546
  }
2556
2547
  }, checkUnderscore = (isLeading) => (node) => {
@@ -3037,8 +3028,8 @@ var RULE_ID7 = "no-one-place-fragments", rule11 = {
3037
3028
  for (let { document, filePath } of allDocuments) {
3038
3029
  let relativeFilePath = relative(CWD, filePath);
3039
3030
  visit4(document, {
3040
- FragmentSpread({ name: name2 }) {
3041
- let spreadName = name2.value;
3031
+ FragmentSpread({ name }) {
3032
+ let spreadName = name.value;
3042
3033
  usedFragmentsMap[spreadName] ||= [], usedFragmentsMap[spreadName].push(relativeFilePath);
3043
3034
  }
3044
3035
  });
@@ -4572,7 +4563,7 @@ var RULE_ID18 = "require-nullable-result-in-root", rule27 = {
4572
4563
  for (let field of node.fields || []) {
4573
4564
  if (field.gqlType.type !== Kind20.NON_NULL_TYPE || field.gqlType.gqlType.type !== Kind20.NAMED_TYPE)
4574
4565
  continue;
4575
- let name2 = field.gqlType.gqlType.name.value, type = schema15.getType(name2), resultType = type?.astNode ? getNodeName(type.astNode) : type?.name;
4566
+ let name = field.gqlType.gqlType.name.value, type = schema15.getType(name), resultType = type?.astNode ? getNodeName(type.astNode) : type?.name;
4576
4567
  context.report({
4577
4568
  node: field.gqlType,
4578
4569
  messageId: RULE_ID18,
@@ -4732,7 +4723,7 @@ Include it in your selection set{{ addition }}.`
4732
4723
  }
4733
4724
  function checkFields(rawType2) {
4734
4725
  let fields = rawType2.getFields();
4735
- if (!idNames.some((name2) => fields[name2]))
4726
+ if (!idNames.some((name) => fields[name]))
4736
4727
  return;
4737
4728
  function hasIdField({ selections }) {
4738
4729
  return selections.some((selection) => {
@@ -4754,8 +4745,8 @@ Include it in your selection set{{ addition }}.`
4754
4745
  if (checkFragments(node), hasId)
4755
4746
  return;
4756
4747
  let pluralSuffix = idNames.length > 1 ? "s" : "", fieldName2 = englishJoinWords(
4757
- idNames.map((name2) => `\`${(parent.alias || parent.name).value}.${name2}\``)
4758
- ), addition = checkedFragmentSpreads.size === 0 ? "" : ` or add to used fragment${checkedFragmentSpreads.size > 1 ? "s" : ""} ${englishJoinWords([...checkedFragmentSpreads].map((name2) => `\`${name2}\``))}`, problem = {
4748
+ idNames.map((name) => `\`${(parent.alias || parent.name).value}.${name}\``)
4749
+ ), addition = checkedFragmentSpreads.size === 0 ? "" : ` or add to used fragment${checkedFragmentSpreads.size > 1 ? "s" : ""} ${englishJoinWords([...checkedFragmentSpreads].map((name) => `\`${name}\``))}`, problem = {
4759
4750
  loc,
4760
4751
  messageId: RULE_ID19,
4761
4752
  data: {
@@ -5384,40 +5375,21 @@ var import_operations_all = __toESM(require_operations_all(), 1), import_operati
5384
5375
  "schema-all": import_schema_all.default,
5385
5376
  "schema-relay": import_schema_relay.default,
5386
5377
  "operations-recommended": import_operations_recommended.default,
5387
- "operations-all": import_operations_all.default
5388
- };
5389
-
5390
- // src/flat-configs.ts
5391
- var languageOptions = { parser }, flatConfigs = {
5392
- "operations-all": {
5393
- languageOptions,
5394
- rules: {
5395
- ...configs["operations-recommended"].rules,
5396
- ...configs["operations-all"].rules
5397
- }
5398
- },
5399
- "operations-recommended": {
5400
- languageOptions,
5401
- rules: configs["operations-recommended"].rules
5402
- },
5403
- "schema-relay": {
5404
- languageOptions,
5405
- rules: configs["schema-relay"].rules
5406
- },
5407
- "schema-all": {
5408
- languageOptions,
5409
- rules: {
5410
- ...configs["schema-recommended"].rules,
5411
- ...configs["schema-all"].rules
5412
- }
5378
+ "operations-all": import_operations_all.default,
5379
+ "flat/schema-recommended": import_schema_recommended.default.rules,
5380
+ "flat/schema-all": {
5381
+ ...import_schema_recommended.default.rules,
5382
+ ...import_schema_all.default.rules
5413
5383
  },
5414
- "schema-recommended": {
5415
- languageOptions,
5416
- rules: configs["schema-recommended"].rules
5384
+ "flat/schema-relay": import_schema_relay.default.rules,
5385
+ "flat/operations-recommended": import_operations_recommended.default.rules,
5386
+ "flat/operations-all": {
5387
+ ...import_operations_recommended.default.rules,
5388
+ ...import_operations_all.default.rules
5417
5389
  }
5418
5390
  };
5419
5391
  export {
5420
- flatConfigs,
5392
+ configs,
5421
5393
  parser,
5422
5394
  rules
5423
5395
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphql-eslint/eslint-plugin",
3
- "version": "4.0.0-alpha.2",
3
+ "version": "4.0.0-alpha.4",
4
4
  "type": "module",
5
5
  "description": "GraphQL plugin for ESLint",
6
6
  "repository": "https://github.com/B2o5T/graphql-eslint",
@@ -40,11 +40,11 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@graphql-tools/code-file-loader": "^8.0.0",
43
- "@graphql-tools/graphql-tag-pluck": "^8.0.0",
43
+ "@graphql-tools/graphql-tag-pluck": "8.3.2",
44
44
  "@graphql-tools/utils": "^10.0.0",
45
45
  "debug": "^4.3.4",
46
46
  "fast-glob": "^3.2.12",
47
- "graphql-config": "^5.0.0",
47
+ "graphql-config": "^5.1.0",
48
48
  "graphql-depth-limit": "^1.1.0",
49
49
  "lodash.lowercase": "^4.3.0"
50
50
  },
@@ -1,75 +0,0 @@
1
- import { parseForESLint } from './parser.cjs';
2
- import './types.cjs';
3
- import 'eslint';
4
- import 'estree';
5
- import 'graphql';
6
- import 'graphql-config';
7
- import 'json-schema-to-ts';
8
- import './estree-converter/types.cjs';
9
- import './siblings.cjs';
10
- import '@graphql-tools/utils';
11
-
12
- declare const flatConfigs: {
13
- 'operations-all': {
14
- languageOptions: {
15
- parser: {
16
- parseForESLint: typeof parseForESLint;
17
- meta: {
18
- name: string;
19
- version: string;
20
- };
21
- };
22
- };
23
- rules: any;
24
- };
25
- 'operations-recommended': {
26
- languageOptions: {
27
- parser: {
28
- parseForESLint: typeof parseForESLint;
29
- meta: {
30
- name: string;
31
- version: string;
32
- };
33
- };
34
- };
35
- rules: any;
36
- };
37
- 'schema-relay': {
38
- languageOptions: {
39
- parser: {
40
- parseForESLint: typeof parseForESLint;
41
- meta: {
42
- name: string;
43
- version: string;
44
- };
45
- };
46
- };
47
- rules: any;
48
- };
49
- 'schema-all': {
50
- languageOptions: {
51
- parser: {
52
- parseForESLint: typeof parseForESLint;
53
- meta: {
54
- name: string;
55
- version: string;
56
- };
57
- };
58
- };
59
- rules: any;
60
- };
61
- 'schema-recommended': {
62
- languageOptions: {
63
- parser: {
64
- parseForESLint: typeof parseForESLint;
65
- meta: {
66
- name: string;
67
- version: string;
68
- };
69
- };
70
- };
71
- rules: any;
72
- };
73
- };
74
-
75
- export { flatConfigs };
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
- var flat_configs_exports = {};
17
- __export(flat_configs_exports, {
18
- flatConfigs: () => flatConfigs
19
- });
20
- module.exports = __toCommonJS(flat_configs_exports);
21
- var import_configs = require("./configs/index.js"), import_parser = require("./parser.js");
22
- const languageOptions = { parser: import_parser.parser }, flatConfigs = {
23
- "operations-all": {
24
- languageOptions,
25
- rules: {
26
- ...import_configs.configs["operations-recommended"].rules,
27
- ...import_configs.configs["operations-all"].rules
28
- }
29
- },
30
- "operations-recommended": {
31
- languageOptions,
32
- rules: import_configs.configs["operations-recommended"].rules
33
- },
34
- "schema-relay": {
35
- languageOptions,
36
- rules: import_configs.configs["schema-relay"].rules
37
- },
38
- "schema-all": {
39
- languageOptions,
40
- rules: {
41
- ...import_configs.configs["schema-recommended"].rules,
42
- ...import_configs.configs["schema-all"].rules
43
- }
44
- },
45
- "schema-recommended": {
46
- languageOptions,
47
- rules: import_configs.configs["schema-recommended"].rules
48
- }
49
- };
50
- // Annotate the CommonJS export names for ESM import in node:
51
- 0 && (module.exports = {
52
- flatConfigs
53
- });
@@ -1,75 +0,0 @@
1
- import { parseForESLint } from './parser.js';
2
- import './types.js';
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
- import './siblings.js';
10
- import '@graphql-tools/utils';
11
-
12
- declare const flatConfigs: {
13
- 'operations-all': {
14
- languageOptions: {
15
- parser: {
16
- parseForESLint: typeof parseForESLint;
17
- meta: {
18
- name: string;
19
- version: string;
20
- };
21
- };
22
- };
23
- rules: any;
24
- };
25
- 'operations-recommended': {
26
- languageOptions: {
27
- parser: {
28
- parseForESLint: typeof parseForESLint;
29
- meta: {
30
- name: string;
31
- version: string;
32
- };
33
- };
34
- };
35
- rules: any;
36
- };
37
- 'schema-relay': {
38
- languageOptions: {
39
- parser: {
40
- parseForESLint: typeof parseForESLint;
41
- meta: {
42
- name: string;
43
- version: string;
44
- };
45
- };
46
- };
47
- rules: any;
48
- };
49
- 'schema-all': {
50
- languageOptions: {
51
- parser: {
52
- parseForESLint: typeof parseForESLint;
53
- meta: {
54
- name: string;
55
- version: string;
56
- };
57
- };
58
- };
59
- rules: any;
60
- };
61
- 'schema-recommended': {
62
- languageOptions: {
63
- parser: {
64
- parseForESLint: typeof parseForESLint;
65
- meta: {
66
- name: string;
67
- version: string;
68
- };
69
- };
70
- };
71
- rules: any;
72
- };
73
- };
74
-
75
- export { flatConfigs };
@@ -1,34 +0,0 @@
1
- import "./chunk-UIAXBAMD.js";
2
- import { configs } from "./configs/index.js";
3
- import { parser } from "./parser.js";
4
- const languageOptions = { parser }, flatConfigs = {
5
- "operations-all": {
6
- languageOptions,
7
- rules: {
8
- ...configs["operations-recommended"].rules,
9
- ...configs["operations-all"].rules
10
- }
11
- },
12
- "operations-recommended": {
13
- languageOptions,
14
- rules: configs["operations-recommended"].rules
15
- },
16
- "schema-relay": {
17
- languageOptions,
18
- rules: configs["schema-relay"].rules
19
- },
20
- "schema-all": {
21
- languageOptions,
22
- rules: {
23
- ...configs["schema-recommended"].rules,
24
- ...configs["schema-all"].rules
25
- }
26
- },
27
- "schema-recommended": {
28
- languageOptions,
29
- rules: configs["schema-recommended"].rules
30
- }
31
- };
32
- export {
33
- flatConfigs
34
- };