@graphql-eslint/eslint-plugin 3.0.0-alpha-7462f3d.0 → 3.0.0-alpha-636cc2a.0

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 (80) hide show
  1. package/README.md +19 -8
  2. package/configs/base.d.ts +5 -0
  3. package/configs/index.d.ts +76 -117
  4. package/configs/operations-all.d.ts +19 -0
  5. package/configs/operations-recommended.d.ts +50 -0
  6. package/configs/schema-all.d.ts +17 -0
  7. package/configs/schema-recommended.d.ts +46 -0
  8. package/docs/README.md +9 -15
  9. package/docs/rules/alphabetize.md +1 -1
  10. package/docs/rules/description-style.md +5 -3
  11. package/docs/rules/executable-definitions.md +2 -2
  12. package/docs/rules/fields-on-correct-type.md +2 -2
  13. package/docs/rules/fragments-on-composite-type.md +2 -2
  14. package/docs/rules/input-name.md +1 -1
  15. package/docs/rules/known-argument-names.md +2 -2
  16. package/docs/rules/known-directives.md +2 -2
  17. package/docs/rules/known-fragment-names.md +2 -2
  18. package/docs/rules/known-type-names.md +2 -2
  19. package/docs/rules/lone-anonymous-operation.md +2 -2
  20. package/docs/rules/lone-schema-definition.md +2 -2
  21. package/docs/rules/match-document-filename.md +6 -4
  22. package/docs/rules/naming-convention.md +180 -41
  23. package/docs/rules/no-anonymous-operations.md +2 -2
  24. package/docs/rules/no-case-insensitive-enum-values-duplicates.md +2 -2
  25. package/docs/rules/no-deprecated.md +3 -1
  26. package/docs/rules/no-duplicate-fields.md +3 -1
  27. package/docs/rules/no-fragment-cycles.md +2 -2
  28. package/docs/rules/no-hashtag-description.md +3 -1
  29. package/docs/rules/no-root-type.md +4 -15
  30. package/docs/rules/no-scalar-result-type-on-mutation.md +1 -1
  31. package/docs/rules/no-typename-prefix.md +2 -2
  32. package/docs/rules/no-undefined-variables.md +2 -2
  33. package/docs/rules/no-unreachable-types.md +3 -1
  34. package/docs/rules/no-unused-fields.md +1 -1
  35. package/docs/rules/no-unused-fragments.md +2 -2
  36. package/docs/rules/no-unused-variables.md +2 -2
  37. package/docs/rules/one-field-subscriptions.md +2 -2
  38. package/docs/rules/overlapping-fields-can-be-merged.md +2 -2
  39. package/docs/rules/possible-fragment-spread.md +2 -2
  40. package/docs/rules/possible-type-extension.md +2 -2
  41. package/docs/rules/provided-required-arguments.md +2 -2
  42. package/docs/rules/require-deprecation-date.md +1 -1
  43. package/docs/rules/require-deprecation-reason.md +2 -2
  44. package/docs/rules/require-description.md +38 -22
  45. package/docs/rules/require-field-of-type-query-in-mutation-result.md +1 -1
  46. package/docs/rules/require-id-when-available.md +3 -1
  47. package/docs/rules/scalar-leafs.md +2 -2
  48. package/docs/rules/selection-set-depth.md +9 -2
  49. package/docs/rules/strict-id-in-types.md +16 -10
  50. package/docs/rules/unique-argument-names.md +2 -2
  51. package/docs/rules/unique-directive-names-per-location.md +2 -2
  52. package/docs/rules/unique-directive-names.md +2 -2
  53. package/docs/rules/unique-enum-value-names.md +2 -2
  54. package/docs/rules/unique-field-definition-names.md +2 -2
  55. package/docs/rules/unique-fragment-name.md +1 -1
  56. package/docs/rules/unique-input-field-names.md +2 -2
  57. package/docs/rules/unique-operation-name.md +1 -1
  58. package/docs/rules/unique-operation-types.md +2 -2
  59. package/docs/rules/unique-type-names.md +2 -2
  60. package/docs/rules/unique-variable-names.md +2 -2
  61. package/docs/rules/value-literals-of-correct-type.md +2 -2
  62. package/docs/rules/variables-are-input-types.md +2 -2
  63. package/docs/rules/variables-in-allowed-position.md +2 -2
  64. package/index.js +329 -208
  65. package/index.mjs +329 -208
  66. package/package.json +1 -1
  67. package/rules/alphabetize.d.ts +8 -10
  68. package/rules/description-style.d.ts +4 -6
  69. package/rules/index.d.ts +112 -114
  70. package/rules/input-name.d.ts +1 -1
  71. package/rules/match-document-filename.d.ts +8 -10
  72. package/rules/naming-convention.d.ts +3 -4
  73. package/rules/no-root-type.d.ts +1 -1
  74. package/rules/require-description.d.ts +2 -3
  75. package/rules/require-id-when-available.d.ts +3 -3
  76. package/rules/selection-set-depth.d.ts +3 -3
  77. package/rules/strict-id-in-types.d.ts +6 -8
  78. package/types.d.ts +9 -5
  79. package/configs/all.d.ts +0 -102
  80. package/configs/recommended.d.ts +0 -71
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphql-eslint/eslint-plugin",
3
- "version": "3.0.0-alpha-7462f3d.0",
3
+ "version": "3.0.0-alpha-636cc2a.0",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
@@ -4,14 +4,12 @@ declare const valuesEnum: ['EnumTypeDefinition'];
4
4
  declare const selectionsEnum: ('OperationDefinition' | 'FragmentDefinition')[];
5
5
  declare const variablesEnum: ['OperationDefinition'];
6
6
  declare const argumentsEnum: ('FieldDefinition' | 'Field' | 'DirectiveDefinition' | 'Directive')[];
7
- declare type AlphabetizeConfig = [
8
- {
9
- fields?: typeof fieldsEnum;
10
- values?: typeof valuesEnum;
11
- selections?: typeof selectionsEnum;
12
- variables?: typeof variablesEnum;
13
- arguments?: typeof argumentsEnum;
14
- }
15
- ];
16
- declare const rule: GraphQLESLintRule<AlphabetizeConfig>;
7
+ declare type AlphabetizeConfig = {
8
+ fields?: typeof fieldsEnum;
9
+ values?: typeof valuesEnum;
10
+ selections?: typeof selectionsEnum;
11
+ variables?: typeof variablesEnum;
12
+ arguments?: typeof argumentsEnum;
13
+ };
14
+ declare const rule: GraphQLESLintRule<[AlphabetizeConfig]>;
17
15
  export default rule;
@@ -1,8 +1,6 @@
1
1
  import { GraphQLESLintRule } from '../types';
2
- declare type DescriptionStyleRuleConfig = [
3
- {
4
- style: 'inline' | 'block';
5
- }
6
- ];
7
- declare const rule: GraphQLESLintRule<DescriptionStyleRuleConfig>;
2
+ declare type DescriptionStyleRuleConfig = {
3
+ style: 'inline' | 'block';
4
+ };
5
+ declare const rule: GraphQLESLintRule<[DescriptionStyleRuleConfig]>;
8
6
  export default rule;
package/rules/index.d.ts CHANGED
@@ -9,12 +9,12 @@ export declare const rules: {
9
9
  'description-style': import("..").GraphQLESLintRule<[{
10
10
  style: "block" | "inline";
11
11
  }], false>;
12
- 'input-name': import("..").GraphQLESLintRule<{
12
+ 'input-name': import("..").GraphQLESLintRule<[{
13
13
  checkInputType?: boolean;
14
14
  caseSensitiveInputType?: boolean;
15
15
  checkQueries?: boolean;
16
16
  checkMutations?: boolean;
17
- }[], false>;
17
+ }], false>;
18
18
  'match-document-filename': import("..").GraphQLESLintRule<[{
19
19
  fileExtension?: ".gql" | ".graphql";
20
20
  query?: import("../utils").CaseStyle | {
@@ -51,105 +51,104 @@ export declare const rules: {
51
51
  forbiddenPrefixes?: string[];
52
52
  forbiddenSuffixes?: string[];
53
53
  };
54
- overrides?: {
55
- [x: `OperationDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
56
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
57
- suffix?: string;
58
- prefix?: string;
59
- forbiddenPrefixes?: string[];
60
- forbiddenSuffixes?: string[];
61
- };
62
- [x: `VariableDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
63
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
64
- suffix?: string;
65
- prefix?: string;
66
- forbiddenPrefixes?: string[];
67
- forbiddenSuffixes?: string[];
68
- };
69
- [x: `Argument${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
70
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
71
- suffix?: string;
72
- prefix?: string;
73
- forbiddenPrefixes?: string[];
74
- forbiddenSuffixes?: string[];
75
- };
76
- [x: `FragmentDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
77
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
78
- suffix?: string;
79
- prefix?: string;
80
- forbiddenPrefixes?: string[];
81
- forbiddenSuffixes?: string[];
82
- };
83
- [x: `ScalarTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
84
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
85
- suffix?: string;
86
- prefix?: string;
87
- forbiddenPrefixes?: string[];
88
- forbiddenSuffixes?: string[];
89
- };
90
- [x: `ObjectTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
91
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
92
- suffix?: string;
93
- prefix?: string;
94
- forbiddenPrefixes?: string[];
95
- forbiddenSuffixes?: string[];
96
- };
97
- [x: `FieldDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
98
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
99
- suffix?: string;
100
- prefix?: string;
101
- forbiddenPrefixes?: string[];
102
- forbiddenSuffixes?: string[];
103
- };
104
- [x: `InputValueDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
105
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
106
- suffix?: string;
107
- prefix?: string;
108
- forbiddenPrefixes?: string[];
109
- forbiddenSuffixes?: string[];
110
- };
111
- [x: `InterfaceTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
112
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
113
- suffix?: string;
114
- prefix?: string;
115
- forbiddenPrefixes?: string[];
116
- forbiddenSuffixes?: string[];
117
- };
118
- [x: `UnionTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
119
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
120
- suffix?: string;
121
- prefix?: string;
122
- forbiddenPrefixes?: string[];
123
- forbiddenSuffixes?: string[];
124
- };
125
- [x: `EnumTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
126
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
127
- suffix?: string;
128
- prefix?: string;
129
- forbiddenPrefixes?: string[];
130
- forbiddenSuffixes?: string[];
131
- };
132
- [x: `EnumValueDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
133
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
134
- suffix?: string;
135
- prefix?: string;
136
- forbiddenPrefixes?: string[];
137
- forbiddenSuffixes?: string[];
138
- };
139
- [x: `InputObjectTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
140
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
141
- suffix?: string;
142
- prefix?: string;
143
- forbiddenPrefixes?: string[];
144
- forbiddenSuffixes?: string[];
145
- };
146
- [x: `DirectiveDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
147
- style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
148
- suffix?: string;
149
- prefix?: string;
150
- forbiddenPrefixes?: string[];
151
- forbiddenSuffixes?: string[];
152
- };
54
+ } & {
55
+ [x: `OperationDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
56
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
57
+ suffix?: string;
58
+ prefix?: string;
59
+ forbiddenPrefixes?: string[];
60
+ forbiddenSuffixes?: string[];
61
+ };
62
+ [x: `VariableDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
63
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
64
+ suffix?: string;
65
+ prefix?: string;
66
+ forbiddenPrefixes?: string[];
67
+ forbiddenSuffixes?: string[];
68
+ };
69
+ [x: `Argument${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
70
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
71
+ suffix?: string;
72
+ prefix?: string;
73
+ forbiddenPrefixes?: string[];
74
+ forbiddenSuffixes?: string[];
75
+ };
76
+ [x: `FragmentDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
77
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
78
+ suffix?: string;
79
+ prefix?: string;
80
+ forbiddenPrefixes?: string[];
81
+ forbiddenSuffixes?: string[];
82
+ };
83
+ [x: `ScalarTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
84
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
85
+ suffix?: string;
86
+ prefix?: string;
87
+ forbiddenPrefixes?: string[];
88
+ forbiddenSuffixes?: string[];
89
+ };
90
+ [x: `ObjectTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
91
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
92
+ suffix?: string;
93
+ prefix?: string;
94
+ forbiddenPrefixes?: string[];
95
+ forbiddenSuffixes?: string[];
96
+ };
97
+ [x: `FieldDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
98
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
99
+ suffix?: string;
100
+ prefix?: string;
101
+ forbiddenPrefixes?: string[];
102
+ forbiddenSuffixes?: string[];
103
+ };
104
+ [x: `InputValueDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
105
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
106
+ suffix?: string;
107
+ prefix?: string;
108
+ forbiddenPrefixes?: string[];
109
+ forbiddenSuffixes?: string[];
110
+ };
111
+ [x: `InterfaceTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
112
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
113
+ suffix?: string;
114
+ prefix?: string;
115
+ forbiddenPrefixes?: string[];
116
+ forbiddenSuffixes?: string[];
117
+ };
118
+ [x: `UnionTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
119
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
120
+ suffix?: string;
121
+ prefix?: string;
122
+ forbiddenPrefixes?: string[];
123
+ forbiddenSuffixes?: string[];
124
+ };
125
+ [x: `EnumTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
126
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
127
+ suffix?: string;
128
+ prefix?: string;
129
+ forbiddenPrefixes?: string[];
130
+ forbiddenSuffixes?: string[];
131
+ };
132
+ [x: `EnumValueDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
133
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
134
+ suffix?: string;
135
+ prefix?: string;
136
+ forbiddenPrefixes?: string[];
137
+ forbiddenSuffixes?: string[];
138
+ };
139
+ [x: `InputObjectTypeDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
140
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
141
+ suffix?: string;
142
+ prefix?: string;
143
+ forbiddenPrefixes?: string[];
144
+ forbiddenSuffixes?: string[];
145
+ };
146
+ [x: `DirectiveDefinition${string}`]: ("PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case") | {
147
+ style?: "PascalCase" | "camelCase" | "UPPER_CASE" | "snake_case";
148
+ suffix?: string;
149
+ prefix?: string;
150
+ forbiddenPrefixes?: string[];
151
+ forbiddenSuffixes?: string[];
153
152
  };
154
153
  }], false>;
155
154
  'no-anonymous-operations': import("..").GraphQLESLintRule<any[], false>;
@@ -158,7 +157,7 @@ export declare const rules: {
158
157
  'no-duplicate-fields': import("..").GraphQLESLintRule<any[], false>;
159
158
  'no-hashtag-description': import("..").GraphQLESLintRule<any[], false>;
160
159
  'no-root-type': import("..").GraphQLESLintRule<[{
161
- disallow: ("query" | "mutation" | "subscription")[];
160
+ disallow: ("mutation" | "subscription")[];
162
161
  }], false>;
163
162
  'no-scalar-result-type-on-mutation': import("..").GraphQLESLintRule<any[], false>;
164
163
  'no-typename-prefix': import("..").GraphQLESLintRule<any[], false>;
@@ -170,18 +169,17 @@ export declare const rules: {
170
169
  'require-deprecation-reason': import("..").GraphQLESLintRule<any[], false>;
171
170
  'require-description': import("..").GraphQLESLintRule<[{
172
171
  types?: boolean;
173
- overrides?: {
174
- ScalarTypeDefinition?: boolean;
175
- ObjectTypeDefinition?: boolean;
176
- FieldDefinition?: boolean;
177
- InputValueDefinition?: boolean;
178
- InterfaceTypeDefinition?: boolean;
179
- UnionTypeDefinition?: boolean;
180
- EnumTypeDefinition?: boolean;
181
- EnumValueDefinition?: boolean;
182
- InputObjectTypeDefinition?: boolean;
183
- DirectiveDefinition?: boolean;
184
- };
172
+ } & {
173
+ ScalarTypeDefinition?: boolean;
174
+ ObjectTypeDefinition?: boolean;
175
+ FieldDefinition?: boolean;
176
+ InputValueDefinition?: boolean;
177
+ InterfaceTypeDefinition?: boolean;
178
+ UnionTypeDefinition?: boolean;
179
+ EnumTypeDefinition?: boolean;
180
+ EnumValueDefinition?: boolean;
181
+ InputObjectTypeDefinition?: boolean;
182
+ DirectiveDefinition?: boolean;
185
183
  }], false>;
186
184
  'require-field-of-type-query-in-mutation-result': import("..").GraphQLESLintRule<any[], false>;
187
185
  'require-id-when-available': import("..").GraphQLESLintRule<[{
@@ -5,5 +5,5 @@ declare type InputNameRuleConfig = {
5
5
  checkQueries?: boolean;
6
6
  checkMutations?: boolean;
7
7
  };
8
- declare const rule: GraphQLESLintRule<InputNameRuleConfig[]>;
8
+ declare const rule: GraphQLESLintRule<[InputNameRuleConfig]>;
9
9
  export default rule;
@@ -5,14 +5,12 @@ declare type PropertySchema = {
5
5
  style: CaseStyle;
6
6
  suffix: string;
7
7
  };
8
- declare type MatchDocumentFilenameRuleConfig = [
9
- {
10
- fileExtension?: typeof ACCEPTED_EXTENSIONS[number];
11
- query?: CaseStyle | PropertySchema;
12
- mutation?: CaseStyle | PropertySchema;
13
- subscription?: CaseStyle | PropertySchema;
14
- fragment?: CaseStyle | PropertySchema;
15
- }
16
- ];
17
- declare const rule: GraphQLESLintRule<MatchDocumentFilenameRuleConfig>;
8
+ declare type MatchDocumentFilenameRuleConfig = {
9
+ fileExtension?: typeof ACCEPTED_EXTENSIONS[number];
10
+ query?: CaseStyle | PropertySchema;
11
+ mutation?: CaseStyle | PropertySchema;
12
+ subscription?: CaseStyle | PropertySchema;
13
+ fragment?: CaseStyle | PropertySchema;
14
+ };
15
+ declare const rule: GraphQLESLintRule<[MatchDocumentFilenameRuleConfig]>;
18
16
  export default rule;
@@ -8,12 +8,12 @@ declare const KindToDisplayName: {
8
8
  UnionTypeDefinition: string;
9
9
  FieldDefinition: string;
10
10
  InputValueDefinition: string;
11
- VariableDefinition: string;
12
11
  Argument: string;
13
12
  DirectiveDefinition: string;
14
13
  EnumValueDefinition: string;
15
14
  OperationDefinition: string;
16
15
  FragmentDefinition: string;
16
+ VariableDefinition: string;
17
17
  };
18
18
  declare type AllowedKind = keyof typeof KindToDisplayName;
19
19
  declare type AllowedStyle = 'camelCase' | 'PascalCase' | 'snake_case' | 'UPPER_CASE';
@@ -30,9 +30,8 @@ declare type NamingConventionRuleConfig = {
30
30
  allowTrailingUnderscore?: boolean;
31
31
  types?: Options;
32
32
  fields?: Options;
33
- overrides?: {
34
- [key in `${AllowedKind}${string}`]?: Options;
35
- };
33
+ } & {
34
+ [key in `${AllowedKind}${string}`]?: Options;
36
35
  };
37
36
  declare const rule: GraphQLESLintRule<[NamingConventionRuleConfig]>;
38
37
  export default rule;
@@ -1,5 +1,5 @@
1
1
  import { GraphQLESLintRule } from '../types';
2
- declare const ROOT_TYPES: ('query' | 'mutation' | 'subscription')[];
2
+ declare const ROOT_TYPES: ('mutation' | 'subscription')[];
3
3
  declare type NoRootTypeConfig = {
4
4
  disallow: typeof ROOT_TYPES;
5
5
  };
@@ -4,9 +4,8 @@ declare const ALLOWED_KINDS: readonly [Kind.OBJECT_TYPE_DEFINITION, Kind.INTERFA
4
4
  declare type AllowedKind = typeof ALLOWED_KINDS[number];
5
5
  declare type RequireDescriptionRuleConfig = {
6
6
  types?: boolean;
7
- overrides?: {
8
- [key in AllowedKind]?: boolean;
9
- };
7
+ } & {
8
+ [key in AllowedKind]?: boolean;
10
9
  };
11
10
  declare const rule: GraphQLESLintRule<[RequireDescriptionRuleConfig]>;
12
11
  export default rule;
@@ -1,6 +1,6 @@
1
1
  import { GraphQLESLintRule } from '../types';
2
- declare type RequireIdWhenAvailableRuleConfig = [{
2
+ declare type RequireIdWhenAvailableRuleConfig = {
3
3
  fieldName: string;
4
- }];
5
- declare const rule: GraphQLESLintRule<RequireIdWhenAvailableRuleConfig, true>;
4
+ };
5
+ declare const rule: GraphQLESLintRule<[RequireIdWhenAvailableRuleConfig], true>;
6
6
  export default rule;
@@ -1,7 +1,7 @@
1
1
  import { GraphQLESLintRule } from '../types';
2
- declare type SelectionSetDepthRuleConfig = [{
2
+ declare type SelectionSetDepthRuleConfig = {
3
3
  maxDepth: number;
4
4
  ignore?: string[];
5
- }];
6
- declare const rule: GraphQLESLintRule<SelectionSetDepthRuleConfig>;
5
+ };
6
+ declare const rule: GraphQLESLintRule<[SelectionSetDepthRuleConfig]>;
7
7
  export default rule;
@@ -3,12 +3,10 @@ export interface ExceptionRule {
3
3
  types?: string[];
4
4
  suffixes?: string[];
5
5
  }
6
- declare type StrictIdInTypesRuleConfig = [
7
- {
8
- acceptedIdNames?: string[];
9
- acceptedIdTypes?: string[];
10
- exceptions?: ExceptionRule;
11
- }
12
- ];
13
- declare const rule: GraphQLESLintRule<StrictIdInTypesRuleConfig>;
6
+ declare type StrictIdInTypesRuleConfig = {
7
+ acceptedIdNames?: string[];
8
+ acceptedIdTypes?: string[];
9
+ exceptions?: ExceptionRule;
10
+ };
11
+ declare const rule: GraphQLESLintRule<[StrictIdInTypesRuleConfig]>;
14
12
  export default rule;
package/types.d.ts CHANGED
@@ -45,9 +45,10 @@ export declare type GraphQLESLintRuleContext<Options = any[]> = Omit<Rule.RuleCo
45
45
  })): void;
46
46
  parserServices?: ParserServices;
47
47
  };
48
- export declare type RuleDocsInfo<T> = Rule.RuleMetaData & {
49
- docs: {
50
- category: 'Best Practices' | 'Stylistic Issues' | 'Validation';
48
+ export declare type CategoryType = 'Schema' | 'Operations';
49
+ export declare type RuleDocsInfo<T> = {
50
+ docs: Omit<Rule.RuleMetaData['docs'], 'category'> & {
51
+ category: CategoryType | CategoryType[];
51
52
  requiresSchema?: boolean;
52
53
  requiresSiblings?: boolean;
53
54
  examples?: {
@@ -55,12 +56,15 @@ export declare type RuleDocsInfo<T> = Rule.RuleMetaData & {
55
56
  code: string;
56
57
  usage?: T;
57
58
  }[];
58
- optionsForConfig?: T;
59
+ configOptions?: T | {
60
+ schema?: T;
61
+ operations?: T;
62
+ };
59
63
  graphQLJSRuleName?: string;
60
64
  };
61
65
  };
62
66
  export declare type GraphQLESLintRule<Options = any[], WithTypeInfo extends boolean = false> = {
63
67
  create(context: GraphQLESLintRuleContext<Options>): GraphQLESLintRuleListener<WithTypeInfo>;
64
- meta: Rule.RuleMetaData & RuleDocsInfo<Options>;
68
+ meta: Omit<Rule.RuleMetaData, 'docs'> & RuleDocsInfo<Options>;
65
69
  };
66
70
  export declare type ValueOf<T> = T[keyof T];
package/configs/all.d.ts DELETED
@@ -1,102 +0,0 @@
1
- export declare const allConfig: {
2
- rules: {
3
- '@graphql-eslint/alphabetize': (string | {
4
- fields: string[];
5
- values: string[];
6
- selections: string[];
7
- variables: string[];
8
- arguments: string[];
9
- })[];
10
- '@graphql-eslint/description-style': string;
11
- '@graphql-eslint/input-name': string;
12
- '@graphql-eslint/match-document-filename': string;
13
- '@graphql-eslint/no-deprecated': string;
14
- '@graphql-eslint/no-duplicate-fields': string;
15
- '@graphql-eslint/no-hashtag-description': string;
16
- '@graphql-eslint/no-root-type': (string | {
17
- disallow: string[];
18
- })[];
19
- '@graphql-eslint/no-scalar-result-type-on-mutation': string;
20
- '@graphql-eslint/no-unreachable-types': string;
21
- '@graphql-eslint/no-unused-fields': string;
22
- '@graphql-eslint/require-deprecation-date': string;
23
- '@graphql-eslint/require-description': (string | {
24
- types: boolean;
25
- overrides: {
26
- DirectiveDefinition: boolean;
27
- };
28
- })[];
29
- '@graphql-eslint/require-field-of-type-query-in-mutation-result': string;
30
- '@graphql-eslint/require-id-when-available': string;
31
- '@graphql-eslint/selection-set-depth': string;
32
- '@graphql-eslint/unique-fragment-name': string;
33
- '@graphql-eslint/unique-operation-name': string;
34
- '@graphql-eslint/executable-definitions': string;
35
- '@graphql-eslint/fields-on-correct-type': string;
36
- '@graphql-eslint/fragments-on-composite-type': string;
37
- '@graphql-eslint/known-argument-names': string;
38
- '@graphql-eslint/known-directives': string;
39
- '@graphql-eslint/known-fragment-names': string;
40
- '@graphql-eslint/known-type-names': string;
41
- '@graphql-eslint/lone-anonymous-operation': string;
42
- '@graphql-eslint/lone-schema-definition': string;
43
- '@graphql-eslint/naming-convention': (string | {
44
- types: string;
45
- fields: string;
46
- overrides: {
47
- EnumValueDefinition: string;
48
- OperationDefinition: {
49
- style: string;
50
- forbiddenPrefixes: string[];
51
- forbiddenSuffixes: string[];
52
- };
53
- FragmentDefinition: {
54
- style: string;
55
- forbiddenPrefixes: string[];
56
- forbiddenSuffixes: string[];
57
- };
58
- 'FieldDefinition[parent.name.value=Query]': {
59
- forbiddenPrefixes: string[];
60
- forbiddenSuffixes: string[];
61
- };
62
- 'FieldDefinition[parent.name.value=Mutation]': {
63
- forbiddenPrefixes: string[];
64
- forbiddenSuffixes: string[];
65
- };
66
- 'FieldDefinition[parent.name.value=Subscription]': {
67
- forbiddenPrefixes: string[];
68
- forbiddenSuffixes: string[];
69
- };
70
- };
71
- })[];
72
- '@graphql-eslint/no-anonymous-operations': string;
73
- '@graphql-eslint/no-case-insensitive-enum-values-duplicates': string;
74
- '@graphql-eslint/no-fragment-cycles': string;
75
- '@graphql-eslint/no-typename-prefix': string;
76
- '@graphql-eslint/no-undefined-variables': string;
77
- '@graphql-eslint/no-unused-fragments': string;
78
- '@graphql-eslint/no-unused-variables': string;
79
- '@graphql-eslint/one-field-subscriptions': string;
80
- '@graphql-eslint/overlapping-fields-can-be-merged': string;
81
- '@graphql-eslint/possible-fragment-spread': string;
82
- '@graphql-eslint/possible-type-extension': string;
83
- '@graphql-eslint/provided-required-arguments': string;
84
- '@graphql-eslint/require-deprecation-reason': string;
85
- '@graphql-eslint/scalar-leafs': string;
86
- '@graphql-eslint/strict-id-in-types': string;
87
- '@graphql-eslint/unique-argument-names': string;
88
- '@graphql-eslint/unique-directive-names': string;
89
- '@graphql-eslint/unique-directive-names-per-location': string;
90
- '@graphql-eslint/unique-enum-value-names': string;
91
- '@graphql-eslint/unique-field-definition-names': string;
92
- '@graphql-eslint/unique-input-field-names': string;
93
- '@graphql-eslint/unique-operation-types': string;
94
- '@graphql-eslint/unique-type-names': string;
95
- '@graphql-eslint/unique-variable-names': string;
96
- '@graphql-eslint/value-literals-of-correct-type': string;
97
- '@graphql-eslint/variables-are-input-types': string;
98
- '@graphql-eslint/variables-in-allowed-position': string;
99
- };
100
- parser: string;
101
- plugins: string[];
102
- };
@@ -1,71 +0,0 @@
1
- export declare const recommendedConfig: {
2
- parser: string;
3
- plugins: string[];
4
- rules: {
5
- '@graphql-eslint/executable-definitions': string;
6
- '@graphql-eslint/fields-on-correct-type': string;
7
- '@graphql-eslint/fragments-on-composite-type': string;
8
- '@graphql-eslint/known-argument-names': string;
9
- '@graphql-eslint/known-directives': string;
10
- '@graphql-eslint/known-fragment-names': string;
11
- '@graphql-eslint/known-type-names': string;
12
- '@graphql-eslint/lone-anonymous-operation': string;
13
- '@graphql-eslint/lone-schema-definition': string;
14
- '@graphql-eslint/naming-convention': (string | {
15
- types: string;
16
- fields: string;
17
- overrides: {
18
- EnumValueDefinition: string;
19
- OperationDefinition: {
20
- style: string;
21
- forbiddenPrefixes: string[];
22
- forbiddenSuffixes: string[];
23
- };
24
- FragmentDefinition: {
25
- style: string;
26
- forbiddenPrefixes: string[];
27
- forbiddenSuffixes: string[];
28
- };
29
- 'FieldDefinition[parent.name.value=Query]': {
30
- forbiddenPrefixes: string[];
31
- forbiddenSuffixes: string[];
32
- };
33
- 'FieldDefinition[parent.name.value=Mutation]': {
34
- forbiddenPrefixes: string[];
35
- forbiddenSuffixes: string[];
36
- };
37
- 'FieldDefinition[parent.name.value=Subscription]': {
38
- forbiddenPrefixes: string[];
39
- forbiddenSuffixes: string[];
40
- };
41
- };
42
- })[];
43
- '@graphql-eslint/no-anonymous-operations': string;
44
- '@graphql-eslint/no-case-insensitive-enum-values-duplicates': string;
45
- '@graphql-eslint/no-fragment-cycles': string;
46
- '@graphql-eslint/no-typename-prefix': string;
47
- '@graphql-eslint/no-undefined-variables': string;
48
- '@graphql-eslint/no-unused-fragments': string;
49
- '@graphql-eslint/no-unused-variables': string;
50
- '@graphql-eslint/one-field-subscriptions': string;
51
- '@graphql-eslint/overlapping-fields-can-be-merged': string;
52
- '@graphql-eslint/possible-fragment-spread': string;
53
- '@graphql-eslint/possible-type-extension': string;
54
- '@graphql-eslint/provided-required-arguments': string;
55
- '@graphql-eslint/require-deprecation-reason': string;
56
- '@graphql-eslint/scalar-leafs': string;
57
- '@graphql-eslint/strict-id-in-types': string;
58
- '@graphql-eslint/unique-argument-names': string;
59
- '@graphql-eslint/unique-directive-names': string;
60
- '@graphql-eslint/unique-directive-names-per-location': string;
61
- '@graphql-eslint/unique-enum-value-names': string;
62
- '@graphql-eslint/unique-field-definition-names': string;
63
- '@graphql-eslint/unique-input-field-names': string;
64
- '@graphql-eslint/unique-operation-types': string;
65
- '@graphql-eslint/unique-type-names': string;
66
- '@graphql-eslint/unique-variable-names': string;
67
- '@graphql-eslint/value-literals-of-correct-type': string;
68
- '@graphql-eslint/variables-are-input-types': string;
69
- '@graphql-eslint/variables-in-allowed-position': string;
70
- };
71
- };