-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy patheslint.config.js
55 lines (54 loc) · 1.26 KB
/
eslint.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import pluginJs from "@eslint/js";
import graphql from "@graphql-eslint/eslint-plugin";
export default [
{
files: ["**/*.js"],
rules: pluginJs.configs.recommended.rules,
},
{
files: ["internal/**/*.graphqls"],
languageOptions: {
parser: graphql.parser,
parserOptions: {
graphQLConfig: {
schema: "./internal/graph/schema/*.graphqls",
},
},
},
plugins: {
"@graphql-eslint": graphql,
},
rules: {
...graphql.configs["flat/schema-recommended"].rules,
"@graphql-eslint/description-style": ["off"],
"@graphql-eslint/require-description": ["off"],
"@graphql-eslint/input-name": [
"error",
{ checkInputType: true, caseSensitiveInputType: false },
],
"@graphql-eslint/naming-convention": [
"error",
{
types: "PascalCase",
FieldDefinition: "camelCase",
"FieldDefinition[parent.name.value=Query]": { forbiddenPrefixes: ["get"] },
},
],
"@graphql-eslint/strict-id-in-types": [
"error",
{
acceptedIdNames: ["id"],
acceptedIdTypes: ["ID"],
exceptions: {
types: [
"TeamInventoryCountApplications",
"ApplicationManifest",
"ApplicationResources",
],
suffixes: ["Payload", "Connection", "Edge", "Status"],
},
},
],
},
},
];